@charset "UTF-8";

html {
    font-size: 62.5%;
}

body {
    font-family: -apple-system, "Original Yu Gothic", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans";
    font-style: normal;
    font-weight: 400;
    font-size: 17px;
    line-height: 1.8;
    color: #000;
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

img {
    border: none;
    max-width: 100%;
}

a,
input,
button {
    color: inherit;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all .3s ease;
    text-decoration: none;
}

a:hover,
button:hover {
    text-decoration: underline;
    color: #068442;
}
textarea:focus,
select:focus,
input:focus {
    border-color: #068442;
}
input:focus {
    text-indent: .4em;
}
input::placeholder {
    color: #666666;
}

li {
    list-style: none;
}

.hide {
    display: none !important;
}

.font_serif {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    line-height: 2.2;
    font-weight: 400;
    font-style: normal;
}

.contentsWrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}


.contentsInner {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.wrapper {
    padding-top: 112px;
}

.main {
    padding-bottom: 133px;
}

/* ------------------------------------------------------------------------------------------------------------ */

.icon__circle {
    position: relative;
    display: inline-block;
    width: 100%;
}

.icon__circle:after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 25px;
    height: 25px;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/assets/img/icon_arrow.svg) no-repeat center;
    background-size: 100%;
    transition: all 0.2s;
}
a:hover .icon__circle::after,
.icon__circle:hover::after {
    right: -3px;
}

.footer__copy {
    background: #fff;
}

.footer {
    background-color: #f5f5f5;
    padding: 60px 0 0;
    position: relative;
}

.footer__main {
    display: flex;
    gap: 123px;
    margin-bottom: 44px;
}

.footer__logo {
    flex-shrink: 0;
    width: 370px;
}

.footer__logo img {
    width: 100%;
}

.footer__logo h2 {
    font-size: 24px;
    font-weight: 700;
    color: #000;
    line-height: 1.4;
}

.footer__nav {
    display: flex;
    gap: 64px;
    flex: 1;
}

.footer__links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 36px;
    padding: 0px 0 30px;
}

.footer__links li {
    position: relative;
    list-style: none;
}

.footer__links li a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: bold;
    color: #000;
    text-decoration: none;
}

.footer__links li a::after {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url("/assets/img/icon_arrow.svg?r=20260330") no-repeat center;
    position: relative;
    transition: all .2s;
}

.footer__links li a[target="_blank"]::after {
    background: url(/assets/img/icon_blank.svg) no-repeat center;
    background-size: 100%;
    border-radius: 100%;
    width: 22px;
    height: 22px;
}
.footer__links li a:hover::after {
    right: -1px;
}
.footer__links li a[target="_blank"]:hover::after {
    right: 0;
    box-shadow: 0px 0px 0px 2px  rgba(0, 0, 0, 0.2);
}

.footer__links li a:hover {
    color: #068442;
    text-decoration: underline;
}


.navList {
    flex: 1;
    min-width: 0;
}

.navList__title {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
    display: block;
    width: 100%;
    padding-bottom: 12px;
    border-bottom: 1px solid #bbb;
    position: relative;
}

.navList__title:hover {
    color: #068442;
}

.navList__title:hover span {
    text-decoration: underline;
}

.navList__title~.navList__title {
    margin-top: 20px;
}

.navList__titleMini {
    font-size: 14px;
    display: block;
}

.footer__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
}

.footer__list li a {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #000;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s;
    position: relative;
    padding-left: 28px;
}

.footer__list li a::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(/assets/img/icon_arrow_s.svg) no-repeat center;
    background-size: 100% auto;
    top: 0;
    bottom: 0;
    left: 0px;
    margin: auto;
    transition: all 0.1s;
}

.footer__list li a:hover {
    color: #068442;
    text-decoration: underline;
}

.footer__list li a:hover::before {
    left: 2px;
}

li.footer__list_sub {
    font-size: 14px;
    font-weight: bold;
    color: #068442;
    line-height: 1.2;
    margin-top: 10px;
}

.copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 20px;
    background-color: #fff;
    font-size: 13px;
}

.copyright p {
    color: #666;
}

.copyright img {
    height: 24px;
    width: auto;
}


.topBack {
    position: absolute;
    right: -50px;
    bottom: calc(100% + 0px);
    width: 80px;
    height: auto;
    transition: all 0.3s;
    z-index: 100;
    overflow: hidden;
    padding: 10px 10px 30px;
}

.topBack:hover {
    bottom: calc(100% + 10px);
}

/* ヘッダー */
.header {
    position: fixed;
    top: 0;
    left: 0;
    padding: 20px 20px 0px;
    width: 100%;
    z-index: 1000;
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 12px 32px;
    border-radius: 40px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.05);
}

.header__logo {
    flex-shrink: 0;
    padding: 0 0;
}

.header__logo a {
    display: block;
    line-height: 1;
}

.header__logo img {
    height: 47px;
    width: auto;
    vertical-align: middle;
}

.header__nav {
    display: flex;
    gap: 0;
}

.header__navMenu {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.header__navMenu>li {
    position: relative;
    display: flex;
    align-items: center;
}

/* ナビゲーションリンク・ボタン */
.header__navMenu>li>a,
.header__navMenu>li>button {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1px 24px;
    background: none;
    border: none;
    text-decoration: none;
    font-size: 17px;
    font-weight: bold;
    color: #000;
    cursor: pointer;
    transition: all 0.3s;
    white-space: nowrap;
    line-height: 1.4;
}

.header__navMenu>li>a:hover,
.header__navMenu>li>button:hover {
    text-decoration: underline;
}

/* アクティブな項目 - 黄色の下線 */
.header__navMenu>li.is_active>a,
.header__navMenu>li.is_active>button {
    border-bottom-color: #f5a623;
}

.header__navMenu>li>a span {
    display: block;
    width: 100%;
    text-align: left;
}

.header__navMenu>li>a .nav__sub {
    display: block;
    font-size: 12px;
    margin-top: 1px;
}

.parentMenu {
  position: relative;
}

/* ボタンの見た目をリセットして整える */
.navToggle {
  display: flex;
  align-items: center;
  flex-direction: initial !important;
  gap: 0.5em;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: inherit; /* 親の文字サイズを継承 */
  color: inherit;
}

/* アイコン部分 */
.navToggle__icon {
  width: 1.5em;
  height: 1.5em;
  background: url('/assets/img/icon_plus.svg') no-repeat center / contain;
  transition: transform 0.3s;
}

/* Open後の状態 */
.parentMenu.is-open .navToggle__icon {
  background-image: url('/assets/img/icon_x.svg'); /* バツ印 */
}

/* 吹き出し（以前のスタイルを継続） */
.subMenu {
  position: absolute;
  top: calc(100% + 32px); /* 少し下に浮かす */
  left: calc(50% + 20px);
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  background: #fff;
  border: 2px solid #147e44;
  border-radius: 10px;
  padding: 22px 26px 22px;
  min-width: 140px;
  z-index: 100;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
/* トンガリ（外側の線：緑） */
.subMenu::before {
  content: '';
  position: absolute;
  bottom: 100%; /* 吹き出しの上端に配置 */
  left: 50%;
  transform: translateX(-50%);
/* 左右を少し広げ（10px）、高さを調整（12px）すると正三角形に近づきます */
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 20px solid #147e44;
}

/* トンガリ（内側の塗り：白） */
.subMenu::after {
/* 外側より1px〜2px小さく設定 */
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-bottom: 18px solid #fff;
  margin-bottom: -1px; /* 枠線とピッタリ重ねる */
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.parentMenu.is-open .subMenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* 吹き出しの中のリンク */
.subMenu li a {
  display: block;
  font-size: 14px;
  line-height: 2;
  font-weight: bold;
  padding: 2px 0 2px 24px;
  position: relative;
}

/* 緑の矢印（オプション） */
.subMenu li a::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 16px;
    height: 16px;
    background: url(/assets/img/icon_arrow_s_green.svg) no-repeat center;
    background-size: 100% auto;
    top: 0;
    bottom: 0;
    left: 0px;
    margin: auto;
    transition: all 0.1s;
}
.subMenu li a:hover::before {
    left: 2px;
}

.header__search {
    flex-shrink: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
}

.header__search form {
    display: flex;
    align-items: center;
    position: relative;
    width: 240px;
}

.header__search input[type="search"] {
    width: 200px;
    padding: 8px 40px 8px 12px;
    border: 1px solid #666;
    border-radius: 4px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s;
}
.header__search input[type="search"]:focus {
    border-color: #068442;
}

.header__search button {
    position: absolute;
    right: 1px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: calc(100% - 2px);
    background-color: #068442;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

.header__search button:hover {
    background-color: #008935;
}

.header__search button img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
}

.menu_open_btn {
    display: none;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.menu_open_btn span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s;
}

.menu_open_btn span::before,
.menu_open_btn span::after {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background-color: #000;
    position: absolute;
    left: 0;
    transition: all 0.3s;
}

.menu_open_btn span::before {
    top: -8px;
}

.menu_open_btn span::after {
    bottom: -8px;
}


#loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #eee;
    z-index: 999999;
}

#loader {
    width: 50px;
    height: 50px;
    border: 5px solid #bbb;
    /* 薄いグレーの背景色 */
    border-top: 5px solid #3498db;
    /* 青色の回転部分 */
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -25px;
    /* (高さ/2)のネガティブマージン */
    margin-left: -25px;
    /* (幅/2)のネガティブマージン */
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


/* ------------------------------------------------------------------------------------------------------------ */

.section__label {
    font-size: 32px;
    font-weight: bold;
    color: #068442;
    margin-bottom: 16px;
    font-family: Roboto, -apple-system, "Original Yu Gothic", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "Droid Sans";
}

.section__title {
    font-size: 48px;
    font-weight: 700;
    color: #000;
    margin-bottom: 32px;
    line-height: 1.3;
}

.section__subtitle {
    font-size: 24px;
    margin-top: 12px;
    display: block;
}

.section__text {
    font-size: 28px;
    font-weight: bold;
    color: #000;
    line-height: 1.7;
}

.linkList a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 36px 0 32px 0px;
    line-height: 1;
    border-bottom: 1px solid #000;
    font-weight: bold;
    transition: all 0.3s;
}

/* ------------------------------------------------------------------------------------------------------------ */

.p_topSection {
    margin-bottom: 92px;
}

.p_topBusiness {
    margin-top: 12px;
}


.p_topBusiness__visual {
    display: flex;
    width: 792px;
    justify-content: flex-end;
    align-items: center;
}

.p_topBusiness__content {
    width: 413px;
    position: absolute;
    z-index: 2;
    left: 0;
}

.p_topBusiness__image {
    width: 484px;
    height: 578px;
}

.p_topBusiness__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.p_topBusiness__links {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 270px;
}

.p_about__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.p_about__image {
    width: 564px;
}

.p_about__content {
    width: 440px;
    margin-bottom: 32px;
}

.p_topFindJobs__image {
    line-height: 0;
    margin: -90px 0 -34px;
}

.p_topFindJobs__image img {
    width: 100%;
}

.p_topFindJobs__item {
    position: relative;
}

.p_topFindJobs__btn {
    position: absolute;
    right: 0;
    top: 60px;
}

.p_topFindJobs__btn .c_btn {
    width: 335px;
    padding: 20px 55px 20px 75px;
}


/* --- breadcrumb --- */
.breadcrumb {
    padding-top: 1px;
    padding-bottom: 1px;
}

.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb__list li {
    font-size: 13px;
    display: flex;
    align-items: center;
}

.breadcrumb__list li a {
    color: #000000;
    text-decoration: none;
}

.breadcrumb__list li a:hover {
    text-decoration: underline;
}

.breadcrumb__list li:not(:last-child)::after {
    content: "/";
    margin: 0 8px;
    font-size: 10px;
}

.breadcrumb__current {
    color: #999999;
}

/* ------------------------------------------------------------------------------------------------------------ */

.pageTitle {
    margin: 31px auto 56px;
}

.pageTitle__sub {
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #009944;
    margin: 0 0 16px 0;
    line-height: 1;
}

.pageTitle__main {
    font-weight: 700;
    font-size: 30px;
    color: #000;
    margin: 0;
    line-height: 1.2;
}

.c_title1 {
    font-size: 25px;
    line-height: 1.7;
    margin: 40px auto 20px;
    padding-top: 28px;
    color: #068442;
    border-top: 1px solid #bbbbbb;
}

.c_title2 {
    font-size: 22px;
    line-height: 1.6;
    border-bottom: 1px solid;
    margin: 60px auto 18px;
    color: #068442;
}

.c_title3 {
    font-size: 22px;
    line-height: 1.8;
    margin: 46px auto 20px;
}

.c_title4 {
    font-size: 18px;
    line-height: 1.6;
    color: #068442;
    margin: 24px auto 16px;
}

.c_title__icon {
    padding-left: 1.8em;
    margin-bottom: 20px;
}

.c_title__icon.icon__pc {
    background: url(/assets/img/icon_pc.svg) no-repeat center left;
}

.c_title__icon.icon__doc {
    background: url(/assets/img/icon_doc.svg) no-repeat center left;
}

.c_title__icon.icon__person {
    background: url(/assets/img/icon_person_green.svg) no-repeat center left;
}

.c_title__icon.icon__pin {
    background: url(/assets/img/icon_pin.svg) no-repeat center left;
}

.ulList {
    margin: 16px auto;
}

.ulList>li {
    list-style: disc;
    margin-left: 1em;
}



/* --- ハンバーガーボタン本体 --- */
.navBtn {
    appearance: none;
    background-color: #1a8246;
    border: none;
    border-radius: 100px;
    width: 56px;
    height: 32px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
    padding: 0;
    position: fixed;
    top: 32px;
    right: 32px;
    display: none;
}

@media (max-width: 1080px) {
    .navBtn {
        display: flex;
    }
}

/* --- ラインの土台 --- */
.navBtn__inner {
    position: relative;
    width: 24px;
    /* 全体の最大幅 */
    height: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.navBtn__inner > span {
    display: block;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: width 0.3s ease, margin 0.3s ease, transform 0.3s ease;
}

/* 上の線：短くして右寄せ */
.navBtn__inner > span:nth-child(1) {
    width: 16px;
    margin-left: auto;
}

/* 下の線：長い（フルサイズ） */
.navBtn__inner > span:nth-child(2) {
    width: 24px;
}

/* --- ON状態 (.is_active) --- ×印 */
.navBtn.is_active .navBtn__inner > span {
    width: 100%;
    margin-left: 0;
}

.navBtn.is_active .navBtn__inner > span:nth-child(1) {
    transform: translateY(4px) rotate(45deg);
}

.navBtn.is_active .navBtn__inner > span:nth-child(2) {
    transform: translateY(-4px) rotate(-45deg);
}












/* ロゴは常に表示 */
.header__logo {
    z-index: 110;
}

.p_topMv {
    position: relative;
    display: flex;
    justify-content: center;
}

.p_topMv__inner {
    width: 100%;
    max-width: 100%;
}

.topslider__item {
    position: relative;
}
.topslider__item > a {
    display: block;
}
.topslider__item > a:hover {
    opacity: 0.85;
}

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

.topslider__controls {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    border-top-left-radius: 20px;
    padding: 15px 25px 10px 45px;
    gap: 30px;
    z-index: 10;
}



.topslider__controls::before,
.topslider__controls::after {
    content: "";
    opacity: 0;
    position: absolute;
    width: 30px;
    height: 30px;
    pointer-events: none;
}



.topslider__controls::before {
    top: -30px;
    right: 0;
    background: radial-gradient(circle at 100% 100%, transparent 30px, #fff 0);
    transform: rotate(180deg);
}


.topslider__controls::after {
    bottom: 0;
    left: -30px;
    background: radial-gradient(circle at 100% 100%, transparent 30px, #fff 0);
    transform: rotate(180deg);
}

.slick-list {
    border-radius: 30px;
}

.topslider__paging {
    font-family: 'Roboto', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #000;
}

.topslider__current {
    color: #1a8246;
    margin-right: 5px;
}

.topslider__separator {
    margin: 0 5px;
    color: #bbb;
}

.topslider__btns {
    display: flex;
    align-items: center;
    gap: 15px;
}

.topslider__pause img[src*="icon_play"] {
    display: none;
}
.topslider__pause img[src*="icon_pause"] {
    display: block;
}
.topslider__pause.is_paused img[src*="icon_play"] {
    display: block;
}
.topslider__pause.is_paused img[src*="icon_pause"] {
    display: none;
}
.topslider__arrow:hover,
.topslider__arrow:focus,
.topslider__pause:hover,
.topslider__pause:focus {
    box-shadow: 0 0 0 2px #DF571B;
}
.topslider__arrow {
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #000;
    font-size: 18px;
    display: flex;
    align-items: center;
}

.topslider__arrow:hover,
.topslider__arrow:focus {
    text-decoration: underline;
}

.topslider__arrow::before {
    font-family: serif;
}

.topslider__arrow.prev::before,
.topslider__arrow.next::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 26px;
    margin: auto;
    transition: all 0.1s;
}

.topslider__arrow.prev::before {
    background: url(/assets/img/icon_arrow_left.svg) no-repeat center;
    background-size: 100% auto;
}
.topslider__arrow.next::before {
    background: url(/assets/img/icon_arrow_right.svg) no-repeat center;
    background-size: 100% auto;
}

.navList__links>li>a:hover {
    color: #068442;
    text-decoration: underline;
}

.navList__links>li>a:hover::before {
    left: 2px;
}





.mv {
    position: relative;
}

.mv__scroll {
    display: inline-block;
    position: absolute;
    z-index: 9;
    right: 30px;
    bottom: 107px;
    padding: 6px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    z-index: 15;
}

.mv__scroll:hover {
    box-shadow: 0 0 0 2px #068442;
}

.mv__scroll img {
    width: 14px;
    height: auto;
}

.mv__scrollLine {
    position: relative;
    display: block;
    width: 3px;
    height: 40px;
    background-color: rgba(26, 130, 70, 0.2);
    overflow: hidden;
    border-radius: 2px;
}

.mv__scrollLine::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30px;
    background-color: #1a8246;
    border-radius: 2px;
    animation: scrollLineAnim 2.5s ease-in-out infinite;
}

/* 上から下へ流れるアニメーション */
@keyframes scrollLineAnim {
    0% {
        transform: translateY(-100%);
    }

    50% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(200%);
        /* 下端まで消えるように */
    }
}

.p_termofuse {
    font-size: 16px;
}

.sitemap {
    display: flex;
    gap: 40px;
}

.sitemap__catTitle {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 700;
    margin-bottom: 32px;
}

li.c_indent01 {
    margin-left: 1em;
    margin-bottom: 1em;
}

li.c_indent02 {
    margin-left: 2em;
}



.anchorList {
    display: flex;
    justify-content: space-around;
    text-align: center;
    margin: 48px auto 32px;
    gap: 20px;
}

.anchorList>* {
    margin: 10px 5px;
    width: 100%;
}

.anchorList>* a {
    display: block;
    border: 3px solid #068442;
    border-radius: 4px;
    padding: 13px 10px;
    line-height: 1.6;
    font-weight: 600;
}

.sitemap__list ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
}

.navList__links>li>a {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #000;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s;
    position: relative;
    padding-left: 28px;
}

.navList__links>li>a::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(/assets/img/icon_arrow_s.svg) no-repeat center;
    background-size: 100% auto;
    top: 0;
    bottom: 0;
    left: 0px;
    margin: auto;
    transition: all 0.1s;
}

.navList__links>li>a:hover {
    color: #068442;
    text-decoration: underline;
}

.navList__links>li>a:hover::before {
    left: 2px;
}



/* ========================================
2026/03/03 DI 調整内容
======================================== */
/* ドット（・）のリスト */
.ulList_dots > li {
list-style-type: disc;
list-style-position: outside;
margin-left: 1.5em;
text-indent: 0 !important;
}

/* 数字（1. 2. 3.）のリスト */
.ulList_num > li {
list-style-type: decimal;
}
/* 数字（1. 2. 3.）のリスト 色付き */
.ulList_num_green {
  counter-reset: number; /* カウンターをリセット */
  list-style: none; /* デフォルトの数字を消す */
  padding-left: 0;
}
.ulList_num_green > li {
  counter-increment: number; /* カウンターを増やす */
  position: relative;
  padding-left: 22px; /* 数字用のスペース */
  list-style: none;
  margin-left: 0;
}
.ulList_num_green > li::before {
  content: counter(number) "."; /* 数字とドットを表示 */
  position: absolute;
  left: 0;
  font-weight: bold; /* 数字だけ太字 */
  color: #068442; /* 必要なら色も変更 */
}

/* 記号なし（直書きの①②やアイウ用） */
.ulList_none > li {
list-style-type: none;
margin-left: 0;
}

/* 記号なし（インデントあり） */
.ulList_none_ml00 > li {
list-style-type: none;
margin-left: -1em;
text-indent: 0;
}

/* カッコ付き数字（ (1), (2), (3) ）のリスト */
.ulList_paren {
counter-reset: paren_counter;
}
.ulList_paren > li {
list-style-type: none;
text-indent: -1.3em;
padding-left: 1.5em;
}
.ulList_paren > li::before {
counter-increment: paren_counter;
content: "(" counter(paren_counter) ")";
position: relative;
left: -3px;
}

/* 大文字アルファベット（A. B. C.）のリスト */
.ulList_alpha > li {
list-style-type: upper-alpha;
text-indent: -1.3em;
padding-left: 1.5em;
}

/* 丸数字（① ② ③）のリスト（自動連番＆丸囲み） */
.ulList_circle {
counter-reset: circle_counter;
margin-left: -0.8em;
}
.ulList_circle > li {
list-style-type: none;
position: relative;
padding-left: 1.5em;
text-indent: 0 !important;
}
.ulList_circle > li::before {
counter-increment: circle_counter;
content: counter(circle_counter);
position: absolute;
left: 0;
top: 6px;             /* テキストの高さに合わせて微調整 */
width: 18px;          /* 丸の幅 */
height: 18px;         /* 丸の高さ */
border: 1px solid currentColor; /* 文字色と同じ色で丸を描く */
border-radius: 50%;   /* 正円にする */
display: flex;
align-items: center;
justify-content: center;
font-size: 11px;      /* 中の数字のサイズ */
line-height: 1;
text-indent: 0 !important;
}

.ulList_space > li + li {
margin-top: 16px;
}

.ulList li a {
text-decoration: underline;
color: #068442;
}
.ulList li a:hover {
text-decoration: initial;
}
.text_green {
color: #068442;
}

/* プライバシーポリシー：PC表示時の不要なスクロールバー非表示 */
@media screen and (min-width: 769px) {
    .c_scroll {
    overflow-x: auto !important;
    }
}

/* プライバシーポリシー：直書きされていた css の移設 */
.p-privacyTable dl {
display: flex;
justify-content: flex-start;
border-bottom: 1px solid #E6E6E6;
padding: 10px 0 10px 18px;
}

.p-privacyTable dl:first-child {
border-top: 1px solid #E6E6E6;
}

.p-privacyTable dl dt {
width: 160px;
font-weight: normal;
}

.p-privacyTable dl dd {
width: 752px;
}

.c_title5 {
display: block;
font-weight: bold;
margin-bottom: 0px;
}

.c_title5~.c_title5 {
margin-top: 16px;
}

[class*="c_list_count"]>li {
list-style: none;
}

[class*="c_list_count"]>li>p {
display: inline;
}

.c_list_count01 {
counter-reset: item;
}

.c_list_count01>li {
text-indent: -1.3em;
padding-left: 1.3em;
}

.c_list_count01>li:before {
counter-increment: item;
content: counter(item) ".";
padding-right: .5em;
font-weight: bold;
color: #04984A;
}

.c_list_count01.counter_lower_alpha>li:before {
content: counter(item, lower-alpha) ")";
}

.c_list_count01_indent {
margin: 0 0 0 -13px;
}

.c_list_count02 {
counter-reset: item;
}

.c_list_count02>li {
text-indent: -1.3em;
padding-left: 1.5em;
line-height: 1.8;
}

.c_list_count02>li:before {
counter-increment: item;
content: "("counter(item) ")";
position: relative;
left: -3px;
}

.c_list_count03 {
counter-reset: item;
}

.c_list_count03>li {
text-indent: -1.3em;
padding-left: 1.5em;
line-height: 1.8;
}

.c_list_count03>li:before {
counter-increment: item;
content: "("counter(item) ")";
position: relative;
left: -3px;
color: #04984A;
font-weight: bold;
}

.c_list_count04 {
counter-reset: number;
text-indent: 0;
}

.c_list_count04>li {
position: relative;
line-height: 2;
}

.c_list_count04>li:before {
content: '（'counter(number) '）';
counter-increment: number;
position: absolute;
left: -2.2em;
display: block;
}

@media all and (-ms-high-contrast: none) {

*::-ms-backdrop,
.c_list_count04>li:after {
    top: 5px;
    left: -19px;
}
}

.c_list_count04_indent {
margin: 0 0 0 19px;
}

.c_list_count05 {
counter-reset: item;
list-style-type: upper-latin;
}

.c_list_count05>li {
text-indent: -1.3em;
padding-left: 1.3em;
}

.c_list_count05>li:before {
counter-increment: item;
padding-right: .5em;
font-weight: bold;
color: #04984A;
}

.c_list_count05_indent {
margin: 0 0 0 21px;
}

.c_list_count06 {
counter-reset: number;
}

.c_list_count06>li {
position: relative;
line-height: 2;
text-indent: 0;
}

.c_list_count06>li:before {
content: counter(number);
counter-increment: number;
font-size: 11px;
color: #04984A;
padding: 0px 12px 0 4px;
position: absolute;
left: -18px;
top: 4px;
display: block;
}

.c_list_count06>li:after {
content: '';
position: absolute;
display: block;
top: 7px;
left: -19px;
width: 16px;
height: 16px;
border: 1px solid #04984A;
border-radius: 50%;
margin: auto;
}

.c_list_count06_indent {
margin: 0 0 0 19px;
}

@media screen and (max-width: 768px) {
.p-privacyTable dl {
    padding-left: 0;
    display: block;
}

.p-privacyTable dl>dt,
.p-privacyTable dl>dd {
    width: auto;
}
}

/* ========================================
本サイトのご利用にあたって 修正
======================================== */

/* 1. リンクを緑字にして分かりやすく（現行デザイン踏襲） */
.p_termofuse a {
color: #068442;
text-decoration: underline;
transition: opacity 0.3s ease;
}
.p_termofuse a:hover {
text-decoration: none;
opacity: 0.8;
}

/* 2. PC表示時の不要なスクロールバー非表示 */
@media screen and (min-width: 769px) {
    .p_termofuse .c_scroll {
    overflow-x: auto !important;
    }
}

/* ========================================
サイトマップ　スマホのみ余白調整
======================================== */

@media screen and (max-width: 768px) {
    .u_only_sp_ml10 {
        margin-left: 10px;
    }
    .u_only_sp_mt-10 {
        margin-top: -10px;
    }
    .u_only_sp_mt50 {
        margin-top: 50px !important;
    }
    .u_only_sp_ml-2 {
        margin-left: -2px;
    }
    .u_only_sp_mt-18 {
        margin-top: -18px;
    }
    .u_only_sp_mt-30 {
        margin-top: -30px;
    }
}

/* ========================================
会社案内
======================================== */

.area__presi {
    display: flex;
}
.area__presi img {
    width: 30%;
    height: 100%;
    margin: 0em 30px 20px 0;
}
@media screen and (max-width: 768px) {
    .area__presi {
        display: block;
    }
    .area__presi img {
        width: 100%;
    }
}

/* ========================================
採用情報 カード一覧（Frame 630354）
======================================== */

.p_recruitCards {
    padding: 0 0 80px;
}

.p_recruitCards__list {
    display: flex;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.p_recruitCards__item {
    flex: 1;
    min-width: 0;
}

.p_recruitCards__card {
    background: #fff;
    border-radius: 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-bottom: 24px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* ---- サムネイル ---- */
.p_recruitCards__thumb {
    width: 100%;
    height: 180px;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
    flex-shrink: 0;
    background-color: #ececec;
}

.p_recruitCards__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.p_recruitCards__thumb--soon {
    background-color: #e9f1ed;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p_recruitCards__comingSoon {
    font-size: 20px;
    font-weight: 700;
    color: #068442;
    opacity: 0.3;
    letter-spacing: 0.05em;
    pointer-events: none;
    user-select: none;
}

/* ---- 本文エリア ---- */
.p_recruitCards__body {
    padding: 24px 24px 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1;
}

.p_recruitCards__texts {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.p_recruitCards__title {
    font-size: 26px;
    font-weight: 700;
    color: #068442;
    text-align: center;
    line-height: 1.5;
    margin: 0;
}

.p_recruitCards__desc {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    margin: 0;
    color: #000;
}

.p_recruitCards__desc--center {
    text-align: center;
}

/* ---- リンク ---- */
.p_recruitCards__link {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    text-decoration: none;
    align-self: flex-end;
}

.p_recruitCards__link .icon__circle {
    padding-right: 31px;
}

.p_recruitCards__link--disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
}

/* ---- SP ---- */
@media screen and (max-width: 768px) {
    .p_recruitCards {
        padding: 0 0 40px;
    }

    .p_recruitCards__list {
        flex-direction: column;
        gap: 16px;
    }
}

