@charset "UTF-8";
html {
  font-size: 62.5%;
}

*,*::before,*::after {
  box-sizing: border-box;
}

:root {
	--noto-font:  "Noto Sans JP", sans-serif;
  --prompt-font:  "Prompt", sans-serif;
  --zen-font:  "Zen Kaku Gothic New", sans-serif;
}

/*リキャプチャ設定*/
.grecaptcha-badge { visibility: hidden; }

body {
  margin: 0;
  font-family: var(--noto-font);
  font-size: 1.5rem;
  letter-spacing: .075em;
  color: #2b5faa;
}

a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  color: inherit;
}

a {
  display: block;
}

img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

h1, h2, h3, h4 {
  font-weight: normal;
  font-size: inherit;
  margin: 0;
}

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

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 41;
  height: 110px;
}

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 0 26px;
}

.logo {
  max-width: 300px;
}

.menu_entry {
  position: fixed;
  right: 100px;
  top: 25px;
  font-size: 2rem;
  letter-spacing: .025em;
  color: #fff !important;
  font-family: var(--prompt-font);
  background-color: #184188;
  border-radius: 6px;
  line-height: 3;
  text-align: center;
  width: 110px;
  height: 60px;
  z-index: 41;
  transition: .3s;
}

.menu_entry:hover {
  color: #184188 !important;
  background-color: #fff;
}

.toggle {
  position: fixed;
  right: 26px;
  top: 25px;
  width: 60px;
  height: 60px;
  border-radius: 6px;
  background-color: #8eedea;
  z-index: 41;
}

.toggle span {
  display: inline-block;
  width: 27px;
  height: 1px;
  background: #184188;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .3s;
}

.toggle span:first-child {
  top: 27px;
}

.toggle span:nth-child(2) {
  top: 36px;
}

.gnav {
  display: block;
  position: fixed;
  width: 100%;
  right: -100%;
  top: 0;
  height: 100%;
  overflow-y: scroll;
  background: rgba(255, 255, 255, 1);
  z-index: 40;
  transition: .5s;
}

.gnav::before {
  content: '';
  display: block;
  width: 100%;
  height: 110px;
  background: #fff;
  opacity: 0.8;
  position: sticky;
  top: 0;
  left: 0;
}

.gnav.active {
  transform: translateX(-100%);
}

.gnav ul {
  text-align: center;
  display: grid;
  row-gap: 30px;
  padding: 30px 0 50px;
}

.toggle.active span:first-child {
  transform: rotate(-20deg) translateX(-50%);
}

.toggle.active span:nth-child(2) {
  transform: rotate(20deg) translateX(-50%);
}

body.is_fixed {
  overflow: hidden;
  height: 100%; /* モバイルでのはみ出し防止 */
}

.mv {
  background-color: #00b1ef;
  position: relative;
  background-image: url(img/mv_radius.svg), url(img/mv_bg_illust.svg);
  background-repeat: no-repeat, repeat;
  background-position: left 0 bottom -1px, center center; background-size: 100%, 1920px;
  display: block !important;
  overflow: hidden;
  height: 100vh;
  min-height: 700px;
}

.mv_txt {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  width: 100%;
}

.eyecatch {
  max-width: 680px;
  margin: 0 auto;
}

.eyecatch_txt {
  margin-top: 50px;
  font-size: 2.8rem;
  letter-spacing: .05em;
  color: #fff;
  font-weight: 500;
}

.mv_entry {
  margin-top: 100px;
  color: #fff !important;
  font-size: 2rem;
  letter-spacing: .05em;
  font-weight: 700;
  background: #ef3e07;
  line-height: 1;
  padding: 28px 86px;
  box-shadow: 0 8px 0 #ce2c00;
  border-radius: 38px;
  display: inline-block;
  transition: .3s;
}

.mv_entry:hover {
  transform: translateY(5px);
  box-shadow: 0 0 0 #ce2c00;
}

.mv_illust {
  position: absolute;
  z-index: 2;
}

.mv_illust.mv01 {
  width: 32%;
  left: -.8%;
  bottom: 70px;
}

.mv_illust.mv02 {
  width: 43%;
  right: -15%;
  bottom: 40px;
}

.anchor {
  padding-top: 110px;
  margin-top: -110px;
}

.business {
  padding: 160px 0;
  background-color: #52c3f1;
}

.inner {
  max-width: 1420px;
  padding: 0 30px;
  margin: 0 auto;
}

.heading_h2 {
  margin-bottom: 80px;
  letter-spacing: .25em;
  line-height: 1;
}

.heading_h2 .en_title {
  font-family: var(--prompt-font);
  font-size: 8.6rem;
}

.heading_h2 h2 {
  font-family: var(--zen-font);
  font-weight: 500;
  font-size: 4.2rem;
  padding-top: 25px;
}

.business .heading_h2 {
  color: #fff;
}

.business01 {
  display: flex;
  column-gap: 2%;
  background-color: #e6f9ff;
  border-radius: 6px;
  align-items: center;
}

.business01_img {
  width: 50%;
  height: fit-content;
}

.business01_txt {
  width: 48%;
  padding: 55px 5.5% 55px 0;
}

.business01_h3 h3 {
  font-size: 3.2rem;
  letter-spacing: .1em;
  font-weight: 700;
  margin-bottom: 8px;
}

.business01_h3 span {
  font-size: 1.6rem;
  letter-spacing: 0;
  font-family: var(--prompt-font);
}

.business01_p {
  margin-top: 26px;
  font-size: 1.7rem;
  font-weight: 500;
  text-align: justify;
}

.read-more_btn {
  padding: 13px 50px 13px 32px;
  display: block;
  position: relative;
  background: #fff;
  max-width: 210px;
  border-radius: 27px;
  font-size: 2rem;
  letter-spacing: .1em;
  transition: .3s;
}

.read-more_btn::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(img/read-more.svg) no-repeat center / contain;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}

.read-more_btn:hover {
  cursor: pointer;
  background: #2b5faa;
  color: #fff;
}

.read-more_btn:hover::after {
  background: url(img/read-more_hover.svg) no-repeat center / contain;
}

.business01 .read-more_btn {
  margin-top: 30px;
}

.modal_overlay {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	position: fixed;
	z-index: 100;
	top: 0;
	visibility: hidden;
	opacity: 0;
	transition: .3s;
	overflow: hidden;
	text-align: center;
}

.modal_overlay.open {
	/* transform: scale(1); */
	opacity: 1;
	visibility: visible;
}

.modal-body {
	width: 86%;
	max-width: 900px;
	max-height: 80vh;
	min-height: 200px;
	justify-content: center;
	align-items: center;
	z-index: 110;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	visibility: hidden;
	opacity: 0;
	transition: .3s;
	transform: scale(0);
	transform-origin: center;
}

.modal-body.open {
	transform: scale(1);
	opacity: 1;
	visibility: visible;
}

body:has(.modal-body.open) {
  overflow: hidden;
}

.modal_content {
	background: #fff;
	padding: 36px 26px 36px;
	border-radius: 20px;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	height: 100%;
	overscroll-behavior-y: none;
}

.modal_wrapper::-webkit-scrollbar {
	display: none;
}

.close_icon {
	position: absolute;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 12px;
	right: 12px;
	z-index: 1;
	cursor: pointer;
	font-size: 2.6rem;
  transition: .3s;
  color: #949494;
}

.modal_inner .business01_h3 {
  padding-bottom: 30px;
  border-bottom: 1px solid #52c3f1;
  margin-bottom: 30px;
  text-align: center;
}

.modal_inner ul {
  list-style: disc;
  margin-left: 20px;
  display: grid;
  gap: 10px;
}

.modal_close.read-more_btn {
  margin: 50px auto 0;
  border: 2px solid #2b5faa;
  width: 100%;
  color: #2b5faa;
}

.modal_close.read-more_btn:hover {
  color: #fff;
}

.modal_ul_grid {
  grid-template-columns: 1fr 1fr;
}

.modal_h4 {
  font-size: 1.8rem;
  font-weight: 700;
  padding-left: 25px;
  position: relative;
  margin-bottom: 20px;
}

.modal_h4::before {
  content: "";
  width: 18px;
  height: 18px;
  background: #52c3f1;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 5px;
}

.modal_h4:not(:first-of-type) {
  margin-top: 40px;
}

.modal_dl {
  display: grid;
  grid-template-columns: 125px auto;
  column-gap: 10px;
}

.modal_dl:not(:first-of-type) {
  margin-top: 10px;
}

.modal_dl dt {
  font-weight: 700;
}

.modal_top_p {
  font-weight: 700;
  margin-bottom: 30px;
}

.modal_a a {
  text-decoration: underline;
  transition: .3s;
}

.modal_a a:hover {
  opacity: .8;
}

.external-link {
  margin-top: 40px;
}

.external-link a {
  display: inline-block;
}

.yamagata-kenkou_dl {
  grid-template-columns: 168px auto;
}

.business_card_wrap {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 32px;
}

.business_card {
  background-color: #e6f9ff;
  border-radius: 6px;
  padding: 60px 14%;
  display: flex;
  flex-direction: column;
}

.business_card_img {
  width: 100%;
}

.business_card_h3 {
  margin-top: 30px;
}

.business_card_h3 h3 {
  font-size: 2.7rem;
  letter-spacing: .1em;
  font-weight: 700;
  margin-bottom: 8px;
}

.business_card_h3 span {
  font-family: var(--prompt-font);
  font-size: 1.6rem;
  letter-spacing: 0;
}

.business_card_p {
  margin-top: 20px;
  font-size: 1.7rem;
  font-weight: 500;
  text-align: justify;
  margin-bottom: 20px;
}

.business_card .read-more_btn {
  margin-top: auto;
}

.day-work {
  padding-bottom: 160px;
  background: linear-gradient(180deg, #52c3f1 34%, #fff 100%);
}

.day-work .heading_h2 {
  color: #fff;
}

.slider {
  overflow: hidden;
  position: relative;
}

.slider1 .swiper-wrapper {
  padding-bottom: 40px;
}

.day-work_box_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 6px;
  overflow: hidden;
  background-color: #8eedea;
}

.day-work_box_content:hover {
  cursor: pointer;
}

.day-work_txt {
  padding: 50px 0 50px 50px;
}

.day-work_name {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.day-work_charge {
  font-size: 2.2rem;
  margin-top: 20px;
  font-weight: 500;
}

.day-work_info {
  margin-top: 10px;
  background-color: #2b5faa;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  padding: 10px;
  display: inline-block;
  line-height: 1;
}

.day-work_img {
  width: 50%;
}

.swiper-button-prev,
.swiper-button-next {
  height: 50px;
  width: 50px;
  transform: translateY(-50%);
}

.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 50px;
  margin: auto;
  width: 50px;
}

.swiper-button-prev::after {
  background-image: url(img/read-more.svg);
  transform: rotate(180deg);
}

.swiper-button-next::after {
  background-image: url(img/read-more.svg);
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

.swiper-pagination {
  bottom: 0 !important;
}

.swiper-pagination-bullet,.swiper-pagination-bullet-active {
  background: #2b5faa;
  margin: 0 9px !important;
}

.interview {
  padding-bottom: 160px;
  display: none;
}

.interview_card_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 32px;
}

.interview_card {
  background-color: #52c3f1;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.interview_card_top {
  padding: 60px 14% 0;
  margin-bottom: 30px;
}

.interview_card_h3 {
  margin-top: 20px;
  font-size: 2.2rem;
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.5;
  text-align: justify;
}

.interview_card_bottom {
  padding: 30px calc(14% + 50px) 30px 14%;
  border-top: 1px solid #fff;
  position: relative;
  transition: .3s;
  margin-top: auto;
}

.interview_card_name {
  font-size: 2.2rem;
  letter-spacing: .1em;
  font-weight: 700;
}

.interview_card_info {
  margin-top: 6px;
  font-size: 1.5rem;
  letter-spacing: 0;
}

.interview_card_bottom::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(img/read-more.svg) no-repeat center / contain;
  position: absolute;
  right: 14%;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}

.interview_card:hover .interview_card_bottom::after {
  background: url(img/read-more_hover.svg) no-repeat center / contain;
}

.work-benefits {
  padding-bottom: 160px;
}

.work-benefits_box_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  cursor: pointer;
}

.work-benefits_box {
  padding: 60px calc(9% + 70px) 60px 9%;
  border-radius: 6px;
  background-color: #e6f9ff;
  position: relative;
}

.work-benefits_box_h3 {
  font-size: 3.3rem;
  letter-spacing: .1em;
  font-weight: 700;
}

.work-benefits_box_p {
  margin-top: 20px;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.75;
}

.work-benefits_box::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(img/read-more.svg) no-repeat center / contain;
  position: absolute;
  right: 9%;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}

.work-benefits_box:hover::after {
  background: url(img/read-more_hover.svg) no-repeat center / contain;
}

.analytics {
  padding: 160px 0;
  background-color: #00b1ef;
  color: #fff;
  text-align: center;
}

.analytics_txt {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.analytics_box {
  border: 1px solid #fff;
  padding: 15px;
}

.analytics_box_head {
  display: block;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 5px;
}

.analytics_box_number {
  font-size: 5rem;
  font-weight: 900;
  font-family: var(--zen-font);
  line-height: 1;
}

.analytics_box_unit {
  font-size: 2rem;
  font-weight: 900;
  font-family: var(--zen-font);
  line-height: 1;
}

.analytics_contents_wrap {
  display: grid;
  grid-template-columns: 450px auto;
  column-gap: 60px;
  align-items: center;
}

.kenkou-yamagata {
  background-color: #8eedea;
}

.kenkou-yamagata_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.kenkou-keiei,
.yamagata-kenkou {
  padding: 60px 0;
  cursor: pointer;
}

.kenkou-keiei {
  padding-right: 14%;
  border-right: 2px solid #00b1ef;
}

.yamagata-kenkou {
  padding-left: 14%;
  border-left: 2px solid #00b1ef;
}

.kenkou-yamagata_h2 {
  font-size: 3.3rem;
  font-weight: 700;
}

.kenkou-yamagata_p {
  position: relative;
  padding-right: 100px;
  margin-top: 20px;
  font-size: 1.7rem;
  line-height: 1.75;
}

.kenkou-yamagata_p::after {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  background: url(img/read-more.svg) no-repeat center / contain;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: .3s;
}

.kenkou-keiei:hover .kenkou-yamagata_p::after,
.yamagata-kenkou:hover .kenkou-yamagata_p::after {
  background: url(img/read-more_hover.svg) no-repeat center / contain;
}

.ideal {
  padding: 160px 0;
  background-color: #00b1ef;
}

.ideal .heading_h2 {
  color: #fff;
}

.ideal_card_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 32px;
}

.ideal_card {
  background-color: #e6f9ff;
  border-radius: 6px;
  padding: 60px 14%;
}

.ideal_card_h3 {
  margin-top: 20px;
  font-size: 2.7rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.37;
}

.ideal_card_p {
  margin-top: 20px;
  font-weight: 500;
  line-height: 1.75;
  text-align: justify;
}

/* 流れる文字 */
.txt_loop_wrap {
  position: relative;
  background-color: #52c3f1;
  height: clamp(150px, 15.62vw, 300px);
	overflow: hidden;
}

.txt_loop {
	position: absolute;
	bottom: -10px;
	display: flex;
	width: 100%;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
}

.txt_loop div {
	flex: 0 0 auto;
	white-space: nowrap;
	font-family: var(--prompt-font);
	font-size: clamp(82px, 8.54vw, 164px);
	letter-spacing: 0.025em;
	color: #fff;
  line-height: 1;
}

.txt_loop div:nth-child(odd) {
	animation: loop 80s linear infinite;
}

.txt_loop div:nth-child(even) {
  animation: loop2 80s linear infinite;
}

@keyframes loop {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
  
@keyframes loop2 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.job-info {
  background-color: #00b1ef;
  padding: 160px 0;
  color: #fff;
}

.job-info_contents {
  display: flex;
}

.tab-wrap {
  width: 35%;
}

.job-tab_h3 {
  font-size: 3.3rem;
  letter-spacing: .05em;
  font-weight: 500;
}

.tab {
  margin-top: 20px;
  position: relative;
  z-index: 0;
  display: grid;
  row-gap: 8px;
}

.tab li a{
	display: inline-block;
  font-size: 1.7rem;
  text-decoration: none;
	padding: 0 8px;
  border-radius: 4px;
  line-height: 2.265;
}

/*liにactiveクラスがついた時の形状*/
.tab li.active a {
  position: relative;
  background-color: #2b5faa;
}

/*エリアの表示非表示と形状*/
.occupation {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
  width: 65%;
}

/*areaにis-activeというクラスがついた時の形状*/
.occupation.is-active {
  display: block;/*表示*/
  animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.dl_table dl {
  display: grid;
  grid-template-columns: 27% auto;
  column-gap: 32px;
  padding: 30px 0;
  border-bottom: 1px solid #c7ecf9;
}

.dl_table dl:first-child {
  border-top: 1px solid #c7ecf9;
}

.dl_table dl dt {
  font-size: 2rem;
  letter-spacing: .1em;
  font-weight: 700;
}

.dl_table dl dd {
  font-weight: 500;
  line-height: 1.75;
}

.dl_table_tel {
  display: inline;
}

.entry {
  padding-bottom: 160px;
  background: linear-gradient(0deg, #52c3f1 26%, #00b1ef 60%);
}

.entry .inner {
  display: grid;
  grid-template-columns: 28% 56%;
  justify-content: space-between;
}

.entry_left {
  min-width: 270px;
}

.entry .heading_h2 {
  color: #fff;
}

.entry .heading_h2 h2 {
  letter-spacing: 0;
}

.entry .heading_h2 h2 span {
  display: inline-block;
}

.entry_txt {
  line-height: 1.75;
  color: #fff;
  font-weight: 500;
}

.form_wrap {
  padding: 80px 10.52%;
  background: linear-gradient(0deg, #00b1ef 8%, #52c3f1 65%, #5be8e8 100%);
  border-radius: 6px;
  color: #fff;
}

.form_input_area dl {
  padding-bottom: 40px;
}

.form_input_area dt {
  margin-bottom: 12px;
  font-weight: 500;
}

.required-wrap,
.optional-wrap {
  font-size: 1.1rem;
  line-height: 1;
  border-radius: 4px;
  padding: 3px 7px;
  margin-right: 10px;
}

.required-wrap {
  background-color: #017fff;
  border: 1px solid #017fff;
}

.optional-wrap {
  border: 1px solid #fff;
}

.form_input_area dd input, .form_input_area dd textarea, .form_input_area dd select {
  width: 100%;
  background-color: #e6f9ff;
  padding: 14px;
  border-radius: 3px;
  color: #3c4668;
}

.form_input_area dd select {
  padding-right: 38px;
}

.birth_select_flex {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}

.birth_month-day {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}

.birth_select_wrap {
  position: relative;
}

.birth_select , .address1_select {
  width: 110px !important;
}

.birth_select {
  margin-right: 18px;
}

.select_dd {
  position: relative;
}

.address1_dd {
  width: fit-content;
}

.select_dd .arrow {
  position: absolute;
  top: calc(50% + 5px);
  transform: translateY(-50%);
  right: 24px;
}

.birth_select_wrap .arrow {
  right: 56px;
}

.select_dd .arrow::before,
.select_dd .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 10px;
  border-radius: 9999px;
  background-color: #3c4668;
  transform-origin: 50% calc(100% - 0.5px);
}

.select_dd .arrow::before {
  transform: rotate(45deg);
}

.select_dd .arrow::after {
  transform: rotate(-45deg);
}

::placeholder {
  color: #999;
}

.entry_bottom {
  padding-top: 40px;
  border-top: 1px solid #52c3f1;
}

.privacy_btn_wrap {
  text-align: center;
}

.privacy_btn_wrap a {
  display: inline;
  text-decoration: underline;
}

.accept {
  margin-top: 24px;
  text-align: center;
}

.submit_btn {
  margin-top: 48px;
  text-align: center;
}

.submit_btn .submit,.submit_btn .submit_back {
  width: 100%;
  max-width: 300px;
  font-weight: 700;
  font-size: 1.8rem;
  border: 1px solid #fff;
  border-radius: 36px;
  line-height: 1;
  color: #fff !important;
  padding: 26px 10px;
  transition: .3s;
}

.submit:hover,.submit_back:hover {
  background-color: #184188;
  border: 1px solid #184188;
}

.footer_top {
  display: flex;
  justify-content: space-between;
  column-gap: 50px;
  padding: 100px 0 60px;
}

.corporate-site_btn {
  margin-top: 30px;
  padding: 13px 50px 13px 32px;
  display: block;
  position: relative;
  color: #2b5faa;
  background: #e6f9ff;
  max-width: 300px;
  border-radius: 6px;
  font-size: 2rem;
  letter-spacing: .1em;
  transition: .3s;
}

.corporate-site_btn::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(img/read-more_hover.svg) no-repeat center / contain;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}

.corporate-site_btn:hover {
  color: #e6f9ff;
  background: #2b5faa;
}

.footer_nav {
  display: flex;
  column-gap: 45px;
}

.footer_nav ul {
  display: grid;
  row-gap: 20px;
  align-self: flex-start;
  font-size: 1.4rem;
  letter-spacing: .1em;
}

.modal-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overscroll-behavior-y: none;
  background: rgba(0,0,0,0.8);
}

.modal-wrapper.active {
  opacity: 1;
  visibility: visible;
}

.modal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}

.modal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}

.modal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
  overflow-y: scroll;
  height: 80vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.modal-content-container {
  padding: 30px;
}

.privacy_declearation {
  margin-bottom: 30px;
}

.modal-wrapper p {
  text-align: left;
}

.privacy_section {
  margin-bottom: 30px;
}

.privacy_section h3 {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
}

.privacy_section p {
  margin-bottom: 15px;
}

.privacy_section ul {
  list-style: disc;
  margin-left: 20px;
}

.modal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  /* background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; */
}

.modal-wrapper .modal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}

.modal-wrapper .modal-inner {
  max-width: 100%;
  padding: 0;
}

.modal-close:before, .modal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}

.modal-close:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.modal-close span {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.modal-close:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal-footer {
  text-align: center;
  margin-top: 30px;
}

.modal-close-bottom {
  background-color: #333;
  color: #fff;
  font-size: 16px;
  padding: 12px 30px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.modal-close-bottom:hover {
  background-color: #555;
}

.footer_bottom {
  border-top: 1px solid #dfe8f4;
  padding: 30px 0;
}

.copy-right {
  font-size: 1.2rem;
  letter-spacing: .1em;
  color: #8aa1c4;
  text-align: center;
}

.br_pc {
  display: block;
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
}

.fade-in-up.show {
  animation: fadeInUp .3s linear 1 normal forwards;
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.entry_page {
  padding-top: 160px;
  color: #fff;
}

.contact_top_big_text {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.entry_page .formTable th {
  text-align: left;
  padding-right: 10px;
}

.entry_page .submit_btn {
  text-align: left;
}

.entry_page .submit_btn .submit {
  margin-right: 20px;
  margin-bottom: 20px;
}

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

  .mv {
    background-image: url(img/mv_radius.svg), url(img/mv_bg_illust_sp.svg);
    background-size: 100%, 740px;
  }

  .business01 {
    flex-direction: column;
  }

  .business01_img {
    width: 100%;
  }

  .business01_txt {
    width: 100%;
    padding: 40px 18px;
    max-width: 500px;
    margin: 0 auto;
  }

  .read-more_btn {
    margin: 0 auto;
  }

  .business_card_wrap {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .business_card {
    padding: 40px 18px;
  }

  .business_card_img {
    max-width: 500px;
    margin: 0 auto;
  }

  .business_card_h3 {
    max-width: 500px;
    margin: 30px auto 0;
  }

  .business_card_p {
    max-width: 500px;
    margin: 20px auto;
  }

  .interview_card_wrap {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .interview_card_top {
    padding: 40px 18px 0;
    width: 100%;
    max-width: 500px;
    margin: 0 auto 30px;
  }

  .interview_card_bottom {
    padding: 30px calc(18px + 50px) 30px 18px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .interview_card_bottom::after {
    right: 18px;
  }

  .work-benefits_box_wrap {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .work-benefits_box {
    padding: 40px 18px 70px;
  }

  .work-benefits_box::after {
    right: 18px;
    top: auto;
    transform: translateY(0);
    bottom: 23px;
  }

  .analytics_contents_wrap {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .analytics_img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .kenkou-yamagata .inner {
    padding: 0;
  }

  .kenkou-yamagata_wrap {
    grid-template-columns: 1fr;
  }

  .kenkou-keiei, .yamagata-kenkou {
    padding: 40px 30px 0;
  }

  .kenkou-keiei {
    border-right: unset;
    border-bottom: 2px solid #00b1ef;
  }

  .yamagata-kenkou {
    border-left: unset;
    border-top: 2px solid #00b1ef;
  }

  .kenkou-yamagata_p {
    padding-right: 0;
    padding-bottom: 70px;
  }

  .kenkou-yamagata_p::after {
    right: 0;
    bottom: 20px;
    width: 40px;
    height: 40px;
  }

  .ideal_card_wrap {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .ideal_card {
    padding: 40px 18px;
  }

  .ideal_card_img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .ideal_card_txt {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .entry .inner {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .entry_left {
    min-width: auto;
  }

  .footer_top {
    flex-direction: column;
    row-gap: 50px;
    padding: 50px 0 60px;
  }

  .footer_logo {
    max-width: 300px;
    margin: 0 auto;
  }

  .corporate-site_btn {
    margin: 30px auto 0;
  }

  .footer_nav {
    justify-content: center;
  }

  .br_pc {
    display: none;
  }

  .entry_page .inner {
    row-gap: 0;
  }

}


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

  body {
    font-size: 1.3rem;
  }

  .heading_h2 {
    margin-bottom: 40px;
    letter-spacing: .1em;
  }

  .heading_h2 .en_title {
    font-size: 3.2rem;
  }

  .heading_h2 h2 {
    font-size: 1.5rem;
    padding-top: 8px;
  }

  header {
    height: 60px;
  }

  .header_inner {
    padding: 0 12px;
  }

  .logo {
    max-width: 190px;
  }

  .menu_entry {
    right: 50px;
    top: 12px;
    font-size: 1.1rem;
    width: 60px;
    height: 30px;
  }

  .toggle {
    right: 12px;
    top: 12px;
    width: 30px;
    height: 30px;
  }

  .toggle span {
    width: 15px;
  }

  .toggle span:first-child {
    top: 12px;
  }

  .toggle span:nth-child(2) {
    top: 16px;
  }

  .toggle.active span:first-child {
    transform: rotate(-16deg) translateX(-50%);
  }

  .toggle.active span:nth-child(2) {
    transform: rotate(16deg) translateX(-50%);
  }

  .gnav::before {
    height: 60px;
  }

  .mv {
    background-size: 100% , 400px;
    min-height: 400px;
  }

  .mv_txt {
    padding: 0 12px;
  }

  .eyecatch {
    max-width: 320px;
  }

  .eyecatch_txt {
    margin-top: 30px;
    font-size: 1.4rem;
  }

  .mv_entry {
    margin-top: 50px;
    font-size: 1.4rem;
    padding: 16px 10px;
    border-radius: 24px;
    width: 100%;
    max-width: 225px;
    box-shadow: 0 6px 0 #ce2c00;
  }

  .mv_illust.mv01 {
    bottom: 25px;
  }

  .mv_illust.mv02 {
    bottom: 17px;
  }

  .anchor {
    padding-top: 60px;
    margin-top: -60px;
  }

  .business {
    padding: 80px 0;
  }

  .business01_h3 h3 {
    font-size: 2.2rem;
    margin-bottom: 0;
  }

  .business01_h3 span {
    font-size: 1.4rem;
  }

  .business01_p {
    font-size: 1.5rem;
  }

  .read-more_btn {
    padding: 10px 50px 10px 18px;
    max-width: 180px;
    font-size: 1.7rem;
  }

  .read-more_btn::after {
    right: 8px;
  }

  .business_card_h3 h3 {
    font-size: 2rem;
    margin-bottom: 0;
  }

  .business_card_h3 span {
    font-size: 1.4rem;
  }

  .business_card_p {
    font-size: 1.5rem;
  }

  .day-work_box_content {
    flex-direction: column;
  }

  .day-work_txt {
    width: 100%;
    padding: 40px;
  }

  .day-work_img {
    width: 100%;
  }

  .day-work_name {
    font-size: 2.4rem;
  }

  .day-work_charge {
    font-size: 1.7rem;
    margin-top: 10px;
  }

  .day-work {
    padding-bottom: 80px;
  }

  .day-work_info {
    font-size: 1.2rem;
  }

  .swiper-button-prev, .swiper-button-next {
    height: 40px;
    width: 40px;
  }

  .interview {
    padding-bottom: 80px;
  }

  .interview_card_h3 {
    font-size: 1.9rem;
  }

  .interview_card_name {
    font-size: 1.9rem;
  }

  .interview_card_info {
    font-size: 1.3rem;
  }

  .work-benefits {
    padding-bottom: 80px;
  }

  .work-benefits_box_h3 {
    font-size: 2.3rem;
  }

  .work-benefits_box_p {
    font-size: 1.5rem;
  }

  .analytics {
    padding: 80px 0;
  }

  .analytics_txt {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .analytics_box_head {
    font-size: 1.5rem;
  }

  .analytics_box_number {
    font-size: 4rem;
  }

  .analytics_box_unit {
    font-size: 1.7rem;
  }

  .kenkou-yamagata_h2 {
    font-size: 2.3rem;
  }

  .kenkou-yamagata_p {
    font-size: 1.5rem;
  }

  .ideal {
    padding: 80px 0;
  }

  .ideal_card_h3 {
    font-size: 2rem;
  }

  .job-info {
    padding: 80px 0;
  }

  .job-info_contents {
    flex-direction: column;
    row-gap: 40px;
  }

  .tab-wrap {
    width: 100%;
  }

  .job-tab_h3 {
    font-size: 2.3rem;
  }

  .tab li a {
    font-size: 1.5rem;
  }

  .occupation {
    width: 100%;
  }

  .dl_table dl {
    grid-template-columns: 1fr;
    padding: 20px 0;
    row-gap: 10px;
    text-align: center;
  }

  .dl_table dl dt {
    font-size: 1.7rem;
  }

  .dl_table_dt_txt-left {
    text-align: left;
  }

  .entry {
    padding-bottom: 80px;
  }

  .form_wrap {
    padding: 40px 18px;
  }

  .form_input_area dl {
    padding-bottom: 30px;
  }

  .birth_select_flex {
    gap: 10px;
  }

  .birth_month-day {
    gap: 10px;
  }

  .birth_select {
    margin-right: 10px;
  }

  .birth_select_wrap .arrow {
    right: 48px;
  }

  .entry_bottom {
    padding-top: 30px;
  }

  .privacy_btn_wrap {
    text-align: left;
  }

  .accept {
    margin-top: 20px;
  }

  .submit_btn {
    margin-top: 40px;
  }

  .submit_btn .submit,.submit_btn .submit_back {
    max-width: 225px;
    font-size: 1.4rem;
    border-radius: 24px;
    padding: 16px 10px;
  }

  .corporate-site_btn {
    padding: 16px 50px 16px 32px;
    font-size: 1.5rem;
  }

  .footer_top_right {
    display: grid;
    justify-content: center;
  }

  .footer_nav {
    flex-direction: column;
    row-gap: 20px;
  }

  .contact_top_big_text {
    font-size: 1.8rem;
  }

  .entry_page {
    padding-top: 80px;
  }

  .entry_page .submit_btn {
    text-align: center;
  }

  .entry_page .submit_btn .submit {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .modal_close.read-more_btn {
    margin: 30px auto 0;
  }

  .modal_ul_grid {
    grid-template-columns: 1fr;
  }

  .modal_h4 {
    font-size: 1.6rem;
    padding-left: 23px;
    margin-bottom: 15px;
  }

  .modal_h4:not(:first-of-type) {
    margin-top: 30px;
  }

  .modal_h4::before {
    width: 16px;
    height: 16px;
    top: 4px;
  }

  .modal_dl {
    grid-template-columns: 1fr;
    row-gap: 2px;
  }

  .modal_dl:not(:first-of-type) {
    margin-top: 12px;
  }

  .modal_close.read-more_btn {
    margin: 40px auto 0;
  }

  .external-link {
    margin-top: 30px;
  }

}