@charset "UTF-8";

:root {
  --max-width: 1300px;
  --second_width: 1100px;
  --third_width: 900px;
  --header__height: 8rem;
  --common-font: 'Noto Sans JP', sans-serif;
  --en-font: 'Montserrat', sans-serif;
  --min-font: 'Zen Antique', serif;
  --bg_color: linear-gradient(90deg, rgba(44, 163, 221, 1) 0%, rgba(44, 163, 221, 1) 22%, rgba(0, 158, 150, 1) 62%, rgba(0, 158, 150, 1) 100%);
  --bg_hover_color: linear-gradient(90deg, rgba(0, 200, 255, 1) 0%, rgba(0, 163, 218, 1) 65%);
  --main_blue_color: #2ca3bd;
  --main_green_color: #009e96;
}

/* background: rgb(44,163,221); */
/* background: linear-gradient(90deg, rgba(44,163,221,1) 0%, rgba(44,163,221,1) 22%, rgba(0,158,150,1) 62%, rgba(0,158,150,1) 100%); */

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  letter-spacing: 1px;
  line-height: 1.5;
  font-family: var(--common-font);
  font-size: 400;
  /* 100,300,400,500,700,900 */
  color: #333;
  font-feature-settings: "palt";
}

.center_item {
  max-width: var(--max-width);
  width: 90%;
  margin: 0 auto;
}

.center_medium_item {
  width: 95%;
  margin: 0 auto;
  max-width: 1100px;
}

.center_min_item {
  width: 95%;
  margin: 0 auto;
  max-width: 900px;
}

section {
  margin: 10rem 0;
}

.from_tb {
  display: none;
}

.from_sp {
  display: none;
}

img,
video {
  vertical-align: bottom;
}

main {
  flex: 1;
}



/*===============header===============*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10;
  background-color: #fff;
  box-shadow: 0px 2px 10px #00000050;
}

.wrap_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header__height);
  /* max-width: var(--max-width); */
  max-width: 180rem;
  /* width: 95%; */
  width: 100%;
  margin: 0 auto;
}

.header_logo {
  width: clamp(10rem, 12.5vw, 18rem);
  transition: .2s;
  margin-left: 1%;
}

.header_logo img {
  width: 100%;
}

.header_logo:hover {
  opacity: 0.5;
}

.gnav ul {
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
}

.gnav ul li a {
  padding: 0.5em;
  transition: .2s;
  position: relative;
  display: flex;
  align-items: center;
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
}

.gnav ul li a::after {
  content: '';
  width: 100%;
  height: 2px;
  background: var(--bg_color);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s ease;
}

/* .gnav ul li a:hover {
  color: var(--bg_color);
} */

.gnav ul li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.gnav ul li+li {
  margin-left: 1em;
}

.header_sp_nav {
  display: flex;
  align-items: center;
}

.header_sp_nav>*+* {
  margin-left: 0.5em;
}

.header_tell {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: bold;
}

.header_tell .number {
  font-size: 1.6rem;
}

.header_tell_img {
  /* background: var(--bg_color); */
  padding: 0.75em;
  border-radius: 2em;
  margin-right: 0.5em;
  position: relative;
}

.header_tell_img::before,
.header_tell_img::after {
  content: '';
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2em;
}

.header_tell_img::before {
  background: var(--bg_color);
  z-index: -1;
  transition: .2s;
}

.header_tell_img::after {
  background: var(--bg_hover_color);
  z-index: -2;
}

.header_tell:hover .header_tell_img::before {
  opacity: 0;
}

.header_tell_img img {
  width: 1.5em;
}

.header_mail {
  position: relative;
  height: 8rem;
  width: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header_mail::before,
.header_mail::after {
  content: '';
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.header_mail::before {
  background: var(--bg_color);
  z-index: -1;
  transition: .2s;
}

.header_mail::after {
  background: var(--bg_hover_color);
  z-index: -2;
}

.header_mail:hover::before {
  opacity: 0;
}

.header_mail img {
  width: 4rem;
}

.header_nav_btn {
  display: none;
}

/*===============/header===============*/
/*===============main===============*/

/*=====top=====*/
.top_first_section {
  margin-top: 0;
  margin-top: var(--header__height);
  position: relative;
}

.top__fv__img {
  width: 100%;
  /* height: 100svh; */
  height: calc(100svh - var(--header__height));
  object-fit: cover;
}

/* .first_view_content {
  position: absolute;
  top: 50%;
  right: 15%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
}

.first_view_content .catch {
  font-size: 2.4rem;
}

.home .news_list {
  margin-top: 2em;
  margin-left: auto;
  font-size: 1.4rem;
}

.home .news_list li {
  border-bottom: 1px solid var(--main_blue_color);
}

.home .news_list li:first-child {
  border-top: 1px solid var(--main_blue_color);
}

.home .news_list li a {
  padding: 0.25em 1em;
  display: flex;
}

.home .news_list li a>*+* {
  margin-left: 1em;
} */




.top__fv {
  position: relative;
}

.top__fv__stamp {
  /* background-color: tomato; */
  position: absolute;
  left: 5%;
  bottom: -2%;
  width: min(30rem, 25%);
  aspect-ratio: 1/1;
  display: flex;
}

.top__fv__stamp img {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0px 4px 4px #00000040);
}

.top__fv__catch {
  /* background-color: tomato; */
  position: absolute;
  top: 25%;
  right: 7%;
  color: #fff;
  font-size: clamp(1em, 2.22vw, 3em);
  filter: drop-shadow(0px 4px 4px #00000040);
}

.top__fv__news__list {
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #ffffff99;
  padding: 2em 4em;
  width: min(100%, 60rem);
}

.top__fv__news__item {
  display: flex;
  align-items: center;
  gap: 1em;
  border-bottom: 1px solid #F3F9FF;
  padding-block: 0.5em;
  transition: .2s;
}

.top__fv__news__item__title {
  font-weight: bold;
}

.top__fv__news__item:hover {
  opacity: 0.5;
}





.three_card_list {
  display: flex;
  justify-content: space-between;
  /* justify-content: space-evenly; */
}

.three_card_item {
  width: 30%;
  border: 1px solid var(--main_blue_color);
  border-image: var(--bg_color);
  border-image-slice: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 1em 0 1em;
}

.three_card_item>*+* {
  margin: 0.5em 0;
}

.three_card_item .card_img {
  width: 70%;
}

.three_card_item .card_text {
  text-align: center;
}

.three_card_item .btn {
  display: block;
  padding: 0.35em 0;
  text-align: center;
  font-weight: bold;
  width: 60%;
  color: #fff;
  position: relative;
}

.three_card_item .btn::before,
.three_card_item .btn::after {
  content: '';
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.three_card_item .btn::before {
  background: var(--bg_color);
  z-index: -1;
  transition: .2s;
}

.three_card_item .btn::after {
  background: var(--bg_hover_color);
  z-index: -2;
}

.three_card_item:hover .btn::before {
  opacity: 0;
}

.top_company {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top_company_img {
  flex-basis: 52%;
}

.top_company_img img {
  width: 100%;
}

.top_company_content {
  flex-basis: 45%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2em;
}

.top_company_header h2 {
  font-size: 3rem;
  font-family: var(--en-font);
  color: var(--main_blue_color);
}

.top_company_logo {
  max-width: 45rem;
  width: clamp(15rem, 50%, 45rem);
}

.top_company_address {
  font-size: 1.4rem;
}

.top_company_address a {
  font-family: var(--en-font);
  display: flex;
  align-items: center;
  margin-top: 0.5em;
  color: var(--main_blue_color);
}

.top_company_address a::before {
  content: '';
  display: inline-block;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  /* background-image: url(/assets/img/link_logo.svg); */
  background-image: url(../img/link_logo.svg);
}

.btn {
  display: block;
  width: 12em;
  border-radius: 0.5em;
  padding: 0.35em 0;
  text-align: center;
  font-weight: bold;
  color: #fff;
  transition: .2s;
  position: relative;
}

.btn::before {
  content: '';
  display: inline;
  border-radius: 0.5em;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg_color);
  z-index: -1;
  transition: .5s;
}

.btn::after {
  content: '';
  display: inline;
  border-radius: 0.5em;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg_hover_color);
  z-index: -2;
}

.btn:hover::before {
  opacity: 0;
}

/*=====/top=====*/
/*=====ABOUT=====*/
.page_header {
  margin-top: 13rem;
  margin-bottom: 10rem;
  position: relative;
  /* background: var(--bg_color); */
}

.page_header+section {
  margin-top: 10rem;
}

.page_header::after {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: 0;
  width: 100%;
  height: 18rem;
  background: var(--bg_color);
}

.page_header_img {
  background: var(--bg_color);
  /* background-color: #2ca3bd; */
  position: relative;
}

.page_header_img img {
  width: 100%;
  opacity: 0.5;
  transition: all .3s ease;
  transition-duration: 1s;
}

.page_header_img.run img {
  opacity: 1;
}

.page_header_title {
  width: 95%;
  max-width: var(--second_width);
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  transform: translate(-50%, -50%);
}

.page_header_title h1 {
  font-size: 3.8rem;
}

.page_sub_title {
  font-family: var(--en-font);
  font-size: 3.2rem;
  position: relative;
  display: inline-block;
  padding-bottom: 0.2em;
  text-transform: capitalize;
}

.page_sub_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120%;
  height: 2px;
  background-color: #fff;
}

.site_nav {
  padding: 1em 0;
  max-width: var(--second_width);
  margin: 0 auto;
  display: flex;
  color: #fff;
  align-items: center;
}

.site_nav>*+* {
  display: flex;
  align-items: center;
  margin-left: 1em;
}

.site_nav>*+*::before {
  content: '';
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(18%) rotate(45deg);
  display: inline-block;
  margin-right: 1em;
  flex-shrink: 0;
}

/* .site_nav span:last-child {
  font-weight: bold;
} */

.site_nav>*:last-child {
  font-weight: bold;
}

.site_nav a:hover {
  text-decoration: underline;
}


.section_title {
  text-align: center;
  margin-bottom: 7rem;
}

.section_title h2 {
  color: var(--main_blue_color);
  font-size: 3rem;
}

.section_title p {
  margin-top: 1em;
  line-height: 2;
  /* font-size: 2rem; */
}

.section_title h2 {
  position: relative;
  display: inline-block;
}

.section_title h2:before,
.section_title h2::after {
  content: '';
  display: block;
  position: absolute;
  width: 3em;
  height: 2px;
  background-color: var(--main_blue_color);
  top: 50%;
  transform: translateY(-50%);
}

.section_title h2:before {
  left: calc(100% + 2em);
}

.section_title h2::after {
  right: calc(100% + 2em);
}

.knowledge_list {
  margin-top: 10rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.knowledge_item {
  flex-basis: 45%;
  border: 2px solid var(--main_blue_color);
  padding: 4em 2em 2em;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.knowledge_item:nth-child(n+3) {
  margin-top: 10%;
}

.knowledge_item_number {
  position: absolute;
  background-color: var(--main_blue_color);
  color: #fff;
  font-size: 4rem;
  width: 2em;
  height: 2em;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.knowledge_item_title {
  font-size: 3.4rem;
  text-align: center;
  color: var(--main_blue_color);
  margin-bottom: 0.5em;
}

.knowledge_item_title span {
  font-size: 0.7em;
}

.knowledge_item_content {
  line-height: 2;
  /* font-size: 2rem; */
}

.knowledge_item_content .color {
  color: var(--main_blue_color);
}

/*=====/ABOUT=====*/
/*=====company=====*/

.company_table {
  width: 100%;
  line-height: 2;
}

.company_table tr {
  display: flex;
  padding: 1em;
  border-bottom: 2px solid var(--main_blue_color);
}

.company_table tr th {
  width: 30%;
  min-width: 20rem;
}

.access_title_wrap {
  /* font-size: 2.4rem; */
  display: flex;
  flex-direction: column;
  gap: 2em;
}

.access_title {
  font-size: 1.5em;
  color: var(--main_blue_color);
  margin-right: 1em;
}

.access_info_list {
  display: flex;
  gap: 2em;
}

.access_info_item {
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
  /* gap: 0.5em; */
}

.access_info_item_title {
  font-size: 1.125em;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid var(--main_blue_color);
}

.access_info_item_text {
  font-size: 1.4rem;
}

.access_map {
  margin-top: 2em;
  height: 0;
  overflow: hidden;
  padding-bottom: 50%;
  position: relative;
}

.access_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/*=====/company=====*/
/*=====message=====*/

.staff_section {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  padding: 3rem;
}

.staff_section::after {
  content: '';
  display: inline;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: rgba(44, 163, 189, 5%);
  width: 100%;
  height: 100%;
  z-index: -1;
  margin-left: calc(100% - 100vw);
  width: 100vw;
}


.staff_content {
  flex-basis: 60%;
}

.staff_img {
  flex-basis: 35%;
  box-shadow: 3px 3px 3px #33333350;
}

.staff_img img {
  width: 100%;
  height: auto;
}

.staff_detail {
  padding: 1em;
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  color: #fff;
  background: var(--bg_color);
  width: 50rem;
}

.staff_detail_name {
  flex-shrink: 0;
}

.staff_detail_position {
  flex-shrink: 0;
}

.staff_detail_line {
  position: relative;
  display: inline-block;
  flex-basis: 50%;
  height: 2px;
  margin: 0 1.5em;
  background: #fff;
}

.staff_detail_line::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  background-color: #fff;
  display: inline-block;
  border-radius: 1rem;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.staff_detail_name h1 {
  font-family: var(--min-font);
  font-size: 2.6rem;
}

.staff_en_name {
  font-family: var(--en-font);
  font-size: 1.2rem;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.staff_catch {
  /* font-size: 4rem; */
  font-size: min(3.5rem, 2.78vw);
  margin: 1em 0 0.5em;
  color: var(--main_blue_color);
  font-family: var(--min-font);
}

.staff_text p {
  line-height: 2;
}

.other_staff_list {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  gap: 2em;
  margin-top: 10em;
}

.other_staff_item {
  flex-basis: calc((100% - 2em) / 2);
  display: flex;
  align-items: center;
  box-shadow: 0.1rem 0.1rem 0.3rem #33333350;
  position: relative;
  overflow: hidden;
}

.other_staff_item::before {
  content: '';
  display: inline;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid var(--main_blue_color);
  border-image: var(--bg_color);
  border-image-slice: 1;
  opacity: 0;
  transition: .2s;
}

.other_staff_item:hover::before {
  opacity: 1;
}

.other_staff_item::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(50%, 50%) rotate(-45deg);
  width: 5rem;
  height: 5rem;
  background: var(--bg_color);
}

.other_staff_item:nth-child(n+2) {
  transition-delay: 0.6s !important;
}

.other_staff_img img {
  width: 20rem;
  height: 20rem;
  object-fit: cover;
  object-position: top;
}

.other_staff_content {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.other_staff_catch {
  font-family: var(--min-font);
  color: var(--main_blue_color);
}

.other_staff_position {
  font-size: 1.4rem;
  margin-top: 1rem;
}

.other_staff_name {
  font-size: 2.4rem;
  margin: 0.25rem 0;
  font-family: var(--min-font);
}

.other_staff_name_en {
  font-size: 1rem;
  color: #969696;
  font-family: var(--en-font);
}

.back_all_staff.btn {
  margin: 3em auto 0;
}

/*=====/message=====*/
/*=====staff_list=====*/

.staff_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.staff_list::after {
  content: '';
  display: block;
  flex-basis: 32%;
}

.staff_item {
  position: relative;
  flex-basis: 32%;
  box-shadow: 0.1rem 0.1rem 0.3rem #33333350;
  overflow: hidden;
}

.staff_item::before {
  content: '';
  display: inline;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid var(--main_blue_color);
  border-image: var(--bg_color);
  border-image-slice: 1;
  opacity: 0;
  transition: .2s;
}

.staff_item:hover::before {
  opacity: 1;
}

.staff_item::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  background: var(--bg_color);
  width: 5rem;
  height: 5rem;
  display: inline-block;
  transform: translate(50%, 50%) rotate(-45deg);
}

.staff_item:nth-child(3n+2) {
  transition-delay: 0.6s !important;
}

.staff_item:nth-child(3n+3) {
  transition-delay: 0.9s !important;
}

.staff_item:nth-child(n+4) {
  margin-top: 2%;
}



.staff_item_img img {
  width: 100%;
  height: auto;
  /* max-height: 38rem; */
  object-fit: cover;
}

.staff_item_content {
  padding: 1.5em 0;
  text-align: center;
}

.staff_item_catch {
  font-family: var(--min-font);
  color: var(--main_blue_color);
  font-size: 2rem;
}

.staff_item_detail {
  margin-top: 1.5em;
}

.staff_item_detail>* {
  margin: 0.5rem 0;
}

.staff_item_name {
  font-size: 3rem;
  font-family: var(--min-font);
}

.staff_item_name_en {
  font-size: 1.2rem;
  font-family: var(--en-font);
  color: #969696;
  text-transform: uppercase;
}

/*=====/staff_list=====*/
/*=====fee=====*/
.fee_item+.fee_item {
  margin-top: 7em;
}

.fee_item_header {
  display: flex;
  align-items: center;
  margin-bottom: 3em;
}

.fee_item_number {
  width: 1.35em;
  height: 1.35em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4rem;
  background-color: var(--main_blue_color);
  color: #fff;
}

.fee_item_header_set {
  display: flex;
  align-items: center;
}

.fee_item_title {
  font-size: 2.2rem;
  margin-left: 1em;
}

.fee_item_note {
  margin-left: auto;
}

.fee_item_flex {
  display: flex;
  justify-content: space-between;
}

.fee_item_flex.first table td {
  text-align: right;
  font-size: 2rem;
  font-weight: bold;
}

.fee_item_flex.first .fee_item_flex_item {
  flex-basis: 40%;
  display: flex;
  justify-content: space-between;
}

.fee_item_flex.first .fee_item_flex_item h4 {
  border: 3px solid var(--main_blue_color);
  color: var(--main_blue_color);
  font-size: 2.8rem;
  padding: 0.2em 1em;
}

.fee_item_flex.first .fee_item_flex_item:nth-child(2) h4 {
  color: #fff;
  background-color: var(--main_blue_color);
}

.fee_item_flex.second .fee_item_flex_item:nth-child(1) {
  flex-basis: 60%;
  flex-shrink: 0;
}

.fee_item_flex.second .fee_item_flex_item:nth-child(2) {
  flex-basis: 35%;
}

.second_fee_item {
  padding: 1em 0;
}

.second_fee_item+.second_fee_item {
  border-top: 2px solid var(--main_blue_color);
}

.second_fee_item_title {
  display: flex;
  font-size: 2rem;
}

.bold {
  font-weight: bold;
}

.second_fee_item_title p+p {
  margin-left: 3em;
}

.second_fee_item_text {
  margin-top: 0.5em;
  font-size: 0.9em;
}

.second_fee_note {
  font-size: 0.8em;
  list-style-position: inside;
  line-height: 2;
}

.second_fee_note li {
  text-indent: -1em;
}

.second_fee_note li:before {
  display: inline;
  content: "※";
}

.third_fee_list {
  font-weight: bold;
  font-size: 2rem;
  width: 95%;
  min-width: 40rem;
  max-width: 50rem;
}

.third_fee_item {
  padding: 1em 0;
}

.third_fee_item+.third_fee_item {
  border-top: 2px solid var(--main_blue_color);
}

.third_fee_item table {
  width: 100%;
  margin-top: 0.5em;
}

.third_fee_item table tr {
  display: flex;
  justify-content: space-between;
}

.third_fee_item table tr td {
  display: inline-block;
}

.fourth_fee_list {
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
  font-size: 2rem;
}

.fourth_fee_list li {
  display: flex;
  align-items: center;
  margin-right: 3em;
  margin-top: 2em;
}

.fourth_fee_list li::before {
  content: '';
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  border-radius: 1em;
  background-color: var(--main_blue_color);
  display: inline-block;
}

.btn.page_fee {
  margin: 5em auto 0;
}

/*=====/fee=====*/
/*=====recruit=====*/

.recruit_tab_list {
  display: flex;
  align-items: center;
}

.recruit_tab_list li {
  flex-basis: 50%;
  text-align: center;
  font-size: 3rem;
  background: #c9c9c9;
  color: #fff;
  padding: 0.5em 0;
  cursor: pointer;
}

.recruit_tab_list li.active {
  background: var(--bg_color);
}

.recruit_tab_content {
  border: 2px solid var(--main_blue_color);
  border-image: var(--bg_color);
  border-image-slice: 1;
  border-top: none;
  padding: 3em;
  line-height: 2;
}

.recruit_tab_content table tr {
  display: flex;
  padding: 1em 0;
}

.recruit_tab_content table tr th {
  color: var(--main_blue_color);
  min-width: 8em;
  flex-shrink: 0;
  font-size: 2rem;
}

.not_recruiting {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 1em;
}

.recruit_tab_content+.btn {
  margin: 3em auto 0;
}

/*=====/recruit=====*/
/*=====contact=====*/

.contact_table {
  width: 100%;
}

.required {
  color: red;
}

.contact_table tr {
  padding: 1em 0;
  display: flex;
  justify-content: space-between;
  /* align-items: center; */
}

.contact_table tr td:nth-child(1) {
  flex-shrink: 0;
  min-width: 15em;
  line-height: 2.625;
  flex-basis: 26%;
}

.contact_table tr td:nth-child(2) {
  flex-basis: 73%;
}

.contact_table td:nth-child(2) input {
  width: 100%;
  padding: 0.5em;
  background-color: #fff;
  border: 1px solid var(--main_blue_color);
}

.contact_table td:nth-child(2) .mwform-tel-field input,
.contact_table td:nth-child(2) .mwform-zip-field input,
.contact_table td:nth-child(2) .mwform-checkbox-field input {
  width: auto;
}

.contact_table td:nth-child(2) textarea {
  width: 100%;
  padding: 0.5em;
  background-color: #fff;
  border: 1px solid var(--main_blue_color);
}

.contact_table td:nth-child(2) select {
  border: 1px solid #808080;
  width: 100%;
  padding: 0.5em;
  border: 1px solid var(--main_blue_color);
}

.privacy_box {
  height: 200px;
  overflow: scroll;
  padding: 1rem;
  border: 1px solid #777;
  font-size: 1.2rem;
}

.privacy_text:not(:first-child) {
  margin-top: 1em;
}

.privacy_title {
  color: var(--main_blue_color);
}

.privacy_label {
  /* text-align: right; */
  /* font-size: 1.2rem; */
}

.privacy_label label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1em;
  white-space: nowrap;
  /* color: var(--main_blue_color); */
}

.privacy_label input {
  width: auto !important;
  margin-right: 1em;
}

.contact_btn.btn {
  margin: 3em auto 0;
}

.contact_btn.btn input {
  background: none;
}

.zip {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

/* .zip input {
  margin-left: 1rem;
  width: 10em !important;
} */


/*=====/contact=====*/
/*=====news=====*/

.news .news_list li+li {
  border-top: 1px solid #2ca3bd;
}

.news_list li a {
  padding: 2em 2em;
  display: flex;
  transition: .2s;
}

.news_list li a:hover {
  opacity: 0.5;
}

.news_list li a .news_meta {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  font-weight: bold;
  min-width: 15em;
}

.news_list li a h2 {
  margin-left: 2em;
}

.news_list li .news_meta>*+* {
  margin-left: 1em;
}

.single_news_meta {
  display: flex;
  align-items: center;
  font-size: 0.9em;
  font-weight: bold;
}

.single_news_meta>*+* {
  margin-left: 1em;
}

.single_news_title {
  font-size: 1.5em;
  position: relative;
  margin: 1em 0;
  padding-bottom: 1em;
}

.single_news_title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--bg_color);
  display: inline;
}

.single_news_text p+p {
  margin-top: 1em;
}

.single_news_nav {
  margin-top: 5em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9em;
}

.single_news_nav a {
  display: flex;
  align-items: center;
  transition: .2s;
}

.single_news_nav a:hover {
  opacity: .5;
}

.single_news_nav .prev::before {
  content: '\e317';
  font-family: 'Material Icons';
  margin-right: 0.5em;
}

.single_news_nav .next::after {
  content: '\e5c8';
  font-family: 'Material Icons';
  margin-left: 0.5em;
}

.single_news_nav div {
  display: block;
  min-width: 6.5em;
}

/*=====/news=====*/

/*===============/main===============*/
/*===============footer===============*/

footer {
  /* background-color: #dddddd; */
  /* padding: 3em 0 5em; */
  color: #333;
  font-weight: bold;
  position: relative;
  font-size: 1.4rem;
}

footer .center_item {
  max-width: 100rem;
}

.footer_nav_menu {
  width: 100%;
  display: flex;
  /* justify-content: space-between; */
  justify-content: space-evenly;
}

.footer_nav_menu li a {
  transition: .2s;
}

.footer_nav_menu li a:hover {
  opacity: 0.5;
}

.footer_btn_list {
  /* box-shadow: 0px 5px 15px #000000; */
  border: 2px solid var(--main_blue_color);
  margin-top: 2em;
  width: 100%;
  display: flex;
  /* background-color: #fff; */
  position: relative;
}

.footer_btn_list::after {
  content: '';
  width: 2px;
  height: 100%;
  background-color: var(--main_blue_color);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.footer_btn_item {
  padding: 1em 0;
  flex-basis: 50%;
  transition: .2s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer_btn_item:hover {
  opacity: .5;
}

.footer_btn_img {
  width: 2.5em;
  margin-right: 1em;
}

.footer_btn_text {
  color: var(--main_blue_color);
  font-size: 1.8rem;
}

.footer_btn_text .min {
  font-size: 0.75em;
}

.footer_copyright {
  font-weight: normal;
  font-size: 1rem;
  position: absolute;
  left: 50%;
  bottom: 2em;
  transform: translateX(-50%);
}

.forte_item+.forte_item {
  margin-top: 3em;
}

.forte_item_title {
  font-size: 3.4rem;
  margin-bottom: 0.5em;
  color: var(--main_blue_color);
}

.forte_item_content {
  line-height: 2;
}

/*===============/footer===============*/
@media screen and (max-width: 1250px) {
  .header_tell_content {
    display: none;
  }
}

@media screen and (max-width: 900px) {

  :root {
    --header__height: 5rem;
  }

  .fv {
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
  }

  body {
    font-size: 1.4rem;
  }

  section {
    margin: 7.5rem 0;
  }

  .from_tb {
    display: block;
  }

  .none_tb {
    display: none;
  }

  /*===============header===============*/
  .wrap_header {
    width: 95%;
    height: 5rem;
  }

  .header_logo {
    /* width: 20rem; */
    width: 11rem;
    margin-left: 0;
    z-index: 5;
  }

  .header_tell {
    z-index: 5;
  }

  .header_tell_img {
    margin-right: 0;
  }

  .header_mail {
    z-index: 5;
    border-radius: 2em;
    height: 3.6rem;
    width: 3.6rem;
  }

  .header_mail img {
    width: 2rem;
  }

  .header_tell_content {
    display: none;
  }

  .gnav ul {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0%;
    transition: 0.5s;
    opacity: 0;
    visibility: hidden;
  }

  .gnav ul li:not(:first-child) {
    margin-left: 0em;
  }

  .gnav ul li a {
    display: block;
    padding: 1em;
  }

  .gnav.is-active ul {
    opacity: 1;
    visibility: visible;
  }

  /* .header_sp_nav {
    display: flex;
    align-items: center;
  } */

  .header_nav_btn {
    display: block;
    height: 2.5rem;
    width: 2.5rem;
    z-index: 5;
    position: relative;
  }

  .header_nav_btn span {
    position: absolute;
    background: var(--bg_color);
    width: 100%;
    height: 2px;
    transition: 0.2s;
    transform: translateY(-50%);
  }

  .header_nav_btn span:nth-child(1) {
    top: 20%;
  }

  .header_nav_btn span:nth-child(2) {
    top: 50%;
  }

  .header_nav_btn span:nth-child(3) {
    /* bottom: 20%; */
    top: 80%;
  }

  .header_nav_btn.is-active span:nth-child(1) {
    top: 50%;
    transform: rotate(30deg);
  }

  .header_nav_btn.is-active span:nth-child(2) {
    width: 0%;
  }

  .header_nav_btn.is-active span:nth-child(3) {
    top: 50%;
    /* bottom: 100%; */
    transform: rotate(-30deg);
  }

  /*===============/header===============*/
  /*===============main===============*/

  /*=====top=====*/

  /* .top__fv__img {
    height: auto;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    object-position: 60% 100%;
  } */

  /* .first_view_content {
    top: 70%;
    right: 1em;
    color: #fff;
    mix-blend-mode: hard-light;
  }

  .first_view_content .catch {
    font-size: clamp(1.6rem, 6vw, 2rem);
  }

  .home .news_list li a>*+* {
    margin-top: 0;
  } */








  .top__fv__content {
    position: relative;
  }

  .top__fv__sp__content {
    /* background-color: violet; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    bottom: 1em;
    width: 100%;
    padding-inline: 3%;
  }

  .top__fv__stamp {
    position: relative;
    left: 0;
    bottom: 0;
  }

  .top__fv__catch {
    position: relative;
    top: 0;
    right: 0;
    font-size: clamp(1em, 2.22vw, 3em);
    font-size: 4vw;
  }

  .top__fv__news__list {
    /* background-color: tomato; */
    position: relative;
    width: 100%;
    padding: 2em;
  }










  .three_card_list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .three_card_item {
    width: 80%;
  }

  .three_card_item:nth-child(n+2) {
    margin-top: 10%;
  }

  .top_company {
    flex-wrap: wrap;
  }

  .top_company_img {
    flex-basis: 100%;
  }

  .top_company_content {
    gap: 2em;
    flex-basis: 100%;
    margin-top: 1rem;
  }

  .top_company_header h2 {
    font-size: 2.4rem;
  }

  .top_company_logo {
    /* margin-top: 2rem; */
  }

  .top_company_address {
    /* margin-top: 2rem; */
    font-size: 1.4rem;
  }

  .top_company_address a {
    margin-top: 1rem;
  }

  .btn {
    /* margin-top: 2rem; */
    margin: 2rem auto 0;
  }

  /*=====/top=====*/
  /*=====ABOUT=====*/
  .page_header {
    margin-top: 8rem;
    margin-bottom: 5rem;
  }

  .page_header::after {
    height: 10rem;
  }

  .page_header_title h1 {
    font-size: 3rem;
  }

  .page_sub_title {
    font-size: 2rem;
  }

  .section_title h2 {
    font-size: 2rem;
  }

  .section_title h2:before,
  .section_title h2::after {
    width: 1em;
  }

  .section_title h2:before {
    left: calc(100% + 1em);
  }

  .section_title h2::after {
    right: calc(100% + 1em);
  }

  .knowledge_list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .knowledge_item {
    flex-basis: 80%;
    padding: 3rem 2em 2em;
  }

  .knowledge_item:nth-child(n+2) {
    margin-top: 15%;
  }

  .knowledge_item_number {
    font-size: 2rem;
  }

  .knowledge_item_title {
    font-size: 2rem;
  }

  .forte_item_title {
    font-size: 2rem;
  }

  /*=====/ABOUT=====*/
  /*=====company=====*/


  .access_info_list {
    flex-direction: column;
  }

  .access_info_item_title {
    font-size: 1.4rem;
  }

  .access_map {
    padding-bottom: 100%;
  }


  /*=====/company=====*/

  /*=====message=====*/

  .staff_section {
    flex-wrap: wrap;
    justify-content: center;
  }

  .staff_content {
    flex-basis: 100%;
    order: 2;
  }

  .staff_img {
    order: 1;
    /* flex-basis: 60%; */
    flex-basis: auto;
    max-width: 100%;
    margin-bottom: 3rem;
  }

  .staff_detail {
    width: 100%;
  }

  .staff_detail_name h1 {
    font-size: 2rem;
  }

  .staff_en_name {
    font-size: 1rem;
    letter-spacing: 3px;
  }

  .staff_catch {
    font-size: 2.4rem;
    margin: 1em 0 0.5em;
  }

  .other_staff_list {
    flex-wrap: wrap;
  }

  .other_staff_item {
    flex-basis: 100%;
    gap: 0.5em;
  }

  .other_staff_item:nth-child(n+2) {
    margin-top: 2rem;
    transition-delay: initial !important;
  }

  .other_staff_img img {
    width: 15rem;
    height: 15rem;
  }

  .other_staff_name {
    font-size: 2rem;
  }

  /*=====/message=====*/
  /*=====staff_list=====*/

  .staff_list {
    flex-wrap: wrap;
    /* justify-content: center; */
  }

  .staff_item {
    flex-basis: 48%;
    max-width: 40rem;
  }

  .staff_item:nth-child(3n+2) {
    transition-delay: initial !important;
  }

  .staff_item:nth-child(3n+3) {
    transition-delay: initial !important;
  }

  .staff_item:nth-child(2n+2) {
    transition-delay: 0.6s !important;
  }

  .staff_item:nth-child(n+3) {
    margin-top: 4%;
  }

  .staff_item_catch {
    font-size: 1.4rem;
  }

  .staff_item_detail>* {
    font-size: 1.2rem;
  }

  .staff_item_name {
    font-size: 1.6rem;
  }

  /*=====/staff_list=====*/
  /*=====fee=====*/

  .fee_item_header {
    flex-wrap: wrap;
  }

  .fee_item_number {
    flex-shrink: 0;
    width: 1.35em;
    height: 1.35em;
    font-size: 2rem;
  }

  .fee_item_title {
    font-size: 1.8rem;
  }

  .fee_item_note {
    margin-top: 0.5em;
  }

  .fee_item_flex {
    flex-wrap: wrap;
  }

  .fee_item_flex.first .fee_item_flex_item {
    flex-basis: 100%;
    justify-content: center;
  }

  .fee_item_flex.first .fee_item_flex_item+.fee_item_flex_item {
    margin-top: 2em;
  }

  .fee_item_flex.first .fee_item_flex_item h4 {
    border: 2px solid var(--main_blue_color);
    font-size: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: auto;
    margin-right: 1em;
  }

  .fee_item_flex.first table td {
    font-size: 1.6rem;
  }


  .third_fee_list {
    font-size: 1.6rem;
    width: 100%;
    min-width: auto;
  }

  .fourth_fee_list {
    font-size: 1.6rem;
  }

  /*=====/fee=====*/
  /*=====recruit=====*/

  .recruit_tab_list li {
    font-size: 2rem;
  }

  .recruit_tab_list li.active {
    background: var(--bg_color);
  }

  .recruit_tab_content {
    padding: 1em;
    padding-top: 0;
  }

  .recruit_tab_content table tr {
    flex-wrap: wrap;
  }

  .recruit_tab_content table tr th {
    min-width: auto;
    font-size: 1.8rem;
    flex-basis: 100%;
  }

  .not_recruiting {
    padding-top: 1rem;
    margin-bottom: 1em;
  }

  .recruit_tab_content .btn {
    margin: 3em auto 0;
  }

  /*=====/recruit=====*/

  .news_list li a {
    flex-wrap: wrap;
    padding: 1em;
  }

  .news_list li a .news_meta {
    flex-basis: 100%;
    min-width: auto;
  }

  .news_list li a h2 {
    margin-top: 0.25em;
    margin-left: 0em;
  }

  .single_news_title {
    font-size: 1.25em;
  }

  .single_news_title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--bg_color);
    display: inline;
  }

  .single_news_text p+p {
    margin-top: 1em;
  }

  .single_news_nav {
    margin-top: 5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9em;
  }

  .single_news_nav a {
    display: flex;
    align-items: center;
    transition: .2s;
  }

  .single_news_nav a:hover {
    opacity: .5;
  }

  .single_news_nav .prev::before {
    content: '\e317';
    font-family: 'Material Icons';
    margin-right: 0.5em;
  }

  .single_news_nav .next::after {
    content: '\e5c8';
    font-family: 'Material Icons';
    margin-left: 0.5em;
  }

  .single_news_nav div {
    display: block;
    min-width: 6.5em;
  }

  /*=====/news=====*/
  /*=====contact=====*/

  .contact_table tr td:nth-child(1) {
    flex-basis: 100%;
  }

  .contact_table tr td:nth-child(2) {
    flex-basis: 100%;
  }

  /*=====/contact=====*/






  /*===============/main===============*/
  /*===============footer===============*/
  /* footer {
    padding: 3rem 0 5rem;
  } */

  .footer_nav_menu {
    display: none;
  }

  .footer_btn_list {
    margin-top: 0;
  }

  .footer_btn_item {
    padding: 0.5em 0;
  }

  .footer_btn_img {
    width: 1.5em;
    margin-right: 1em;
  }

  .footer_btn_text {
    color: var(--main_blue_color);
    font-size: 1.4rem;
  }


  .footer_copyright {
    white-space: nowrap;
    bottom: 1rem;
  }

  /*===============/footer===============*/





}

@media screen and (max-width: 480px) {

  body {
    font-size: 1.3rem;
  }

  .from_sp {
    display: block;
  }

  .none_sp {
    display: none;
  }

  .page_header+section {
    margin-top: 5rem;
  }

  /*===============header===============*/

  .header_nav_btn {
    height: 2rem;
    width: 2rem;
  }

  .header_mail img {
    width: 60%;
  }

  /*===============/header===============*/
  /*===============main===============*/

  /*=====top=====*/
  /* .home .news_list li a>*+* {
    margin-left: 0;
  }

  .top_first_section img {
    object-position: 40% 100%;
  }

  .first_view_content {
    top: auto;
    bottom: 3em;
    white-space: nowrap;
    right: 50%;
    transform: translateX(50%);
  } */






  .top__fv__stamp {
    width: 30.59vw;
  }

  .top__fv__catch {
    font-size: 5.88vw;
  }

  .top__fv__news__list {
    padding: 2em 1em;
  }

  .top__fv__news__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25em;
  }







  /*=====/top=====*/
  .page_header_title {
    top: auto;
    bottom: 5%;
    transform: translate(-50%, 0%);
  }

  .page_header_img img {
    min-height: 15rem;
    object-fit: cover;
  }

  .page_header_title h1 {
    /* font-size: 2rem; */
    font-size: clamp(1.4rem, 4.5vw, 2rem);
  }

  .page_sub_title {
    font-size: 1.4rem;
  }

  .section_title h2 {
    /* font-size: 1.8rem; */
    font-size: clamp(1.4rem, 5vw, 1.8rem);
  }

  .knowledge_item {
    flex-basis: 90%;
  }

  .forte_item_title {
    font-size: 1.6rem;
  }

  .company_table tr {
    flex-wrap: wrap;
  }

  .company_table tr th,
  .company_table tr td {
    flex-basis: 100%;
    min-width: auto;
  }

  .access_title {
    font-size: 1.6rem;
    flex-wrap: wrap;
  }

  .staff_detail_position {
    font-size: 1.2rem;
  }

  .staff_detail_line {
    margin: 0 1rem;
  }

  .staff_detail_name h1 {
    font-size: 1.6rem;
  }

  .staff_catch {
    font-size: 1.6rem;
  }


  .staff_list {
    justify-content: center;
  }

  .staff_item {
    flex-basis: 90%;
  }

  .staff_item:nth-child(2n+2) {
    transition-delay: initial !important;
  }

  .staff_item:nth-child(n+2) {
    margin-top: 5%;
  }

  /* .staff_item_catch {
    font-size: 1.rem;
  } */


  .other_staff_item {
    padding: 1rem;
    /* flex-direction: column; */
  }

  .other_staff_img img {
    width: 100%;
    max-width: 20rem;
    height: auto;
  }

  .other_staff_content {
    margin-top: 1rem;
  }




  .fee_item_flex {
    flex-wrap: wrap;
    justify-content: center;
  }

  .fee_item_flex.first .fee_item_flex_item {
    justify-content: space-between;
  }

  .fee_item_flex.first .fee_item_flex_item h4 {
    font-size: 1.6rem;
    white-space: nowrap;
    padding: 0.2em 0.5em;
    margin-right: 1em;
  }

  .fee_item_flex.second .fee_item_flex_item:nth-child(1) {
    flex-basis: 100%;
  }

  .second_fee_item_title {
    font-size: 1.6rem;
  }

  .fee_item_flex.second .fee_item_flex_item:nth-child(2) {
    margin-top: 1rem;
    flex-basis: 90%;
  }

  .fourth_fee_list {
    margin-top: -2em;
  }

  .fourth_fee_list li {
    margin-right: 2em;
    margin-top: 1em;
  }




  .recruit_tab_list li {
    font-size: 1.6rem;
  }





  .contact_table tr {
    flex-wrap: wrap;
  }

  /*===============/main===============*/
  /*===============footer===============*/
  .footer_btn_list {
    flex-wrap: wrap;
  }

  .footer_btn_item {
    flex-basis: 100%;
    height: 5rem;
    padding: 1em;
  }

  .footer_btn_list::after {
    width: 100%;
    height: 2px;
  }

  .footer_btn_img {
    margin-right: 0.5em;
  }

  .footer_copyright {
    /* white-space: normal; */
    /* font-size: 0.8rem; */
    transform: translateX(-50%) scale(0.6);
  }

  /*===============/footer===============*/
}