@charset "UTF-8";
/* CSS Document */
* {
  box-sizing: border-box;
}
*::before, *::after {
  box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  word-wrap: break-word;
  text-decoration: underline;
  position: relative;
}
a:hover {
  opacity: 1;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

ul, ol {
  list-style: none none outside;
}

img {
  display: block;
  border: none;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: justify;
  background: url(../img/bg.jpg) center/cover;
  position: relative;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.cm_h2 {
  position: relative;
}
.cm_h2 .en {
  display: block;
}
@media only screen and (max-width: 999px) {
  .cm_h2 .en {
    width: auto;
    height: 3.125rem;
  }
}
@media only screen and (max-width: 999px) {
  .cm_h2 .en img {
    width: auto;
    height: 100%;
  }
}
.cm_h2 .jp {
  font-size: 1.875rem;
  font-weight: 700;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media only screen and (max-width: 999px) {
  .cm_h2 .jp {
    font-size: 1.625rem;
  }
}

@media only screen and (min-width: 1000px) {
  .cm_flex {
    display: flex;
  }
}
.cm_link {
  display: block;
  width: 18.75rem;
  height: 3.75rem;
  border-radius: 3.125rem;
  background-color: #000;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 999px) {
  .cm_link {
    margin: 0 auto;
  }
}
.cm_link span {
  font-size: 1.125rem;
  font-weight: 400;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_link:hover::after {
  right: 1.625rem;
}
.cm_link::after {
  width: 0.75rem;
  height: 0.613125rem;
  content: "";
  position: absolute;
  top: 50%;
  right: 1.1875rem;
  transform: translateY(-50%);
  background: url(../img/arw.svg) center/contain no-repeat;
  filter: brightness(0) invert(1);
  transition: 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.cm_recruit {
  width: 100%;
  height: 30.7291666667vw;
  background: url(../img/index/recruit_bg.jpg) center/cover no-repeat;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  .cm_recruit {
    background: url(../img/index/_reruit_bg.jpg) center/cover no-repeat;
    height: 20.6875rem;
  }
}
.cm_recruit .wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap {
    width: calc(100% - 4rem);
    position: relative;
    top: 3.125rem;
    transform: translateX(-50%);
  }
}
.cm_recruit .wrap h2 {
  width: 29.934375vw;
  height: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap h2 {
    width: 100%;
  }
}
.cm_recruit .wrap h2 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap .inner {
    background-color: #99CDE4;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 5.625rem;
  }
}
.cm_recruit .wrap .inner p {
  font-size: 0.9375vw;
  font-weight: 400;
  line-height: 2.555;
  color: #fff;
  text-align: center;
  margin: calc(2.8390625vw - 0.777em) 0 -0.777em;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap .inner p {
    width: calc(100% - 4rem);
    font-size: 1.125rem;
    line-height: 1.75;
    margin: calc(12.62rem - 0.375em) auto -0.375em;
    padding-top: 3.125rem;
  }
}
.cm_recruit .wrap .inner .cm_link {
  margin: 2.150625rem auto 0;
}

.cm_contact {
  max-width: 67.5rem;
  width: calc(100% - 4rem);
  background-color: #fff;
  border-radius: 0.625rem;
  margin: 11.615rem auto 0;
  padding: 5.565rem 0 5.739375rem;
  position: relative;
}
.cm_contact::after {
  content: "";
  width: 15rem;
  height: 12.125rem;
  background: url(../img/airplane2.svg) center/cover no-repeat;
  position: absolute;
  left: 49.600625rem;
  top: -2.353125rem;
}
@media only screen and (max-width: 999px) {
  .cm_contact::after {
    width: 5rem;
    height: 3.5625rem;
    right: -2rem;
    left: unset;
  }
}
@media only screen and (max-width: 999px) {
  .cm_contact {
    max-width: 100%;
    margin: 7.5rem auto 0;
    padding: 3.125rem 2rem;
  }
}
.cm_contact .cm_h2 .en {
  width: 40.183125rem;
  max-width: 40.183125rem;
  height: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 999px) {
  .cm_contact .cm_h2 .en {
    width: 100%;
  }
}
.cm_contact .cm_h2 .en img {
  width: 100%;
  height: auto;
}
.cm_contact .cm_h2 .jp {
  white-space: nowrap;
  left: 50%;
  bottom: -1.89875rem;
  top: unset;
  transform: translateX(-50%);
}
@media only screen and (max-width: 999px) {
  .cm_contact .cm_h2 .jp {
    font-size: 2rem;
    bottom: -1rem;
  }
}
.cm_contact .wrap {
  width: 34.2925rem;
  margin: 0 auto 0;
}
@media only screen and (max-width: 999px) {
  .cm_contact .wrap {
    width: 100%;
  }
}
.cm_contact .wrap .cm_flex {
  align-items: flex-end;
  justify-content: space-between;
}
.cm_contact .wrap .cm_flex:first-child .txt_box dl dt {
  margin: calc(4.511875rem - 0.1em) 0 -0.1em;
}
.cm_contact .wrap .cm_flex .txt_box dl dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin: calc(1.74375rem - 0.1em) 0 -0.1em;
}
.cm_contact .wrap .cm_flex .txt_box dl dd {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: calc(1.045rem - 0.25em) 0 -0.25em;
}
.cm_contact .wrap .cm_flex span {
  display: block;
}
@media only screen and (max-width: 999px) {
  .cm_contact .wrap .cm_flex span {
    margin-top: 1rem;
  }
}
.cm_contact .wrap .cm_flex .tell {
  display: flex;
  align-items: center;
  gap: 0 0.47875rem;
}
.cm_contact .wrap .cm_flex .tell .blue_bg {
  display: block;
  width: 3.75rem;
  height: 1.25rem;
  background-color: #149AE6;
  position: relative;
}
.cm_contact .wrap .cm_flex .tell .blue_bg strong {
  color: #fff;
  position: absolute;
  left: 50%;
  top: calc(50% - 0.05em);
  transform: translate(-50%, -50%);
}
.cm_contact .wrap .cm_flex .tell span {
  letter-spacing: -0.07em;
}
.cm_contact .wrap .cm_link {
  margin: 2.88625rem auto 0;
}
.cm_contact .wrap .cm_link span {
  letter-spacing: -0.07em;
  white-space: nowrap;
}

.cm_insta {
  position: fixed;
  left: 2rem;
  bottom: 7rem;
  z-index: 1;
}
.cm_insta a {
  position: relative;
}
.cm_insta a:hover .instagram {
  visibility: hidden;
}
.cm_insta a:hover .wrap {
  visibility: visible;
}
.cm_insta a .instagram {
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0px 0px 23px -5px #149AE6;
  position: absolute;
}
.cm_insta a .instagram span {
  display: block;
  width: 2.5rem;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_insta a .instagram span img {
  width: 100%;
  height: auto;
}
.cm_insta a .wrap {
  display: flex;
  align-items: center;
  width: 19.875rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0px 0px 23px -5px #149AE6;
  visibility: hidden;
  position: absolute;
  transition: opacity 0.75s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.75s cubic-bezier(0.25, 1, 0.5, 1);
}
.cm_insta a .wrap .insta {
  width: 5rem;
  height: 5rem;
  border-radius: 3.125rem;
  margin-right: 0.7425rem;
  position: relative;
}
.cm_insta a .wrap .insta img {
  width: 100%;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_insta a .wrap .insta_line {
  width: 5.841875rem;
  height: auto;
  margin-top: 0.625rem;
  margin-right: 1.209375rem;
  position: relative;
}
.cm_insta a .wrap .insta_line::after {
  content: "";
  width: 0.0625rem;
  height: calc(100% - 0.9375rem);
  background-color: #cccccc;
  position: absolute;
  right: -0.6046875rem;
  top: calc(50% - 0.3125rem);
  transform: translateY(-50%);
}
.cm_insta a .wrap .insta_line img {
  width: 100%;
  height: auto;
}
.cm_insta a .wrap span {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 3.395;
}

.cm_top {
  display: flex;
  align-items: center;
  gap: 0 1.0625rem;
  position: fixed;
  right: 2rem;
  bottom: 4.5rem;
  z-index: 1;
}
.cm_top .top_button {
  width: 5rem;
  height: 5rem;
  background-color: #000;
  border-radius: 3.125rem;
  position: absolute;
  right: 0;
}
.cm_top .top_button::before {
  content: "";
  width: 0.625rem;
  height: 0.5rem;
  background: url(../img/triangle.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  top: 0.9275rem;
  transform: translateX(-50%);
}
.cm_top .top_button span {
  font-size: 1.75rem;
  font-weight: 700;
  font-family: "Roboto", serif;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.cm_txt_scroll {
  width: 100vw;
  height: 6.6666666667vw;
  overflow: hidden;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll {
    height: 16.6666666667vw;
  }
}
.cm_txt_scroll .mask {
  display: flex;
  max-width: inherit;
  height: 6.6666666667vw;
  position: absolute;
  top: 0;
  left: 0;
  animation: a_scroll 20s linear infinite;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll .mask {
    height: 16.6666666667vw;
  }
}
.cm_txt_scroll .mask img {
  width: auto;
  max-width: inherit;
  height: 6.6666666667vw;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll .mask img {
    height: 16.6666666667vw;
  }
}

@keyframes a_scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.blurIn {
  transition: 0.75s linear;
  opacity: 0;
  filter: blur(16px);
}
.blurIn.play {
  opacity: 1;
  filter: blur(0);
}

.fadeIn {
  transition: 0.75s linear;
  opacity: 0;
}
.fadeIn.play {
  opacity: 1;
}

.slideUp {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  transform: translateY(2rem);
  opacity: 0;
}
.slideUp.play {
  transform: translateY(0);
  opacity: 1;
}

.slideLeft {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideLeft.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideLeft {
    transform: translateX(2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideLeft {
    transform: translateY(2rem);
  }
}

.slideRight {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideRight.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideRight {
    transform: translateX(-2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideRight {
    transform: translateY(2rem);
  }
}

@media only screen and (min-width: 1000px) {
  .slideUp.delay,
  .slideLeft.delay,
  .slideRight.delay {
    transition-delay: 0.125s;
  }
  .slideUp.delay2,
  .slideLeft.delay2,
  .slideRight.delay2 {
    transition-delay: 0.25s;
  }
  .slideUp.delay3,
  .slideLeft.delay3,
  .slideRight.delay3 {
    transition-delay: 0.375s;
  }
  .slideUp.delay4,
  .slideLeft.delay4,
  .slideRight.delay4 {
    transition-delay: 0.5s;
  }
  .slideUp.delay5,
  .slideLeft.delay5,
  .slideRight.delay5 {
    transition-delay: 0.625s;
  }
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
header {
  max-width: 80rem;
  width: calc(100% - 4rem);
  overflow: visible;
  position: fixed;
  left: 50%;
  top: 1.8125rem;
  transform: translateX(-50%);
  z-index: 3;
}
@media only screen and (min-width: 1000px) {
  header {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 999px) {
  header {
    max-width: unset;
    width: 100%;
    height: auto;
    left: unset;
    top: unset;
    transform: unset;
  }
}
header.show .menu {
  background-color: #fff;
}
header.show .menu div {
  background-color: #006837;
}
header.show .menu div.bar {
  top: 50% !important;
  transform: translate(0%, -50%) rotate(320deg);
}
header.show .menu div.bar2 {
  opacity: 0;
}
header.show .menu div.bar3 {
  width: 2.25rem;
  top: 50% !important;
  transform: translate(0%, -50%) rotate(-320deg);
}
header.show nav {
  pointer-events: auto;
  visibility: visible;
}
@media only screen and (max-width: 999px) {
  header.show nav .navInner::before {
    opacity: 1;
  }
}
@media only screen and (max-width: 999px) {
  header.show nav .navInner ul {
    transition-delay: 0.125s;
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
header .h1 {
  max-width: 33.5rem;
  width: 27.9166666667vw;
  margin-right: 4.3125rem;
  position: relative;
  z-index: 16;
}
@media only screen and (max-width: 999px) {
  header .h1 {
    min-width: unset;
    width: 19.5rem;
    left: 2rem;
    top: 1.5rem;
    z-index: 1;
  }
}
header .menu {
  cursor: pointer;
  width: 5rem;
  height: 4rem;
  border-radius: 3.125rem 0px 0px 3.125rem;
  background: #FFF;
  box-shadow: 0px 0px 8px 4px rgba(0, 0, 0, 0.65);
  position: fixed;
  top: 1.5rem;
  right: 0;
  z-index: 99;
}
@media only screen and (min-width: 1000px) {
  header .menu {
    display: none;
  }
}
@media only screen and (max-width: 999px) {
  header .menu {
    display: block;
  }
}
header .menu div {
  width: 2.25rem;
  height: 2px;
  background-color: #006837;
  position: absolute;
  top: calc(50% - 8px);
  right: 1rem;
  transition: 0.25s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(0%, -50%);
}
header .menu div.bar2 {
  top: 50%;
}
header .menu div.bar3 {
  top: calc(50% + 8px);
}
@media only screen and (max-width: 999px) {
  header nav {
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
  }
}
@media only screen and (min-width: 1000px) {
  header nav .navInner {
    display: flex;
    align-items: center;
    margin-right: 1rem;
  }
}
@media only screen and (max-width: 999px) {
  header nav .navInner {
    width: 100%;
    height: 100%;
  }
  header nav .navInner::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: rgba(0, 104, 55, 0.9);
    transition: 0.375s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 0;
  }
}
@media only screen and (min-width: 1000px) {
  header nav .navInner ul {
    width: 29.75rem;
    height: 5rem;
    align-items: center;
    gap: 0 2.6875rem;
    background-color: #fff;
    border: 0.0625rem solid #948F8E;
    border-radius: 3.125rem;
    box-shadow: 0px 0px 8px 3px #948F8E;
    padding: 1.34375rem 3.17625rem 1.125rem 3.554375rem;
  }
}
@media only screen and (max-width: 999px) {
  header nav .navInner ul {
    width: 17.5rem;
    height: 23.0625rem;
    border-radius: 2rem;
    background: #FFF;
    box-shadow: 0px 0px 8px 4px rgba(0, 0, 0, 0.65);
    position: absolute;
    left: 50%;
    top: 50%;
    transition: 0.25s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translate(-50%, calc(-50% + 1rem));
    opacity: 0;
  }
}
@media only screen and (max-width: 999px) {
  header nav .navInner ul li {
    margin-top: 2.8125rem;
    position: relative;
  }
  header nav .navInner ul li::after {
    content: "";
    width: 2.5rem;
    height: 0.0625rem;
    background-color: #F3F3F3;
    position: absolute;
    left: 50%;
    bottom: -1.40625rem;
    transform: translateX(-50%);
  }
  header nav .navInner ul li:last-child::after {
    display: none;
  }
}
@media only screen and (min-width: 1000px) {
  header nav .navInner ul li {
    position: relative;
  }
  header nav .navInner ul li::after {
    content: "";
    width: 0.0625rem;
    height: calc(100% - 0.3125rem);
    background-color: #F2F2F2;
    position: absolute;
    right: -1.34375rem;
    top: 0.1875rem;
  }
  header nav .navInner ul li:nth-child(2) a .jp {
    margin: calc(0.335625rem - 0.083em) 0 -0.083em;
  }
  header nav .navInner ul li:last-child::after {
    display: none;
  }
}
header nav .navInner ul li a {
  display: block;
  margin-top: 0.0625rem;
  transition: 0.35s ease-in;
}
header nav .navInner ul li a:hover {
  opacity: 0.5;
}
header nav .navInner ul li a .en {
  display: block;
  color: #006837;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
header nav .navInner ul li a .jp {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.166;
  text-align: center;
  margin: calc(0.56875rem - 0.083em) 0 calc(0.629375rem - 0.083em);
}
@media only screen and (max-width: 999px) {
  header nav .navInner ul li a .jp {
    margin: calc(0.56875rem - 0.083em) 0 -0.083em;
  }
}
header .entry {
  transition: 0.375s cubic-bezier(0.25, 1, 0.5, 1);
}
@media only screen and (max-width: 999px) {
  header .entry {
    position: fixed;
    left: 50%;
    bottom: 2rem;
    transform: translateX(-50%);
    z-index: 4;
  }
}
@media only screen and (max-width: 999px) {
  header .entry.hide {
    pointer-events: none;
    transform: translate(-50%, 25%);
    opacity: 0;
  }
}
header .entry a {
  display: block;
  width: 11.25rem;
  height: 5rem;
  background-color: #006837;
  border-radius: 3.125rem;
  box-shadow: 0px 0px 8px 3px #948F8E;
  border: 0.1875rem solid #fff;
  position: relative;
}
header .entry a span {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
header .scroll {
  width: 0.75rem;
  height: 8rem;
  position: absolute;
  left: 2.625rem;
  bottom: 0;
  z-index: 2;
}
@media only screen and (max-width: 999px) {
  header .scroll {
    display: none;
  }
}
header .scroll .en {
  display: block;
  font-size: 0.75rem;
  font-family: "Roboto", serif;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  transform: translateX(0px);
}
header .scroll .bar {
  display: block;
  width: 0.625rem;
  height: 4rem;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0.25rem;
}
header .scroll .bar::before {
  display: block;
  content: "";
  width: 1px;
  height: 200%;
  background: #000;
  animation: scroll2 2.5s cubic-bezier(0.5, 0, 0.75, 0) infinite;
  transform-origin: top;
  position: absolute;
  top: 0;
  left: 0.09375rem;
}
@keyframes scroll2 {
  0% {
    transform: translateY(-100%);
  }
  75% {
    transform: translateY(50%);
  }
  100% {
    transform: translateY(50%);
  }
}

footer {
  width: 100%;
  background-color: #fff;
  padding-top: 3.516875rem;
  padding-bottom: 3.745rem;
}
@media only screen and (max-width: 999px) {
  footer {
    padding-top: 2.637625rem;
    padding-bottom: 2.80875rem;
  }
}
footer a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
footer a .img {
  width: 33.5rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  footer a .img {
    width: 25.125rem;
  }
}
footer a .img img {
  width: 100%;
  height: auto;
}

#index {
  overflow: hidden;
}
#index .contents .w1080 {
  max-width: 67.5rem;
  width: calc(100% - 4rem);
}
#index .contents .w1280 {
  max-width: 80rem;
  width: calc(100% - 4rem);
}
#index .contents #fv {
  position: relative;
}
#index .contents #fv.status .img img {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#index .contents #fv.status .img .txt_box {
  transition-delay: 0.375s;
  transform: translate(0);
  opacity: 1;
}
#index .contents #fv .img {
  width: calc(100% - 2rem);
  max-width: max(87.5rem, 72.9166666667vw);
  margin-top: 12.875rem;
  margin-left: auto;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img {
    max-width: unset;
    width: 28rem;
    margin-top: 8rem;
  }
}
#index .contents #fv .img img {
  width: 100%;
  height: auto;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(2rem);
  opacity: 0;
  filter: blur(16px);
}
#index .contents #fv .img .txt_box {
  margin: 0 auto;
  position: absolute;
  left: -2.4rem;
  top: 21.4425rem;
  transition: 1.125s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(2rem);
  opacity: 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img .txt_box {
    top: 28.5625rem;
  }
}
#index .contents #fv .img .txt_box p {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.2;
  background-color: #fff;
  padding: 0.4375rem 0.625rem 0.5625rem 1.5625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img .txt_box p {
    padding: 0.1875rem 0.625rem 0.5625rem 1.5625rem;
  }
}
#index .contents #fv .img .txt_box p span {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.2;
}
#index .contents #fv .img .txt_box p:nth-child(3) {
  margin-top: 1.85rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .img .txt_box p {
    height: 2.5rem;
    margin-top: 1.875rem;
  }
  #index .contents #fv .img .txt_box p:first-child {
    margin-top: unset;
  }
}
#index .contents #index01 {
  scroll-margin: 6.25rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 {
    width: calc(100% - 4rem);
    margin: 5.671875rem auto 0;
  }
}
#index .contents #index01::before {
  content: "";
  width: 29.8125rem;
  height: 16.8125rem;
  background: url(../img/item.svg) center/cover no-repeat;
  position: absolute;
  right: 0;
  bottom: 12.1875rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01::before {
    display: none;
  }
}
#index .contents #index01 .cm_flex1 {
  margin-top: 5.551875rem;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index01 .cm_flex1 {
    align-items: center;
    gap: 0 1.638125rem;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex1 {
    margin-top: 5.671875rem;
  }
}
#index .contents #index01 .cm_flex1 .img {
  width: calc(100% - 66.8229166667vw);
  height: 13.4375rem;
  background: url(../img/bg2.jpg) center right/auto 100% no-repeat;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex1 .img {
    width: 100%;
    height: 9.375625rem;
  }
}
#index .contents #index01 .cm_flex1 .img img {
  width: 16.074375rem;
  height: 100%;
  margin: 0 1.32125rem 0 auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex1 .img img {
    width: 11.305rem;
  }
}
#index .contents #index01 .cm_flex1 .catch {
  max-width: 66.8229166667vw;
  font-size: 1.54375rem;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  line-height: 2.782;
  letter-spacing: -0.05em;
  text-align: center;
  flex-shrink: 0;
  margin-right: auto;
  padding-right: 2rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex1 .catch {
    max-width: unset;
    font-size: 1.125rem;
    text-align: justify;
    margin: calc(2.484375rem - 0.891em) 0 -0.891em;
    padding-right: unset;
  }
}
#index .contents #index01 .cm_flex2 {
  margin-top: 5.64875rem;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index01 .cm_flex2 {
    align-items: flex-start;
    gap: 0 1.638125rem;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 {
    margin-top: 5.678125rem;
  }
}
#index .contents #index01 .cm_flex2 .txt_box {
  max-width: 39rem;
  margin-left: auto;
  padding-left: 2rem;
  order: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 .txt_box {
    max-width: unset;
    width: 100%;
    padding-left: unset;
  }
}
#index .contents #index01 .cm_flex2 .txt_box .lead {
  font-size: 2rem;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  line-height: 2.506;
  margin-left: 1.475rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 .txt_box .lead {
    display: block;
    font-size: 1.75rem;
    margin: calc(2.483125rem - 0.753em) 0 -0.753em;
  }
}
#index .contents #index01 .cm_flex2 .txt_box .line {
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: -0.05em;
  text-align: center;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 .txt_box .line {
    text-align: justify;
    margin: calc(2.4675rem - 0.437em) 0 -0.437em;
  }
}
#index .contents #index01 .cm_flex2 .img2 {
  order: 2;
  width: calc(100% - 66.8229166667vw);
  height: 13.4375rem;
  background: url(../img/bg2.jpg) center left/auto 100% no-repeat;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 .img2 {
    width: 100%;
    height: 9.375625rem;
  }
}
#index .contents #index01 .cm_flex2 .img2 img {
  width: 16.2275rem;
  height: 100%;
  margin: 0 auto 0 2.513125rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .cm_flex2 .img2 img {
    width: 11.305rem;
    margin: 0 auto 0 1.76rem;
  }
}
#index .contents #slide .swiper {
  margin-top: 5.41375rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #slide .swiper {
    margin-top: 5.625rem;
  }
}
#index .contents #slide .swiper .swiper-wrapper {
  display: flex;
  align-items: center;
  transition-timing-function: linear !important;
}
#index .contents #slide .swiper .swiper-wrapper .swiper-slide {
  width: 16.25rem;
  margin: 0 0.625rem;
  flex-shrink: 0;
}
#index .contents #slide .swiper .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: auto;
}
#index .contents #look {
  margin-top: 8.55625rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #look {
    margin-top: 8.5rem;
  }
}
#index .contents #look .img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .img {
    height: 6.625rem;
  }
}
#index .contents #look .img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
#index .contents #look h2 {
  width: 20.9895833333vw;
  height: auto;
  position: absolute;
  left: 50%;
  top: 13.7359375vw;
  transform: translateX(-50%);
}
@media only screen and (max-width: 999px) {
  #index .contents #look h2 {
    width: 20.15rem;
    top: 10.6875rem;
  }
}
#index .contents #look h2 img {
  width: 100%;
  height: auto;
}
#index .contents #look p {
  width: calc(100% - 4rem);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.454;
  text-align: center;
  margin: calc(11.8036458333vw - 0.227em) auto -0.227em;
}
@media only screen and (max-width: 999px) {
  #index .contents #look p {
    text-align: justify;
    margin: calc(19.25rem - 0.227em) auto -0.227em;
  }
}
#index .contents #look .w1080 {
  margin: 6.93rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 {
    margin: 5.625rem auto 0;
  }
}
#index .contents #look .w1080 .box {
  background-color: rgba(255, 255, 255, 0.8);
  margin-top: 3.125rem;
  padding: 0 min(2.0625rem, 2.8846153846vw) min(3.30625rem, 4.6241258741vw) min(2.0625rem, 2.8846153846vw);
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box {
    padding: 3.125rem 2rem 20.0625rem 2rem;
  }
}
#index .contents #look .w1080 .box:nth-child(1)::before {
  content: "";
  width: min(22.125rem, 30.9440559441vw);
  height: min(29.5625rem, 41.3461538462vw);
  background: url(../img/icon01.webp) center/cover no-repeat;
  position: absolute;
  right: calc(50% + 12.6875rem);
  top: 1.4375rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(1)::before {
    width: 14.9375rem;
    height: 20rem;
    left: 6.5125rem;
    top: unset;
    bottom: -2rem;
  }
}
#index .contents #look .w1080 .box:nth-child(2) {
  padding-bottom: 5.2575rem;
  z-index: 2;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(2) {
    padding-top: 4.038125rem;
    padding-bottom: 15rem;
  }
}
#index .contents #look .w1080 .box:nth-child(2)::before {
  content: "";
  width: min(24.375rem, 34.0909090909vw);
  height: min(17.875rem, 25vw);
  background: url(../img/icon02.webp) center/cover no-repeat;
  position: absolute;
  right: calc(50% + 11.731875rem);
  bottom: 3.25rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(2)::before {
    width: 19.770625rem;
    height: 14.5rem;
    left: 4.55125rem;
    bottom: -2rem;
  }
}
#index .contents #look .w1080 .box:nth-child(2)::after {
  content: "";
  width: 15rem;
  height: 15rem;
  background: url(../img/no1.webp) center/cover no-repeat;
  position: absolute;
  right: -0.875rem;
  top: -1.09375rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(2)::after {
    width: 8.75rem;
    height: 8.75rem;
    right: -1.5rem;
    top: -1.875rem;
  }
}
#index .contents #look .w1080 .box:nth-child(3) {
  padding-bottom: 5.05875rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(3) {
    padding-bottom: 18.5625rem;
  }
}
#index .contents #look .w1080 .box:nth-child(3)::before {
  content: "";
  width: min(28.3125rem, 39.5979020979vw);
  height: min(30.375rem, 42.4825174825vw);
  background: url(../img/icon03.webp) center/cover no-repeat;
  position: absolute;
  right: calc(50% + 11.263125rem);
  bottom: 1.4375rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(3)::before {
    width: 16.13625rem;
    height: 17.3125rem;
    left: 6.025rem;
    right: unset;
    bottom: -1.25rem;
  }
}
#index .contents #look .w1080 .box:nth-child(3)::after {
  content: "";
  width: 29.8287rem;
  height: 16.8125rem;
  background: url(../img/item.svg) center/cover no-repeat;
  position: absolute;
  left: -29.8287rem;
  bottom: 3.125rem;
  z-index: -1;
}
#index .contents #look .w1080 .box:nth-child(4) {
  padding-bottom: 5.265625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(4) {
    padding-bottom: 14rem;
  }
}
#index .contents #look .w1080 .box:nth-child(4)::before {
  content: "";
  width: min(14.375rem, 20.1048951049vw);
  height: min(14.5625rem, 20.3671328671vw);
  background: url(../img/icon04.webp) center/cover no-repeat;
  position: absolute;
  right: calc(50% + 12.85625rem);
  bottom: 1.916875rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(4)::before {
    width: 12.586875rem;
    height: 12.75rem;
    right: unset;
    left: 7.645rem;
    bottom: -1.25rem;
  }
}
#index .contents #look .w1080 .box:nth-child(6) {
  padding-bottom: 3.1675rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(6) {
    padding-bottom: 14.5rem;
  }
}
#index .contents #look .w1080 .box:nth-child(6)::before {
  content: "";
  width: min(17.875rem, 25vw);
  height: min(21.375rem, 29.8951048951vw);
  background: url(../img/icon05.webp) center/cover no-repeat;
  position: absolute;
  right: calc(50% + 11.10625rem);
  bottom: 0.87375rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box:nth-child(6)::before {
    width: 11.601875rem;
    height: 13.875rem;
    right: unset;
    left: 7.875rem;
    bottom: -1.875rem;
  }
}
#index .contents #look .w1080 .box .img1 {
  max-width: 100%;
  height: auto;
  padding-top: 2.25rem;
  padding-bottom: 1.5625rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box .img1 {
    width: 17.6rem;
    margin: 0 auto;
    padding-top: unset;
    padding-bottom: 2.044375rem;
  }
}
#index .contents #look .w1080 .box .img1 img {
  width: 100%;
  height: auto;
}
#index .contents #look .w1080 .box .img2 {
  max-width: 100%;
  height: auto;
  padding-top: 2.15625rem;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box .img2 {
    width: 19.2rem;
    margin: 0 auto;
    padding-top: unset;
    padding-bottom: 2.021875rem;
  }
}
#index .contents #look .w1080 .box .img2 img {
  width: 100%;
  height: auto;
}
#index .contents #look .w1080 .box .img3 {
  max-width: 100%;
  height: auto;
  padding-top: 1.875rem;
  padding-bottom: 1.25rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box .img3 {
    width: 19.15rem;
    margin: 0 auto;
    padding-top: unset;
    padding-bottom: 2.013125rem;
  }
}
#index .contents #look .w1080 .box .img3 img {
  width: 100%;
  height: auto;
}
#index .contents #look .w1080 .box .img4 {
  max-width: 100%;
  height: auto;
  padding-top: 2rem;
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box .img4 {
    width: 19.204rem;
    margin: 0 auto;
    padding-top: unset;
    padding-bottom: 1.98625rem;
  }
}
#index .contents #look .w1080 .box .img4 img {
  width: 100%;
  height: auto;
}
#index .contents #look .w1080 .box .img6 {
  max-width: 100%;
  height: auto;
  padding-top: 1.4375rem;
  padding-bottom: 1.114375rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box .img6 {
    width: 19.2rem;
    margin: 0 auto;
    padding-top: unset;
    padding-bottom: 2.011875rem;
  }
}
#index .contents #look .w1080 .box .img6 img {
  width: 100%;
  height: auto;
}
#index .contents #look .w1080 .box dd {
  max-width: min(36.875rem, 51.5734265734vw);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.555;
  letter-spacing: -0.05em;
  border-top: 0.0625rem solid #000;
  margin: -0.277em 5.1875rem -0.277em auto;
  padding-top: 2.025rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box dd {
    max-width: unset;
    width: 100%;
  }
}
#index .contents #look .w1080 .box2 {
  background-color: rgba(255, 255, 255, 0.8);
  margin-top: 3.03125rem;
  padding: min(3.930625rem, 5.4973776224vw) min(7.6475rem, 10.6958041958vw) min(3.240625rem, 4.5323426573vw) min(7.410625rem, 10.3645104895vw);
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box2 {
    padding: 3.125rem 2rem;
  }
}
#index .contents #look .w1080 .box2:nth-child(5)::after {
  content: "";
  width: 29.8287rem;
  height: 16.8125rem;
  background: url(../img/item2.svg) center/cover no-repeat;
  position: absolute;
  right: -17.75rem;
  bottom: -4.375rem;
  z-index: -1;
}
#index .contents #look .w1080 .box2:nth-child(7) {
  padding: min(4.283125rem, 5.9903846154vw) min(7.4275rem, 10.3881118881vw) min(4.788125rem, 6.6966783217vw) min(7.749375rem, 10.8382867133vw);
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box2:nth-child(7) {
    padding: 3.125rem 2rem;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box2 .img5 {
    width: 19.15rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #look .w1080 .box2 .img7 {
    width: 19.2rem;
    margin: 0 auto;
  }
}
#index .contents #look .w1080 .box2 dd {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.555;
  letter-spacing: -0.05em;
  border-top: 0.0625rem solid #000;
  margin-left: auto;
  margin-top: 2.033125rem;
  padding-top: 2.1875rem;
}
#index .contents #voice {
  margin-top: 14.25rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #voice {
    margin-top: 9.375rem;
  }
}
#index .contents #voice .bg_img {
  width: 100%;
  height: auto;
}
#index .contents #voice .bg_img img {
  width: 100%;
  height: auto;
}
#index .contents #voice .cm_h2 .en {
  width: 22.539375rem;
  height: auto;
  margin: 12.87375rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #voice .cm_h2 .en {
    width: 16.904375rem;
    margin: 9.364375rem auto 0;
  }
}
#index .contents #voice .cm_h2 .en img {
  width: 100%;
  height: auto;
}
#index .contents #voice .w1080 {
  margin: 5.1675rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #voice .w1080 {
    margin: 5.15125rem auto 0;
  }
}
#index .contents #voice .w1080 .box {
  margin-top: 3rem;
}
#index .contents #voice .w1080 .box:first-child {
  position: relative;
}
#index .contents #voice .w1080 .box:first-child::before {
  content: "";
  width: 29.8125rem;
  height: 16.8125rem;
  background: url(../img/item.svg) center/cover no-repeat;
  position: absolute;
  left: -29.8125rem;
  bottom: -1.5625rem;
}
@media only screen and (min-width: 1000px) {
  #index .contents #voice .w1080 .box .cm_flex {
    align-items: flex-start;
    gap: 0 2.125rem;
  }
}
#index .contents #voice .w1080 .box .cm_flex .img {
  width: 33.75rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #index .contents #voice .w1080 .box .cm_flex .img {
    width: 100%;
  }
}
#index .contents #voice .w1080 .box .cm_flex .img img {
  width: 100%;
  height: auto;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box {
  max-width: 31.549375rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #voice .w1080 .box .cm_flex .txt_box {
    margin-top: 2.17125rem;
  }
}
#index .contents #voice .w1080 .box .cm_flex .txt_box h3 .img {
  max-width: 100%;
  height: auto;
  position: relative;
  z-index: 0;
  position: relative;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box h3 .img img {
  width: 100%;
  height: auto;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box h3 .img span {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  position: absolute;
  left: 0.678125rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box .lead {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1.349375rem;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box .name {
  display: block;
  color: #006837;
  font-size: 1.125rem;
  font-weight: 700;
  margin-top: 1.384375rem;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box .name small {
  font-size: 0.875rem;
  font-weight: 500;
  margin-left: 0.664375rem;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box .ques {
  display: block;
  color: #006837;
  font-weight: 700;
  line-height: 1.2;
  margin: calc(1.384375rem - 0.1em) 0 -0.1em;
}
#index .contents #voice .w1080 .box .cm_flex .txt_box p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.714;
  margin: calc(1rem - 0.357em) 0 -0.357em;
}
#index .contents #recruit {
  margin-top: 11.5625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit {
    margin-top: 9.40875rem;
  }
}
#index .contents #recruit .img {
  width: 100%;
  height: auto;
}
#index .contents #recruit .img img {
  width: 100%;
  height: auto;
}
#index .contents #recruit .cm_h2 .en {
  width: 33.339375rem;
  height: auto;
  margin: 12.2875rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .cm_h2 .en {
    width: 25.004375rem;
    margin: 9.4375rem auto 0;
  }
}
#index .contents #recruit .cm_h2 .en img {
  width: 100%;
  height: auto;
}
#index .contents #recruit p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.428;
  text-align: center;
  margin: calc(3.675625rem - 0.214em) 0 -0.214em;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit p {
    width: calc(100% - 4rem);
    margin: calc(3.675625rem - 0.214em) auto -0.214em;
  }
}
#index .contents #recruit .w1280 {
  margin: 5.47rem auto;
  position: relative;
}
#index .contents #recruit .w1280::before {
  content: "";
  width: 100%;
  height: calc(100% + 2.6875rem);
  background-color: #EFF6EA;
  border-radius: 2.5rem;
  position: absolute;
  left: 0;
  top: 5rem;
  z-index: -1;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280::before {
    height: calc(100% - 2.5rem);
    border-radius: 0 0 2.5rem 2.5rem;
    top: 5rem;
  }
}
#index .contents #recruit .w1280 .w1080 {
  margin: 0 auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 {
    max-width: unset;
    width: unset;
    margin: unset;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  /* ラジオボタンは非表示に */
  /* --- タブ見出し（label） --- */
  /* --- 選択中ラベルの装飾 --- */
  /* --- コンテンツ部 --- */
  /* 「○○が checked なら自分を表示」 */
}
#index .contents #recruit .w1280 .w1080 .tabs > input[type=radio] {
  display: none;
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_item {
  display: inline-block;
  width: calc((100% - 1.375rem) / 2);
  height: 5rem;
  padding: 2.3475rem 0 1.478125rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #000;
  text-align: center;
  background: #fff;
  border-radius: 2.5rem 2.5rem 0 0;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_item {
    width: calc((100% - 0.5rem) / 2);
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_item:first-of-type {
  margin-right: 1.0625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_item:first-of-type {
    margin-right: 0.1875rem;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > input[type=radio]:checked + .tab_item {
  background: #EFF6EA;
  color: #000;
  position: relative;
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content {
  display: none;
  /* 初期は隠す */
  margin-top: 6.4375rem;
  padding: 3.713125rem 5.875rem 2.89875rem 5.875rem;
  /* ラベルとラインを共有 */
  background-color: #fff;
  text-align: left;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content {
    width: calc(100% - 4rem);
    border-radius: 0 0 2.5rem 2.5rem;
    margin: 0 auto;
    margin-top: 2.5rem;
    padding: 2.560625rem 2rem;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr th,
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td {
  padding: 0.91rem 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr th,
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td {
    padding: unset;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr th {
  display: block;
  width: 4.375rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.142;
  letter-spacing: -0.01em;
  vertical-align: top;
  margin-right: 4.278125rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr th {
    color: #006837;
    margin-top: 0.91rem;
    margin-right: unset;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.142;
  letter-spacing: -0.01em;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td {
    display: block;
    padding: 0.91rem 0;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td::after {
  content: "";
  width: 0.0625rem;
  height: calc(100% - 1.5625rem);
  background-color: #006837;
  position: absolute;
  left: -2.621875rem;
  top: 0.8125rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content table tbody tr td::after {
    width: 100%;
    height: 0.0625rem;
    left: 0;
    top: unset;
    bottom: 0rem;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content .noEntry {
  padding: 4rem 0;
}
#index .contents #recruit .w1280 .w1080 .tabs > .tab_content .noEntry p {
  margin: 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #recruit .w1280 .w1080 .tabs > .tab_content .noEntry p {
    width: 100%;
  }
}
#index .contents #recruit .w1280 .w1080 .tabs #new:checked ~ #new_content,
#index .contents #recruit .w1280 .w1080 .tabs #mid:checked ~ #mid_content {
  display: block;
}
#index .contents #entry {
  background-color: #006837;
  border-radius: 3.125rem 3.125rem 0 0;
  box-shadow: 0px -3px 10px rgba(35, 24, 21, 0.45);
  margin-top: 21.375rem;
  padding-bottom: 16.55875rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry {
    margin-top: 10.265625rem;
    padding-bottom: 12.4190625rem;
  }
}
#index .contents #entry .cm_h2 .en {
  width: 25.4375rem;
  height: auto;
  margin: 0 auto;
  padding-top: 9.96625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry .cm_h2 .en {
    width: 19.078125rem;
    padding-top: 7.4746875rem;
  }
}
#index .contents #entry .cm_h2 .en img {
  width: 100%;
  height: auto;
}
#index .contents #entry .cm_h2 .jp {
  color: #fff;
}
#index .contents #entry .lead {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.428;
  text-align: center;
  margin: calc(3.788125rem - 0.214em) 0 -0.214em;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry .lead {
    width: calc(100% - 4rem);
    margin: calc(3.788125rem - 0.214em) auto -0.214em;
  }
}
#index .contents #entry .lead a:hover {
  opacity: 0.7;
}
#index .contents #entry #mailform, #index .contents #entry .mw_wp_form {
  color: #FFF;
  max-width: 51.875rem;
  width: 100%;
  margin: 4.08125rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform, #index .contents #entry .mw_wp_form {
    max-width: unset;
    width: calc(100% - 4rem);
  }
}
#index .contents #entry #mailform.mw_wp_form_confirm .ac dd .name, #index .contents #entry .mw_wp_form.mw_wp_form_confirm .ac dd .name {
  width: unset !important;
  justify-content: flex-start;
}
#index .contents #entry #mailform.mw_wp_form_confirm .ac dd .name_item, #index .contents #entry .mw_wp_form.mw_wp_form_confirm .ac dd .name_item {
  width: unset !important;
}
#index .contents #entry #mailform.mw_wp_form_confirm .ac dd .wrap::after, #index .contents #entry .mw_wp_form.mw_wp_form_confirm .ac dd .wrap::after {
  display: none;
}
#index .contents #entry #mailform.mw_wp_form_confirm .ac dd .zipcode, #index .contents #entry .mw_wp_form.mw_wp_form_confirm .ac dd .zipcode {
  margin: 0;
}
#index .contents #entry #mailform.mw_wp_form_confirm .ac2, #index .contents #entry .mw_wp_form.mw_wp_form_confirm .ac2 {
  margin-top: 0;
}
#index .contents #entry #mailform.mw_wp_form_complete p, #index .contents #entry .mw_wp_form.mw_wp_form_complete p {
  font-size: 0.875rem;
  line-height: 2;
  text-align: center;
}
#index .contents #entry #mailform .error, #index .contents #entry .mw_wp_form .error {
  color: rgb(232, 129, 129) !important;
}
#index .contents #entry #mailform .ac, #index .contents #entry .mw_wp_form .ac {
  margin-top: 1.455rem;
}
@media only screen and (min-width: 1000px) {
  #index .contents #entry #mailform .ac, #index .contents #entry .mw_wp_form .ac {
    display: flex;
    align-items: center;
  }
}
#index .contents #entry #mailform .ac dt, #index .contents #entry .mw_wp_form .ac dt {
  width: 8.125rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.714;
  flex-shrink: 0;
}
#index .contents #entry #mailform .ac dd, #index .contents #entry .mw_wp_form .ac dd {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.714;
}
#index .contents #entry #mailform .ac dd.cm_flex, #index .contents #entry .mw_wp_form .ac dd.cm_flex {
  align-items: center;
}
#index .contents #entry #mailform .ac dd input, #index .contents #entry .mw_wp_form .ac dd input {
  width: 43.75rem;
  height: 2.5rem;
  color: #000;
  background-color: #fff;
  border-radius: 0.625rem;
  border: none;
  padding: 0.84375rem 1.0625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac dd input, #index .contents #entry .mw_wp_form .ac dd input {
    width: 100%;
  }
}
#index .contents #entry #mailform .ac dd input.address, #index .contents #entry .mw_wp_form .ac dd input.address {
  width: 14.375rem;
}
#index .contents #entry #mailform .ac dd input::-moz-placeholder, #index .contents #entry .mw_wp_form .ac dd input::-moz-placeholder {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.714;
}
#index .contents #entry #mailform .ac dd input::placeholder, #index .contents #entry .mw_wp_form .ac dd input::placeholder {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.714;
}
#index .contents #entry #mailform .ac dd .name, #index .contents #entry .mw_wp_form .ac dd .name {
  width: 43.75rem;
  display: flex;
  justify-content: space-between;
  gap: 0.375rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac dd .name, #index .contents #entry .mw_wp_form .ac dd .name {
    width: 100%;
  }
}
#index .contents #entry #mailform .ac dd .name_item, #index .contents #entry .mw_wp_form .ac dd .name_item {
  width: calc((100% - 0.375rem) / 2);
}
#index .contents #entry #mailform .ac dd .name_item input, #index .contents #entry .mw_wp_form .ac dd .name_item input {
  width: 100%;
}
#index .contents #entry #mailform .ac dd .wrap, #index .contents #entry .mw_wp_form .ac dd .wrap {
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac dd .wrap, #index .contents #entry .mw_wp_form .ac dd .wrap {
    width: -moz-fit-content;
    width: fit-content;
  }
}
#index .contents #entry #mailform .ac dd .wrap::after, #index .contents #entry .mw_wp_form .ac dd .wrap::after {
  content: "";
  width: 0.5rem;
  height: 0.4375rem;
  background: url(../img/triangle.svg) center/cover no-repeat;
  position: absolute;
  right: 0.728125rem;
  top: 50%;
  transform: translateY(-50%);
}
#index .contents #entry #mailform .ac dd .wrap #job, #index .contents #entry .mw_wp_form .ac dd .wrap #job {
  width: 16.875rem;
  height: 2.5rem;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: none;
  border-radius: 0.625rem;
  padding: 0.5rem 1.0625rem 0.75rem;
}
#index .contents #entry #mailform .ac dd span, #index .contents #entry .mw_wp_form .ac dd span {
  display: inline-block;
  margin: 0 0.6075rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac dd span, #index .contents #entry .mw_wp_form .ac dd span {
    margin: 0 0.6075rem 0 0;
  }
}
#index .contents #entry #mailform .ac dd textarea, #index .contents #entry .mw_wp_form .ac dd textarea {
  width: 43.75rem;
  height: 2.5rem;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.714;
  background-color: #fff;
  border: none;
  border-radius: 0.625rem;
  padding: 0.5rem 1.0625rem 0.625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac dd textarea, #index .contents #entry .mw_wp_form .ac dd textarea {
    width: 100%;
    height: 4.375rem;
  }
}
#index .contents #entry #mailform .ac2, #index .contents #entry .mw_wp_form .ac2 {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.714;
  margin-top: 1.455rem;
  margin-left: 8.125rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac2, #index .contents #entry .mw_wp_form .ac2 {
    margin-left: 0;
  }
}
#index .contents #entry #mailform .ac2 input, #index .contents #entry .mw_wp_form .ac2 input {
  width: 43.75rem;
  height: 2.5rem;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.714;
  background-color: #fff;
  border-radius: 0.625rem;
  border: none;
  padding: 0.84375rem 1.0625rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform .ac2 input, #index .contents #entry .mw_wp_form .ac2 input {
    width: 100%;
  }
}
#index .contents #entry #mailform button[type=submit], #index .contents #entry #mailform input[type=submit], #index .contents #entry .mw_wp_form button[type=submit], #index .contents #entry .mw_wp_form input[type=submit] {
  cursor: pointer;
  display: block;
  width: 18.75rem;
  height: 5rem;
  color: #006837;
  font-size: 1.75rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  border-radius: 3.125rem;
  border: unset;
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.35);
  transition: 0.375s;
  margin: 6.548125rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #entry #mailform button[type=submit], #index .contents #entry #mailform input[type=submit], #index .contents #entry .mw_wp_form button[type=submit], #index .contents #entry .mw_wp_form input[type=submit] {
    width: 14.0625rem;
    height: 3.75rem;
  }
}
#index .contents #entry #mailform button[type=submit]:hover, #index .contents #entry #mailform input[type=submit]:hover, #index .contents #entry .mw_wp_form button[type=submit]:hover, #index .contents #entry .mw_wp_form input[type=submit]:hover {
  opacity: 0.6;
}

.subPage .contents {
  padding: 12.5rem 0 0;
}
.subPage .contents .w1080 {
  max-width: 67.5rem;
  width: calc(100% - 4rem);
  margin: 0 auto;
}
.subPage .contents .w1080 h1.cm_h2 img {
  margin: 0 auto;
}
@media only screen and (min-width: 1000px) {
  .subPage .contents .w1080 h1.cm_h2 img {
    width: auto;
    height: 6.125rem;
  }
}
.subPage .contents .w1080 p {
  line-height: 2;
  margin: 4rem 0 0;
}
.subPage .footer {
  margin: 8rem 0 0;
}

@media screen and (min-width: 1000px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 999px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 3.125vw;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: 100%;
  }
}/*# sourceMappingURL=layout.css.map */

#contact_confirm #entry { margin-top: 14.375rem !important; }

@media only screen and (max-width: 999px) {
  #contact_confirm .contents #entry {
    margin-top: 10.265625rem !important;
  }
}

.box-info {
   margin: 4.5rem 6rem 0;
   color: #fff;
   font-size: 1rem;
   line-height: 1.85;
   text-align: center
}
.box-info h3 {
      font-size: 1.2rem;
}
