@charset "UTF-8";

*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

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

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable="true"]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

/*--------------------------------------------------------------
base
--------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: min(200px, 12.5rem, 26.66666666666667vw);
}

main {
  background: #F9F9F9;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.6;
}

a {
  text-decoration: none;
}

figure {
  margin: 0 !important;
}

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

.roboto {
  font-family: "Roboto", sans-serif;
}

/*--------------------------------------------------------------
  header
--------------------------------------------------------------*/
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

.l-header__inner {
  width: min(100%, 804px);
  height: min(129px, 8.0625rem, 16.044776119403vw);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: min(40px, 2.5rem, 4.97512437810945vw);
  padding-left: min(40px, 2.5rem, 4.97512437810945vw);
  padding-right: min(13px, 0.8125rem, 1.61691542288557vw);
  background-color: #fff;
}

.header_left img {
  width: min(259px, 16.1875rem, 32.2139303482587vw);
}

.header_right a {
  padding-block: min(30px, 1.875rem, 3.73134328358209vw);
  padding-inline: min(40px, 2.5rem, 4.97512437810945vw);
  border-radius: min(60px, 3.75rem, 7.46268656716418vw);
  background: #25CE41;
}

.header_right a span {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 700;
  line-height: 1.4;
}

/*--------------------------------------------------------------
  main
--------------------------------------------------------------*/
.l-main__inner {
  width: min(100%, 804px);
  margin: 0 auto;
  background-color: #fff;
}

.inner {
  max-width: min(724px, 45.25rem, 90.0497512437811vw);
  margin: 0 auto;
}

/*--------------------------------------------------------------
  sec01
--------------------------------------------------------------*/
section.sec01 {
  padding-top: min(129px, 8.0625rem, 16.044776119403vw);
}

/*--------------------------------------------------------------
  sec02
--------------------------------------------------------------*/
section.sec02 {
  margin-top: min(40px, 2.5rem, 4.97512437810945vw);
}

.balloon {
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
  background-color: #00327D;
  position: relative;
}

.balloon::before {
  position: absolute;
  top: min(640px, 40rem, 79.6019900497513vw);
  width: min(150px, 9.375rem, 18.6567164179105vw);
  height: min(40px, 2.5rem, 4.97512437810945vw);
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #00327D;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

.sec02_ttl h2 {
  color: #FFF;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec02_ttl h2 span {
  border-bottom: solid 1px #fff;
}

.sec02_contents {
  margin-top: min(30px, 1.875rem, 3.73134328358209vw);
  border-radius: min(15px, 0.9375rem, 1.86567164179104vw);
  background: rgba(255, 255, 255, 0.15);
  padding-block: min(30px, 1.875rem, 3.73134328358209vw);
  padding-inline: min(50px, 3.125rem, 6.21890547263682vw);
}

.sec02_contents p {
  color: #FFF;
  font-size: min(36px, 2.25rem, 4.47761194029851vw);
  font-weight: 700;
  line-height: 2;
}

.sec02_contents p span {
  margin-right: min(13px, 0.8125rem, 1.61691542288557vw);
}

.sec02_contents p span img {
  display: inline-block;
  width: min(41px, 2.5625rem, 5.09950248756219vw);
}

.sec02_int {
  padding-block: min(60px, 3.75rem, 7.46268656716418vw);
  background: #F7F7F7;

}

.sec02_int p {
  color: #00327D;
  text-align: center;
  font-size: min(40px, 2.5rem, 4.97512437810945vw);
  font-weight: 700;
  line-height: 2;
}

.sec02_int h2 {
  color: #fff;
  text-align: center;
  font-size: min(40px, 2.5rem, 4.97512437810945vw);
  font-weight: 700;
  line-height: 2;
}

.sec02_int h2 span {
  background-color: #00327D;
  padding-inline: min(50px, 3.125rem, 6.21890547263682vw);
  padding-top: min(3px, 0.1875rem, 0.373134328358209vw);
  padding-bottom: min(5px, 0.3125rem, 0.621890547263682vw);
}

.sec02_int h2 span.yellow {
  color: #FFF95A;
  padding: 0;
}

/*--------------------------------------------------------------
  sec03
--------------------------------------------------------------*/
section.sec03 {
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
}

.sec03_ttl h2 {
  color: #00327D;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
  position: relative;
}

.sec03_ttl h2::after {
  position: absolute;
  content: "";
  width: min(100px, 6.25rem, 12.4378109452736vw);
  height: min(4px, 0.25rem, 0.497512437810945vw);
  background-color: #00327D;
  top: min(80px, 5rem, 9.95024875621891vw);
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec03_contents {
  position: relative;
  margin-top: min(50px, 3.125rem, 6.21890547263682vw);
  border-radius: min(30px, 1.875rem, 3.73134328358209vw);
  background: #E4EFFF;
  padding-inline: min(90px, 5.625rem, 11.1940298507463vw);
  padding-block: min(40px, 2.5rem, 4.97512437810945vw);
}

.sec03_img {
  position: absolute;
  bottom: 0;
  right: 0;
}

.sec03_img img {
  width: min(198px, 12.375rem, 24.6268656716418vw);
}

.sec03_contents p {
  color: #00327D;
  font-size: min(32px, 2rem, 3.98009950248756vw);
  font-weight: 500;
  line-height: 1.6;
  padding-bottom: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec03_contents p:last-of-type {
  padding-top: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec03_contents h2 {
  color: #00327D;
  font-size: min(36px, 2.25rem, 4.47761194029851vw);
  font-weight: 700;
  line-height: 2;
  margin-bottom: min(25px, 1.5625rem, 3.10945273631841vw);
}

.sec03_contents h2:last-of-type {
  margin-bottom: 0;
}

.sec03_contents h2 span {
  background: #FFF;
  padding-inline: min(30px, 1.875rem, 3.73134328358209vw);
  padding-top: min(7px, 0.4375rem, 0.870646766169154vw);
  padding-bottom: min(11px, 0.6875rem, 1.3681592039801vw);
}

.sec03_contents h2 span.robot {
  padding: 0;
  font-size: min(40px, 2.5rem, 4.97512437810945vw);
  margin-right: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec03_contents h2 span.marker {
  padding: 0;
  background: linear-gradient(transparent 60%, #FFFC4A 0%);
}

/*--------------------------------------------------------------
  sec04
--------------------------------------------------------------*/
section.sec04 {
  background: #00327D;
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
}

.sec04_ttl h2 {
  color: #FFF;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec04_flex {
  margin-top: min(40px, 2.5rem, 4.97512437810945vw);
  display: flex;
  flex-wrap: wrap;
  gap: min(20px, 1.25rem, 2.48756218905473vw);
  row-gap: min(72px, 4.5rem, 8.95522388059701vw);
}

.sec04_box {
  width: min(352px, 22rem, 43.7810945273632vw);
}

.sec04_box img {
  width: min(352px, 22rem, 43.7810945273632vw);
}

.sec04_box p {
  color: #FFF;
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 700;
  line-height: 1.4;
  padding-top: min(10px, 0.625rem, 1.24378109452736vw);
}

/*--------------------------------------------------------------
  sec05
--------------------------------------------------------------*/
section.sec05 {
  background: #E4EFFF;
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
}

.sec05_ttl h2 {
  color: #00327D;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec05_ttl h2 span {
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
}

.sec05_ttl p {
  color: #00327D;
  text-align: center;
  font-size: min(22px, 1.375rem, 2.7363184079602vw);
  font-weight: 500;
  line-height: 1.4;
  padding-top: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec05_table {
  width: 100%;
  border-collapse: separate;
  margin-top: min(40px, 2.5rem, 4.97512437810945vw);

}

.sec05_table_head-top {
  border-radius: min(15px, 0.9375rem, 1.86567164179104vw) 0 0 0;
}

.sec05_table_head-last {
  border-radius: 0 0 0 min(15px, 0.9375rem, 1.86567164179104vw);
}

.sec05_table_body-top {
  border-radius: 0 min(15px, 0.9375rem, 1.86567164179104vw) 0 0;
}

.sec05_table_body-last {
  border-radius: 0 0 min(15px, 0.9375rem, 1.86567164179104vw) 0;
}

.sec05_table th {
  font-size: min(26px, 1.625rem, 3.23383084577114vw);
  font-weight: 500;
  text-align: center;
  color: #fff;
  background-color: #00327D;
  border: 1px solid #D7D7D7;
  border-bottom: unset;
  border-right: unset;
  width: min(258px, 16.125rem, 32.089552238806vw);
  padding-block: min(20px, 1.25rem, 2.48756218905473vw);
  padding-inline: min(10px, 0.625rem, 1.24378109452736vw);
}

.sec05_table td {
  white-space: nowrap;
  font-size: min(26px, 1.625rem, 3.23383084577114vw);
  font-weight: 500;
  color: #000;
  background-color: #fff;
  border: 1px solid #D7D7D7;
  border-bottom: unset;
  width: min(465px, 29.0625rem, 57.8358208955224vw);
  padding-block: min(20px, 1.25rem, 2.48756218905473vw);
  padding-right: min(10px, 0.625rem, 1.24378109452736vw);
  padding-left: min(30px, 1.875rem, 3.73134328358209vw);
}

.sec05_table td span {
  display: inline;
  font-size: min(22px, 1.375rem, 2.7363184079602vw);
}

/*--------------------------------------------------------------
  CTA
--------------------------------------------------------------*/
section.cta {
  background-color: #00327D;
  padding-block: min(40px, 2.5rem, 4.97512437810945vw);
}

.cta_ttl h2 {
  color: #FFF;
  text-align: center;
  font-size: min(32px, 2rem, 3.98009950248756vw);
  font-weight: 700;
  line-height: 1.4;
}

.cta_btn {
  width: min(546px, 34.125rem, 67.910447761194vw);
  margin: 0 auto;
  margin-block: min(45px, 2.8125rem, 5.59701492537313vw);
}

.cta_btn a {
  padding-block: min(30px, 1.875rem, 3.73134328358209vw);
  padding-inline: min(40px, 2.5rem, 4.97512437810945vw);
  border-radius: min(60px, 3.75rem, 7.46268656716418vw);
  background: #25CE41;
  color: #FFF;
  text-align: center;
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 700;
  line-height: 1.4;
}

.cta_btn a span {
  background: #fff;
  color: #25CE41;
  padding-block: min(4px, 0.25rem, 0.497512437810945vw);
  padding-inline: min(14px, 0.875rem, 1.74129353233831vw);
  border-radius: min(10px, 0.625rem, 1.24378109452736vw);
  margin-right: min(10px, 0.625rem, 1.24378109452736vw);
}

.cta p {
  color: #FFF;
  text-align: center;
  font-size: min(24px, 1.5rem, 2.98507462686567vw);
  font-weight: 500;
  line-height: 1.4;
}

/*--------------------------------------------------------------
  sec06
--------------------------------------------------------------*/
section.sec06 {
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
}

.sec06_ttl h2 {
  color: #00327D;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec06_contents {
  margin-top: min(68px, 4.25rem, 8.45771144278607vw);
}

/* 追加 */
.sec06_swiper {
  overflow: hidden;
}

.sec06_swiper .swiper-slide {
  height: auto;
}

.sec06_nav {
  display: flex;
  justify-content: center;
  gap: min(20px, 1.25rem, 2.48756218905473vw);
  margin-top: min(30px, 1.875rem, 3.73134328358209vw);
}

.sec06_prev,
.sec06_next {
  appearance: none;
  border-radius: 999px;
  cursor: pointer;
  width: min(68px, 4.25rem, 8.45771144278607vw);
}

.sec06_prev:hover,
.sec06_next:hover {
  opacity: 0.8;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: min(1000px, 62.5rem, 124.378109452736vw) !important;
}

.sec06_box {
  display: flex;
  height: min(1000px, 62.5rem, 124.378109452736vw) !important;
  background-color: #00327D;
  border-radius: min(20px, 1.25rem, 2.48756218905473vw);
  padding: min(40px, 2.5rem, 4.97512437810945vw);
  flex-direction: column;
  justify-content: flex-start;
}

.sec06_box-img {
  text-align: center;
}

.sec06_box-img img {
  display: inline-block;
  width: min(160px, 10rem, 19.9004975124378vw);
}

.sec06_box-img p {
  color: #FFF;
  font-size: min(26px, 1.625rem, 3.23383084577114vw);
  font-weight: 500;
  line-height: 1.4;
  padding-top: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec06_box-ttl {
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  margin-top: min(40px, 2.5rem, 4.97512437810945vw);
  margin-bottom: min(30px, 1.875rem, 3.73134328358209vw);
}

.sec06_box-ttl h2 {
  color: #FFF;
  font-size: min(36px, 2.25rem, 4.47761194029851vw);
  font-weight: 700;
  line-height: 140%;
  padding-block: min(25px, 1.5625rem, 3.10945273631841vw);
}

.sec06_box-txt p {
  color: #FFF;
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 500;
  line-height: 1.8;
}

.sec06_box-salary {
  border-radius: min(10px, 0.625rem, 1.24378109452736vw);
  background: rgba(255, 255, 255, 0.10);
  padding-top: min(30px, 1.875rem, 3.73134328358209vw);
  padding-bottom: min(30px, 1.875rem, 3.73134328358209vw);
  padding-inline: min(50px, 3.125rem, 6.21890547263682vw);
  text-align: center;
  margin-top: auto;
}

.sec06_box-salary p {
  color: #FFF;
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 500;
  line-height: 1.6;
}

.sec06_box-salary p span {
  color: #FFF;
  font-size: min(26px, 1.625rem, 3.23383084577114vw);
  font-weight: 500;
  line-height: 160%;
  border-radius: min(6px, 0.375rem, 0.746268656716418vw);
  border: 1px solid #FFF;
  padding-block: min(4px, 0.25rem, 0.497512437810945vw);
  padding-inline: min(10px, 0.625rem, 1.24378109452736vw);
  margin-right: min(8px, 0.5rem, 0.995024875621891vw);
}

.sec06_box-salary img {
  display: inline-block;
  width: min(28px, 1.75rem, 3.48258706467662vw);
  padding-top: min(10px, 0.625rem, 1.24378109452736vw);
}

.sec06_box-salary h2 {
  color: #FFF95A;
  font-size: min(72px, 4.5rem, 8.95522388059701vw);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.sec06_box-salary h2 span {
  font-size: min(32px, 2rem, 3.98009950248756vw);
  border-radius: min(5px, 0.3125rem, 0.621890547263682vw);
  border: 1px solid #FFF;
  padding-block: min(4px, 0.25rem, 0.497512437810945vw);
  padding-inline: min(23px, 1.4375rem, 2.86069651741294vw);
  margin-right: min(20px, 1.25rem, 2.48756218905473vw);
}

.sec06_box-salary h2 span.small {
  border: unset;
  padding-block: 0;
  padding-inline: 0;
  font-size: min(40px, 2.5rem, 4.97512437810945vw);
  margin: 0;
}

/*--------------------------------------------------------------
  sec07
--------------------------------------------------------------*/
section.sec07 {
  background-color: #E4EFFF;
  padding-block: min(90px, 5.625rem, 11.1940298507463vw);
}

.sec07_ttl h2 {
  color: #00327D;
  text-align: center;
  font-size: min(48px, 3rem, 5.97014925373134vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec07_list {
  margin-bottom: min(10px, 0.625rem, 1.24378109452736vw);
}

.sec07_number p {
  color: #00327D;
  font-size: min(76px, 4.75rem, 9.45273631840796vw);
  font-weight: 700;
  line-height: 1;
}

.sec07_box {
  display: flex;
  align-items: center;
  gap: min(15px, 0.9375rem, 1.86567164179104vw);
  background: #FFF;
  padding-block: min(40px, 2.5rem, 4.97512437810945vw);
  padding-left: min(25px, 1.5625rem, 3.10945273631841vw);
  padding-right: min(30px, 1.875rem, 3.73134328358209vw);
}

.sec07_img {
  width: min(153px, 9.5625rem, 19.0298507462687vw);
}

.sec07_img img {
  width: min(153px, 9.5625rem, 19.0298507462687vw);
}

.sec07_txt {
  width: min(501px, 31.3125rem, 62.3134328358209vw);
}


.sec07_txt h2 {
  color: #000;
  font-size: min(36px, 2.25rem, 4.47761194029851vw);
  font-weight: 700;
  line-height: 1.4;
}

.sec07_txt p {
  color: #000;
  font-size: min(28px, 1.75rem, 3.48258706467662vw);
  font-weight: 500;
  line-height: 1.6;
  padding-top: min(20px, 1.25rem, 2.48756218905473vw);
}

/*--------------------------------------------------------------
  footer
--------------------------------------------------------------*/
footer {
  background-color: #00327D;
  padding-block: min(20px, 1.25rem, 2.48756218905473vw);
}

footer p {
  font-size: min(20px, 1.25rem, 2.48756218905473vw);
  color: #fff;
  text-align: center;
}