@charset "UTF-8";
/*****************/
/**** reset *****/
/*****************/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  background-color: #fafafa;
}
@media screen and (max-width: 500px) {
  body.active {
    overflow: hidden;
  }
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

html {
  font-size: 62.5%;
}

body {
  color: #233532;
  font-family:
    "Noto Sans JP",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "Meiryo",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-weight: 500;
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.6s ease;
}
a:hover {
  opacity: 0.6;
}

ul {
  padding: 0;
}
ul li {
  list-style: none;
}

img {
  height: auto;
}

.wp-block-table td {
  border: none;
}

.wpcf7-list-item {
  display: block;
}

.wpcf7-spinner {
  display: none;
}

table {
  display: block;
  border-collapse: collapse;
}
table tbody {
  display: block;
}
table tbody tr {
  display: flex;
}
table tbody tr th {
  text-align: left;
}
table tbody tr td {
  line-height: normal;
}
@media screen and (max-width: 768px) {
  table tr,
  table td,
  table th {
    display: block;
  }
}

input[type="submit"] {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

.desc {
  line-height: 1.6;
}

.wpcf7-not-valid-tip {
  position: absolute;
  font-size: 1.6rem;
}

.arrow {
  width: 7px;
  height: 7px;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}

button {
  display: block;
  border: none;
  cursor: pointer;
}

/*****************/
/**** font   *****/
/*****************/
.eng {
  font-family: "Arimo", "Helvetica Neue", Arial, system-ui, sans-serif;
}

/*****************/
/**** animation   *****/
/*****************/
.delay-time02 {
  animation-delay: 0.2s;
}

.delay-time03 {
  animation-delay: 0.3s;
}

.delay-time04 {
  animation-delay: 0.4s;
}

.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time06 {
  animation-delay: 0.6s;
}

.delay-time08 {
  animation-delay: 0.8s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time12 {
  animation-delay: 1.2s;
}

.delay-time14 {
  animation-delay: 1.4s;
}

.delay-time18 {
  animation-delay: 1.8s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time22 {
  animation-delay: 2.2s;
}

.delay-time3 {
  animation-delay: 3s;
}

.delay-time35 {
  animation-delay: 3.5s;
}

.delay-time4 {
  animation-delay: 4s;
}

.delay-time45 {
  animation-delay: 4.5s;
}

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger {
  opacity: 0;
}

.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.3s;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*****************/
/****   parts   *****/
/*****************/
@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  a[href*="tel"] {
    pointer-events: none;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1130px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
  }
  .cta-button {
    border-radius: 10px;
    background: linear-gradient(to right, #168573, #006c5b);
    color: white;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    padding-top: 15px;
    padding-right: 20px;
    padding-bottom: 15px;
    flex-shrink: 0;
    width: 238px;
  }

  .cta-button.back {
    background: #9e9a9a;
  }

  .cta-button img {
    width: 30px;
    margin-left: 30px;
    transition: 0.3s;
  }
  .cta-button:hover {
    opacity: 1;
  }
  .cta-button:hover img {
    transform: translateX(5px);
  }
  .section-ttl p.jp {
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  .section-ttl p.jp span {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(#168573, #006c5b);
    margin-right: 15px;
  }
  .section-ttl span.eng {
    margin-top: 10px;
    display: block;
    font-size: 50px;
    font-weight: bold;
  }
  .page-header {
    height: 406px;
    position: relative;
    overflow: hidden;
    padding-top: 195px;
  }
  .page-header__img {
    width: 1000px;
    height: 100%;
    right: 0;
    bottom: 0;
    position: absolute;
  }
  .page-header__ttl p.jp {
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  .page-header__ttl p.jp span {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 15px;
  }
  .page-header__ttl span.eng {
    margin-top: 10px;
    display: block;
    font-size: 70px;
    font-weight: bold;
  }
  .breadcrumb {
    background-color: white;
  }
  .breadcrumb-list {
    padding: 0;
    display: flex;
    align-items: center;
  }
  .breadcrumb-list__item {
    margin-right: 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
  }
  .breadcrumb-list__item.page::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 15px;
  }
  .breadcrumb-list__item p {
    opacity: 0.5;
  }
  .breadcrumb-list__item a {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #233532;
    opacity: 1;
  }
  .section-h3 {
    display: flex;
    align-items: center;
    font-size: 26px;
    line-height: 1.4;
    font-weight: 500;
  }
  .section-h3 span {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 10px;
  }
  .section-desc {
    font-size: 16px;
  }
  .section-lead {
    font-size: 25px;
    color: #168573;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1130px;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
  }
  .cta-button {
    border-radius: 8px;
    background: linear-gradient(to right, #168573, #006c5b);
    color: white;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    flex-shrink: 0;
    width: 100%;
  }
  .cta-button.back {
    background: #9e9a9a;
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
  }

  .cta-button.back img {
    transform: rotate(0deg) !important;
  }

  .cta-button img {
    width: 30px;
    margin-left: 30px;
    transition: 0.3s;
  }
  .cta-button:hover {
    opacity: 1;
  }
  .cta-button:hover img {
    transform: translateX(5px);
  }
  .section-ttl p.jp {
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  .section-ttl p.jp span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 10px;
  }
  .section-ttl span.eng {
    margin-top: 10px;
    display: block;
    font-size: 40px;
    font-weight: bold;
  }
  .page-header {
    height: 230px;
    position: relative;
    overflow: hidden;
    padding-top: 117px;
  }
  .page-header__img {
    width: 100%;
    height: 100%;
    bottom: 0;
    right: 0;
    position: absolute;
    transform: translate(0, 0);
    max-width: 400px;
  }
  .page-header__ttl p.jp {
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  .page-header__ttl p.jp span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(#168573, #006c5b);
    margin-right: 11px;
  }
  .page-header__ttl span.eng {
    margin-top: 10px;
    display: block;
    font-size: 40px;
    font-weight: bold;
  }
  .breadcrumb {
    background-color: white;
  }
  .breadcrumb-list {
    padding: 0;
    display: flex;
    align-items: center;
  }
  .breadcrumb-list__item {
    margin-right: 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
  }
  .breadcrumb-list__item.page::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 15px;
  }
  .breadcrumb-list__item p {
    opacity: 0.5;
  }
  .breadcrumb-list__item a {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #233532;
    opacity: 1;
  }
  .section-h3 {
    display: flex;
    align-items: center;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
  }
  .section-h3 span {
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 10px;
  }
  .section-desc {
    font-size: 14px;
  }
  .section-lead {
    font-size: 18px;
    color: #168573;
  }
}
/*****************/
/*** hamburger-menu  ***/
/*****************/
@media screen and (min-width: 1200px) {
  .hamburger-menu {
    display: none !important;
  }
  .sp-nav {
    display: none !important;
  }
  .follow-cta {
    display: none;
  }
}
@media screen and (max-width: 1199px) {
  .hamburger-menu {
    display: block !important;
    width: 45px;
    height: 45px;
    position: fixed;
    border: none;
    background: transparent;
    appearance: none;
    padding: 0;
    cursor: pointer;
    top: 10px;
    right: 10px;
    z-index: 1000;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  }
  .hamburger-menu__bar {
    display: inline-block;
    width: 22px;
    height: 2px;
    background: #168573;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s;
    border-radius: 5px;
  }
  .hamburger-menu__bar:first-child {
    top: 14px;
  }
  .hamburger-menu__bar:nth-child(2) {
    top: 22px;
  }
  .hamburger-menu__bar:last-child {
    top: 30px;
  }
  .hamburger-menu--open .hamburger-menu__bar {
    top: 50%;
  }
  .hamburger-menu--open .hamburger-menu__bar:first-child {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  .hamburger-menu--open .hamburger-menu__bar:last-child {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
  .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
    display: none;
  }
  /*****************/
  /*** sp-nav  ***/
  /*****************/
  .sp-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #f5f5f5;
    padding: 10px;
    padding-bottom: 100px;
    z-index: 999;
  }
}
@media screen and (max-width: 1199px) and (max-width: 500px) {
  .sp-nav {
    overflow-y: scroll;
  }
}
@media screen and (max-width: 1199px) {
  .sp-nav .sp-menu {
    margin: 24px auto 0;
    width: 353px;
  }
  .sp-nav .sp-menu__item {
    margin-bottom: 15px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  }
  .sp-nav .sp-menu__item:last-child {
    margin-bottom: 0;
  }
  .sp-nav .sp-menu__link {
    background-color: white;
    display: flex;
    align-items: center;
    height: 60px;
    justify-content: space-between;
    padding: 15px 13px;
    padding-left: 15px;
    padding-right: 17px;
  }
  .sp-nav .sp-menu__link p {
    font-size: 16px;
    display: flex;
    align-items: center;
    color: #233532;
  }
  .sp-nav .sp-menu__link p::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 8px;
  }
  .sp-nav .sp-menu__link img {
    flex-shrink: 0;
    width: 30px;
    transition: 0.3s;
  }
  .sp-nav .sp-menu__link:hover {
    opacity: 1;
  }
  .sp-nav .sp-menu__link:hover img {
    transform: translateX(10px);
  }
  .sp-nav .sp-menu__children {
    background-color: #f8f8f8;
    padding-left: 17px;
    padding-right: 17px;
  }
  .sp-nav .sp-menu__child:first-child {
    border-bottom: 1px solid #e7e7e7;
  }
  .sp-nav .sp-menu__sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
  }
  .sp-nav .sp-menu__sub p {
    font-size: 15px;
    color: #233532;
  }
  .sp-nav .sp-menu__sub p span {
    display: block;
    font-size: 12px;
    margin-bottom: 5px;
  }
  .sp-nav .sp-menu__sub img {
    flex-shrink: 0;
    width: 30px;
    transition: 0.3s;
  }
  .sp-nav .sp-menu__sub:hover {
    opacity: 1;
  }
  .sp-nav .sp-menu__sub:hover img {
    transform: translateX(10px);
  }
  .sp-nav .sp-cta {
    margin: 21px auto 0;
    width: 353px;
    display: flex;
    justify-content: space-between;
  }
  .sp-nav .sp-cta__item {
    width: 170px;
    height: 67px;
    color: white;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    padding: 0;
  }
  .sp-nav .sp-cta__item:hover img {
    transform: none;
  }
  .sp-nav .sp-cta__item img {
    margin-left: 0;
    margin-right: 10px;
  }
  .sp-nav .sp-cta__item.item01 img {
    width: 19px;
  }
  .sp-nav .sp-cta__item.item02 {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  .sp-nav .sp-cta__item.item02 img {
    width: 22px;
  }
  .follow-cta {
    width: 100%;
    position: fixed;
    bottom: 15px;
    left: 0;
    z-index: 500;
    display: flex;
    justify-content: center;
    gap: 15px;
  }
}
@media screen and (max-width: 1199px) and (max-width: 499px) {
  .follow-cta {
    width: 100%;
    padding: 0 15px;
  }
}
@media screen and (max-width: 1199px) {
  .follow-cta__item {
    width: 167px;
    height: 49px;
    color: white;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    padding: 0;
  }
  .follow-cta__item:hover img {
    transform: none;
  }
}
@media screen and (max-width: 1199px) and (max-width: 499px) {
  .follow-cta__item {
    flex: 1;
    width: auto;
  }
}
@media screen and (max-width: 1199px) {
  .follow-cta__item img {
    margin-left: 0;
    margin-right: 10px;
  }
  .follow-cta__item.item01 img {
    width: 23px;
  }
  .follow-cta__item.item02 {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  .follow-cta__item.item02 img {
    width: 28px;
  }
}
/*****************/
/***header  ***/
/*****************/
@media screen and (min-width: 1200px) {
  #header {
    width: 93%;
    position: fixed;
    z-index: 999;
    top: 21px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    max-width: 1340px;
  }
  #header .header-top {
    height: 83px;
    padding-left: 30px;
    padding-right: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #header .header-logo a img {
    width: 191px;
  }
  #header .header-menu {
    display: flex;
    align-items: center;
  }
  #header .header-menu__item {
    font-size: 15px;
    display: flex;
    align-items: center;
    margin-right: 50px;
    height: 52px;
    cursor: pointer;
  }
  #header .header-menu__item span {
    flex-shrink: 0;
    margin-left: 10px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    transform: rotate(45deg);
    transition: all 0.6s ease;
  }
  #header .header-menu__item.active span {
    transform: rotate(-135deg);
  }
  #header .header-menu__item.recruit {
    margin-right: 15px;
  }
  #header .header-menu__item.contact {
    margin-right: 0;
  }
  #header .header-menu__link {
    color: #233532;
  }
  #header .header-menu__link.cta-button {
    color: white;
    width: 180px;
    padding-left: 20px;
  }
  #header .header-menu__link.contact {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  #header .header-bottom {
    padding-top: 30px;
    padding-bottom: 57px;
    padding-left: 7%;
    padding-right: 6%;
    display: flex;
  }
  #header .header-bottom__left {
    border-right: 1px solid rgba(35, 53, 50, 0.2);
    padding-right: 5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #header .header-bottom__right {
    margin-left: 8%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 40px;
  }
  #header .header-bottom__link {
    flex-shrink: 0;
    width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #233532;
  }
  #header .header-bottom__link:hover {
    opacity: 1;
  }
  #header .header-bottom__link:hover .header-bottom__item img {
    transform: translateX(10px);
  }
  #header .header-bottom__img {
    width: 100%;
    border-radius: 10px;
  }
  #header .header-bottom__sub {
    margin-top: 18px;
  }
  #header .header-bottom__sub span {
    font-size: 13px;
  }
  #header .header-bottom__item {
    margin-top: 7px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
  }
  #header .header-bottom__item img {
    width: 30px;
    transition: 0.3s;
  }
}
@media screen and (max-width: 1199px) {
  #header {
    position: absolute;
    z-index: 500;
    top: 10px;
    left: 10px;
  }
  #header .header-logo a img {
    width: 140px;
  }
  #header .header-menu {
    display: none;
    align-items: center;
  }
  #header .header-menu__item {
    font-size: 15px;
    display: flex;
    align-items: center;
    margin-right: 50px;
    height: 52px;
    cursor: pointer;
  }
  #header .header-menu__item span {
    flex-shrink: 0;
    margin-left: 10px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid black;
    border-right: 1px solid black;
    transform: rotate(45deg);
    transition: all 0.6s ease;
  }
  #header .header-menu__item.active span {
    transform: rotate(-135deg);
  }
  #header .header-menu__item.recruit {
    margin-right: 15px;
  }
  #header .header-menu__item.contact {
    margin-right: 0;
  }
  #header .header-menu__link {
    color: #233532;
  }
  #header .header-menu__link.cta-button {
    color: white;
    width: 180px;
  }
  #header .header-menu__link.contact {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  #header .header-bottom {
    padding-top: 30px;
    padding-bottom: 57px;
    padding-left: 7%;
    padding-right: 6%;
    display: none;
    flex-wrap: wrap;
  }
  #header .header-bottom__left {
    border-right: 1px solid rgba(35, 53, 50, 0.2);
    padding-right: 5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #header .header-bottom__right {
    margin-left: 8%;
    display: flex;
    align-items: stretch;
    gap: 40px;
  }
  #header .header-bottom__link {
    flex-shrink: 0;
    width: 343px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #233532;
  }
  #header .header-bottom__img {
    width: 100%;
    border-radius: 10px;
  }
  #header .header-bottom__sub {
    margin-top: 18px;
  }
  #header .header-bottom__sub span {
    font-size: 13px;
  }
  #header .header-bottom__item {
    margin-top: 7px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
  }
  #header .header-bottom__item img {
    width: 30px;
  }
}

/*****************/
/***contact ***/
/*****************/
@media screen and (min-width: 769px) {
  #contact {
    padding-top: 50px;
    padding-bottom: 50px;
    background-image: url(/assets/images/contact-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #contact .contact-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  #contact .contact-cta * {
    color: #233532;
  }
  #contact .contact-cta__item {
    flex-shrink: 0;
    width: 540px;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 50px;
  }
  #contact .contact-cta__sub {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 600;
  }
}
@media screen and (max-width: 768px) {
  #contact {
    padding-top: 40px;
    padding-bottom: 40px;
    background-image: url(/assets/images/contact-bgSP.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #contact .contact-cta * {
    color: #233532;
  }
  #contact .contact-cta__item {
    margin: 0 auto;
    max-width: 540px;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 30px;
  }
  #contact .contact-cta__item.item02 {
    margin-top: 15px;
  }
  #contact .contact-cta__sub {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 600;
  }
}

/*****************/
/***footer ***/
/*****************/
#footer {
  background-color: #fafafa;
}
@media screen and (min-width: 769px) {
  #footer {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  #footer .footer-locate {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  #footer .footer-locate__item {
    flex-shrink: 0;
    width: 360px;
    border-radius: 10px;
    background-color: white;
    padding: 20px;
  }
  #footer .footer-locate__ttl {
    font-size: 15px;
    color: #233532;
    display: flex;
    align-items: center;
  }
  #footer .footer-locate__ttl::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 5px;
  }
  #footer .footer-locate__address {
    margin-top: 10px;
    font-size: 12px;
  }
  #footer .footer-locate__tel {
    margin-top: 10px;
    font-size: 14px;
  }
  #footer .footer-main {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
  }
  #footer .footer-main__left {
    margin-bottom: 10px;
  }
  #footer .footer-main__logo img {
    width: 241px;
  }
  #footer .footer-main__copy {
    margin-top: 73px;
    font-size: 12px;
    font-weight: 400;
    color: #233532;
    opacity: 0.5;
  }
  #footer .footer-main__right {
    margin-left: 2%;
    display: flex;
    flex-wrap: wrap;
    gap: 75px;
  }
  #footer .footer-main__box {
    flex-shrink: 0;
    width: 145px;
  }
  #footer .footer-main__item {
    margin-bottom: 30px;
  }
  #footer .footer-main__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    color: #233532;
  }
  #footer .footer-main__link img {
    width: 30px;
    transition: 0.3s;
  }
  #footer .footer-main__link:hover {
    opacity: 1;
  }
  #footer .footer-main__link:hover img {
    transform: translateX(10px);
  }
  #footer .footer-main__children {
    margin-top: 20px;
    border-left: 1px solid rgba(35, 53, 50, 0.2);
    padding-left: 15px;
  }
  #footer .footer-main__sub {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #233532;
    font-size: 13px;
  }
  #footer .footer-main__sub img {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #footer {
    padding-top: 40px;
    padding-bottom: 100px;
  }
  #footer .footer-locate__item {
    margin: 0 auto;
    max-width: 360px;
    border-radius: 10px;
    background-color: white;
    padding: 15px;
    margin-bottom: 10px;
  }
  #footer .footer-locate__item:last-child {
    margin-bottom: 0;
  }
  #footer .footer-locate__ttl {
    font-size: 14px;
    color: #233532;
    display: flex;
    align-items: center;
  }
  #footer .footer-locate__ttl::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 5px;
  }
  #footer .footer-locate__address {
    margin-top: 10px;
    font-size: 12px;
  }
  #footer .footer-locate__tel {
    margin-top: 10px;
    font-size: 13px;
  }
  #footer .footer-main {
    margin-top: 40px;
    display: flex;
    flex-direction: column-reverse;
  }
  #footer .footer-main__left {
    margin-top: 45px;
  }
  #footer .footer-main__logo img {
    margin: 0 auto;
    width: 205px;
  }
  #footer .footer-main__copy {
    margin-top: 45px;
    font-size: 12px;
    font-weight: 400;
    color: #233532;
    opacity: 0.5;
    text-align: center;
  }
  #footer .footer-main__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    padding: 16px 10px;
    color: #233532;
    border-bottom: 1px solid #d3d7d6;
  }
  #footer .footer-main__link img {
    width: 22px;
    transition: 0.3s;
  }
  #footer .footer-main__link:hover {
    opacity: 1;
  }
  #footer .footer-main__link:hover img {
    transform: translateX(10px);
  }
  #footer .footer-main__sub {
    padding: 16px 10px;
    background-color: white;
    color: #233532;
    font-size: 13px;
    border-bottom: 1px solid #d3d7d6;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #footer .footer-main__sub img {
    width: 22px;
    transition: 0.3s;
  }
  #footer .footer-main__sub:hover {
    opacity: 1;
  }
  #footer .footer-main__sub:hover img {
    transform: translateX(10px);
  }
}

main#top {
  /*-------------------*/
  /*-hero-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#top #hero {
    position: relative;
    overflow: hidden;
    padding-top: 204px;
    padding-bottom: 34px;
  }
  main#top #hero::before {
    content: "";
    display: block;
    width: 100%;
    height: 596px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(transparent, rgba(250, 250, 250, 0.7), rgb(250, 250, 250));
    z-index: 1;
  }
  main#top #hero .hero-bg {
    position: absolute;
    width: 60%;
    top: 0;
    right: 0;
  }
  main#top #hero .hero-container {
    max-width: 1290px;
    z-index: 5;
  }
  main#top #hero .hero-catch {
    font-size: 70px;
  }
  main#top #hero .hero-catch span.green {
    color: #168573;
  }
  main#top #hero .hero-catch span.orange {
    color: #f3780f;
  }
  main#top #hero .hero-sub {
    margin-top: 23px;
    font-size: 23px;
    opacity: 0.5;
    font-weight: bold;
  }
  main#top #hero .hero-slider {
    margin-top: 30px;
    position: relative;
    z-index: 2;
  }
  main#top #hero .hero-slider__item {
    display: inline-block;
  }
  main#top #hero .hero-slider__item img {
    border-radius: 10px;
  }
  main#top #hero .hero-slider__item.item01 {
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 155px;
  }
  main#top #hero .hero-slider__item.item01 img {
    width: 420px;
  }
  main#top #hero .hero-slider__item.item02 {
    padding-left: 25px;
    padding-right: 13px;
    padding-top: 82px;
  }
  main#top #hero .hero-slider__item.item02 img {
    width: 440px;
  }
  main#top #hero .hero-slider__item.item03 {
    padding-left: 13px;
    padding-right: 29px;
    padding-top: 167px;
  }
  main#top #hero .hero-slider__item.item03 img {
    width: 320px;
  }
  main#top #hero .hero-slider__item.item04 {
    padding-left: 29px;
    padding-right: 25px;
  }
  main#top #hero .hero-slider__item.item04 img {
    width: 440px;
  }
}
@media screen and (max-width: 768px) {
  main#top #hero {
    position: relative;
    overflow: hidden;
    padding-top: 86px;
    padding-bottom: 70px;
  }
  main#top #hero::before {
    content: "";
    display: block;
    width: 100%;
    height: 407px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(transparent, rgba(250, 250, 250, 0.7), rgb(250, 250, 250));
    z-index: 1;
  }
  main#top #hero .hero-bg {
    position: absolute;
    width: 100%;
    top: 0;
    right: 0;
  }
  main#top #hero .hero-container {
    max-width: 1290px;
    padding-right: 25px;
    padding-left: 25px;
    z-index: 5;
  }
  main#top #hero .hero-catch {
    font-size: 40px;
    line-height: 1.4;
  }
  main#top #hero .hero-catch span.green {
    color: #168573;
  }
  main#top #hero .hero-catch span.orange {
    color: #f3780f;
  }
  main#top #hero .hero-sub {
    margin-top: 12px;
    font-size: 16px;
    opacity: 0.5;
    font-weight: bold;
    line-height: 1.4;
  }
  main#top #hero .hero-slider {
    position: relative;
    z-index: 2;
    margin-top: 20px;
  }
  main#top #hero .hero-slider__item {
    display: inline-block;
  }
  main#top #hero .hero-slider__item img {
    border-radius: 10px;
  }
  main#top #hero .hero-slider__item.item01 {
    padding-left: 13px;
    padding-right: 13px;
    padding-top: 155px;
  }
  main#top #hero .hero-slider__item.item01 img {
    width: 222px;
  }
  main#top #hero .hero-slider__item.item02 {
    padding-left: 13px;
    padding-right: 13px;
    padding-top: 82px;
  }
  main#top #hero .hero-slider__item.item02 img {
    width: 233px;
  }
  main#top #hero .hero-slider__item.item03 {
    padding-left: 13px;
    padding-right: 13px;
    padding-top: 167px;
  }
  main#top #hero .hero-slider__item.item03 img {
    width: 169px;
  }
  main#top #hero .hero-slider__item.item04 {
    padding-left: 13px;
    padding-right: 13px;
  }
  main#top #hero .hero-slider__item.item04 img {
    width: 233px;
  }
}
main#top {
  /*-------------------*/
  /*-intro-*/
  /*-------------------*/
}
main#top #intro {
  background-color: #fafafa;
  position: relative;
}
@media screen and (min-width: 769px) {
  main#top #intro {
    padding-top: 96px;
    padding-bottom: 307px;
  }
  main#top #intro .intro-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 70%;
  }
  main#top #intro .intro-img {
    width: 45%;
    position: absolute;
    top: 17%;
    right: 0;
    max-width: 750px;
  }
  main#top #intro .intro-main {
    width: 54%;
    max-width: 509px;
  }
  main#top #intro .intro-lead {
    margin-top: 10px;
    font-size: 34px;
  }
  main#top #intro .intro-lead span {
    color: #168573;
  }
  main#top #intro .intro-desc {
    margin-top: 30px;
    font-size: 16px;
  }
  main#top #intro .intro-cta {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  main#top #intro {
    padding-bottom: 69px;
    overflow: hidden;
  }
  main#top #intro .intro-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: translate(0, 50%);
  }
  main#top #intro .intro-img {
    margin-top: 30px;
    width: 100%;
    border-radius: 15px;
  }
  main#top #intro .intro-lead {
    margin-top: 10px;
    font-size: 22px;
  }
  main#top #intro .intro-lead span {
    color: #168573;
  }
  main#top #intro .intro-desc {
    margin-top: 20px;
    font-size: 14px;
  }
  main#top #intro .intro-cta {
    margin-top: 30px;
  }
}
main#top {
  /*-------------------*/
  /*-service-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#top #service {
    padding-top: 125px;
    padding-bottom: 125px;
  }
  main#top #service .service-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  main#top #service .service-main {
    margin-top: 70px;
  }
  main#top #service .service-main__link {
    border-radius: 10px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 30px;
    height: 450px;
  }
  main#top #service .service-main__link.link01 {
    background-image: url(/assets/images/top/service-main__link01.jpg);
  }
  main#top #service .service-main__link.link02 {
    margin-top: 20px;
    background-image: url(/assets/images/top/service-main__link02.jpg);
  }
  main#top #service .service-main__link img {
    flex-shrink: 0;
    width: 30px;
    transition: 0.3s;
  }
  main#top #service .service-main__link:hover {
    opacity: 1;
  }
  main#top #service .service-main__link:hover img {
    transform: translateX(10px);
  }
  main#top #service .service-main__eng {
    font-size: 20px;
    color: white;
    opacity: 0.5;
    font-weight: bold;
  }
  main#top #service .service-main__sub {
    margin-top: 10px;
    font-size: 20px;
    color: white;
  }
  main#top #service .service-main__ttl {
    margin-top: 10px;
    font-size: 30px;
    color: white;
  }
}
@media screen and (max-width: 768px) {
  main#top #service {
    padding-top: 50px;
    padding-bottom: 63px;
  }
  main#top #service .service-main {
    margin-top: 30px;
  }
  main#top #service .service-main__link {
    border-radius: 10px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 15px;
    height: 220px;
  }
  main#top #service .service-main__link.link01 {
    background-image: url(/assets/images/top/service-main__link01SP.jpg);
  }
  main#top #service .service-main__link.link01 .service-main__ttl {
    font-size: 18px;
  }
  main#top #service .service-main__link.link02 {
    margin-top: 20px;
    background-image: url(/assets/images/top/service-main__link02SP.jpg);
  }
  main#top #service .service-main__link img {
    flex-shrink: 0;
    width: 30px;
    transition: 0.3s;
  }
  main#top #service .service-main__link:hover {
    opacity: 1;
  }
  main#top #service .service-main__link:hover img {
    transform: translateX(10px);
  }
  main#top #service .service-main__eng {
    font-size: 14px;
    color: white;
    opacity: 0.5;
    font-weight: bold;
  }
  main#top #service .service-main__sub {
    margin-top: 10px;
    font-size: 16px;
    color: white;
  }
  main#top #service .service-main__ttl {
    margin-top: 10px;
    font-size: 20px;
    color: white;
  }
  main#top #service .service-cta {
    margin-top: 30px;
  }
}
main#top {
  /*-------------------*/
  /*-system-*/
  /*-------------------*/
}
@media screen and (min-width: 1000px) {
  main#top #system {
    overflow: hidden;
    position: relative;
    background-image: url(/assets/images/top/system-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  main#top #system .system-wrapper {
    position: relative;
    padding-top: 80px;
    padding-bottom: 72px;
  }
  main#top #system .system-img {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    max-width: 700px;
    height: 100%;
    background-image: url(/_astro/system-img.M3ysosj7.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    clip-path: inset(0 0 0 0 round 200px 0 0 200px/100%);
  }
  main#top #system .system-img.sp {
    display: none;
  }
  main#top #system .system-main {
    max-width: 502px;
    width: 50%;
  }
  main#top #system .system-lead {
    font-size: 36px;
    color: white;
  }
  main#top #system .system-desc {
    margin-top: 60px;
    font-size: 16px;
    color: white;
  }
  main#top #system .system-cta {
    margin-top: 60px;
    background: white;
    color: #168573;
  }
}
@media screen and (max-width: 999px) {
  main#top #system .system-wrapper {
    padding-top: 50px;
    background-image: url(/assets/images/top/system-bgSP.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
  }
  main#top #system .system-container.pc {
    display: none;
  }
  main#top #system .system-img {
    margin-top: 25px;
    position: relative;
    overflow: hidden;
  }
  main#top #system .system-img img {
    width: 100%;
  }
  main#top #system .system-img.pc {
    display: none;
  }
  main#top #system .system-lead {
    font-size: 24px;
    color: white;
  }
  main#top #system .system-desc {
    margin-top: 30px;
    font-size: 14px;
    color: white;
  }
  main#top #system .system-cta {
    margin-top: 30px;
    background: white;
    color: #168573;
  }
}
main#top {
  /*-------------------*/
  /*-access-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#top #access {
    padding-top: 125px;
    padding-bottom: 257px;
  }
  main#top #access .access-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  main#top #access .access-cta {
    width: 284px;
    white-space: nowrap;
  }
  main#top #access .access-info {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  main#top #access .access-info__address {
    font-size: 16px;
  }
  main#top #access .access-info__right {
    display: flex;
    align-items: center;
    gap: 40px;
  }
  main#top #access .access-info__number {
    color: #168573;
    font-size: 19px;
    font-weight: bold;
    display: flex;
    align-items: center;
  }
  main#top #access .access-info__number span {
    display: block;
    width: 57px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 16px;
    margin-right: 10px;
  }
  main#top #access .access-map {
    margin-top: 30px;
    height: 342px;
  }
  main#top #access .access-map iframe {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  main#top #access {
    padding-top: 50px;
    padding-bottom: 100px;
  }
  main#top #access .access-cta {
    margin-top: 30px;
    width: 270px;
    white-space: nowrap;
  }
  main#top #access .access-info {
    margin-top: 30px;
  }
  main#top #access .access-info__address {
    font-size: 13px;
    line-height: 1.6;
  }
  main#top #access .access-info__right {
    margin-top: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  main#top #access .access-info__number {
    color: #168573;
    font-size: 17px;
    font-weight: bold;
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-right: 20px;
    margin-bottom: 10px;
  }
  main#top #access .access-info__number:last-child {
    margin-right: 0;
  }
  main#top #access .access-info__number span {
    display: block;
    width: 45px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 14px;
    margin-right: 10px;
  }
  main#top #access .access-map {
    margin-top: 10px;
    height: 220px;
  }
  main#top #access .access-map iframe {
    width: 100%;
    height: 100%;
  }
}
main#top {
  /*-------------------*/
  /*-recruit-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#top #recruit {
    position: relative;
    background: linear-gradient(#168573, #006c5b);
    height: 440px;
  }
  main#top #recruit .recruit-top {
    width: 94%;
    position: absolute;
    left: 50%;
    top: -84px;
    transform: translateX(-50%);
    border-radius: 10px;
    height: 463px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  main#top #recruit .recruit-top * {
    color: white;
    text-align: center;
  }
  main#top #recruit .recruit-top__ttl {
    font-size: 50px;
    font-weight: bold;
  }
  main#top #recruit .recruit-top__lead {
    margin-top: 30px;
    font-size: 32px;
  }
  main#top #recruit .recruit-top__desc {
    margin-top: 20px;
    font-size: 16px;
  }
  main#top #recruit .recruit-top__img {
    margin: 30px auto 0;
    width: 30px;
    transition: 0.3s;
  }
  main#top #recruit .recruit-top__link {
    position: relative;
  }
  main#top #recruit .recruit-top__link:hover {
    opacity: 1;
  }
  main#top #recruit .recruit-top__link:hover img {
    transform: translateX(10px);
  }
  main#top #recruit .recruit-slider {
    width: 100%;
    inset: 0;
    position: absolute;
  }
  main#top #recruit .recruit-slider__item {
    width: 340px;
    height: 463px;
  }
  main#top #recruit .recruit-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#top #recruit .recruit-bg {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
  }
}
@media screen and (max-width: 768px) {
  main#top #recruit {
    position: relative;
    background: linear-gradient(#168573, #006c5b);
    height: 220px;
  }
  main#top #recruit .recruit-top {
    width: 90%;
    position: absolute;
    left: 50%;
    top: -34px;
    transform: translateX(-50%);
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  main#top #recruit .recruit-top * {
    color: white;
    text-align: center;
  }
  main#top #recruit .recruit-top__ttl {
    font-size: 40px;
    font-weight: bold;
  }
  main#top #recruit .recruit-top__lead {
    margin-top: 10px;
    font-size: 15px;
  }
  main#top #recruit .recruit-top__desc {
    margin-top: 10px;
    font-size: 11px;
  }
  main#top #recruit .recruit-top__img {
    margin: 10px auto 0;
    width: 30px;
    transition: 0.3s;
  }
  main#top #recruit .recruit-top__link {
    position: relative;
  }
  main#top #recruit .recruit-top__link:hover {
    opacity: 1;
  }
  main#top #recruit .recruit-top__link:hover img {
    transform: translateX(10px);
  }
  main#top #recruit .recruit-slider {
    width: 100%;
    inset: 0;
    position: absolute;
  }
  main#top #recruit .recruit-slider__item {
    width: 162px;
    height: 220px;
  }
  main#top #recruit .recruit-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#top #recruit .recruit-bg {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
  }
}

@media screen and (min-width: 769px) {
  main#service {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 768px) {
  main#service {
    padding-bottom: 50px;
  }
}
main#service {
  /*-------------------*/
  /*anchors
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#service #anchors {
    margin-top: 120px;
  }
  main#service #anchors .anchors-list {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
  }
  main#service #anchors .anchors-list__link {
    flex: 1;
    height: 52px;
    border-radius: 10px;
    background: linear-gradient(120deg, #168573, #006c5b);
    color: white;
    font-size: 16px;
    min-width: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  main#service #anchors {
    margin-top: 60px;
  }
  main#service #anchors .anchors-list {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-direction: column;
  }
  main#service #anchors .anchors-list__link {
    height: 52px;
    border-radius: 10px;
    background: linear-gradient(120deg, #168573, #006c5b);
    color: white;
    font-size: 14px;
    width: 100%;
    max-width: 535px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
main#service {
  /*-------------------*/
  /*management
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#service #management {
    margin-top: 68px;
  }
  main#service #management .management-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(2, 78, 66, 0.1);
    padding: 0;
  }
  main#service #management .management-header {
    height: 330px;
  }
  main#service #management .management-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #management .management-inner {
    padding: 80px 50px 0;
    background-color: white;
  }
  main#service #management .management-ttl span.eng {
    width: auto;
    height: auto;
    background: none;
    font-size: 18px;
    margin: 0;
  }
  main#service #management .management-ttl .main {
    margin-top: 18px;
    font-size: 30px;
    font-weight: 500;
  }
  main#service #management .management-ttl .main span {
    display: block;
    font-size: 20px;
    margin-bottom: 10px;
  }
  main#service #management .management-lead {
    margin-top: 30px;
  }
  main#service #management .management-desc {
    margin-top: 19px;
  }
  main#service #management .management-solve {
    margin-top: 80px;
    background-color: #f4f8f7;
    padding: 40px;
  }
  main#service #management .management-solve__ttl {
    font-size: 24px;
    text-align: center;
  }
  main#service #management .management-solve__ttl span {
    color: #168573;
    font-size: 30px;
  }
  main#service #management .management-solve__list {
    margin-top: 30px;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
  }
  main#service #management .management-solve__item {
    background-color: white;
    min-width: 293px;
    flex: 1;
    padding: 15px;
    font-size: 18px;
    line-height: 1.6;
    text-align: center;
  }
  main#service #management .management-solve__item span {
    color: #f3780f;
  }
  main#service #management .management-solve__catch {
    margin-top: 30px;
    border: 2px solid #168573;
    background-color: white;
    padding: 15px;
    color: #168573;
    font-size: 22px;
    text-align: center;
    line-height: 1.6;
  }
  main#service #management .management-solve__catch span {
    font-size: 30px;
  }
  main#service #management .management-about {
    margin-top: 80px;
  }
  main#service #management .management-about__desc {
    margin-top: 30px;
  }
  main#service #management .management-about__main {
    margin-top: 40px;
    background-color: rgba(255, 197, 148, 0.1);
    padding: 50px 40px;
  }
  main#service #management .management-about__lead {
    font-size: 25px;
    line-height: 1.6;
    text-align: center;
    font-weight: 700;
  }
  main#service #management .management-about__lead span {
    font-size: 35px;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#service #management .management-about__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 20px;
    gap: 20px;
  }
  main#service #management .management-about__list.list01 {
    margin-top: 40px;
  }
  main#service #management .management-about__item {
    flex: 1;
    min-width: 293px;
    background-color: white;
    padding: 30px 11px;
  }
  main#service #management .management-about__number {
    display: block;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
  }
  main#service #management .management-about__benefit {
    margin-top: 15px;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
  }
  main#service #management .management-about__detail {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
    line-height: 1.6;
  }
  main#service #management .management-system {
    margin-top: 80px;
  }
  main#service #management .management-system__row {
    padding: 30px 0;
    border-bottom: 1px solid rgba(35, 53, 50, 0.2);
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  main#service #management .management-system__row:last-child {
    border: none;
  }
  main#service #management .management-system__th {
    flex-shrink: 0;
    width: 240px;
    font-size: 20px;
  }
  main#service #management .management-system__content {
    max-width: 740px;
  }
  main#service #management .management-system__desc {
    font-size: 14px;
    display: flex;
    align-items: center;
  }
  main#service #management .management-system__desc .phase {
    flex-shrink: 0;
    width: 78px;
    height: 25px;
    border: 1px solid #168573;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #168573;
    font-size: 13px;
    margin-right: 15px;
  }
  main#service #management .management-system__desc.desc02,
  main#service #management .management-system__desc.desc03 {
    margin-top: 10px;
  }
  main#service #management .management-system__list {
    margin-top: 10px;
  }
  main#service #management .management-system__item {
    margin-bottom: 8px;
    font-size: 14px;
    display: flex;
    align-items: center;
  }
  main#service #management .management-system__item::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 7px;
  }
  main#service #management .management-system__note {
    margin-top: 10px;
    font-size: 12px;
    color: #7d7d7d;
  }
  main#service #management .management-scene {
    margin-top: 80px;
    padding-bottom: 65px;
  }
  main#service #management .management-scene__desc {
    margin-top: 30px;
  }
  main#service #management .management-scene__list {
    margin: 40px -15px 0;
    display: flex;
    flex-wrap: wrap;
  }
  main#service #management .management-scene__item {
    flex-shrink: 0;
    width: 227px;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 15px;
    font-size: 15px;
    text-align: center;
  }
  main#service #management .management-scene__item img {
    margin-bottom: 20px;
    width: 100%;
    border-radius: 10px;
  }
  main#service #management .management-flow {
    padding: 80px 50px;
    background-color: #fafafa;
  }
  main#service #management .management-flow__list {
    margin: 40px -10px 0;
    display: flex;
    flex-wrap: wrap;
  }
  main#service #management .management-flow__item {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    flex-shrink: 0;
    width: 150px;
    box-shadow: 2px 2px 10px 0 rgba(2, 78, 66, 0.1);
    position: relative;
  }
  main#service #management .management-flow__item::before {
    content: "";
    display: block;
    width: 25px;
    height: 2px;
    background-image: url(/assets/images/service/line.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-95%, -50%);
  }
  main#service #management .management-flow__item:first-child::before {
    display: none;
  }
  main#service #management .management-flow__inner {
    border-radius: 10px;
    position: relative;
    height: 143px;
    background-color: white;
    padding: 15px 10px;
    z-index: 1;
  }
  main#service #management .management-flow__inner.item06 {
    background-color: #f3780f;
  }
  main#service #management .management-flow__number {
    margin: 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #168573;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 11px;
    font-weight: bold;
    color: white;
    text-align: center;
  }
  main#service #management .management-flow__number span {
    font-size: 18px;
  }
  main#service #management .management-flow__number.item06 {
    background-color: white;
    color: #f3780f;
  }
  main#service #management .management-flow__main {
    margin-top: 20px;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
  }
  main#service #management .management-flow__main.item06 {
    color: white;
  }
  main#service #management .management-structure {
    padding: 80px 15px;
    background-color: #168573;
    position: relative;
  }
  main#service #management .management-structure__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #management .management-structure__inner {
    margin: 0 auto;
    max-width: 900px;
    position: relative;
  }
  main#service #management .management-structure__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  main#service #management .management-structure__ttl {
    font-size: 36px;
    color: white;
    line-height: 1.6;
  }
  main#service #management .management-structure__cta {
    background: white;
    color: #168573;
  }
  main#service #management .management-structure__desc {
    color: white;
    margin-top: 72px;
  }
  main#service #management .management-structure__prime {
    margin-top: 60px;
    border-radius: 20px;
    background-color: #026c5b;
    padding: 20px 50px 40px;
  }
  main#service #management .management-structure__catch {
    color: white;
    font-size: 28px;
    text-align: center;
  }
  main#service #management .management-structure__catch span {
    font-size: 35px;
  }
  main#service #management .management-structure__list {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  main#service #management .management-structure__item {
    border-radius: 10px;
    border: 2px solid white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    height: 80px;
    min-width: 246px;
    font-size: 22px;
    color: white;
  }
  main#service #management .management-structure__item span {
    margin-top: 10px;
    border-radius: 3px;
    background-color: white;
    padding: 5px 10px;
    color: #168573;
    font-size: 15px;
  }
}
@media screen and (max-width: 768px) {
  main#service #management {
    margin-top: 35px;
  }
  main#service #management .management-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(2, 78, 66, 0.1);
    padding: 0;
  }
  main#service #management .management-header {
    height: 150px;
  }
  main#service #management .management-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #management .management-inner {
    padding: 40px 20px 0;
    background-color: white;
  }
  main#service #management .management-ttl span.eng {
    width: auto;
    height: auto;
    background: none;
    font-size: 16px;
    margin: 0;
  }
  main#service #management .management-ttl .main {
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
  }
  main#service #management .management-ttl .main span {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
  }
  main#service #management .management-lead {
    margin-top: 20px;
  }
  main#service #management .management-desc {
    margin-top: 10px;
  }
  main#service #management .management-solve {
    margin-top: 40px;
    background-color: #f4f8f7;
    padding: 20px;
  }
  main#service #management .management-solve__ttl {
    font-size: 18px;
    text-align: center;
  }
  main#service #management .management-solve__ttl span {
    color: #168573;
    font-size: 20px;
  }
  main#service #management .management-solve__list {
    margin-top: 20px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
  }
  main#service #management .management-solve__item {
    background-color: white;
    min-width: 250px;
    flex: 1;
    padding: 10px;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
  }
  main#service #management .management-solve__item span {
    color: #f3780f;
  }
  main#service #management .management-solve__catch {
    margin-top: 20px;
    border: 2px solid #168573;
    background-color: white;
    padding: 10px;
    color: #168573;
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
  }
  main#service #management .management-solve__catch span {
    font-size: 20px;
  }
  main#service #management .management-about {
    margin-top: 40px;
  }
  main#service #management .management-about__desc {
    margin-top: 20px;
  }
  main#service #management .management-about__main {
    margin-top: 20px;
    background-color: rgba(255, 197, 148, 0.1);
    padding: 20px;
  }
  main#service #management .management-about__lead {
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    font-weight: 700;
  }
  main#service #management .management-about__lead span {
    font-size: 20px;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#service #management .management-about__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin-top: 15px;
    gap: 15px;
  }
  main#service #management .management-about__list.list01 {
    margin-top: 20px;
  }
  main#service #management .management-about__item {
    flex: 1;
    min-width: 250px;
    background-color: white;
    padding: 20px 11px;
  }
  main#service #management .management-about__number {
    display: block;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  main#service #management .management-about__benefit {
    margin-top: 10px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
  }
  main#service #management .management-about__detail {
    margin-top: 10px;
    text-align: center;
    font-size: 12px;
    line-height: 1.6;
  }
  main#service #management .management-system {
    margin-top: 40px;
  }
  main#service #management .management-system__row {
    padding: 20px 0;
    border-bottom: 1px solid rgba(35, 53, 50, 0.2);
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  main#service #management .management-system__row:last-child {
    border: none;
  }
  main#service #management .management-system__th {
    flex-shrink: 0;
    width: 240px;
    font-size: 16px;
  }
  main#service #management .management-system__content {
    max-width: 740px;
  }
  main#service #management .management-system__desc {
    font-size: 13px;
  }
  main#service #management .management-system__desc .phase {
    margin-bottom: 10px;
    flex-shrink: 0;
    width: 78px;
    height: 25px;
    border: 1px solid #168573;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #168573;
    font-size: 13px;
    margin-right: 15px;
  }
  main#service #management .management-system__desc.desc02,
  main#service #management .management-system__desc.desc03 {
    margin-top: 10px;
  }
  main#service #management .management-system__list {
    margin-top: 10px;
  }
  main#service #management .management-system__item {
    margin-bottom: 8px;
    font-size: 14px;
    display: flex;
    align-items: center;
  }
  main#service #management .management-system__item::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 7px;
  }
  main#service #management .management-system__note {
    margin-top: 10px;
    font-size: 12px;
    color: #7d7d7d;
  }
  main#service #management .management-scene {
    margin-top: 40px;
    padding-bottom: 35px;
  }
  main#service #management .management-scene__desc {
    margin-top: 20px;
  }
  main#service #management .management-scene__list {
    margin: 20px -10px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  main#service #management .management-scene__item {
    flex-shrink: 0;
    width: calc(50% - 20px);
    max-width: 227px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    font-size: 15px;
    text-align: center;
  }
  main#service #management .management-scene__item img {
    margin: 0 auto;
    width: 227px;
    margin-bottom: 10px;
    border-radius: 10px;
  }
  main#service #management .management-flow {
    padding: 40px 20px;
    background-color: #fafafa;
  }
  main#service #management .management-flow__list {
    margin: 20px auto 0;
    max-width: 400px;
  }
  main#service #management .management-flow__item {
    margin-bottom: 20px;
    box-shadow: 2px 2px 10px 0 rgba(2, 78, 66, 0.1);
    position: relative;
  }
  main#service #management .management-flow__item::before {
    content: "";
    display: block;
    width: 25px;
    height: 2px;
    background-image: url(/assets/images/service/line.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 50%;
    top: -10px;
    transform: translate(-50%, -100%) rotate(90deg);
  }
  main#service #management .management-flow__item:first-child::before {
    display: none;
  }
  main#service #management .management-flow__inner {
    border-radius: 10px;
    position: relative;
    background-color: white;
    padding: 15px 10px;
    z-index: 1;
  }
  main#service #management .management-flow__inner.item06 {
    background-color: #f3780f;
  }
  main#service #management .management-flow__number {
    margin: 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #168573;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 11px;
    font-weight: bold;
    color: white;
    text-align: center;
  }
  main#service #management .management-flow__number span {
    font-size: 18px;
  }
  main#service #management .management-flow__number.item06 {
    background-color: white;
    color: #f3780f;
  }
  main#service #management .management-flow__main {
    margin-top: 20px;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
  }
  main#service #management .management-flow__main.item06 {
    color: white;
  }
  main#service #management .management-structure {
    padding: 40px 15px;
    background-color: #168573;
    position: relative;
  }
  main#service #management .management-structure__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #management .management-structure__inner {
    margin: 0 auto;
    max-width: 900px;
    position: relative;
  }
  main#service #management .management-structure__ttl {
    font-size: 24px;
    color: white;
    line-height: 1.6;
  }
  main#service #management .management-structure__cta {
    margin-top: 20px;
    background: white;
    color: #168573;
  }
  main#service #management .management-structure__desc {
    color: white;
    margin-top: 32px;
  }
  main#service #management .management-structure__prime {
    margin-top: 30px;
    border-radius: 20px;
    background-color: #026c5b;
    padding: 20px;
  }
  main#service #management .management-structure__catch {
    color: white;
    font-size: 20px;
    text-align: center;
  }
  main#service #management .management-structure__catch span {
    font-size: 24px;
  }
  main#service #management .management-structure__list {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  main#service #management .management-structure__item {
    border-radius: 10px;
    border: 2px solid white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    height: 80px;
    min-width: 246px;
    font-size: 18px;
    color: white;
  }
  main#service #management .management-structure__item span {
    margin-top: 10px;
    border-radius: 3px;
    background-color: white;
    padding: 5px 10px;
    color: #168573;
    font-size: 14px;
  }
}
main#service {
  /*-------------------*/
  /*logistics
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#service #logistics {
    margin-top: 100px;
  }
  main#service #logistics .logistics-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(2, 78, 66, 0.1);
    padding: 0;
  }
  main#service #logistics .logistics-header {
    height: 330px;
  }
  main#service #logistics .logistics-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #logistics .logistics-inner {
    padding: 80px 50px;
    background-color: white;
  }
  main#service #logistics .logistics-ttl span.eng {
    width: auto;
    height: auto;
    background: none;
    font-size: 18px;
    margin: 0;
  }
  main#service #logistics .logistics-ttl .main {
    margin-top: 18px;
    font-size: 30px;
  }
  main#service #logistics .logistics-lead {
    margin-top: 30px;
  }
  main#service #logistics .logistics-desc {
    margin-top: 19px;
  }
}
@media screen and (max-width: 768px) {
  main#service #logistics {
    margin-top: 50px;
  }
  main#service #logistics .logistics-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(2, 78, 66, 0.1);
    padding: 0;
  }
  main#service #logistics .logistics-header {
    height: 150px;
  }
  main#service #logistics .logistics-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#service #logistics .logistics-inner {
    padding: 40px 20px;
    background-color: white;
  }
  main#service #logistics .logistics-ttl span.eng {
    width: auto;
    height: auto;
    background: none;
    font-size: 16px;
    margin: 0;
  }
  main#service #logistics .logistics-ttl .main {
    margin-top: 16px;
    font-size: 20px;
  }
  main#service #logistics .logistics-ttl .main span {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
  }
  main#service #logistics .logistics-lead {
    margin-top: 20px;
  }
  main#service #logistics .logistics-desc {
    margin-top: 10px;
  }
}

main#driver {
  /*-------------------*/
  /*parts
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#driver {
    padding-top: 35px;
    padding-bottom: 120px;
  }
  main#driver section {
    margin-top: 80px;
  }
  main#driver .section-h3 {
    display: flex;
    align-items: center;
  }
  main#driver .section-h3 p {
    background-color: white;
    border: 1px solid rgba(35, 53, 50, 0.2);
    border-radius: 3px;
    padding: 6px 13px;
    font-size: 17px;
    color: #168573;
    font-weight: 600;
    display: block;
    margin-left: 15px;
  }
  main#driver .section-list {
    margin-top: 20px;
    display: flex;
    gap: 20px;
  }
  main#driver .section-list__item {
    flex: 1;
    background-color: white;
    padding: 40px;
  }
  main#driver .section-list__ttl {
    display: flex;
    align-items: center;
    font-size: 22px;
    color: #168573;
    flex-wrap: wrap;
    gap: 15px;
  }
  main#driver .section-list__ttl span {
    border: 1px solid rgba(35, 53, 50, 0.2);
    border-radius: 3px;
    padding: 5px 6px;
    font-size: 14px;
    color: #168573;
    font-weight: 600;
    display: block;
  }
  main#driver .section-list__desc {
    margin-top: 15px;
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  main#driver {
    padding-top: 15px;
    padding-bottom: 60px;
  }
  main#driver section {
    margin-top: 40px;
  }
  main#driver .section-h3 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  main#driver .section-h3 p {
    background-color: white;
    border: 1px solid rgba(35, 53, 50, 0.2);
    border-radius: 3px;
    padding: 6px 13px;
    font-size: 14px;
    color: #168573;
    font-weight: 600;
    display: block;
  }
  main#driver .section-list {
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  main#driver .section-list__item {
    flex: 1;
    min-width: 330px;
    background-color: white;
    padding: 20px;
  }
  main#driver .section-list__ttl {
    display: flex;
    align-items: center;
    font-size: 18px;
    color: #168573;
    line-height: 1.6;
    flex-wrap: wrap;
    gap: 10px;
  }
  main#driver .section-list__ttl span {
    border: 1px solid rgba(35, 53, 50, 0.2);
    border-radius: 3px;
    padding: 5px 6px;
    font-size: 14px;
    color: #168573;
    font-weight: 600;
    display: block;
  }
  main#driver .section-list__desc {
    margin-top: 15px;
    font-size: 14px;
  }
}
main#driver {
  /*-------------------*/
  /*management
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#driver #management .management-ttl {
    font-size: 18px;
    font-weight: bold;
  }
  main#driver #management .management-lead {
    margin-top: 10px;
    font-size: 34px;
  }
  main#driver #management .management-lead span {
    color: #168573;
  }
  main#driver #management .management-desc {
    margin-top: 35px;
  }
}
@media screen and (max-width: 768px) {
  main#driver #management .management-ttl {
    font-size: 16px;
    font-weight: bold;
  }
  main#driver #management .management-lead {
    margin-top: 10px;
    font-size: 26px;
  }
  main#driver #management .management-lead span {
    color: #168573;
  }
  main#driver #management .management-desc {
    margin-top: 20px;
  }
}
main#driver {
  /*-------------------*/
  /*risk
  /*-------------------*/
}
main#driver #risk .risk-list__children {
  margin-top: 15px;
}
main#driver #risk .risk-list__child {
  margin-bottom: 8px;
  font-size: 14px;
  display: flex;
  align-items: center;
}
main#driver #risk .risk-list__child::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(to right, #168573, #006c5b);
  margin-right: 7px;
}

main#page-overview {
  /*-------------------*/
  /*greeting
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-overview #greeting {
    position: relative;
    padding-top: 115px;
    padding-bottom: 120px;
  }
  main#page-overview #greeting .greeting-bg {
    position: absolute;
    max-width: 971px;
    width: 100%;
    bottom: 0;
    left: 0;
  }
  main#page-overview #greeting .greeting-container {
    position: relative;
  }
  main#page-overview #greeting .greeting-ttl .eng {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#page-overview #greeting .greeting-desc {
    margin-top: 48px;
  }
  main#page-overview #greeting .greeting-name {
    margin-top: 48px;
    font-size: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }
  main#page-overview #greeting .greeting-name span {
    color: #727272;
    font-size: 16px;
    margin-right: 17px;
  }
}
@media screen and (max-width: 768px) {
  main#page-overview #greeting {
    position: relative;
    padding-top: 55px;
    padding-bottom: 60px;
  }
  main#page-overview #greeting .greeting-bg {
    position: absolute;
    max-width: 971px;
    width: 100%;
    bottom: 0;
    left: 0;
  }
  main#page-overview #greeting .greeting-container {
    position: relative;
  }
  main#page-overview #greeting .greeting-ttl {
    white-space: nowrap;
  }
  main#page-overview #greeting .greeting-ttl .eng {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 36px;
  }
  main#page-overview #greeting .greeting-desc {
    margin-top: 28px;
  }
  main#page-overview #greeting .greeting-name {
    margin-top: 28px;
    font-size: 16px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
  }
  main#page-overview #greeting .greeting-name span {
    color: #727272;
    font-size: 14px;
    margin-right: 10px;
  }
}
main#page-overview {
  /*-------------------*/
  /*overview
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-overview #overview {
    background-color: white;
    padding-bottom: 150px;
    padding-top: 120px;
  }
  main#page-overview #overview .overview-table {
    margin-top: 40px;
  }
  main#page-overview #overview .overview-table__row {
    display: flex;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #cacaca;
  }
  main#page-overview #overview .overview-table__th {
    flex-shrink: 0;
    width: 240px;
    padding-left: 40px;
    font-size: 16px;
    color: #168573;
    font-weight: 600;
  }
  main#page-overview #overview .overview-table__td {
    font-size: 16px;
    line-height: 1.4;
    display: flex;
    align-items: center;
  }
  main#page-overview #overview .overview-table__td span {
    margin-left: 15px;
    font-size: 12px;
    color: #7d7d7d;
  }
}
@media screen and (max-width: 768px) {
  main#page-overview #overview {
    background-color: white;
    padding-bottom: 70px;
    padding-top: 60px;
  }
  main#page-overview #overview .overview-table {
    margin-top: 20px;
  }
  main#page-overview #overview .overview-table__row {
    padding: 15px 0;
    border-bottom: 1px solid #cacaca;
  }
  main#page-overview #overview .overview-table__th {
    flex-shrink: 0;
    width: 240px;
    margin-bottom: 10px;
    font-size: 16px;
    color: #168573;
    font-weight: 600;
  }
  main#page-overview #overview .overview-table__td {
    font-size: 16px;
    line-height: 1.4;
  }
  main#page-overview #overview .overview-table__td span {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #7d7d7d;
  }
}
main#page-overview {
  /*-------------------*/
  /*history
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-overview #history {
    background-color: white;
    padding-bottom: 120px;
  }
  main#page-overview #history .history-table {
    margin-top: 40px;
    position: relative;
  }
  main#page-overview #history .history-table::before {
    content: "";
    display: block;
    width: 50px;
    height: 23px;
    background-color: white;
    position: absolute;
    top: 0;
    left: 130px;
    z-index: 1;
  }
  main#page-overview #history .history-table::after {
    content: "";
    display: block;
    width: 50px;
    height: 22px;
    background-color: white;
    position: absolute;
    bottom: 0;
    left: 130px;
    z-index: 1;
  }
  main#page-overview #history .history-table__img {
    position: absolute;
    width: 2px;
    height: 100%;
    top: 0;
    left: 131px;
  }
  main#page-overview #history .history-table__row {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
  }
  main#page-overview #history .history-table__row:last-child {
    margin-bottom: 0;
  }
  main#page-overview #history .history-table__th {
    padding: 20px 0;
    font-size: 25px;
    font-weight: bold;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    flex-shrink: 0;
    width: 142px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  main#page-overview #history .history-table__th:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: linear-gradient(120deg, #ec9c27, #f3780f);
    border-radius: 50%;
  }
  main#page-overview #history .history-table__th.empty:after {
    display: none;
  }
  main#page-overview #history .history-table__td {
    margin-left: 60px;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(2, 78, 66, 0.1);
    display: flex;
    align-items: flex-start;
    font-size: 14px;
    width: 100%;
    line-height: 1.6;
  }
  main#page-overview #history .history-table__td p {
    display: flex;
    align-items: flex-end;
    font-size: 16px;
    font-weight: bold;
    margin-right: 20px;
    line-height: 1;
    transform: translateY(-3px);
  }
  main#page-overview #history .history-table__td p span {
    font-size: 24px;
    transform: translateY(1px);
  }
}
@media screen and (max-width: 768px) {
  main#page-overview #history {
    background-color: white;
    padding-bottom: 60px;
  }
  main#page-overview #history .history-table {
    margin-top: 20px;
    position: relative;
    overflow: hidden;
  }
  main#page-overview #history .history-table::after {
    content: "";
    display: block;
    width: 25px;
    height: 50px;
    background-color: white;
    position: absolute;
    bottom: -8px;
    left: 50px;
    z-index: 1;
  }
  main#page-overview #history .history-table__img {
    position: absolute;
    width: 2px;
    height: 1000px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  main#page-overview #history .history-table__row {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  main#page-overview #history .history-table__th {
    padding: 20px 0;
    font-size: 18px;
    font-weight: bold;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    flex-shrink: 0;
    width: 60px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  main#page-overview #history .history-table__th:after {
    flex-shrink: 0;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: linear-gradient(120deg, #ec9c27, #f3780f);
    border-radius: 50%;
  }
  main#page-overview #history .history-table__th.first:after,
  main#page-overview #history .history-table__th.empty:after {
    display: none;
  }
  main#page-overview #history .history-table__th.first > div {
    position: relative;
  }
  main#page-overview #history .history-table__th.first > div span {
    display: block;
    width: 10px;
    height: 10px;
    background-color: #ed9422;
    border-radius: 50%;
    position: relative;
  }
  main#page-overview #history .history-table__td {
    margin-left: 20px;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 2px 2px 10px 0 rgba(2, 78, 66, 0.1);
    font-size: 14px;
    width: 100%;
    line-height: 1.6;
  }
  main#page-overview #history .history-table__td p {
    display: flex;
    align-items: flex-end;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1;
    transform: translateY(-3px);
  }
  main#page-overview #history .history-table__td p span {
    font-size: 18px;
    transform: translateY(1px);
  }
}

main#access {
  /*-------------------*/
  /*-main-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#access #main {
    padding-top: 115px;
  }
  main#access #main .main-info {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
  }
  main#access #main .main-info__address {
    font-size: 16px;
  }
  main#access #main .main-info__phone {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 40px;
  }
  main#access #main .main-info__number {
    color: #168573;
    font-size: 19px;
    font-weight: 700;
    display: flex;
    align-items: center;
  }
  main#access #main .main-info__number span {
    background-color: white;
    display: block;
    width: 57px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 16px;
    margin-right: 10px;
  }
  main#access #main .main-info__cta {
    width: 203px;
    height: 60px;
  }
  main#access #main .main-map {
    margin-top: 30px;
    height: 342px;
  }
  main#access #main .main-map iframe {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  main#access #main {
    padding-top: 55px;
  }
  main#access #main .main-info {
    margin-top: 20px;
  }
  main#access #main .main-info__address {
    font-size: 13px;
    line-height: 1.6;
  }
  main#access #main .main-info__phone {
    margin-top: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  main#access #main .main-info__number {
    color: #168573;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-right: 20px;
    margin-bottom: 10px;
  }
  main#access #main .main-info__number:last-child {
    margin-right: 0;
  }
  main#access #main .main-info__number span {
    background-color: white;
    display: block;
    width: 45px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 14px;
    margin-right: 10px;
  }
  main#access #main .main-info__cta {
    margin-top: 10px;
    width: 183px;
    height: 42px;
    white-space: nowrap;
  }
  main#access #main .main-info__cta img {
    width: 22px;
  }
  main#access #main .main-map {
    margin-top: 20px;
    height: 342px;
  }
  main#access #main .main-map iframe {
    width: 100%;
    height: 100%;
  }
}
main#access {
  /*-------------------*/
  /*-branch-*/
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#access #branch {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  main#access #branch .branch-wrapper {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
  }
  main#access #branch .branch-wrapper__item {
    flex: 1;
    min-width: 400px;
  }
  main#access #branch .branch-info {
    margin-top: 30px;
  }
  main#access #branch .branch-info__address {
    font-size: 14px;
  }
  main#access #branch .branch-info__phone {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  main#access #branch .branch-info__number {
    color: #168573;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
  }
  main#access #branch .branch-info__number span {
    background-color: white;
    display: block;
    width: 40px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 12px;
    margin-right: 10px;
  }
  main#access #branch .branch-info__cta {
    border-radius: 5px;
    margin-top: 20px;
    width: 183px;
    height: 42px;
    white-space: nowrap;
  }
  main#access #branch .branch-info__cta img {
    width: 22px;
  }
  main#access #branch .branch-map {
    margin-top: 20px;
    height: 249px;
  }
  main#access #branch .branch-map iframe {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  main#access #branch {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  main#access #branch .branch-wrapper__item {
    margin-bottom: 60px;
  }
  main#access #branch .branch-wrapper__item:last-child {
    margin-bottom: 0;
  }
  main#access #branch .branch-info {
    margin-top: 20px;
  }
  main#access #branch .branch-info__address {
    line-height: 1.6;
    font-size: 13px;
  }
  main#access #branch .branch-info__phone {
    margin-top: 12px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  main#access #branch .branch-info__number {
    color: #168573;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-right: 20px;
    margin-bottom: 10px;
  }
  main#access #branch .branch-info__number:last-child {
    margin-right: 0;
  }
  main#access #branch .branch-info__number span {
    background-color: white;
    display: block;
    width: 45px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #168573;
    font-size: 14px;
    margin-right: 10px;
  }
  main#access #branch .branch-info__cta {
    margin-top: 10px;
    width: 183px;
    height: 42px;
    white-space: nowrap;
    border-radius: 5px;
  }
  main#access #branch .branch-info__cta img {
    width: 22px;
  }
  main#access #branch .branch-map {
    margin-top: 20px;
    height: 249px;
  }
  main#access #branch .branch-map iframe {
    width: 100%;
    height: 100%;
  }
}

main#page-contact {
  /*-------------------*/
  /*-phone
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-contact #phone {
    padding-top: 120px;
  }
  main#page-contact #phone .phone-wrapper {
    background-color: white;
    border: 1px solid #ececec;
    padding: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    color: #233532;
  }
  main#page-contact #phone .phone-number {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    color: #233532;
  }
  main#page-contact #phone .phone-number span {
    display: block;
    font-size: 50px;
    font-weight: bold;
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  main#page-contact #phone {
    padding-top: 60px;
  }
  main#page-contact #phone .phone-wrapper {
    background-color: white;
    border: 1px solid #ececec;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    color: #233532;
  }
  main#page-contact #phone .phone-number {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 14px;
    font-weight: 600;
    color: #233532;
    gap: 15px;
  }
  main#page-contact #phone .phone-number span {
    display: block;
    font-size: 30px;
    font-weight: bold;
  }
}
main#page-contact {
  /*-------------------*/
  /*-form
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-contact #form {
    padding-top: 60px;
    padding-bottom: 120px;
  }
  main#page-contact #form .form-wrapper {
    background-color: white;
    border: 1px solid #ececec;
    padding: 40px;
  }
  main#page-contact #form .form-desc {
    margin-top: 35px;
  }
  main#page-contact #form .form-desc span {
    display: block;
    font-size: 18px;
  }
  main#page-contact #form .form-form {
    margin-top: 35px;
  }
  main#page-contact #form .form-error {
    font-size: 14px;
    color: red;
  }
  main#page-contact #form .form-input__row {
    display: flex;
    margin-bottom: 30px;
    position: relative;
  }
  main#page-contact #form .form-input__row .invalid-message {
    position: absolute;
    bottom: 0;
    left: 228px;
    transform: translateY(100%);
  }
  main#page-contact #form .form-input__th {
    flex-shrink: 0;
    width: 228px;
    display: flex;
    padding: 14px 0;
    font-size: 16px;
    font-weight: 600;
  }
  main#page-contact #form .form-input__th span {
    transform: translateY(-2px);
    display: block;
    width: 34px;
    height: 19px;
    background-color: #f3780f;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 11px;
    margin-left: 15px;
  }
  main#page-contact #form .form-input__wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  main#page-contact #form .form-input__radio {
    display: flex;
    align-items: center;
    font-size: 14px;
  }
  main#page-contact #form .form-input__radio:last-child {
    margin: 0;
  }
  main#page-contact #form .form-input__radio input {
    appearance: none;
  }
  main#page-contact #form .form-input__radio label {
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: pointer;
    margin-right: 8px;
    background: #fff;
  }
  main#page-contact #form .form-input__radio label:hover {
    background-color: #f3780f;
  }
  main#page-contact #form .form-input__radio label:has(input[type="radio"]:checked) {
    background: #f3780f;
    color: #f3780f;
  }
  main#page-contact #form .form-input input[type="text"],
  main#page-contact #form .form-input input[type="tel"],
  main#page-contact #form .form-input input[type="email"],
  main#page-contact #form .form-input textarea {
    border: 1px solid rgba(35, 53, 50, 0.5);
    border-radius: 5px;
    padding: 15px 20px;
    font-size: 16px;
    width: 100%;
    line-height: 1.6;
  }
  main#page-contact #form .form-input textarea {
    height: 280px;
    resize: vertical;
  }
  main#page-contact #form .form-input__button {
    margin-top: 35px;
  }
  main#page-contact #form .form-input__button button {
    margin: 0 auto;
  }
  main#page-contact #form .form-input .g-recaptcha {
    margin: 0 auto;
  }
  main#page-contact #form .form-confirm {
    margin-top: 50px;
  }
  main#page-contact #form .form-confirm__row {
    display: flex;
  }
  main#page-contact #form .form-confirm__th {
    flex-shrink: 0;
    width: 228px;
    display: flex;
    padding: 20px 0 14px;
    font-size: 16px;
    font-weight: 600;
  }
  main#page-contact #form .form-confirm__th span {
    transform: translateY(-2px);
    display: block;
    width: 34px;
    height: 19px;
    background-color: #f3780f;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 11px;
    margin-left: 15px;
  }
  main#page-contact #form .form-confirm__td {
    padding: 15px 20px;
    font-size: 16px;
    line-height: 1.6;
  }
  main#page-contact #form .form-confirm__buttons {
    margin-top: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
  }
  main#page-contact #form .form-confirm__buttons button.back img {
    margin-left: 0;
    margin-right: 30px;
    transform: rotate(180deg);
  }
  main#page-contact #form .form-complete {
    font-size: 16px;
  }
  main#page-contact #form .form-complete__home {
    display: flex;
    justify-content: center;
  }
  main#page-contact #form .form-complete__home a {
    width: 260px;
  }
}
@media screen and (max-width: 768px) {
  main#page-contact #form {
    padding-top: 30px;
    padding-bottom: 60px;
  }
  main#page-contact #form .form-wrapper {
    background-color: white;
    border: 1px solid #ececec;
    padding: 20px;
  }
  main#page-contact #form .form-desc {
    margin-top: 20px;
  }
  main#page-contact #form .form-desc span {
    display: block;
    font-size: 16px;
  }
  main#page-contact #form .form-form {
    margin-top: 20px;
  }
  main#page-contact #form .form-error {
    font-size: 14px;
    color: red;
  }
  main#page-contact #form .form-input__row {
    margin-bottom: 20px;
    position: relative;
  }
  main#page-contact #form .form-input__row .invalid-message {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
  }
  main#page-contact #form .form-input__th {
    flex-shrink: 0;
    width: 228px;
    display: flex;
    padding: 14px 0;
    font-size: 14px;
    font-weight: 600;
  }
  main#page-contact #form .form-input__th span {
    transform: translateY(-2px);
    display: block;
    width: 34px;
    height: 19px;
    background-color: #f3780f;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 11px;
    margin-left: 15px;
  }
  main#page-contact #form .form-input__radio {
    display: flex;
    align-items: center;
    font-size: 14px;
    margin-bottom: 20px;
  }
  main#page-contact #form .form-input__radio:last-child {
    margin-bottom: 0;
  }
  main#page-contact #form .form-input__radio:last-child {
    margin: 0;
  }
  main#page-contact #form .form-input__radio input {
    appearance: none;
  }
  main#page-contact #form .form-input__radio label {
    display: block;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    border: 1px solid #ccc;
    border-radius: 50%;
    cursor: pointer;
    margin-right: 8px;
    background: #fff;
  }
  main#page-contact #form .form-input__radio label:hover {
    background-color: #f3780f;
  }
  main#page-contact #form .form-input__radio label:has(input[type="radio"]:checked) {
    background: #f3780f;
    color: #f3780f;
  }
  main#page-contact #form .form-input input[type="text"],
  main#page-contact #form .form-input input[type="tel"],
  main#page-contact #form .form-input input[type="email"],
  main#page-contact #form .form-input textarea {
    border: 1px solid rgba(35, 53, 50, 0.5);
    border-radius: 5px;
    padding: 15px;
    font-size: 14px;
    width: 100%;
    line-height: 1.6;
  }
  main#page-contact #form .form-input textarea {
    height: 280px;
    resize: vertical;
  }
  main#page-contact #form .form-input__button {
    margin-top: 25px;
  }
  main#page-contact #form .form-input__button button {
    margin: 0 auto;
  }
  main#page-contact #form .form-input .g-recaptcha {
    margin: 0 auto;
  }
  main#page-contact #form .form-confirm {
    margin-top: 30px;
  }
  main#page-contact #form .form-confirm__row {
    margin-bottom: 20px;
  }
  main#page-contact #form .form-confirm__th {
    flex-shrink: 0;
    width: 228px;
    display: flex;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0;
  }
  main#page-contact #form .form-confirm__th span {
    transform: translateY(-2px);
    display: block;
    width: 34px;
    height: 19px;
    background-color: #f3780f;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 11px;
    margin-left: 15px;
  }
  main#page-contact #form .form-confirm__td {
    padding: 10px;
    font-size: 14px;
    line-height: 1.6;
  }
  main#page-contact #form .form-confirm__buttons {
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
    gap: 15px;
  }
  main#page-contact #form .form-confirm__buttons button.back img {
    margin-left: 0;
    margin-right: 30px;
    transform: rotate(180deg);
  }
  main#page-contact #form .form-complete {
    font-size: 14px;
  }
  main#page-contact #form .form-complete__home {
    display: flex;
    justify-content: center;
  }
  main#page-contact #form .form-complete__home a {
    width: 260px;
  }
}

main#page-recruit {
  /*-------------------*/
  /*-intro
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-recruit #intro {
    padding-top: 115px;
    padding-bottom: 105px;
    position: relative;
  }
  main#page-recruit #intro .intro-bg {
    max-width: 1440px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  main#page-recruit #intro .intro-lead {
    font-size: 41px;
    font-weight: 600;
    text-align: center;
  }
  main#page-recruit #intro .intro-lead span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#page-recruit #intro .intro-desc {
    margin-top: 45px;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
  }
  main#page-recruit #intro .intro-slider {
    margin-top: 70px;
    width: 100%;
  }
  main#page-recruit #intro .intro-slider__item {
    width: 340px;
    height: 463px;
  }
  main#page-recruit #intro .intro-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#page-recruit #intro .intro-sub {
    margin-top: 123px;
    text-align: center;
    font-size: 30px;
    font-weight: 600;
  }
  main#page-recruit #intro .intro-sub span {
    color: #168573;
  }
  main#page-recruit #intro .intro-sub span.big {
    font-size: 38px;
  }
  main#page-recruit #intro .intro-list {
    margin-top: 48px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  main#page-recruit #intro .intro-list__item {
    min-width: 300px;
    flex: 1;
    border-radius: 10px;
    background-color: white;
    padding: 40px 20px;
    box-shadow: 2px 2px 20px 0 rgba(0, 0, 0, 0.05);
  }
  main#page-recruit #intro .intro-list__number {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#page-recruit #intro .intro-list__ttl {
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
  }
  main#page-recruit #intro .intro-list__desc {
    margin-top: 20px;
    font-size: 14px;
    text-align: center;
  }
  main#page-recruit #intro .intro-list__note {
    margin-top: 14px;
    font-size: 12px;
    color: #7d7d7d;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  main#page-recruit #intro {
    padding-top: 55px;
    padding-bottom: 45px;
    position: relative;
  }
  main#page-recruit #intro .intro-bg {
    max-width: 1440px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  main#page-recruit #intro .intro-lead {
    font-size: 28px;
    font-weight: 600;
    text-align: center;
  }
  main#page-recruit #intro .intro-lead span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#page-recruit #intro .intro-desc {
    margin-top: 25px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
  }
  main#page-recruit #intro .intro-slider {
    margin-top: 30px;
    width: 100%;
  }
  main#page-recruit #intro .intro-slider__item {
    width: 162px;
    height: 220px;
  }
  main#page-recruit #intro .intro-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  main#page-recruit #intro .intro-sub {
    margin-top: 60px;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
  }
  main#page-recruit #intro .intro-sub span {
    color: #168573;
  }
  main#page-recruit #intro .intro-sub span.big {
    font-size: 26px;
  }
  main#page-recruit #intro .intro-list {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  main#page-recruit #intro .intro-list__item {
    min-width: 300px;
    flex: 1;
    border-radius: 10px;
    background-color: white;
    padding: 20px;
    box-shadow: 2px 2px 20px 0 rgba(0, 0, 0, 0.05);
  }
  main#page-recruit #intro .intro-list__number {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
  }
  main#page-recruit #intro .intro-list__ttl {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
  }
  main#page-recruit #intro .intro-list__desc {
    margin-top: 10px;
    font-size: 14px;
    text-align: center;
  }
  main#page-recruit #intro .intro-list__note {
    margin-top: 14px;
    font-size: 12px;
    color: #7d7d7d;
    text-align: center;
  }
}
main#page-recruit {
  /*-------------------*/
  /*-benefits
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-recruit #benefits {
    background-color: white;
    padding-top: 120px;
    padding-bottom: 113px;
  }
  main#page-recruit #benefits .benefits-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
  }
  main#page-recruit #benefits .benefits-list {
    max-width: 732px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -14px;
  }
  main#page-recruit #benefits .benefits-list__item {
    flex-shrink: 0;
    width: 215px;
    height: 215px;
    margin-left: 14px;
    margin-right: 14px;
    margin-bottom: 28px;
    border-radius: 10px;
    position: relative;
    padding: 20px 10px;
  }
  main#page-recruit #benefits .benefits-list__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    /* ボーダー太さ */
    border-radius: inherit;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }
  main#page-recruit #benefits .benefits-list__img {
    width: 90px;
    margin: 0 auto;
  }
  main#page-recruit #benefits .benefits-list__ttl {
    margin-top: 15px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  main#page-recruit #benefits .benefits-list__note {
    text-align: center;
    margin-top: 5px;
    line-height: 1.4;
    font-size: 10px;
    color: #7d7d7d;
  }
}
@media screen and (max-width: 768px) {
  main#page-recruit #benefits {
    background-color: white;
    padding-top: 60px;
    padding-bottom: 53px;
  }
  main#page-recruit #benefits .benefits-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
  }
  main#page-recruit #benefits .benefits-list {
    max-width: 732px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
  main#page-recruit #benefits .benefits-list__item {
    flex-shrink: 0;
    width: 150px;
    height: 150px;
    border-radius: 10px;
    position: relative;
    padding: 10px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
  }
  main#page-recruit #benefits .benefits-list__item::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 2px;
    /* ボーダー太さ */
    border-radius: inherit;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    -webkit-mask:
      linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }
  main#page-recruit #benefits .benefits-list__img {
    width: 60px;
    margin: 0 auto;
  }
  main#page-recruit #benefits .benefits-list__ttl {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  main#page-recruit #benefits .benefits-list__note {
    text-align: center;
    margin-top: 5px;
    line-height: 1.4;
    font-size: 10px;
    color: #7d7d7d;
  }
}
@media screen and (max-width: 500px) {
  main#page-recruit #benefits .benefits-list {
    margin: 0 auto;
    justify-content: center;
    gap: 20px;
  }
  main#page-recruit #benefits .benefits-list__item {
    margin: 0;
  }
}
main#page-recruit {
  /*-------------------*/
  /*-interview
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-recruit #interview {
    background-image: url(/assets/images/top/system-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 71px;
    padding-bottom: 78px;
  }
  main#page-recruit #interview .interview-ttl {
    text-align: center;
    color: white;
  }
  main#page-recruit #interview .interview-ttl p.jp {
    justify-content: center;
  }
  main#page-recruit #interview .interview-ttl p.jp span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  main#page-recruit #interview .interview-main {
    margin-top: 64px;
    background-color: white;
    padding: 50px;
    border-radius: 10px;
  }
  main#page-recruit #interview .interview-main__header {
    display: flex;
    align-items: center;
  }
  main#page-recruit #interview .interview-main__img {
    flex-shrink: 0;
    width: 228px;
  }
  main#page-recruit #interview .interview-main__right {
    margin-left: 36px;
  }
  main#page-recruit #interview .interview-main__info {
    display: flex;
    align-items: center;
    font-size: 14px;
  }
  main#page-recruit #interview .interview-main__info span {
    display: block;
    padding: 10px 20px;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    border-radius: 100px;
    color: white;
    font-size: 14px;
    margin-right: 20px;
    font-weight: 600;
  }
  main#page-recruit #interview .interview-main__comment {
    margin-top: 23px;
    font-size: 24px;
    font-weight: 600;
  }
  main#page-recruit #interview .interview-main__list {
    margin-top: 41px;
  }
  main#page-recruit #interview .interview-main__item {
    margin-bottom: 40px;
  }
  main#page-recruit #interview .interview-main__item:last-child {
    margin-bottom: 0;
  }
  main#page-recruit #interview .interview-main__dt {
    font-size: 22px;
  }
  main#page-recruit #interview .interview-main__dd {
    font-size: 14px;
    margin-top: 14px;
  }
  main#page-recruit #interview .interview-bottom {
    margin-top: 50px;
    background-color: rgba(22, 133, 115, 0.1);
    border-radius: 10px;
    padding: 30px;
  }
  main#page-recruit #interview .interview-bottom__ttl {
    font-size: 22px;
    font-weight: 600;
    color: #006c5b;
    text-align: center;
  }
  main#page-recruit #interview .interview-bottom__desc {
    margin-top: 25px;
    font-size: 14px;
    text-align: center;
  }
  main#page-recruit #interview .interview-bottom__desc span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  main#page-recruit #interview {
    background-image: url(/assets/images/top/system-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 31px;
    padding-bottom: 38px;
  }
  main#page-recruit #interview .interview-ttl {
    text-align: center;
    color: white;
  }
  main#page-recruit #interview .interview-ttl p.jp {
    justify-content: center;
  }
  main#page-recruit #interview .interview-ttl p.jp span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
  }
  main#page-recruit #interview .interview-main {
    margin-top: 34px;
    background-color: white;
    padding: 25px;
    border-radius: 10px;
  }
  main#page-recruit #interview .interview-main__header {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  main#page-recruit #interview .interview-main__img {
    margin: 20px auto 0;
    width: 228px;
  }
  main#page-recruit #interview .interview-main__right {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  main#page-recruit #interview .interview-main__info {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 14px;
  }
  main#page-recruit #interview .interview-main__info span {
    display: block;
    padding: 10px 20px;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    border-radius: 100px;
    color: white;
    font-size: 14px;
    font-weight: 600;
  }
  main#page-recruit #interview .interview-main__comment {
    text-align: center;
    margin-top: 15px;
    font-size: 18px;
    font-weight: 600;
  }
  main#page-recruit #interview .interview-main__list {
    margin-top: 31px;
  }
  main#page-recruit #interview .interview-main__item {
    margin-bottom: 40px;
  }
  main#page-recruit #interview .interview-main__item:last-child {
    margin-bottom: 0;
  }
  main#page-recruit #interview .interview-main__dt {
    font-size: 18px;
  }
  main#page-recruit #interview .interview-main__dd {
    font-size: 14px;
    margin-top: 14px;
  }
  main#page-recruit #interview .interview-main__dd span {
    display: block;
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 18px;
  }
  main#page-recruit #interview .interview-bottom {
    margin-top: 30px;
    background-color: rgba(22, 133, 115, 0.1);
    border-radius: 10px;
    padding: 20px;
  }
  main#page-recruit #interview .interview-bottom__ttl {
    font-size: 18px;
    font-weight: 600;
    color: #006c5b;
  }
  main#page-recruit #interview .interview-bottom__desc {
    margin-top: 15px;
    font-size: 14px;
  }
  main#page-recruit #interview .interview-bottom__desc span {
    background: linear-gradient(to right, #ec9c27, #f3780f);
    background-clip: text;
    color: transparent;
    font-size: 18px;
  }
}
main#page-recruit {
  /*-------------------*/
  /*-description
  /*-------------------*/
}
@media screen and (min-width: 769px) {
  main#page-recruit #description {
    padding-top: 120px;
    padding-bottom: 230px;
  }
  main#page-recruit #description .description-ttl {
    text-align: center;
  }
  main#page-recruit #description .description-ttl p.jp {
    justify-content: center;
  }
  main#page-recruit #description .description-tab {
    margin-top: 35px;
    display: flex;
    gap: 10px;
  }
  main#page-recruit #description .description-tab__item {
    cursor: pointer;
    flex: 1;
    border-radius: 10px 10px 0 0;
    background: #c1ddd8;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    text-align: center;
  }
  main#page-recruit #description .description-tab__item.active {
    background: linear-gradient(to right, #168573, #006c5b);
  }
  main#page-recruit #description .description-table {
    background-color: white;
    padding: 0 50px;
    display: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
  }
  main#page-recruit #description .description-table.active {
    display: block;
  }
  main#page-recruit #description .description-table__row {
    padding: 35px 0;
    display: flex;
    border-bottom: 1px solid #e9ebea;
  }
  main#page-recruit #description .description-table__th {
    flex-shrink: 0;
    width: 200px;
    color: #168573;
    font-size: 16px;
    font-weight: 600;
  }
  main#page-recruit #description .description-table__td {
    font-size: 16px;
    line-height: 1.6;
  }
  main#page-recruit #description .description-table__children {
    margin-top: 10px;
  }
  main#page-recruit #description .description-table__child {
    margin-bottom: 8px;
    display: flex;
    font-size: 14px;
  }
  main#page-recruit #description .description-table__child::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 7px;
    transform: translateY(6px);
  }
  main#page-recruit #description .description-cta {
    margin: 50px auto 0;
    width: 300px;
    height: 60px;
  }
}
@media screen and (max-width: 768px) {
  main#page-recruit #description {
    padding-top: 60px;
    padding-bottom: 120px;
  }
  main#page-recruit #description .description-ttl {
    text-align: center;
  }
  main#page-recruit #description .description-ttl p.jp {
    justify-content: center;
  }
  main#page-recruit #description .description-tab {
    margin-top: 25px;
    display: flex;
    gap: 10px;
  }
  main#page-recruit #description .description-tab__item {
    cursor: pointer;
    flex: 1;
    background: #c1ddd8;
    padding: 15px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    text-align: center;
    border-radius: 10px 10px 0 0;
  }
  main#page-recruit #description .description-tab__item.active {
    background: linear-gradient(to right, #168573, #006c5b);
  }
  main#page-recruit #description .description-table {
    background-color: white;
    padding: 0 25px;
    display: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
  }
  main#page-recruit #description .description-table.active {
    display: block;
  }
  main#page-recruit #description .description-table__row {
    padding: 15px 0;
    border-bottom: 1px solid #e9ebea;
  }
  main#page-recruit #description .description-table__th {
    flex-shrink: 0;
    width: 200px;
    color: #168573;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
  }
  main#page-recruit #description .description-table__td {
    font-size: 16px;
    line-height: 1.6;
  }
  main#page-recruit #description .description-table__children {
    margin-top: 10px;
  }
  main#page-recruit #description .description-table__child {
    margin-bottom: 8px;
    display: flex;
    font-size: 14px;
  }
  main#page-recruit #description .description-table__child::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(to right, #168573, #006c5b);
    margin-right: 7px;
    transform: translateY(6px);
  }
  main#page-recruit #description .description-cta {
    margin: 30px auto 0;
  }
}
