.emphasize-text p {
    font-size: 20px;
    line-height: 1.8em;
    font-weight: 400;
}
@media (max-width: 1530px) {
    .emphasize-text p {
        font-size: 18px;
    }
}
@media (max-width: 991px) {
    .emphasize-text p {
        font-size: 16px;
    }


}

.note_desc .contents_block_box {
    margin-bottom:30px;
}

/*-----------------------------
　ヘッダー
-----------------------------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    z-index: 9999;
    max-width: 2560px;
    /* padding: 24px 32px; */
    transition: .5s;
}
header.scroll,body.modal-open header {
    transform: translateY(-210px);
}
header.fsv-area.scroll {
    transform: translateY(0);
}
header.btm-fsv.scroll {
    transform: translateY(0);
}
header h1.logo-bk {
    display: none;
}
header:not(.fsv-area) .logo-wh {
    display: none;
}
header:not(.fsv-area) .logo-bk {
    display: block;
}
header.ham-open::before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: rgb(0 0 0 / 50%);
    position: absolute;
    top: 0;
    left: 0;
}

/*インナー*/
.h-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 32px!important;
    z-index: 2;
}
.h-inner::before,.h-inner::after {
    display: none;
}
@media (max-width: 1530px) {
    .h-inner {
        padding: 16px 24px!important;
    }
}
@media (max-width: 440px) {
    .h-inner {
        padding: 12px 8px !important;
    }
}

/*ロゴ*/
.h-logo {
    width: 340px;
    /* width: 35%; */
}
@media (max-width: 1530px) {
    .h-logo {
        width: 256px;
        /* width: 30%; */
    }
}
@media (max-width: 768px) {
    .h-logo {
        width: 176px;
        max-width: none;
    }
}

/*ナビ*/
.h-nav {
    width: 75%;
}
.h-nav .block_box {
    display: flex;
    justify-content: end;
    align-items: center;
}
.h-nav .nav.navbar-nav {
    display: flex;
    margin-right: 40px;
    gap: 40px;
}
.h-nav .nav.navbar-nav::before,.h-nav .nav.navbar-nav::after {
    display: none;
}
.h-nav .nav.navbar-nav li:first-child {
    /* display: none; */
}
.h-nav .bt-default a {
    padding: 0;
    transition: .3s;
    width: 180px;
}

/*スクロールしたとき*/
header:not(.fsv-area) .h-inner {
    background: #fff;
    box-shadow: rgb(0 0 0 / 4%) 0px 3px 6px;
}
header:not(.fsv-area) .navbar-nav > li > a {
    color: var(--default-font-color);
}
header:not(.fsv-area) .navbar-nav > li > a.current {
    color: var(--main-color);
}

/*下層のとき*/
header .anchor-link-area.recruit-page {
    background: #FBFBFB;
    padding: 32px;
    border-bottom: 1px solid #dcdcdc36;
}
header.btm-fsv .anchor-link-area.recruit-page {
    display: none;
}
@media (max-width: 768px) {
    header .anchor-link-area.recruit-page {
        padding: 12px 12px 4px;
    }
    header .anchor-link-area.recruit-page ul {
        justify-content: center;
    }
    header .anchor-link-area.recruit-page ul a:not(.l-color.current) {
        opacity: .8;
    }
}


/*---SP---*/
/*アイコン*/
.ham-icon {
    display: none;
    width: 40px;
    height: 18px;
}
.ham-icon * {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0;
    border: none;
    background: transparent;
}
.ham-icon span {
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    right: 0;
}
.ham-icon span:nth-child(1){
    top: 0;
    width: 80%;
}
.ham-icon span:nth-child(2){
    top: 0;
    bottom: 0;
    margin: auto;
    width: 90%;
}
.ham-icon span:nth-child(3){
    bottom: 0;
}
header:not(.fsv-area) .ham-icon span {
    background: var(--default-font-color);
}
/*クリック後*/
header.ham-open .ham-icon span:nth-child(2) {
    display: none;
}
header.ham-open .ham-icon span:nth-child(1) {
    transform: rotate(30deg);
    top: 8px;
    width: 100%;
}
header.ham-open .ham-icon span:nth-child(3) {
    transform: rotate(-30deg);
    bottom: 8px;
    width: 100%;
}
@media (max-width: 440px) {
    .ham-icon {
        width: 32px;
        height: 12px;
        margin-right: 4px;
    }
    header.ham-open .ham-icon span:nth-child(1) {
        top: 6px;
    }
    header.ham-open .ham-icon span:nth-child(3) {
        bottom: 5px;
    }
}

/*中身*/
.ham-inner {
    display: none;
    overflow: hidden;
    background: #FBFBFB;
    z-index: 1;
    transition: .3s;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    padding-top: 66px!important;
    top: 0;
    left: 0;
    height: 1px;
}
.ham-inner a {
    pointer-events: none;
}
header.ham-open .ham-inner a {
    pointer-events: auto;
}
@media (max-width: 768px) {
    .ham-inner {
        overflow-y: scroll;
    }
}
@media (max-width: 440px) {
    .ham-inner {
    }
}

/*中身-ナビ*/
.ham-inner > .flex-box > div {
    margin-top: 100px;
    margin-bottom: 64px;
}
header .f-nav02 .block_box > .navbox.nav-ttl::before, .ham-inner .f-nav02 .block_box > .navbox:last-child::before, .ham-inner .f-nav02 .collapse > .navbar-nav > li > a, .ham-inner .f-nav02 .dropdown-menu > li > a{
    color: var(--default-font-color)!important;
}
.ham-inner a.dropdown-toggle {
    pointer-events: none!important;
}
@media (max-width: 768px) {
    .ham-inner > .flex-box > div {
        margin-top: 80px;
        margin-bottom: 48px;
    }
}
@media (max-width: 768px) {
    .ham-inner > .flex-box > div {
        margin-top: 64px;
        margin-bottom: 32px;
    }
}
/*中身-ボタン*/
.ham-inner .f-links::before {
    display: none;
}
.ham-inner .f-links {
    background: rgb(0 0 0 / 57%);
    padding: 40px 0 40px;
}
.ham-inner .f-links .flex-box > div {
    width: 100%!important;
}
.ham-inner .f-links .bt-bk a {
    background: rgb(255 255 255 / 15%);
}
@media (max-width: 1644px) {
    .h-nav {
        display: none;
    }
    .ham-icon {
        display: block;
    }
    .ham-inner {
        display: block;
    }
}
@media (max-width: 768px) {
    .ham-inner .f-nav02 .collapse > .navbar-nav > li > a {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .ham-inner .f-nav02 .dropdown-menu > li > a {
        padding-top: 4px!important;
        padding-bottom: 4px!important;
        padding-left: 0!important;
        padding-right: 0 !important;
    }
    .ham-inner .f-links .flex-box > div:not(:last-child) {
        margin-bottom: 24px;
    }
}
@media (max-width: 440px) {
    .ham-inner .f-links {
        /* padding: 1px 0 44px; */
    }
}

/*クリックしたとき*/
header.ham-open .h-inner {
    background: #fff;
    box-shadow: rgb(0 0 0 / 4%) 0px 3px 6px;
}
header.ham-open .ham-icon span {
    background: var(--default-font-color);
}
header.ham-open .logo-wh {
    display: none;
}
header.ham-open .logo-bk {
    display: block;
}
header.ham-open .ham-inner {
    opacity: 1;
    pointer-events: auto;
    height: 100vh;                        /* フォールバック */
    height: calc(var(--vh, 1vh) * 100);   /* ← ココを修正！ */
    overflow: auto;
}
@media (max-width: 768px) {
    header.ham-open  .ham-inner {
        overflow-y: scroll;
        padding-top: 56px !important;
    }
}
@media (max-width: 440px) {
    header.ham-open  .ham-inner {
        padding-top: 48px !important;
    }
}





/*-----------------------------
　フッター
-----------------------------*/

/*-----会社情報-----*/
.f-company {
    padding: 186px 0;
    padding-top: clamp(80px, 10vw, 186px);
    padding-bottom: clamp(80px, 10vw, 186px);
}
.f-company::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(/theme/my-17482383656834001de8966/img/common/f-bg.jpg) bottom right no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
}
.f-company .pg_text p {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 54px;
}
.f-company .pg_text p br.sp {
    display: none;
}
@media (max-width: 1530px) {
    .f-company .pg_text p {
        font-size: clamp(20px, 4vw, 40px);
        margin-bottom: clamp(24px, 4vw, 54px);
    }
}
@media (max-width: 991px) {
    .f-company {
        padding-bottom: 120px;
    }
    .f-company::before {
        background: url(/theme/my-17482383656834001de8966/img/common/f-bg-sp.png) bottom right no-repeat;
        background-size: cover;
    }
}
@media (max-width: 540px) {
    .f-company .pg_text p br.sp {
        display: block;
    }
}
@media (max-width: 440px) {
    .f-company {
        padding-bottom: 200px;
    }
}


/*-----リンク-----*/
footer .f-links {
    padding: 64px 0 72px;
    position: relative;
}
footer .f-links::before {
    content: "";
    display: block;
    width: 100%;
    height: 120%;
    background: url(/theme/my-17482383656834001de8966/img/common/logo-tra.png) center right no-repeat;
    background-size: contain;
    position: absolute;
    top: -10%;
    right: -8%;
}
.f-links .flex-box {
    display: flex;
    gap: 24px;
    margin-top: 40px;
}
.f-links .flex-box > div:first-child {
    width: 128%;
}
.f-links h3 {
    color: #fff;
    text-align: center;
    font-weight: bold;
    margin-bottom: 12px;
    font-size: clamp(13px, 1.4vw, 16px);
}
/*電話番号*/
.f-links .bt-tel a {
    color: #fff;
    width: 100%;
    border: 1px solid rgb(255 255 255 / 32%);
    text-align: center;
    font-size: clamp(10px, 1vw, 12px);
    padding: 14px 14px 10px;
    height: 80px;
    display: block;
    letter-spacing: 0;
    transition: .3s;
    position: relative;
}
.f-links .bt-tel a::before {
    content: "";
    display: block;
    width: clamp(180px, 14vw, 227px);
    background: url(/theme/my-17482383656834001de8966/img/common/tel02.png) center no-repeat;
    position: absolute;
    background-size: contain;
    top: -15px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0;
    transition: .3s;
}
.f-links .bt-tel a img {
    /* width: 227px; */
    margin: 0 auto;
    display: block;
    width: clamp(180px, 14vw, 227px);
}
.f-links .link-text a {
    height: 80px;
    background: var(--main-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    transition: .3s;
}
.f-links .link-text a:hover {
    background: rgb(255 255 255 / 84%);
    color: var(--main-color);
    opacity:1;
}
.f-corporate .f-links .bt-bk a:hover {
    background: rgb(255 255 255 / 84%);
}
.f-links .bt-tel a:hover {
    background: rgb(255 255 255 / 84%);
    color: var(--main-color);
}
.f-links .bt-tel a:hover::before {
    opacity: 1;
}
@media (max-width: 1530px) {
    .f-links .bt-tel a img {
        margin: 0 auto 2px;
    }
    .f-links .bt-tel a::before {
        top: -21px;
    }
}
@media (max-width: 768px) {
    .f-links .link-text a {
        height: 64px;
    }

    .f-links .bt-tel a {
        height: 64px;
        font-size: 9px;
        padding: 13px 14px 10px;
    }
    .f-links .bt-tel a img {
        width: 138px;
    }
    .f-links .bt-tel a::before {
        width: 138px;
        top: -15px;
    }
}



/*-----情報-----*/
.f-info {
    display: flex;
    padding-top: 48px!important;
    padding-bottom: 48px !important;
    align-items: flex-start;
    justify-content: space-between;
}
.f-info .f-logo {
    width: 340px;
    letter-spacing: 0em;
}
.f-info .f-logo p {
    font-size: 15px;
    margin: 20px 0 34px;
}
.f-info .f-logo span {
    opacity: .7;
    font-size: 13px;
}
.f-nav .block_box {
    display: flex;
    justify-content: end;
}
.f-nav .block_box h3 {
    font-size: 16px;
    font-weight: 400;
    opacity: .5;
    margin-bottom: 24px;
}
.f-nav .block_box > div:first-child {
    border-right: 1px solid rgb(112 112 112 / 24%);
    padding-right: 8%;
    margin-right: 8%;
}
.f-nav ul {
    display: flex;
    flex-wrap: wrap;
    width: 310px;
}
.f-nav ul li {
    width: calc(100% / 2);
    margin-bottom: 16px;
}
.f-nav ul li a {
    font-size: 14px;
    font-weight: 400;
}


/*----------夕焼け背景----------*/
.f-corporate {
    position: relative;
    padding-top: clamp(60px, 12vw, 200px);
    padding-bottom: clamp(48px, 8vw, 148px);
}
.f-corporate::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(/theme/my-17482383656834001de8966/img/common/sunset.jpg) center no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .5;
}
.f-corporate .f-links {
    padding: 0 0 72px;
    position: relative;
}
.f-corporate .f-links::before {
    display: none;
}
.f-corporate .f-links .flex-box {
    gap: 3%;
}
.f-corporate .f-links h3 {
    text-align: left;
    font-size: 21px;
    font-weight: 400;
    margin-bottom: 18px;
    font-size: clamp(14px, 1.2vw, 21px);
}
.f-corporate .f-links .link-text a {
    font-size: 18px;
}
.f-corporate .f-links .bt-bk a {
    background: rgb(255 255 255 / 15%);
}
.f-corporate .f-links .link-text a {
    font-size: 18px;
    font-size: clamp(13px, 1.4vw, 18px);
    font-weight: 400;
}
.f-corporate .f-links .flex-box > div {
    width: 100%;
}
@media (max-width: 768px) {
    .f-corporate .f-links {
        padding: 0 0 40px;
    }
    .f-links .flex-box {
        display: block;
    }
    .f-corporate .f-links h3 {
        text-align: center;
        margin-bottom: 12px;
        font-size: 12px;
    }
    .f-corporate .f-links .flex-box > div:not(:last-child) {
        margin-bottom: 32px;
    }
}
@media (max-width: 440px) {
    .f-corporate {
        padding-top: 56px;
        padding-bottom: 48px;
    }
    .f-corporate .f-links .flex-box > div:not(:last-child) {
        margin-bottom: 20px;
    }
}


/*-----ナビ-----*/
.f-nav02 .dropdown-menu {
    position: relative;
    display: block;
    background: transparent;
    padding: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    top: auto;
    float: none;
    min-width: auto;
}
.f-nav02 .block_box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: clamp(48px, 5vw, 100px);
}
.f-nav02 .block_box > .navbox {
    padding-left: 24px;
}
.f-nav02 .dropdown-menu > li > a {
    padding: 8px 0;
    opacity: .8;
    font-weight: 400;
    color: #fff;
    font-size: clamp(14px, 1vw, 18px);
    padding-top: clamp(4px, 1vw, 8px);
    padding-bottom: clamp(4px, .5vw, 8px);
}
.f-nav02 .dropdown-menu > li > a:hover {
    background: transparent;
    opacity: .5;
}
.f-nav02 .collapse > .navbar-nav > li > a {
    font-size: 18px;
    font-weight: 400;
    pointer-events: auto;
    color: #fff;
    font-size: clamp(14px, 1vw, 18px);
    padding-top: clamp(12px, 1vw, 16px);
    padding-bottom: clamp(12px, 1vw, 16px);
}
.f-nav02 .collapse > .navbar-nav > li > a::before {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    background: var(--accent-color);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -24px;
}
.f-nav02 .collapse > .navbar-nav > li > a:hover {
    opacity: .7;
}
.f-nav02 .block_box > .navbox.nav-ttl, .f-nav02 .block_box > .navbox:last-child{
    position: relative;
}
.f-nav02 .block_box > .navbox.nav-ttl::before, .f-nav02 .block_box > .navbox:last-child::before{
    content: "Corporate";
    position: absolute;
    top: -48px;
    left: 0;
    color: #fff;
    font-family: var(--fontfamily02);
    font-size: 30px;
    font-weight: bold;
    font-size: clamp(20px, 1.7vw, 30px);
}
.f-nav02 .block_box > .navbox:last-child::before {
    content: "Recruit";
}
.sp-ham {
    display: none;
}
@media (max-width: 991px) {
    .f-nav02 .block_box > .navbox {
        padding-left: 16px;
    }
    .f-nav02 .collapse > .navbar-nav > li > a::before {
        left: -16px;
        width: 8px;
    }
    .f-nav02 .block_box > .navbox.nav-ttl::before, .f-nav02 .block_box > .navbox:last-child::before {
        top: -32px;
    }
}
@media (max-width: 768px) {
    .f-nav02 .block_box {
        display: block;
        justify-content: center;
    }
    footer .f-nav02 .block_box {
        display: flex;
        justify-content: center;
    }
    .f-nav02 .block_box > .navbox:last-child {
        margin-top: 56px;
    }
    footer .f-nav02 .block_box > .navbox:last-child {
        margin-left: 16%;
        margin-top: auto;
    }
    footer .f-nav02 .collapse > .navbar-nav > li > a {
        padding-top: 3px;
        padding-bottom: 3px;
        font-size: 12px;
    }
    footer .f-nav02 .dropdown-menu > li > a {
        padding-top: 3px;
        padding-bottom: 3px;
        font-size: 12px;
    }
    .sp-ham {
        display: block;
    }
    .tb-ham {
        display: none;
    }
    .sp-ham ul li:last-child {
        display: none;
    }
}


/*-----ロゴ-----*/
.f-corporate .f-logo02 .block_box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    color: #fff;
    margin-top: 120px;
}
.f-corporate .f-logo02 .left-area {
    display: flex;
    align-items: center;
}
.f-corporate .f-logo02 .left-area img {
    width: 340px;
    margin-right: 34px;
}
.f-corporate .f-logo02 .left-area p {
    font-size: 17px;
    font-weight: 300;
    letter-spacing: 0;
}
.f-corporate .f-logo02 .right-area p {
    font-size: 13px;
    letter-spacing: 0;
    font-weight: 400;
}
.f-corporate .f-logo02 .right-area p {
    opacity: .7;
}
.f-corporate .f-logo02 .left-area p:last-child {
    background: #000;
    padding: 8px 16px;
}
.f-corporate .f-logo02 .left-area p:last-child a {
    color: #fff!important;
}
@media (max-width: 1530px) {
    .f-corporate .f-logo02 .left-area img {
        width: 256px;
        margin-right: 24px;
    }
    .f-corporate .f-logo02 .left-area p:last-child {
        font-size: 16px;
        padding: 4px 10px;
    }
    .f-corporate .f-logo02 .right-area p {
        font-size: 10px;
    }
}
@media (max-width: 768px) {
    .f-corporate .f-logo02 .block_box {
        margin-top: 80px;
        display: block;
    }
    .f-corporate .f-logo02 .left-area {
        width: 100%;
        justify-content: space-between;
        display: block;
    }

    .f-corporate .f-logo02  .right-area {
        width: 100%;
        text-align: right;
        margin-top: 12px;
    }
    .f-corporate .f-logo02 .left-area img {
        /* width: 176px; */
        margin: 0 auto;
    }
    .f-corporate .f-logo02 .left-area p:last-child {
        margin-top: 16px;
        text-align: center;
    }
    .f-corporate .f-logo02 .right-area p {
        text-align: center;
        margin-top: 40px;
    }
}
@media (max-width: 560px) {
    .f-corporate .f-logo02 .left-area {
        display: block;
        /* width: fit-content; */
        /* margin: 0 0 0 auto; */
    }

    .f-corporate .f-logo02 .left-area img {
        /* margin-right: 0; */
        /* margin-bottom: 10px; */
        margin: 0 auto;
        width: 220px;
    }
    .f-corporate .f-logo02 .left-area p:last-child {
        font-size: 12px;
    }

    .f-corporate .f-logo02 .left-area p {
        font-size: 10px;
    }
}



/*-----------------------------
　トップ FSV
-----------------------------*/
/*-----FSV-----*/
.top-fsv {
    position: relative;
}
.top-fsv .slick-slider {
    opacity: .8;
}
.slick-slider {
    margin-bottom: 0;
}
.slick-track {
    padding: 0;
}
.slick-initialized .slick-slide {
    margin: 0;
}
.full_width .full_box.top-fsv .txt-box {
    position: absolute;
    bottom: 6%;
    right: 0;
    left: 0;
    margin: auto!important;
    color: #fff;
}
.top-fsv .txt-box p {
    font-size: 26px;
    font-size: 1.33vw;
    font-weight: bold;
    line-height: 1.6em;
}
.top-fsv .txt-box p strong {
    font-size: 135px;
    font-size: 7.8vw;
    line-height: 1em;
    margin: 8px 0 12px;
    display: block;
    letter-spacing: -.02em;
    font-family: var(--fontfamily02);
    color: #4CE5DD;
}
.top-fsv .txt-box p span {
    display: block;
    font-size: 13px;
    font-size: .68vw;
    font-weight: 400;
    line-height: 1.8em;
    font-family: var(--fontfamily02);
}
.top-fsv .sp {
    display: none;
}
@media (max-width: 991px) {
    .top-fsv {
        aspect-ratio: 3/2;
    }
    .top-fsv .img-box,.top-fsv .img-box * {
        height: 100%;
        object-fit: cover;
    }
}
@media (max-width: 440px) {
    .top-fsv .pc {
        display: none;
    }
    .top-fsv .sp {
        display: block;
    }
    .top-fsv {
        aspect-ratio: 2/3;
    }
    .top-fsv .txt-box p strong {
        font-size: 13vw;
    }

    .top-fsv .txt-box p {
        font-size: 2.3vw;
    }

    .top-fsv .txt-box p span {
        font-size: 1.8vw;
        line-height: 1.4em;
    }
}




/*-----------------------------
 下層 FSV
-----------------------------*/
.bottom-fsv01 {
    padding-top: 156px;
    padding-bottom: clamp(40px, 6vw, 80px);
}
.bottom-fsv01 .flex-box {
    padding-bottom: 32px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.bottom-fsv01  .flex-box > div {
    width: fit-content;
}
.bottom-fsv01::before,.bottom-fsv01::after {
    display: none;
}
.bottom-fsv01 h2 {
    font-size: clamp(12px, 1vw, 16px);
}
.bottom-fsv01 h2 span {
    display: block;
    font-size: clamp(40px, 4vw, 72px);
    font-weight: bold;
    letter-spacing: 0;
    color: var(--main-color);
}
.pkz {
    padding: 0;
    border-bottom: none;
    opacity: .4;
    font-size: 12px;
    font-weight: 400;
}
.pkz>div {
    padding: 0;
    white-space: nowrap;
    overflow: hidden;
}
.BlogContents>div .pkz>div:last-child {
    max-width: clamp(80px, 30vw, 300px);
}
.anchor-link-area ul {
    display: flex;
    justify-content: center;
    font-weight: 400;
}
.anchor-link-area ul li {
    position: relative;
    display: flex;
    align-items: center;
}
.anchor-link-area ul li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 58%;
    background: #DCDCDC;
}
.anchor-link-area ul li a {
    display: block;
    padding: 0 8px;
    position: relative;
}
.anchor-link-area ul li a.current::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--accent-color);
    border-radius: 50%;
    transition: .3s;
    margin-right: 8px;
    top: -3px;
    position: relative;
}
.anchor-link-area ul li a:active,
.anchor-link-area ul li a:visited,
.anchor-link-area ul li a:focus,
.anchor-link-area ul li a:hover{
    color: var(--default-font-color);
}
@media (max-width: 1530px) {
    .bottom-fsv01 {
        padding-top: 114px;
    }
    .anchor-link-area ul li a {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .bottom-fsv01 {
        padding-top: 100px;
    }
    .anchor-link-area ul li a {
        font-size: 13px;
        text-wrap-mode: nowrap;
    }
}
@media (max-width: 600px) {
    .recruit-page {
        display: none;
    }
}
@media (max-width: 540px) {
    .bottom-fsv01 .flex-box {
        display: block;
        padding-bottom: 0;
    }
    .bottom-fsv01 h2 {
        margin-bottom: 12px;
    }
    .bottom-fsv01 h2 span {
        margin-top: 4px;
    }
    .pkz>div {
        font-size: 10px;
    }
    .BlogContents>div .pkz>div:last-child {
        max-width: 80px;
    }


}



.bottom-fsv02 {
    padding-top: 160px!important;
    padding-bottom: 0!important;
}
.bottom-fsv02 h2 {
    display: block;
    font-size: clamp(40px, 4vw, 72px);
    font-weight: bold;
    letter-spacing: 0;
    color: var(--main-color);
    font-family: var(--fontfamily01);
    text-indent: 0;
}
.bottom-fsv02 h2 span {
    font-size: clamp(12px, 1vw, 16px);
    display: block;
    font-weight: 500;
    color: var(--default-font-color);
    margin-top: 8px;
    position: relative;
    display: flex;
    align-items: center;
    font-family: var(--fontfamily02);
}
.bottom-fsv02 h2 span::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 2px;
    background: var(--accent-color);
    margin-right: 12px;
}
.bottom-fsv02 .flex-box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.bottom-fsv02  .flex-box > div {
    width: fit-content;
}
.bottom-fsv02::before,.bottom-fsv02::after {
    display: none;
}
.bottom-fsv02 .anchor-link-area.recruit-page {
    margin-top: 32px;
}
.anchor-link-area.recruit-page ul li a.l-color {
    color: var(--main-color);
    /* font-weight: 500; */
}
@media (max-width: 1530px) {
    .bottom-fsv02 {
        padding-top: 120px !important;
    }
}
@media (max-width: 768px) {
    .bottom-fsv02 {
        padding-top: 84px !important;
    }
    .anchor-link-area.recruit-page  ul {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .anchor-link-area.recruit-page  ul li {
        margin-bottom: 8px;
    }
}



/*-----------------------------
　トップ
-----------------------------*/
/*-----お知らせ-----*/
/*タグボタン*/
#news .flex-box .block_box {
    display: flex;
}
#news .flex-box .block_box h2 {
    margin-right: 4%;
}
#news .ui-group button {
    padding: 0;
    border: none;
    background: transparent;
    font-size: 14px;
    margin-right: 24px;
    transition: .3s;
}
#news .ui-group button:hover {
    opacity:.7;
}
@media (max-width: 1530px) {
    #news .ui-group button {
        font-size: 13px;
    }
}
@media (max-width: 768px) {
}
@media (max-width: 440px) {
    #news .ui-group button {
        margin-right: 16px;
    }
}

/*レイアウト*/
#news .blog_tile.clearfix {
    border-left: 1px solid #DCDCDC;
    border-top: 1px solid #DCDCDC;
}

#news .grid.clearfix > div {
    margin: 0;
    padding: 0;
    width: calc(25% - .5px);
}
#news .grid.clearfix > div::before {
    content: "";
    display: block;
    width: 1px;
    height: 150%;
    background: #DCDCDC;
    position: absolute;
    top: 0;
    right: -1px;
    z-index: 1;
}
@media (max-width: 768px) {
    #news .grid.clearfix > div {
        width: 100%;
        display: flex;
        justify-content: space-between;
        padding: 24px 6%;
        align-items: flex-start;
        border-bottom: 1px solid #DCDCDC;
    }
}

/*余白*/
#news .grid.clearfix > div > div:first-child {
    padding: 12% 10% 0;
}
#news .grid.clearfix > div > div:last-child {
    padding: 20px 10% 10%;
}
@media (max-width: 768px) {
    #news .grid.clearfix > div > div:first-child {
        padding: 0;
        aspect-ratio: 3/2;
        width: 24%;
    }
    #news .grid.clearfix > div > div:last-child {
        padding: 0;
        width: 70%;
        height: 60px;
    }
}

/*サムネイル*/
#news .squarebox:after {
    display: none;
}
#news .squarebox>* {
    position: relative;
}
#news .blog_img.thumbnail.squarebox {
    border: none;
    border-radius: 0;
}
#news .blog_img.thumbnail.squarebox * {
    height: 100%;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3/2;
    transition: .5s;
    overflow: hidden;
    margin: 0;
}
#news .grid.clearfix > div:hover .blog_img.thumbnail.squarebox img {
    transform: scale(1.05);
}

/*詳細*/
#news .caption {
    display: flex;
    flex-wrap: wrap;
}
.blog_time {
    order: 1;
    font-family: var(--fontfamily02);
    letter-spacing: 0;
    font-size: 13px;
    color: #535353;
    display: flex;
    align-items: center;
    padding-left: 80px;
    position: relative;
    font-weight: 400;
    transition: .3s;
}
#news span.date_format_blog_t {
    display: none;
}
#news .caption .blog_title {
    order: 2;
    width: 100%;
}
@media (max-width: 991px) {
    #news .caption .blog_time {
        font-size: 11px;
    }
}



/*タグ*/
span.blog_tag {
    background: transparent;
    padding: 0;
    position: absolute;
    left: 4px;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: 13px;
    font-weight: 400;
    pointer-events: none;
    transition: .3s;
    line-height: 1em;
    display: flex;
    align-items: center;
}
span.blog_tag::before,span.blog_tag::after {
    display: none;
}
span.blog_tag::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--accent-color);
    border-radius: 50%;
    margin-right: 8px;
    transition: .3s;
    position: relative;
    /* top: -3px; */
}
#news .grid.clearfix > div:hover span.blog_tag::before {
    transform: scale(1.5);
}
@media (max-width: 991px) {
    span.blog_tag {
        font-size: 11px;
        top: -1px;
    }
    span.blog_tag::before {
        top: -1px;
    }
}

/*タイトル*/
a.blog-link {
    font-size: clamp(13px, .9vw, 16px);
    font-weight: 400;
    margin-top: 4px;
    line-height: 1.3em;
    display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
    transition: .3s;
}
a.blog-link:hover {
    color: var(--default-font-color);
}

/*ホバー*/
#news .grid.clearfix > div:hover  a.blog-link,
#news .grid.clearfix > div:hover  .blog_time,
#news .grid.clearfix > div:hover  span.blog_tag{
    font-weight: 500;
}



/*-----私たちの強み-----*/
#features {
    position: relative;
    z-index: 9;
    aspect-ratio: 16/9;
    overflow: hidden;
}
#features::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#features .img-box, #features .img-box * {
    height: 100%;
    object-fit: cover;
}
#features .txt-box {
    color: #fff;
    position: absolute;
    top: 16%;
    left: 0;
    right: 0;
}
#features .txt-box h2 {
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 16px;
    margin-top: 20px;
    font-size: clamp(14px, 2.1vw, 40px);
}
#features .txt-box p {
    line-height: 2em;
    font-size: clamp(14px, 1.4vw, 17px);
    font-weight: 400;
}
#features .txt-box p strong {
    font-weight: bold;
    line-height: 1.1em;
    font-size: clamp(36px, 5.2vw, 90px);
}
#features .link-text.bt-default {
    position: absolute;
    bottom: 0;
    right: 6%;
}
#features .slick-slider {
    opacity: .8;
}
@media (max-width: 1530px) {
    #features {
        aspect-ratio: 3/2;
    }
}
@media (max-width: 991px) {
    #features .link-text.bt-default {
        position: relative;
        right: auto;
        margin-top: 40px;
    }
    #features {
        aspect-ratio: auto;
        height: 80vw;
    }
}
@media (max-width: 768px) {
    #features .txt-box {
        top: 12%;
        /* bottom: 0; */
        margin: auto;,
    animation: ;,
    animation: initial;,
    animation: initial;,
    animation: a;
        height: fit-content;
    }
    #features .txt-box h2 {
        margin-top: 10px;
        margin-bottom: 24px;
    }
    #features .txt-box p {
        line-height: 1.6em;
        font-weight: 400;
    }
    #features .link-text.bt-default {
        margin-top: 32px;
    }
}
@media (max-width: 540px) {
    #features {
        height: 100vw;
        min-height: 520px;
    }
    #features .txt-box p br {
        display: none;
    }
}



/*-----テキストループ-----*/
.txt-loop.loop-box  {
    width: 100%;
    margin: 0;
    padding: 2% 0;
    border-top: 1px solid #DCDCDC;
    border-bottom: 1px solid #DCDCDC;
    overflow: hidden;
}
.txt-loop.loop-box > div {
    animation: infinity-scroll-left 160s infinite linear 0.5s both;
}
.txt-loop.loop-box .garally_normal .item {
    height: auto;
    width: auto;
}
.txt-loop.loop-box .garally_normal .item p {
    font-size: 69px;
    font-size: clamp(36px, 5vw, 69px);
    font-weight: bold;
    opacity: .03;
    white-space: nowrap;
    letter-spacing: 0;
}


/*-----製品情報-----*/
#product {
    /* display: flex; */
    /* border-top: 1px solid #DCDCDC; */
    border-bottom: 1px solid #DCDCDC;
}
#product .ttl-box {
    width: 12%;
}
#product .ttl-box > .block_box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 64px;
}
#product .product-item {
    width: calc((100% / 2));
    /* border-left: 1px solid #DCDCDC; */
    background: #fff;
}
#product .garally_normal {
    aspect-ratio: 3/2;
    background: #FBFBFB;
    position: relative;
    transition: .5s;
}
#product .product-item:first-child {
    border-right: 1px solid #DCDCDC;
}
#product .garally_normal .item {
    position: absolute;
    width: 50%;
    transition: .5s;
}
#product .garally_normal .item:nth-child(1){
    top: 2%;
    left: 31%;
}
#product .garally_normal .item:nth-child(2){
    bottom: 0;
    left: 15px;
}
#product .garally_normal .item:nth-child(3){
    right: 4%;
    bottom: 5%;
}

#product .product-item:first-child  .item:nth-child(2){
    width: 54%;
}
#product .product-item:first-child  .item:nth-child(3){
    width: 36%;
}

#product .product-item:last-child .item:nth-child(1) {
    width: 44%;
    left: 17%;
    top: 7%;
}
#product .product-item:last-child .item:nth-child(2) {
    width: 48%;
    bottom: 7%;
    left: 4%;
}
#product .product-item:last-child .item:nth-child(3) {
    width: 38%;
    bottom: 0%;
}

#product .product-item h3 {
    font-size: 30px;
    position: relative;
    margin-bottom: 16px;
    font-size: clamp(18px,1.6vw, 30px);
    font-weight: 400;
}
#product .product-item h3::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--accent-color);
    border-radius: 50%;
    margin-right: 14px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -16px;
    transition: .3s;
}
#product .product-item .txt-box {
    padding: 6% 10% 8%;
    font-weight: 400;
}
#product .ttl-box .link-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
#product .ttl-box .link-text a {
    background: var(--main-color);
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    transition: .3s;
    font-weight: 400;
}
#product .ttl-box .link-text a:hover {
    letter-spacing: .2em;
    opacity: .8;
}
#product .product-item a {
    width: 100%;
}
#product .product-item a:hover .item {
    transform: scale(1.2);
}
#product .product-item a:hover {
    color: var(--default-font-color);;
}
#product .product-item a:hover h3::before {
    transform: scale(1.5);
}
#product .product-item a:hover .garally_normal {
    background: #F6F6F6;
}
.product-link-box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 12%;
    z-index: 88;
}
.product-link-box a {
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    padding: 12px;
    color: #fff;
    width: 100%;
    background: var(--main-color);
    transition: .3s;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-link-box a:hover {
    opacity: .8;
}
#product .flex-ttl {
    padding-bottom: 40px;
}
@media (max-width: 991px) {
    #product .ttl-box > .block_box {
        padding-top: 32px;
    }
    #product .product-item h3 {
        margin-bottom: 10px;
    }
    #product .ttl-box .link-text a {
        font-size: 12px;
    }
}
@media (max-width: 768px) {
    #product {
        /* display: block; */
        border-bottom: none;
    }
    #product .product-item {
        width: 100%;
        margin: 0 0 0 auto;
        border-bottom: 1px solid #DCDCDC;
    }
    #product .product-item h3 {
        font-size: 16px;
    }
    #product .product-item .txt-box {
        font-size: 13px;
    }
    .product-link-box{
        width:80px;
    }
    .product-link-box a {
        aspect-ratio: 2/3;
        writing-mode: tb-rl;
        display: flex;
        align-items: center;
        justify-content: center;
        height: auto;
    }
    #product .flex-ttl {
        padding-bottom: 120px;
    }
}
@media (max-width: 540px) {
    .product-link-box{
        width:48px;
    }
    .product-link-box a {
        aspect-ratio: 9/20;
    }
    #product .product-item a:hover .item {
        transform: scale(1.08);
    }
}


/*-----採用情報-----*/
#recruit {
    display: flex;
}
#recruit .img-box {
    width: 50%;
    aspect-ratio: 3/2;
}
#recruit .img-box * {
    height: 100%;
    object-fit: cover;
}
#recruit .txt-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 0 4%;
    background:url(/theme/my-17482383656834001de8966/img/top/top-bg02.jpg) no-repeat;
    background-size:cover;
}
#recruit .txt-box h2 {
    margin-bottom: 16px;
}
#recruit .txt-box .pg_text {
    margin-bottom: 40px;
}
#recruit .txt-box .pg_text p {
    line-height: 1.8em;
    font-weight: 400;
}
#recruit .txt-box .pg_text strong {
    font-size: 40px;
    margin-bottom: 16px;
    display: block;
    line-height: 1.2em;
}
#recruit .txt-box .pg_text strong br {
    display: none;
}
@media (max-width: 1530px) {
    #recruit .txt-box .pg_text strong br {
        display: block;
    }
    #recruit .txt-box .pg_text strong {
        font-size: clamp(20px, 3vw, 40px);
    }
}
@media (max-width: 1340px) {
    #recruit .img-box {
        aspect-ratio: 1/.9;
    }
    #recruit .img-box * {
        height: 100%;
        object-fit: cover;
    }
}
@media (max-width: 768px) {
    #recruit {
        display: block;
    }
    #recruit .img-box {
        width: 100%;
        aspect-ratio: auto;
        height: 320px;
    }
    #recruit .txt-box {
        width: 100%;
        padding: 40px 6%;
        justify-content: flex-start;
    }
    #recruit .txt-box .pg_text strong {
        font-size: 24px;
    }

    #recruit .txt-box .pg_text {
        margin-bottom: 20px;
    }
}
@media (max-width: 540px) {
    #recruit .img-box {
        aspect-ratio: 3/2;
        height: auto;
    }
}




/*-----採用ポイント-----*/
.recruit-point {
    display: flex;
    border-top: 1px solid #DCDCDC;
    border-bottom: 1px solid #DCDCDC;
    border-left: 1px solid #DCDCDC;
}
.recruit-point > div {
    position: relative;
    padding: 3%;
    border-left: 1px solid #DCDCDC;
}
.recruit-point > div::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    opacity: .05;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.recruit-point strong {
    font-size: 50px;
    font-weight: 400;
    color: var(--main-color);
    font-family: var(--fontfamily02);
    margin-bottom: 6px;
    position: relative;
    display: flex;
    align-items: center;
    font-size: clamp(32px, 1.6vw, 50px);
    letter-spacing: 0;
}
.recruit-point strong::before {
    content: "POINT";
    display: inline-block;
    background: #fff;
    text-align: center;
    border-radius: 40px;
    border: 1px solid;
    font-size: 14px;
    width: fit-content;
    padding: 4px 12px;
    margin-right: 12px;
}
.recruit-point h3 {
    font-size: 30px;
    line-height: 1.3em;
    padding-left: 24px;
    position: relative;
    margin-bottom: 20px;
    font-size: clamp(17px, 1.6vw, 30px);
    font-weight: 500;
}
.recruit-point h3::before {
    content: "";
    display: block;
    width: 4px;
    height: 90%;
    background: var(--accent-color);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
.recruit-point p {
    font-size: 15px;
    font-weight: 400;
}
@media (max-width: 1530px) {
    .recruit-point > div {
        padding: 3% 2%;
    }
    .recruit-point p {
        font-size: 14px;
    }
    .recruit-point strong::before {
        font-size: 10px;
        padding: 3px 8px;
    }
    .recruit-point h3 {
        margin-bottom: 12px;
    }
}
@media (max-width: 991px) {
    .recruit-point {
        flex-wrap: wrap;
        border-bottom: none;
    }
    .recruit-point > div {
        width: 50%;
        border-bottom: 1px solid #DCDCDC;
    }
    .recruit-point h3 {
        font-size: 20px;
    }
    .recruit-point > div {
        padding: 4% 3% 5%;
    }
    .recruit-point strong {
        font-size: 26px;
    }
}
@media (max-width: 540px) {
    .recruit-point {
        display: block;
    }
    .recruit-point > div {
        width: 100%;
        padding: 24px 6% 32px;
        border-left: none;
    }
    .recruit-point h3 {
        font-size: 17px;
        font-weight: bold;
        padding-left:15px;
        margin-bottom:0;
    }

    .recruit-point p {
        font-size: 13px;
    }

    .recruit-point h3 br {
        display:none;
    }
}


/*-----採用職種紹介-----*/
.recruit-occupation {
    display: flex;
}
.recruit-occupation .txt-box {
    width: 36%;
    background:url(/theme/my-17482383656834001de8966/img/top/top-bg.jpg) center no-repeat;
    background-size:cover;
}
.recruit-occupation .img-box {
    width: 64%;
    aspect-ratio: 3/2;
    border-bottom: 1px solid #DCDCDC;
}
.recruit-occupation .img-box * {
    height: 100%;
    object-fit: cover;
}
.recruit-occupation .img-box .garally_normal {
    position: relative;
    aspect-ratio: 16/9;
    width: 100%;
}
.recruit-occupation .img-box .garally_normal .item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.recruit-occupation .img-box .garally_normal .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: .8s;
}
.recruit-occupation .img-box .garally_normal .item.active img {
    opacity: 1;
    transform: scale(1.05);
}
.recruit-occupation .txt-box ul li {
    height: calc(100% / 4);
    display: flex;
    align-items: center;
    padding: 0 80px;
    border-bottom: 1px dotted #DCDCDC;
}
.recruit-occupation .txt-box * {
    height: 100%;
}
.recruit-occupation .txt-box ul li * {
    height: auto;
}
.recruit-occupation .txt-box ul li h3 {
    position: relative;
    margin-bottom: 8px;
    font-size: 21px;
    transform: scale(.9);
    transform-origin: left;
    transition: .3s;
}
.recruit-occupation .txt-box ul li h3::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -16px;
    margin-right: 14px;
    transition:.3s;
}
.recruit-occupation .occupation01 h3::before {
    background: var(--occupation01-color);
}
.recruit-occupation .occupation02 h3::before {
    background: var(--occupation02-color);
}
.recruit-occupation .occupation03 h3::before {
    background: var(--occupation03-color);
}
.recruit-occupation .occupation04 h3::before {
    background: var(--occupation04-color);
}
.recruit-occupation .txt-box ul li p {
    font-size: 14px;
    font-weight: 400;
}
.recruit-occupation .txt-box ul li a {
    transition: .3s;
}
.recruit-occupation .txt-box ul li a:hover {
    color: var(--default-font-color);
}
.recruit-occupation .txt-box ul li a:hover h3::before {
    transform: scale(1.5);
}
.recruit-occupation .txt-box ul li a:hover h3 {
    transform: scale(1);
}
.occupation-sp {
    display: none;
}
@media (max-width: 1340px) {
    .recruit-occupation .txt-box ul li {
        padding: 6% 10%;
    }
}
@media (max-width: 991px) {
    .recruit-occupation .txt-box ul li h3 {
        font-size: 18px;
    }
    .recruit-occupation .txt-box ul li p {
        font-size: 13px;
    }
}
@media (max-width: 768px) {
    .occupation-pc {
        display: none;
    }.occupation-sp {
         display: block;
     }
    .recruit-occupation {
        flex-wrap: wrap;
    }
    .recruit-occupation .txt-box {
        width: 100%;
        order: 2;
    }
    .recruit-occupation .img-box {
        width: 100%;
        aspect-ratio: 16/9;
    }
    .recruit-occupation .txt-box ul li {
        padding: 24px 6%;
        width: 50%;
        height: auto;
        border-top: 1px solid #DCDCDC;
        border-left: 1px solid #DCDCDC;
    }
    .recruit-occupation .txt-box ul li.grid-bg {
        border-left: none;
    }
    .recruit-occupation .txt-box ul {
        display: flex;
        flex-wrap: wrap;
    }
    .recruit-occupation .txt-box ul li.grid-bg::before {
        display: none;
    }
}
@media (max-width: 540px) {
    .recruit-occupation .txt-box ul li {
        width: 100%;
        padding: 24px 6% 24px 8%;
    }
    .recruit-occupation .txt-box ul li h3 {
        font-size: 16px;
        font-weight: bold;
    }
}






/*-----------------------------
 私たちの強み
-----------------------------*/
/*-----概要-----*/
.ourstrengths-about .pg_text {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.8em;
}
.ourstrengths-about h3 {
    text-align: center;
    margin-top: 56px;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 400;
    opacity: .7;
}
.ourstrengths-about .garally_normal {
    display: flex;
    flex-wrap: wrap;
    /* gap: 5%; */
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
    width: 80%;
    margin-bottom: clamp(60px, 6vw, 100px);
    margin-top: 48px;
    position: relative;
}
.ourstrengths-about .garally_normal::before {
    content: "当社取引先(一部)";
    display: block;
    width: 100%;
    position: absolute;
    bottom: -16px;
    right: 0;
    text-align: right;
    color: #666;
    font-size: 12px;
}
.ourstrengths-about .garally_normal .item {
    width: calc(100% / 6);
}
@media (max-width: 1530px) {
    .ourstrengths-about .pg_text {
        font-size: 18px;
    }
    .ourstrengths-about h3 {
        font-size: 14px;
    }
}
@media (max-width: 991px) {
    .ourstrengths-about .pg_text {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .ourstrengths-about .pg_text {
        text-align:left;
    }
}
@media (max-width: 540px) {
    .ourstrengths-about .garally_normal {
        width: 100%;
    }
}


/*-----flex レイアウト-----*/
.flex-layout {
    display: flex;
    position: relative;
    justify-content: flex-end;
}
.flex-ttl {
    width: 12%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 80px;
    width: 12%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 80px;
    position: sticky;
    top: 40px;
    align-self: flex-start;
    height: fit-content;
    z-index: 10;
}
.flex-item-wrap {
    width: calc(100% - 12%);
    border-left: 1px solid #DCDCDC;
    display: flex;
}
@media (max-width: 991px) {
    .flex-ttl {
        padding-top: 32px;
    }
}
@media (max-width: 768px) {
    .flex-ttl {
        width: 80px;
    }
    .flex-item-wrap {
        width: calc(100% - 80px);
        display: block;
    }
}
@media (max-width: 540px) {
    .flex-ttl {
        width: 48px;
        padding-top: 20px;
    }
    .flex-item-wrap {
        width: calc(100% - 48px);
    }
}



/*-----実績-----*/
#achievements {
    border-top: 1px solid #DCDCDC;
}
#achievements .flex-ttl {
    background: transparent;
}
#achievements .flex-item-wrap > .flex-box {
    display: flex;
    flex-wrap: wrap;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(4) {
    order: 1;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(5) {
    order: 2;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(6) {
    order: 3;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(1) {
    order: 4;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(3) {
    order: 5;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(2) {
    order: 6;
}

#achievements .flex-item-wrap > .flex-box > div:nth-child(1),
#achievements .flex-item-wrap > .flex-box > div:nth-child(4) {
    width: 44%;
    border-left: none;
    padding: 4% 40px 24px;
}
#achievements .flex-item-wrap > .flex-box > div {
    width: 28%;
    border-left: 1px solid #DCDCDC;
    background: #fff;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) {
    border-bottom: 1px solid #DCDCDC;
    padding: 4% 40px 40px;
}

/*テキスト*/
#achievements .flex-item-wrap > .flex-box h4 {
    font-size: clamp(19px, 1.5vw, 44px);
    font-weight: bold;
    margin-bottom: 32px;
}
#achievements .flex-item-wrap > .flex-box .achievements-item {
    display: flex;
    align-items: baseline;
    justify-content: center;
}
#achievements .flex-item-wrap > .flex-box .achievements-item .figure {
    font-size: clamp(132px, 11vw, 240px);
    line-height: 1em;
    letter-spacing: 0;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .figure {
    font-size: clamp(80px, 9vw, 240px);
    font-weight: 600;
    position: relative;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .figure::before {
    content: "約";
    display: inline-block;
    font-size: 12px;
    position: absolute;
    top: 12px;
    left: -16px;
    line-height: 1em;
    font-weight: bold;
}
#achievements .flex-item-wrap > .flex-box .achievements-item .unit {
    font-size: clamp(16px, 1.6vw, 32px);
    margin-left: 16px;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(n+4)  .unit {
    margin-left: 8px;
}
/*1個目*/
#achievements .flex-item-wrap > .flex-box > div:nth-child(1) .flex-box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal {
    display: flex;
}
#achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal .item img {
    width: clamp(80px, 7vw, 156px);
}
/*2.3個目*/
#achievements .flex-item-wrap > .flex-box > div:nth-child(2), #achievements .flex-item-wrap > .flex-box > div:nth-child(3) {
    display: flex;
    align-items: center;
    padding: 24px;
    justify-content: center;
}
#achievements .garally_normal .item {
    display: flex;
    align-items: center;
}
#achievements .garally_normal .item:first-child {
    margin-bottom: 16px;
}
#achievements .garally_normal .item img {
    width: clamp(80px, 6vw, 136px);
    height: auto;
    object-fit: contain;
    margin-right: 20px;
}
#achievements .garally_normal .item p {
    font-size: 30px;
    font-weight: bold;
    /* width: calc(100% - 136px); */
    font-size: clamp(18px, 1vw, 30px);
}
/*4個目*/
#achievements .flex-item-wrap > .flex-box > div:nth-child(4) .unit {
    margin-top: auto;
    position: relative;
    /* top: -20px; */
    white-space: nowrap;
    margin-left: 8px;
}
/*スマホ*/
#achievements .flex-item-wrap .sp-item {
    display: none;
}
@media (max-width: 1530px) {
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal {
        display: block;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal .item img {
        width: 60px;
    }
    #achievements .flex-item-wrap > .flex-box > div,
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1), #achievements .flex-item-wrap > .flex-box > div:nth-child(4){
        width: calc(100% / 3);
    }
    #achievements .garally_normal .item:first-child {
        margin-bottom: 8px;
    }
    #achievements .flex-item-wrap > .flex-box h4 {
        margin-bottom: 24px;
    }
}
@media (max-width: 1190px) {
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1), #achievements .flex-item-wrap > .flex-box > div:nth-child(4) {
        padding: 4% 20px 24px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) {
        padding: 4% 24px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(2), #achievements .flex-item-wrap > .flex-box > div:nth-child(3) {
        padding: 24px 16px;
    }
    #achievements .garally_normal .item img {
        width: 60px;
    }

    #achievements .garally_normal .item p {
        font-size: 16px;
    }
}
@media (max-width: 970px) {
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) {
        width: 100%;
        border-bottom: 1px solid #DCDCDC;
        padding: 8% 6%;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(2), #achievements .flex-item-wrap > .flex-box > div:nth-child(3) {
        width: 50%;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(2) {
        border-left: none;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal {
        display: flex;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal .item img {
        width: 80px;
    }
    #achievements .garally_normal .item p {
        font-size: 14px;
    }
    #achievements .garally_normal .item img {
        width: 50px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) h4 {
        font-size: 15px;
        margin-bottom: 8px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .figure {
        font-size: clamp(55px, 8vw, 90px);
        font-weight: bold;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .unit {
        font-size: 12px;
        margin-left: 4px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) {
        padding: 6% 4% 32px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(4){
        padding: 6% 2% 32px 4%;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(4) .unit {
        top: -8px;
        white-space: nowrap;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .flex-box {
        justify-content: center;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal {
        margin-right: 24px;
    }
}
@media (max-width: 800px) {
    #achievements .flex-item-wrap > .flex-box > div:nth-child(2), #achievements .flex-item-wrap > .flex-box > div:nth-child(3) {
        display: none;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) {
        width: 100%;
        border-left: none;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .figure {
        font-weight: bold;
        font-size: clamp(55px, 15vw, 90px);
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .achievements-item {
        justify-content: flex-end;
        margin-right: 6%;
    }
    #achievements .flex-item-wrap > .flex-box > div:last-child {
        width: 100%;
        border-left: none;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) {
        border-bottom: none;
    }
    #achievements .flex-item-wrap .sp-item {
        display: block;
        border-top: 1px solid #DCDCDC;
        padding: 6% 6% 20px;
        background: #fff;
    }
    #achievements .flex-item-wrap .sp-item .garally_normal {
        width: fit-content;
        margin: 0 auto;
    }
    #achievements .flex-item-wrap .sp-item .garally_normal .item:not(:last-child) {
        margin-bottom: 16px;
    }
    #achievements .garally_normal .item img {
        width: 64px;
    }
    #achievements .flex-item-wrap {
        display: block;
    }
}
@media (max-width: 540px) {
    #achievements .flex-item-wrap > .flex-box .achievements-item .figure {
        font-size: 100px;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(1) .garally_normal .item img {
        width: 54px;
        margin-right: 12px;
    }
    #achievements .flex-item-wrap > .flex-box h4 {
        margin-bottom: 16px;
        font-size: 16px!important;
    }
}
@media (max-width: 440px) {
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) {
        width: 100%;
        padding: 8% 6%;
    }
    #achievements .flex-item-wrap > .flex-box > div:nth-child(n+4) .figure {
        font-size: 64px;
        font-size: clamp(55px, 20vw, 90px);
        font-weight: 600;
    }
    #achievements .garally_normal .item img {
        width: 50px;
    }
}


/*-----特徴-----*/
#feature .flex-item-wrap {
    flex-wrap: wrap;
}
#feature .feature-item {
    display: flex;
}
#feature .feature-item:nth-child(even) .txt-box {
    orphans: 1;
}
#feature .feature-item:nth-child(even) .img-box {
    order: 2;
}
#feature .feature-item .img-box {
    width: 50%;
    aspect-ratio: 3/2;
}
#feature .feature-item .img-box * {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#feature .feature-item .txt-box {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6%;
}
#feature .feature-item .txt-box > div {
    max-width: 490px;
}
#feature .feature-item .txt-box strong {
    display: block;
    color: var(--main-color);
    font-family: var(--fontfamily02);
    font-size: clamp(28px, 2vw, 56px);
    font-weight: bold;
    position: relative;
    margin-bottom: 16px;
}
#feature .feature-item .txt-box strong::before {
    content: "Feature";
    display: inline-block;
    font-size: clamp(12px, 1.4vw, 30px);
    letter-spacing: 0em;
    margin-right: 8px;
}
#feature .feature-item .txt-box h4 {
    font-size: clamp(18px, 2.2vw, 32px);
    font-weight: bold;
    margin-bottom: clamp(8px, 1vw, 24px);
    line-height: 1.4em;
}
#feature .feature-item .txt-box p {
    font-size: 18px;
    line-height: 1.8em;
    font-weight: 400;
}
@media (max-width: 1530px) {
    #feature .feature-item .img-box {
        aspect-ratio: 1/.9;
    }
    #feature .feature-item .txt-box p {
        font-size: 16px;
    }
}
@media (max-width: 991px) {
    #feature .feature-item {
        display: block;
    }
    #feature .feature-item .img-box {
        width: 100%;
        aspect-ratio: 3/2;
    }
    #feature .feature-item .txt-box {
        width: 100%;
        justify-content: flex-start;
        padding: 6% 6% 8% 6%;
    }
    #feature .feature-item .txt-box > div {
        max-width: none;
    }
    #feature .feature-item .txt-box strong {
        margin-bottom: 0;
    }
}
@media (max-width: 768px) {
    #feature .feature-item .txt-box p {
        font-size: 14px;
    }
}
@media (max-width: 540px) {
    #feature .feature-item .txt-box {
        padding: 8% 6% 12% 6%;
    }
}


/*-----------------------------
 企業情報
-----------------------------*/
@media (max-width: 440px) {
    .page-company-index-html .anchor-link-area ul li a {
        font-size: 12px;
    }
}
@media (max-width: 390px) {
    .page-company-index-html .anchor-link-area ul li a {
        padding: 0 6px;
        font-size: 11px;
    }
}
/*-----代表挨拶-----*/
#message {
    margin: 0 auto;
    margin-bottom: clamp(48px, 7vw, 100px);
    padding-bottom: clamp(60px, 6vw, 104px)!important;
}
#message .flex-box {
    position: relative;
    display: flex;
}
#message .txt-box {
    width: 47%;
    margin: 0 0 0 auto;
}
#message .txt-box p {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8em;
}
#message .img-box {
    width: 47%;
}
#message .img-box * {
    height: 100%;
    object-fit: cover;
    object-position: top;
}
#message .img-box > div {
    width: 80%;
    height: auto;
    margin: 0 0 0 auto;
}
#message .txt-box strong {
    font-weight: 500;
    text-align: right;
    margin-top: 32px;
    display: block;
}

@media (max-width: 1530px) {
    #message .txt-box p {
        font-size: 18px;
    }
}
@media (max-width: 991px) {
    #message .txt-box p {
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    #message .txt-box p {
        font-size: 14px;
    }
}
@media (max-width: 540px) {
    #message .flex-box {
        display: block;
    }
    #message .img-box {
        width: 100%;
    }
    #message .img-box > div {
        width: 100%;
        max-width: 320px;
        margin: 0 auto 40px;
    }
    #message .txt-box {
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
}


/*-----企業理念-----*/
#corporate_philosophy {
    border-top: 1px solid #DCDCDC;
    border-bottom: 1px solid #DCDCDC;
    padding-top: clamp(44px, 6vw, 88px);
    padding-bottom: clamp(60px, 6vw, 104px);
    position: relative;
    overflow: hidden;
    padding-left: 6%;
    padding-right: 6%;
}
#corporate_philosophy::before {
    content: "";
    display: block;
    width: 100%;
    height: 120%;
    background: url(/theme/my-17482383656834001de8966/img/company/logo-bg.png) center right no-repeat;
    background-size: contain;
    position: absolute;
    top: -10%;
    right: -10%;
}
#corporate_philosophy .h-style02 {
    margin-bottom: clamp(24px, 2.4vw, 40px);
}
#corporate_philosophy .pg_text p {
    text-align: center;
    font-size: clamp(16px, 2vw, 24px);
    font-weight: 500;
    line-height: 1.8em;
}
#corporate_philosophy .pg_text p br.sp {
    display: none;
}
@media (max-width: 540px) {
    #corporate_philosophy .pg_text p {
        font-size: 14px;
        font-weight: 500;
    }
    #corporate_philosophy .pg_text p br.sp {
        display: block;
    }
}

/*-----CSR活動-----*/
#csr {
    border-bottom: 1px solid #DCDCDC;
    padding-top: clamp(44px, 6vw, 88px);
    padding-bottom: clamp(60px, 6vw, 104px);
    position: relative;
    overflow: hidden;
    color: #fff;
    padding-left: 6%;
    padding-right: 6%;
}
#csr .h-style02 {
    margin-bottom: 16px;
}
#csr .pg_text {
    width: fit-content;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
}
#csr .pg_text p {
    font-size: clamp(16px, 2vw, 24px);
    font-weight: 500;
    line-height: 1.8em;
}
#csr .pg_text::before {
    content: "";
    display: inline-block;
    width: 156px;
    height: auto;
    aspect-ratio: 1/.9;
    background: url(/theme/my-17482383656834001de8966/img/company/csr.png) center no-repeat;
    background-size: contain;
    margin-right: 32px;
}
@media (max-width: 768px) {
    #csr .pg_text::before {
        width: 80px;
        margin-right: 24px;
    }
}
@media (max-width: 540px) {
    #csr .pg_text {
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }
    #csr .pg_text::before {
        display: block;
        margin-right: 0;
        margin-bottom: 8px;
    }
    #csr .pg_text p {
        width: 100%;
    }
    #csr .pg_text p {
        font-size: 14px;
        font-weight: 500;
    }
}


/*-----多様共生-----*/
#diversity {
    border-bottom: 1px solid #DCDCDC;
    padding-top: clamp(44px, 6vw, 88px);
    padding-bottom: clamp(80px, 6vw, 104px);
}
#diversity .flex-box:not(:last-child) > div {
    margin-bottom: clamp(32px, 7vw, 64px);
}
#diversity .flex-box > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#diversity .flex-box .img-box {
    width: 33%;
    position: relative;
}
#diversity .flex-box:nth-child(2) .img-box img {
    position: absolute;
    top: 0;
    right: 0;
}
#diversity .flex-box .img-box img.sp{
    display: none;
}
#diversity .flex-box .txt-box {
    width: 63%;
}
#diversity .img-none .txt-box {
    width: 100%;
}
#diversity .txt-box strong {
    display: block;
    color: var(--main-color);
    font-family: var(--fontfamily02);
    font-size: clamp(22px, 2vw, 56px);
    font-weight: bold;
    position: relative;
    margin-bottom: 8px;
}
#diversity .txt-box strong::before {
    content: "Diversity";
    display: inline-block;
    font-size: clamp(12px, 1.4vw, 30px);
    letter-spacing: 0em;
    margin-right: 8px;
}
#diversity .txt-box h4 {
    font-size: clamp(18px, 2vw, 32px);
    font-weight: bold;
    margin-bottom: clamp(8px, 1vw, 24px);
    line-height: 1.4em;
    position: relative;
}
#diversity .flex-box:nth-child(2) .txt-box h4::before {
    content:"医療法人紘友会";
    display:block;
    font-size: 14px;
    line-height: 1em;
    letter-spacing: .04em;
    margin-bottom: 2px;
}
#diversity .txt-box h4 br {
    display: none;
}
#diversity .txt-box p {
    font-size: 16px;
    line-height: 1.6em;
    font-weight: 400;
}
@media (max-width: 991px) {
    #diversity .txt-box p {
        font-size: 15px;
    }
    #diversity .flex-box:nth-child(2) .img-box img {
        position: relative;
    }
    #diversity .flex-box > div {
        align-items: flex-end;
    }
    #diversity .flex-box:nth-child(2) .txt-box h4::before {
        font-size: 13px;
    }
}
@media (max-width: 768px) {
    #diversity .txt-box p {
        font-size: 14px;
    }
    #diversity .flex-box > div {
        display: block;
    }
    #diversity .flex-box .txt-box {
        width: 100%;
    }
    #diversity .flex-box .img-box {
        width: 80%;
        margin-top: clamp(16px, 5vw, 32px);
    }
    #diversity .flex-box .img-box img.pc {
        display: none;
    }
    #diversity .flex-box .img-box img.sp{
        display: block;
    }
    #diversity .flex-box:last-child .img-box img.sp {
        max-width: 360px;
    }
    #diversity .flex-box:nth-child(2) .txt-box h4::before {
        font-size: 12px;
    }
}
@media (max-width: 570px) {
    #diversity .flex-box .txt-box br.sp-none {
        display: none;
    }
}
@media (max-width: 540px) {
    #diversity .flex-box:nth-child(2) .txt-box h4::before {
        font-size: 12px;
    }
    #diversity .txt-box h4 br {
        display: block;
    }
}

/*-----会社概要-----*/
#about_us {
    margin: 0 auto;
    padding-top: clamp(56px, 8vw, 100px);
    padding-bottom: clamp(64px, 8vw, 140px);
    max-width: 1920px;
}
#about_us .h-style02 {
    margin-bottom: clamp(24px, 4vw, 64px);
}
#about_us .flex-box {
    position: relative;
}
#about_us .txt-box {
    width: 38%;
}
#about_us .txt-box p {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8em;
}
#about_us .img-box {
    width: 57%;
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio:16/9;
}
#about_us .img-box * {
    height: 100%;
    object-fit: cover;
    object-position: top;
}
#about_us table {
    width: 100%;
    border: none;
}
#about_us table th,#about_us table td {
    border: none;
    border-bottom: 1px solid #DCDCDC;
    padding: 20px 8px;
}
#about_us table td {
    font-weight: 400;
}
@media (min-width: 1400px) {
    #about_us .txt-box {
        min-height: 500px;
    }
    #about_us .img-box {
        /* max-height:500px; */
    }
}
@media (max-width: 1530px) {
    #about_us table th, #about_us table td {
        font-size: 14px;
    }
    #about_us table th {
        width: 100px;
    }
    #about_us table td {
        width: calc(100% - 100px);
    }
}
@media (max-width: 991px) {
    #about_us .txt-box p {
        font-size: 16px;
    }
    #about_us .img-box {
        width: 44%;
    }
    #about_us .txt-box {
        width: 52%;
    }
    #about_us table th, #about_us table td {
        font-size: 13px;
        padding: 15px 8px;
    }
}
@media (max-width: 768px) {
    #about_us .img-box {
        position: relative;
        width: 93%;
        margin: 0 0 0 auto;
        margin-bottom: 40px;
    }
    #about_us .txt-box {
        width: 100%;
    }
    #about_us .txt-box p {
        font-size: 14px;
    }
    #about_us table th {
        width: 90px;
    }
    #about_us table td {
        width: calc(100% - 90px);
    }
}

/*-----マップ-----*/
#map a.btn.btn-default {
    display: none;
}
@media (max-width: 991px) {
    div#map_99398 {
        height: 320px!important;
    }
}
@media (max-width: 768px) {
    div#map_99398 {
        height: 240px!important;
    }
}
@media (max-width: 440px) {
    div#map_99398 {
        height: 200px!important;
    }
}

/*-----沿革-----*/
#history {
    padding-top: clamp(56px, 6vw, 100px);
    padding-bottom: clamp(56px, 6vw, 100px);
    overflow: hidden;
}
/*レイアウト*/
#history .decade {
    display: flex;
    padding-bottom: 40px;
    position: relative;
}
#history .event {
    display: flex;
    padding-bottom: 40px;
    position: relative;
}
#history .event::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: var(--accent-color);
    position: absolute;
    top: 17px;
    left: 120px;
    z-index: 8;
}
#history .event:last-child::before  {
    height: 500%;
}
#history .event-content {
    margin-left: 40px;
    font-weight: 400;
}
#history .event-content ul {
    margin-top: 6px;
}

#history .event-content ul li {
    display: flex;
    margin-bottom: 8px;
    line-height: 1.8em;
}
#history .event-content ul li .month {
    margin-right: 24px;
    width: 40px;
    text-align: right;
}
/*テキスト*/
#history .decade-header {
    font-size: 50px;
    letter-spacing: 0;
    font-family: var(--fontfamily02);
    font-weight: bold;
    width: 130px;
    margin-right: 80px;
}
#history .events {
    width: calc(100% - 260px);
}
#history .event-year {
    font-size: 32px;
    font-weight: bold;
    font-family: var(--fontfamily02);
    letter-spacing: 0;
    width: 128px;
    position: relative;
    height: fit-content;
}
#history .event-year::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border: 3px solid var(--accent-color);
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    z-index: 9;
    background: #ffffff;
}
#history .event-year span {
    font-size: 10px;
    display: block;
    line-height: 1em;
    position: absolute;
    top: -12px;
    left: 0;
}
@media (max-width: 1530px) {
    #history .decade-header {
        font-size: 40px;
        width: 100px;
        margin-right: 48px;
    }
    #history .event-year {
        width: 100px;
        font-size: 28px;
    }
    #history .event-content {
        margin-left: 24px;
    }
    #history .event-content ul {
        margin-top: 0px;
    }
    #history .event::before {
        left: 92px;
    }
}
@media (max-width: 1150px) {
    #history .decade {
        flex-wrap: wrap;
    }
    #history .events {
        width: calc(100% - 150px);
    }
    #history .event-content ul li .month {
        font-size: 13px;
        margin-right: 16px;
        width: 32px;
    }
    #history .event-content ul li .detail {
        font-size: 14px;
    }
}
@media (max-width: 991px) {
    #history .decade-header {
        font-size: 24px;
        width: 60px;
        margin-right: 4%;
    }
    #history .event-year::before {
        width: 12px;
        height: 12px;
        border: 2px solid var(--accent-color);
    }
    #history .event-year {
        width: 80px;
        font-size: 20px;
    }
    #history .event-year span {
        font-size: 9px;
        top: -9px;
    }
    #history .event-content {
        width: calc(100% - 100px);
    }
    #history .event::before {
        left: 73px;
    }
}
@media (max-width: 768px) {
    #history .event-year {
        width: 64px;
        font-size: 18px;
    }
    #history .event-year span {
        font-size: 7px;
        top: -6px;
    }
    #history .event-year::before {
        width: 8px;
        height: 8px;
        border: 2px solid var(--accent-color);
    }
    #history .event-content ul li .month {
        font-size: 12px;
    }
    #history .event-content ul li .detail {
        font-size: 13px;
        line-height: 1.8em;
    }
    #history .event-content {
        margin-left: 16px;
    }
    #history .events {
        width: calc(100% - 88px);
    }
    #history .event {
        padding-bottom: 20px;
    }
    #history .event::before {
        left: 59px;
        top: 10px;
    }
}
@media (max-width: 625px) {
    #history .decade-header {
        width: 100%;
        text-align: center;
        margin-right: 0;
        margin-bottom: 16px;
    }
    #history .events {
        width: 100%;
    }
}
@media (max-width: 540px) {
    #history .decade {
        padding-bottom: 32px;
    }
    #history .event-content {
        width: calc(100% - 80px);
    }
    #history .event-content ul li {
        display: block;
    }
    #history .event-content ul li .month {
        text-align: left;
    }
    #history .event-content ul li .month.sp-none {
        display: none;
    }
}
/*画像*/
#history .decade .img-box {
    position: absolute;
    top: 0;
    right: -12%;
    width: 420px;
}
#history .img-box.sp {
    display: none;
}
#history .decade .img-box.box01 {
    top: -16%;
}
@media (max-width: 1530px) {
    #history .decade .img-box {
        right: 0;
        width: 320px;
    }
    #history .decade .img-box.box01 {
        top: 0;
    }
}
@media (max-width: 1150px) {
    #history .decade .img-box {
        right: 0;
        width: 234px;
    }
}
@media (max-width: 991px) {
    #history .img-box.sp {
        display: block;
    }
    #history .img-box.pc {
        display: none;
    }
    #history .decade .img-box {
        position: relative;
    }
    #history .decade .img-box {
        width: calc(100% - 224px);
        margin: 0 0 32px auto;
    }
    #history .decade .img-box.sp {
        margin: 20px 0 auto 50px;
    }
}
@media (max-width: 768px) {
    #history .decade .img-box.sp {
        width: calc(100% - 182px);
    }
}
@media (max-width: 625px) {
    #history .decade .img-box.sp {
        width: calc(100% - 94px);
    }
}
@media (max-width: 540px) {
    #history .decade .img-box.sp {
        width: calc(100% - 78px);
        margin: 20px 0 auto 0;
    }
}
/*-----------------------------
 製品紹介
-----------------------------*/
.page-product-index-html content .flex-box {
    display: flex;
    border-top: 1px solid #DCDCDC;
}
.page-product-index-html .flex-box:last-child {
    border-top: none;
}
.page-product-index-html .flex-box:last-child .img-box {
    order: 2;
}
.page-product-index-html .flex-box:last-child .txt-box {
    order: 1;
}
.page-product-index-html .flex-box .txt-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 4%;
}
.page-product-index-html .flex-box .txt-box > div {
    max-width: 550px;
}
.page-product-index-html .flex-box .txt-box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.page-product-index-html .flex-box .txt-box ul li {
    background: #fff;
    border: 1px solid #DCDCDC;
    padding: 10px 20px;
    font-weight: bold;
}
.page-product-index-html .flex-box .pg_text p {
    margin-bottom: 40px;
    font-weight: 400;
    line-height: 1.6em;
}
.core-block .img-box {
    border-right:1px solid #DCDCDC;
}
.support-block .img-box {
    border-left: 1px solid #DCDCDC;
}
.page-product-index-html .flex-box .img-box {
    aspect-ratio: 3/2;
}
.page-product-index-html .flex-box .img-box * {
    height: 100%;
    object-fit: cover;
    object-fit: contain;
    background: #f5f5f5;
}
.page-product-index-html .h-style01 br {
    display: none;
}
.page-product-index-html .h-style01 {
    font-size: 140%;
}
@media (max-width: 1530px) {
    .page-product-index-html .flex-box .txt-box ul {
        width: 80%;
        margin-bottom: 14px;
    }
    .page-product-index-html .flex-box .txt-box ul li {
        font-size: 12px;
        padding: 6px 12px;
    }
}
@media (max-width: 1380px) {
    .page-product-index-html .flex-box .img-box {
        aspect-ratio: 1/.9;
    }
}
@media (max-width: 991px) {
    .page-product-index-html .flex-box .img-box {
        width: 40%;
    }
    .page-product-index-html .flex-box .txt-box {
        width: 100%;
    }
    .page-product-index-html .h-style01 {
        margin-bottom: 16px;
    }
    .page-product-index-html .flex-box .txt-box ul {
        gap: 4px;
        width: 86%;
    }
    .page-product-index-html .flex-box .txt-box ul li {
        font-size: 12px;
        padding: 6px 10px;
    }
    .page-product-index-html .flex-box .pg_text p {
        font-size: 14px;
        margin-bottom: 24px;
    }
    .page-product-index-html  .bt-default a {
        height: 44px;
        width: 160px;
        font-size: 13px;
    }
}
@media (max-width: 768px) {
    .core-block .img-box,.support-block .img-box {
        border-right: none;
        border-bottom: 1px solid #DCDCDC;
    }
    .page-product-index-html content .flex-box {
        display: block;
    }
    .page-product-index-html .flex-box .img-box {
        width: 100%;
        aspect-ratio: 3/2;
    }
    .page-product-index-html .flex-box .txt-box {
        justify-content: left;
        padding: 32px 6%;
    }
    .page-product-index-html .flex-box .txt-box ul {
        max-width: 400px;
    }
}
@media (max-width: 440px) {
    .page-product-index-html .h-style01 br {
        display: block;
    }
    .page-product-index-html .h-style01 {
        line-height: 1.2em;
    }
}


/*-----------------------------
 製品詳細
-----------------------------*/
.page-product-detail-index-html content {
    display: flex;
    flex-wrap: wrap;
}
.page-product-detail-index-html content > div {
    width: 100%;
}
.page-product-detail-index-html content .bottom-fsv01 {
    order: 1;
}

.page-product-detail-index-html content #core_products {
    order: 2;
}
.page-product-detail-index-html content #support_line {
    order: 3;
    padding-bottom: clamp(60px, 6vw, 104px)!important;
    padding-top: clamp(80px, 14vw, 100px) !important;
}

.page-product-detail-index-html content  .product-detail-modal {
    order: 4;
}
.page-product-detail-index-html content > div .flex-box {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 64px 32px;
}
.page-product-detail-index-html content > div .flex-box > div {
    width: calc(100% / 3 - 22px);
}
.page-product-detail-index-html content > div .flex-box .h-style05 {
    padding-left: 16px;
    margin-bottom: clamp(16px, 2.5vw, 20px);
}
.page-product-detail-index-html content > div .flex-box > div .garally_normal {
    display: flex;
    gap: 32px;
}
.page-product-detail-index-html content > div .flex-box .img02-gallery {
    width: calc((100% / 3 - 5px) * 2 );
}


.product-detail-ttl {
    margin-top: clamp(24px, 8vw, 56px);
}
.page-product-detail-index-html .h-style02 {
    margin: 0px auto clamp(24px, 4vw, 56px);
}
.product-detail-block .col-md-12:not(:nth-child(3)) .h-style05 {
    /* margin-top: clamp(32px, 6vw, 64px); */
}
.product-detail-block .garally_normal .item {
    width: 100%;
    cursor: pointer;
    position: relative;
}
.product-detail-block .garally_normal .item::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(/theme/my-17482383656834001de8966/img/common/i-search.png) center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 8px;
    right: 8px;
}
.image-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .6);
    z-index: 1000;
}
.image-modal.is-show {
    display: flex;
}
.modal-backdrop {
    background-color: transparent;
}
.image-modal img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, .25); */
}
.image-modal .modal-close {
    position: absolute;
    top: 12px;
    right: 16px;
    font-size: 24px;
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
}
body.modal-open {
    overflow: hidden;
}
.page-product-detail-index-html content > div .flex-box > div.sp {
    display: none;
}
@media (max-width: 768px) {
    .page-product-detail-index-html content > div .flex-box > div {
        width: calc(100% / 2 - 16px);
    }
    .page-product-detail-index-html content > div .flex-box .img02-gallery {
        width: 100%;
    }
    .page-product-detail-index-html content > div .flex-box > div.pc {
        display: none;
    }
    .page-product-detail-index-html content > div .flex-box > div.sp {
        display: block;
    }
}
@media (max-width: 540px) {
    .image-modal .modal-close {
        top: 8px;
        right: 8px;
        font-size: 16px;
    }
    .page-product-detail-index-html content > div .flex-box {
        gap: 40px 16px;
    }
    .page-product-detail-index-html content > div .flex-box > div {
        width: calc(100% / 2 - 8px);
    }
    .page-product-detail-index-html content > div .flex-box > div .garally_normal {
        gap: 16px;
    }

}


/*-----------------------------
 お問い合わせ
-----------------------------*/
/*-----エントリーフォームへのリンク-----*/
.page-contact-index-html .recruit-link {
    padding-bottom: clamp(60px, 8vw, 88px);
}
.page-contact-index-html .recruit-link a {
    width: fit-content;
    padding: 0 40px;
    margin-top: 32px;
}
@media (max-width: 540px) {
    .page-contact-index-html .recruit-link a {
        padding: 0 28px;
        width: 100%;
    }
}

/*-----電話リンク-----*/
.page-contact-index-html .tel-link,
.page-recruit-entry-index-html .tel-link{
    padding-bottom: clamp(60px, 8vw, 88px);
}
.page-contact-index-html .tel-link a,
.page-recruit-entry-index-html .tel-link a{
    border: 1px solid rgb(220 220 220);
    width: 100%;
    padding: 4% 6%;
    transition: .3s;
}
.page-contact-index-html .tel-link a:hover, .page-recruit-entry-index-html .tel-link a:hover {
    color: var(--default-font-color);
    opacity: .7;
}
.page-contact-index-html .tel-link a img,
.page-recruit-entry-index-html .tel-link a img{
    max-width: 324px;
    margin: 0 auto;
    width: 88%;
}
.page-contact-index-html .tel-link a span,
.page-recruit-entry-index-html .tel-link a span{
    text-align: center;
    display: block;
    font-size: 13px;
    margin-top: 4px;
    letter-spacing: 0;
}
.page-contact-index-html .tel-link .pg_text p {
    text-align: center;
    color: #D64343;
    border: 1px solid;
    font-size: 14px;
    font-weight: bold;
    margin-top: 24px;
    padding: 12px;
}
.page-recruit-entry-index-html .tel-link .bt-tel {
    margin-top: 24px;
    margin-top: 24px;
}
@media (max-width: 991px) {
    .page-contact-index-html .tel-link a ,
    .page-recruit-entry-index-html .tel-link a {
        padding: 6%;
    }
    .page-contact-index-html .tel-link a span,
    .page-recruit-entry-index-html .tel-link a span {
        font-size: 12px;
    }
    .page-contact-index-html .tel-link .pg_text p {
        font-size: 11px;
        margin-top: 12px;
        padding: 8px 12px;
        font-weight: 500;
    }
}

/*-----フォーム-----*/
.mail-form .pg_text p {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8em;
}
.mail-form .form-wrap{
    margin-top: clamp(16px, 2.5vw, 40px);
    margin-bottom: 48px;
    background: #fff;
    padding: 32px 40px 44px 40px;
    border: 1px solid rgb(220 220 220 / 50%);
}
.box-footer {
    width: 256px;
    height: 60px;
    position: absolute;
    bottom: -100px;
    right: 0;
    left: 0;
    margin: auto;
}
.box-footer::before {
    content: "";
    width: 16px;
    height: 2px;
    background: var(--accent-color);
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -70px;
    right: 0;
}
.box-footer input {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--main-color);
    color: #fff;
    font-weight: 500;
    transition: .3s;
    border-radius: 0;
    border: none;
}
.mail-form .privacy_policy {
    background: #FBFBFB;
    padding: 24px;
    height: 220px;
    overflow-y: scroll;
    font-size: 12px;
    line-height: 1.8em;
    font-weight: 400;
}
.mail-form .privacy_policy::-webkit-scrollbar {
    width: 2px;
}
.mail-form .privacy_policy::-webkit-scrollbar-thumb {
    background: #707070;
}
.mail-form .privacy_policy::-webkit-scrollbar-track {
    background: #DCDCDC;
}
.mail-form .privacy_policy h4 {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 12px;
}
.mail-form .privacy_policy h5 {
    margin: 24px 0 8px;
    font-size: 12px;
    font-weight: bold;
}
.mail-form .privacy_policy ul li {
    position: relative;
}
.mail-form .privacy_policy ul li::before {
    content: "-";
    margin-right: 8px;
}
.mail-form .privacy_policy .info {
    margin-top: 24px;
}
@media (max-width: 1530px) {
    .mail-form .pg_text p {
        font-size: 18px;
    }
}
@media (max-width: 991px) {
    .mail-form .pg_text p {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .mail-form .form-wrap {
        padding: 2% 6% 8%;
        border: 1px solid rgb(220 220 220 / 50%);
    }
}
@media (max-width: 540px) {
    .box-footer {
        height: 48px;
        bottom: -80px;
        width: calc(100% - 12%);
    }
}


/*-----------------------------
 ブログ一覧
-----------------------------*/
.blog-index .wh-wrap {
    padding-top: 6%;
    padding-bottom: 6%;
}
.blog-index .wh-wrap > div {
    max-width: none;
}
.blog-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 24px;
    grid-row-gap: 64px;
}
.blog-wrap .blog_img {
    aspect-ratio: 3/2;
    margin-bottom: 20px;
    overflow: hidden;
}
.blog-wrap .blog_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}
.blog-wrap .blog_listbox .blog_listbody {
    width: 100%;
    margin-left: 0;
}
.blog_info {
    position: relative;
    margin-bottom: 6px;
}
.blog-wrap span.blog_tag {
    top: -2px;
}
.blog-wrap .blog-link {
    width: 100%;
}
.blog-wrap .blog-link:hover span.blog_tag::before {
    transform: scale(1.5);
}
.blog-wrap .blog-link:hover .blog_img img {
    transform: scale(1.05);
}
@media (max-width: 768px) {
    .blog-wrap {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 40px;
    }
}
@media (max-width: 440px) {
    .blog-wrap {
        grid-template-columns: repeat(1, 1fr);
    }
}
/*-----ページネーション-----*/
.pagination-wrap {
    margin-top: 80px;
    width: 100%;
}
.pagination-wrap .pagination {
    display: flex;
    margin: 0 auto;
    width: fit-content;
}
.pagination-wrap .pagination > li > a {
    border: none;
    color: #333;
    font-weight: 400;
}
@media (max-width: 768px) {
    .pagination-wrap {
        margin-top: 40px;
    }
}


/*-----------------------------
 ブログ詳細
-----------------------------*/
.BlogContents h3 {
    text-align: left;
    padding-left: 0;
    font-size: clamp(16px, 2vw, 32px);
    letter-spacing: 0.1em;
    margin-bottom: 32px;
    margin-top: 12px;
    font-weight: 400;
}
.BlogContents h3::before {
    display: none;
}
.BlogContents span.blog_tag {
    top: -2px;
}
.BlogContentsInner .note_desc {
    padding: 0;
    margin-top: 40px;
    margin-bottom: clamp(80px, 4vw, 110px);
    line-height: 1.8em;
}
.BlogContentsInner .blog_img.no-image {
    display: none;
}
@media (max-width: 991px) {
    .BlogContents h3 {
        margin-bottom: 16px;
    }
}
/*-----ページネーション-----*/
.page-move ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.page-move ul a {
    font-size: 14px;
    padding: 0;
    border: none;
    font-weight: 500;
    position: relative;
    display: flex;
    align-items: center;
}
.page-move ul a.page-back::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 2px;
    background: var(--accent-color);
    margin-right: 10px;
}
.page-move ul a.page-next::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 2px;
    background: var(--accent-color);
    margin-left: 10px;
}
.page-move ul a:hover,
.page-move ul a:focus,
.page-move ul a:active{
    background: transparent;
    opacity: .7;
    color: var(--default-font-color);
}
.page-next:before {
    display: none;
}
.Comment {
    margin-bottom: 0;
    display: none;
}
.Comment img {
    width: fit-content;
}
.BlogContentsInner .note_desc h1 {
    font-size: clamp(18px, 3vw, 24px);
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 20px;
    position: relative;
    padding-left: 24px;
}
.BlogContentsInner .note_desc h1::before {
    content: "";
    display: block;
    width: 8px;
    height: 88%;
    background: var(--main-color);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
.BlogContentsInner .note_desc h2 {
    font-size: 16px;
    padding-bottom: 0;
    text-indent: 0;
    font-weight: bold;
    margin-bottom: 16px;
    margin-top: 32px;
    color: var(--main-color);
    line-height: 1.4em;
}
@media (max-width: 540px) {
    .BlogContentsInner .note_desc h2 {
        margin-top: 20px;
        margin-bottom: 8px;
    }
    .page-move ul li:nth-child(2) {
        position: absolute;
        bottom: -48px;
        left: 0;
        width: 100%;
    }

    .page-move ul li:nth-child(2) a {
        width: 100%;
        text-align: center;
        display: block;
        background: #f2f2f2;
        font-size: 12px;
        padding: 8px;
    }
    .BlogContents>div {
        padding-bottom: 100px;
    }
}




/*-----------------------------
 募集要項
-----------------------------*/
/*ボタン設定*/
.occupation-link01.bt-default a {
    background: var(--occupation01-color);
}
.occupation-link02.bt-default a {
    background: var(--occupation02-color);
}
.occupation-link03.bt-default a {
    background: var(--occupation03-color);
}
.occupation-link04.bt-default a {
    background: var(--occupation04-color);
}
.info-anchor-link-area > div {
    display: flex;
    gap: 8px;
    margin-top: clamp(20px, 6vw, 80px);
}
.info-anchor-link-area > div p {
    width: 100%;
}
.info-anchor-link-area > div a {
    width: 100%;
}
@media (max-width: 991px) {
    .info-anchor-link-area > div {
        flex-wrap: wrap;
    }
    .info-anchor-link-area > div p {
        width: calc(50% - 4px);
    }
}

/*タイトル設定*/
.occupation-item h3 {
    text-align: center;
    padding-left: 0;
    color: #fff;
    font-size: clamp(18px, 3vw, 22px);
    font-weight: 500;
    padding: 8px;
    margin-bottom: 40px;
}
.occupation-item h3::before {
    display: none!important;
}
#occupation01.occupation-item h3 {
    background: var(--occupation01-color);
}
#occupation02.occupation-item h3 {
    background: var(--occupation02-color);
}
#occupation03.occupation-item h3 {
    background: var(--occupation03-color);
}
#occupation04.occupation-item h3 {
    background: var(--occupation04-color);
}

#occupation01.occupation-item h4::before {
    background: var(--occupation01-color);
}
#occupation02.occupation-item h4::before {
    background: var(--occupation02-color);
}
#occupation03.occupation-item h4::before {
    background: var(--occupation03-color);
}
#occupation04.occupation-item h4::before {
    background: var(--occupation04-color);
}
@media (max-width: 540px) {
    .occupation-item h3 {
        margin-bottom: 12px;
    }
}

/*余白*/
.wh-wrap .occupation-item {
    margin-top: clamp(40px, 6vw, 60px);
}

/*テキスト*/
.occupation-item .pg_text {
    margin-bottom: 40px;
}
.occupation-item p {
    font-weight: 400;
    line-height: 1.6em;
}
.occupation-item .pg_text p {
    margin-bottom: 16px;
}

/*表*/
.occupation-item table {
    width: 100%;
    border: 1px solid #DCDCDC;
    margin-top: 16px;
}
.occupation-item table th {
    width: 240px;
    background: #F0F0F0;
    padding: 20px;
    font-weight: 500;
    text-align: center;
    border-bottom: 1px solid #fff;
}
.occupation-item table td {
    padding: 20px;
    font-weight: 400;
    width: calc(100% - 240px);
    border-bottom: 1px solid #DCDCDC;
    line-height: 1.6em;
}
.occupation-item table tr:last-child th,
.occupation-item table tr:last-child td{
    border-bottom: none;
}
@media (max-width: 768px) {
    .occupation-item table th {
        width: 160px;
    }
    .occupation-item table td {
        width: calc(100% - 160px);
    }
}
@media (max-width: 540px) {
    .occupation-item table th,.occupation-item table td {
        width: 100%;
        display: block;
        padding: 12px;
    }
    .occupation-item table th {
        font-size: 13px;
        padding: 8px 12px;
    }
}

/*追従*/
.page-recruit-recruit_info-index-html .fixed-block {
    position: fixed;
    bottom: -24px;
    left: 0;
    width: 100%;
    background: rgb(0 0 0 / 57%);
    z-index: 999;
    padding: 12px;
    opacity: 0;
    transition: .5s;
}
.page-recruit-recruit_info-index-html .fixed-block.is-show {
    bottom: 0;
    opacity: 1;
}

.page-recruit-recruit_info-index-html .fixed-block .block_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.page-recruit-recruit_info-index-html .fixed-block a {
    height: 60px;
    width: 240px;
}
.page-recruit-recruit_info-index-html content .fixed-block a img {
    width: 178px;
}
.page-recruit-recruit_info-index-html content .fixed-block a span {
    font-size: 10px;
    display: block;
    margin-top: -3px;
}
.page-recruit-recruit_info-index-html content .f-links .bt-tel a::before {
    top: -10px;
    width: 178px;
}
.page-recruit-recruit_info-index-html content .f-links .bt-tel a {
    padding: 10px 14px 4px;
}
@media (max-width: 768px) {
    .page-recruit-recruit_info-index-html .fixed-block a {
        height: 48px;
        width: 174px;
    }
    .page-recruit-recruit_info-index-html .fixed-block .block_box {
        gap: 7px;
    }
    .page-recruit-recruit_info-index-html content .fixed-block a span {
        font-size: 8px;
    }
    .page-recruit-recruit_info-index-html content .fixed-block a img {
        width: 132px;
    }
    .page-recruit-recruit_info-index-html content .f-links .bt-tel a {
        padding: 8px 14px 4px;
    }
    .page-recruit-recruit_info-index-html content .f-links .bt-tel a::before{
        width: 132px;
    }
}


/*-----------------------------
 インタビュー
-----------------------------*/
.staff-all {
    margin-bottom: clamp(60px, 7vw, 110px);
    margin-top: clamp(32px, 5vw, 64px);
    border-bottom: 1px solid #DCDCDC;
}
.staff-3n {
    border-top: 1px solid #DCDCDC;
}
.staff-all .flex-box {
    display: flex;
    flex-wrap: wrap;
    border-right: 1px solid #DCDCDC;
    border-left: 1px solid #DCDCDC;
    position: relative;
}
.staff-all .flex-box::before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #DCDCDC;
    position: absolute;
    top: 0;
    left: calc(100% / 3);
}
.staff-all .flex-box::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #DCDCDC;
    position: absolute;
    top: 0;
    left: calc((100% / 3) *2);
}
.staff-all .staff-wrap {
    width: calc(100% / 3);
}
.staff-wrap > .staff-info {
    width: 100%;
    padding: 12% 10%;
    cursor: pointer;
}
.staff-info .pg_text {
    display: flex;
    flex-wrap: wrap;
    margin-top: 16px;
}
.staff-info .pg_text p {
    font-size: 15px;
}
.staff-info .pg_text p:last-child {
    width: 100%;
    font-size: 24px;
    font-weight: 400;
}
.staff-info .pg_text p:nth-child(2) {
    opacity: .7;
    letter-spacing: 0;
}
.staff-info .pg_text .occupation-tag {
    margin-right: 12px;
    display: flex;
    align-items: center;
}
.staff-info .pg_text .occupation-tag::before {
    content: "";
    margin-right: 8px;
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    transition:.5s;
}
.staff-wrap.occupation01 .occupation-tag::before {
    background: var(--occupation01-color);
}
.staff-wrap.occupation02 .occupation-tag::before {
    background:var(--occupation02-color);
}
.staff-wrap.occupation03 .occupation-tag::before {
    background: var(--occupation03-color);
}
.staff-wrap.occupation04 .occupation-tag::before {
    background: var(--occupation04-color);
}
.staff-wrap.occupation01 .occupation-tag {
    color: var(--occupation01-color);
}
.staff-wrap.occupation02 .occupation-tag {
    color:var(--occupation02-color);
}
.staff-wrap.occupation03 .occupation-tag {
    color: var(--occupation03-color);
}
.staff-wrap.occupation04 .occupation-tag {
    color: var(--occupation04-color);
}
.staff-info .img-box {
    aspect-ratio: 3/2;
    overflow: hidden;
}
.staff-info .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}
.staff-info:hover .img-box img {
    transform: scale(1.03);
}
.staff-info:hover .pg_text .occupation-tag::before {
    transform: scale(1.5);
}
@media (max-width: 991px) {
    .staff-all .staff-wrap {
        width: calc(100% / 2);
    }
    .staff-all .flex-box::after {
        display: none;
    }
    .staff-all .flex-box::before {
        left: calc(100% / 2);
    }
}
@media (max-width: 768px) {
    .staff-info .pg_text p {
        font-size: 13px;
    }
    .staff-info .pg_text .occupation-tag::before {
        width: 4px;
        height: 4px;
        margin-right: 4px;
    }
    .staff-info .pg_text p:last-child {
        font-size: 20px;
    }
}
@media (max-width: 580px) {
    .staff-info .pg_text .occupation-tag {
        margin-right: 8px;
    }
    .staff-info .pg_text p {
        font-size: 9px;
    }
    .staff-info .pg_text .occupation-tag::before {
        width: 2px;
        height: 2px;
        margin-right: 3px;
    }
    .staff-info .pg_text p:last-child {
        font-size: 16px;
    }
}
.staff-interview {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 60%);
    z-index: 999999;
    display: none;
    cursor: pointer;
}
.staff-wrap.active .staff-interview{
    display: block;
}
.staff-interview > .block_box {
    background: #fff;
    width: 80vw;
    max-width: 1400px;
    height: 80vh;
    position: absolute;
    top: 80px;
    right: 0;
    left: 0;
    margin: auto;
    overflow-x: hidden;
    overflow-y: scroll;
    padding: 6%;
    box-shadow: rgb(0 0 0 / 2%) 0 3px 20px;
    cursor: auto;
}
.staff-interview > .block_box::-webkit-scrollbar {
    width: 12px;
}
.staff-interview > .block_box::-webkit-scrollbar-track {
    background: #DCDCDC;
}
.staff-interview > .block_box::-webkit-scrollbar-thumb {
    background: #707070;
}
.staff-wrap.occupation01 .staff-interview > .block_box::-webkit-scrollbar-thumb {
    background: var(--occupation01-color);
}
.staff-wrap.occupation02 .staff-interview > .block_box::-webkit-scrollbar-thumb {
    background:var(--occupation02-color);
}
.staff-wrap.occupation03 .staff-interview > .block_box::-webkit-scrollbar-thumb {
    background: var(--occupation03-color);
}
.staff-wrap.occupation04 .staff-interview > .block_box::-webkit-scrollbar-thumb {
    background: var(--occupation04-color);
}
.staff-interview .clone-item {
    padding: 0;
    width: 100%;
}
.staff-interview .clone-item .block_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.staff-interview .clone-item .block_box .img-box {
    order: 2;
    width: 60%;
}
.staff-interview .clone-item .block_box .img-box img {
    object-position: top;
}
.staff-interview .clone-item .block_box .pg_text {
    order: 1;
}
.staff-interview .pg_text p {
    font-weight: 400;
}
.staff-interview .pg_text strong {
    display: block;
    width: 100%;
    margin-top: 40px;
    margin-bottom: 16px;
    color: #fff;
    padding: 1% 2%;
    font-weight: 500;
}
.staff-wrap.occupation01 .staff-interview .pg_text strong {
    background: var(--occupation01-color);
}
.staff-wrap.occupation02 .staff-interview .pg_text strong {
    background:var(--occupation02-color);
}
.staff-wrap.occupation03 .staff-interview .pg_text strong {
    background: var(--occupation03-color);
}
.staff-wrap.occupation04 .staff-interview .pg_text strong {
    background: var(--occupation04-color);
}
.staff-interview::before {
    content: "×";
    position: fixed;
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    margin: auto;
    text-align: right;
    top: 12px;
    right: 16px;
}
@media (max-width: 540px) {
    .staff-interview .clone-item .block_box {
        display: block;
    }
    .staff-interview .clone-item .block_box .img-box {
        width: 100%;
    }
    .staff-interview .pg_text strong {
        margin-top: 32px;
        margin-bottom: 8px;
        padding: 8px 16px;
    }
    .staff-interview > .block_box {
        bottom: auto;
        top: 32px;
    }
    .staff-interview::before {
        top: 30px;
    }
    .staff-interview::before {
        top: 8px;
        right: 8px;
        font-size: 16px;
    }
    .staff-interview > .block_box::-webkit-scrollbar {
        width: 6px;
    }
}



/*-----------------------------
 仕事を知る
-----------------------------*/
.page-recruit-work-index-html .bottom-fsv01 {
    padding-bottom: 32px;
}
.page-recruit-work-index-html .fsv-img-box {
    aspect-ratio: 1920 / 580;
    margin-bottom: 40px;
}
.page-recruit-work-index-html .fsv-img-box * {
    height: 100%;
    object-fit: cover;
}
.page-recruit-work-index-html .info-anchor-link-area {
    margin-bottom: clamp(24px, 2.4vw, 64px);
}
@media (max-width: 991px) {
    .page-recruit-work-index-html .bottom-fsv01 {
        padding-bottom: 20px;
    }
}
@media (max-width: 540px) {
    .page-recruit-work-index-html .bottom-fsv01 {
        padding-bottom: 16px;
    }
}



/*固定デザイン*/
.p-business .sec {
    /* padding: 8% 0; */
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
}
.p-business .sec::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.p-business #occupation01.sec::before {
    background: var(--occupation01-color);
    opacity: .05;
}
.p-business #occupation02.sec::before {
    background:var(--occupation02-color);
    opacity: .05;
}
.p-business #occupation03.sec::before {
    background: var(--occupation03-color);
    opacity: .05;
}
.p-business #occupation04.sec::before {
    background: var(--occupation04-color);
    opacity: .05;
}

.p-business .sec h3 {
    font-size: clamp(23px, 3vw, 36px);
}
.p-business .sec h3 {
    font-size: clamp(20px, 2.2vw, 36px);
    padding-left: 15px;
    line-height: 1;
    margin-bottom: 30px;
}
.p-business .box {
    display: flex;
    flex-direction: column;
}
.p-business .box .column-box:nth-child(2) .block_box {
    flex-direction: row-reverse;
}
.p-business .box .column-box {
    width: 100%;
    margin-top: 5%;
}
.p-business .box .column-box .block_box {
    display: flex;
    width: 100%;
}
.p-business .box .text_box {
    width: 70%;
    min-width: 270px;
}
.p-business .box .text_box .pg_text {
    margin-top: 5%;
}
.p-business .box .text_box .pg_text p + p {
    margin-top: 20px;
}
.p-business .sec h4 {
    color: #fff;
    line-height: 1.6em;
    font-size: clamp(22px, 3vw, 32px);
}
.p-business .sec h4 span {
    padding: 1.5% 3%;
    margin-bottom: 4px;
}
.p-business .box .column-box:nth-child(1) .text_box {
    margin: 5% 0 0 5%;
}
.p-business .box .column-box:nth-child(2) .text_box {
    margin: 5% 5% 0 0;
}
.p-business .box .column-box:nth-child(1) h4 {
    margin-left: -30%;
}
.p-business .sec .schedule {
    max-width: 1050px;
    margin-top: 5%!important;
}

.p-business .sec .schedule h4 {
    width: fit-content;
    color: #333;
    font-size: clamp(16px, 2vw, 24px);
    margin: 0 auto 5%;
    display: flex;
    align-items: center;
}
.p-business #occupation02 .schedule h4 + p {
    margin-bottom: 5%;
    text-align: center;
}
.p-business .sec .schedule .inner {
    position: relative;
}
.p-business .sec .schedule .inner .ber {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: 100%;
    display: inline-block;
}
.p-business .sec .schedule .inner .ber::before {
    content: '';
    width: 12px;
    height: 12px;
    display: block;
    background-color: #000;
    border-radius: 50px;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-58%);
}
.p-business .sec .schedule .inner .timeline {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.p-business .sec .schedule .inner .timeline dl {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.p-business .sec .schedule .inner .timeline dl +dl {
    margin-top: -70px;
}
.p-business .sec .schedule .inner .timeline dl:nth-child(odd) {
    padding-right: 4%;
}
.p-business .sec .schedule .inner .timeline dl:nth-child(odd) dt::after {
    content: '';
    display: block;
    width: 9%;
    height: 1px;
    background-color: #000;
    position: absolute;
    right: -9%;
    top: 50%;
    transform: translateY(-50%);
}
.p-business .sec .schedule .inner .timeline dl:nth-child(even) {
    margin-left: auto;
    padding-left: 4%;
}
.p-business .sec .schedule .inner .timeline dl:nth-child(even) dt::after {
    content: '';
    display: block;
    width: 9%;
    height: 1px;
    background-color: #000;
    position: absolute;
    left: -9%;
    top: 50%;
    transform: translateY(50%);
}
.p-business .sec .schedule .inner .timeline dt {
    position: relative;
    height: 80px;
    border-radius: 6px;
    border: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 17px;
    font-weight: 400;
    padding-right: 20px;
}
.p-business .sec .schedule .inner .timeline dt .time {
    padding:  0 5%;
    font-family: var(--fontfamily02);
    font-size: 18px;
    color: #000;
}
.p-business .sec .schedule .inner .timeline dd {
    margin-top: 10px;
    font-weight: 400;
    line-height: 1.6em;
    font-size: 15px;
    min-height: 48px;
}
/*カラー1*/
.p-business #occupation01 h3 {
    border-left: 8px solid var(--occupation01-color);
}
.p-business #occupation01 .title_animation span::before {
    background: var(--occupation01-color);
}
.p-business #occupation01 .schedule h4 {
    border-bottom: 2px solid var(--occupation01-color);
}
.p-business #occupation01 .schedule h4::before {
    content: "";
    background-image: url("../img/work/i-clock01.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 10px;
}
.p-business #occupation01 .schedule .inner .ber {
    border-left: 2px dashed var(--occupation01-color);
}
.p-business #occupation01 .schedule .inner .ber::before,
.p-business #occupation01 .schedule .inner .timeline dl:nth-child(odd) dt::after,
.p-business #occupation01 .schedule .inner .timeline dl:nth-child(even) dt::after {
    background-color: var(--occupation01-color);
}
.p-business #occupation01 .schedule .inner .timeline dt {
    border: 1px solid var(--occupation01-color);
}
.p-business #occupation01 .schedule .inner .timeline dt .time {
    color: var(--occupation01-color);
}
/*カラー2*/
.p-business #occupation02 h3 {
    border-left: 8px solid var(--occupation02-color);
}
.p-business #occupation02 .title_animation span::before {
    background-color: var(--occupation02-color);
}
.p-business #occupation02 .schedule h4 {
    border-bottom: 2px solid var(--occupation02-color);
}
.p-business #occupation02 .schedule h4::before {
    content: "";
    background-image: url("../img/work/i-clock02.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 10px;
}
.p-business #occupation02 .schedule .inner .ber {
    border-left: 2px dashed var(--occupation02-color);
}
.p-business #occupation02 .schedule .inner .ber::before,
.p-business #occupation02 .schedule .inner .timeline dl:nth-child(odd) dt::after,
.p-business #occupation02 .schedule .inner .timeline dl:nth-child(even) dt::after {
    background-color: var(--occupation02-color);
}
.p-business #occupation02 .schedule .inner .timeline dt {
    border: 1px solid var(--occupation02-color);
}
.p-business #occupation02 .schedule .inner .timeline dt .time {
    color: var(--occupation02-color);
}
/*カラー3*/
.p-business #occupation03 h3 {
    border-left: 8px solid var(--occupation03-color);
}
.p-business #occupation03 .title_animation span::before {
    background-color: var(--occupation03-color);
}
.p-business #occupation03 .schedule h4 {
    border-bottom: 2px solid var(--occupation03-color);
}
.p-business #occupation03 .schedule h4::before {
    content: "";
    background-image: url("../img/work/i-clock03.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 10px;
}
.p-business #occupation03 .schedule .inner .ber {
    border-left: 2px dashed var(--occupation03-color);
}
.p-business #occupation03 .schedule .inner .ber::before,
.p-business #occupation03 .schedule .inner .timeline dl:nth-child(odd) dt::after,
.p-business #occupation03 .schedule .inner .timeline dl:nth-child(even) dt::after {
    background-color: var(--occupation03-color);
}
.p-business #occupation03 .schedule .inner .timeline dt {
    border: 1px solid var(--occupation03-color);
}
.p-business #occupation03 .schedule .inner .timeline dt .time {
    color: var(--occupation03-color);
}
/*カラー4*/
.p-business #occupation04 h3 {
    border-left: 8px solid var(--occupation04-color);
}
.p-business #occupation04 .title_animation span::before {
    background-color: var(--occupation04-color);
}
.p-business #occupation04 .schedule h4 {
    border-bottom: 2px solid var(--occupation04-color);
}
.p-business #occupation04 .schedule h4::before {
    content: "";
    background-image: url("../img/work/i-clock04.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 10px;
}
.p-business #occupation04 .schedule .inner .ber {
    border-left: 2px dashed var(--occupation04-color);
}
.p-business #occupation04 .schedule .inner .ber::before,
.p-business #occupation04 .schedule .inner .timeline dl:nth-child(odd) dt::after,
.p-business #occupation04 .schedule .inner .timeline dl:nth-child(even) dt::after {
    background-color: var(--occupation04-color);
}
.p-business #occupation04 .schedule .inner .timeline dt {
    border: 1px solid var(--occupation04-color);
}
.p-business #occupation04 .schedule .inner .timeline dt .time {
    color: var(--occupation04-color);
}


@media (max-width: 768px) {
    .p-business .sec {
        /* padding: 12% 0; */
    }
    .p-business .sec01,
    .p-business .sec02,
    .p-business .sec03 {
        background-position: top 20px right 10%;
    }
    .p-business .box .column-box .block_box,
    .p-business .box .column-box:nth-child(2) .block_box {
        flex-direction: column;
    }
    .p-business .box .column-box:nth-child(1) h4 {
        margin-left: 0;
    }
    .p-business .box .text_box,
    .p-business .box .column-box:nth-child(1) .text_box {
        margin: 5% 0 0 0;
        width: 100%;
    }
    .p-business .box .img_box {
        /* margin-top: 5%; */
    }
    .p-business .sec h4 {
        font-size: clamp(18px, 4vw, 32px);
    }
    .p-business .sec .schedule .inner .ber {
        left: 0;
    }
    .p-business .sec .schedule .inner .timeline dl:nth-child(odd),
    .p-business .sec .schedule .inner .timeline dl:nth-child(even) {
        margin: 28px 0 0 24px;
        padding: 0;
        width: calc(100% - 24px);
    }
    .p-business .sec .schedule .inner .timeline dl:nth-child(odd) dt::after,
    .p-business .sec .schedule .inner .timeline dl:nth-child(even) dt::after {
        right: unset;
        left: -24px;
        width: 24px;
    }
    .p-business .sec .schedule .inner .timeline dt {
        height: 72px;
        font-size: 16px;
    }
    .p-business .sec .schedule .inner .timeline dt .time {
        font-size: 18px;
    }
    .p-business .sec .schedule .inner .timeline dd {
        min-height: inherit;
    }
}
@media (max-width: 540px) {
    .p-business .sec .schedule .inner .timeline dt .time {
        font-size: 16px;
    }
    .p-business .sec .schedule .inner .timeline dt {
        font-size: 15px;
    }
    .p-business .info-anchor-link-area > div {
        margin-top: 56px;
    }
    .p-business .sec .schedule {
        margin-top: 13% !important;
    }
}



/*-----------------------------
 採用情報TOP
-----------------------------*/
.recruit-bg {
    background: linear-gradient(90deg,rgba(78, 162, 212, 1) 0%, rgba(56, 195, 188, 1) 100%);
    color: #fff;
}
body:not(.page-recruit-index-html) .recruit-bg {
    margin-bottom:40px;
}
body:not(.page-recruit-index-html) .recruit-bg .bottom-fsv01 {
    padding-bottom: 48px;
}
@media (max-width: 768px) {
    body.page-recruit-recruit_info-index-html content::before, body.page-recruit-entry-index-html content::before {
        height: 72px;
    }
    body:not(.page-recruit-index-html) .recruit-bg .bottom-fsv01 {
        padding-bottom: 32px;
    }
}
@media (max-width: 440px) {
    body.page-recruit-recruit_info-index-html content::before, body.page-recruit-entry-index-html content::before {
        height: 64px;
    }
}


.recruit-bg .bottom-fsv01 h2 span {
    color: #fff;
}
.recruit-bg .pkz a {
    color: #fff;
}
.recruit-bg .pkz {
    opacity: .8;
}
.recruit-bg .anchor-link-area ul li a,.recruit-bg .anchor-link-area ul li a:active, .recruit-bg .anchor-link-area ul li a:visited, .recruit-bg .anchor-link-area ul li a:focus, .recruit-bg .anchor-link-area ul li a:hover {
    color: #fff;
}
.recruit-bg .anchor-link-area.recruit-page ul li a.l-color {
    color: #fff;
}
.recruit-bg .title_animation span::before {
    background: #fff;
}
.page-recruit-index-html .bottom-fsv01 {
    padding-bottom: 32px;
}
.page-recruit-index-html .loop-box {
    gap: 16px;
    margin-top: 0;
    margin-bottom: 0;
    background: #fff;
}
.page-recruit-index-html .recruit-fsv.loop-box .garally_normal  {
    gap: 16px;
}
.page-recruit-index-html .loop-box > div {
    display: flex;
    animation: infinity-scroll-left 240s infinite linear 0.5s both;
    width: fit-content;
}

.page-recruit-index-html .recruit-fsv.loop-box .garally_normal .item {
    height: clamp(180px, 30vw, 345px);
    width: max-content;

}
_::-webkit-full-page-media, _:future, :root .page-recruit-index-html .recruit-fsv.loop-box .garally_normal .item img{
    width: auto ;
}
.recruit-fsv .sp-img {
    display: none;
}
@media (max-width: 991px) {
    .page-recruit-index-html .bottom-fsv01 {
        padding-bottom: 20px;
    }
}
@media (max-width: 600px) {
    .recruit-fsv .sp-img {
        display: block;
    }
    .recruit-fsv .pc-img {
        display: none;
    }
}

/*リンクボタンエリア*/
.recruit-about {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: relative;
    margin-top: -23px!important;
    padding-bottom: clamp(64px, 8vw, 100px)!important;
}
.recruit-about::before,.recruit-about::after {
    display: none;
}
.recruit-about .link-box {
    width: fit-content;
}
@media (max-width: 1240px) {
    .recruit-about .bt-default a {
        width: 200px;
        font-size: 14px;
        height: 52px;
    }
}
@media (max-width: 768px) {
    .recruit-about {
        display: block;
    }
    .recruit-about .link-box {
        margin: 4% 0 0 auto;
    }
}
@media (max-width: 540px) {
    .recruit-about .bt-default a {
        height: 48px;
        width: 168px;
        font-size: 13px;
    }
    .recruit-about .emphasize-text p br {
        display: none;
    }
}
/*データ*/
.recruit-date {
    /* margin-top: clamp(64px, 8vw, 100px); */
    border-bottom: 1px solid #DCDCDC;
}
.recruit-date .flex-ttl {
    border-top: 1px solid #DCDCDC;
}
.recruit-date .flex-item-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
}
.recruit-date .flex-item-wrap .col-md-4 {
    background: #fff;
    width: 100%;
    padding: 32px;
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #DCDCDC;
    position: relative;
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item {
    position: absolute;
    bottom: 3%;
    right: 0;
    left: 27%;
    margin: auto;
    width: fit-content;
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span {
    display: block;
    position: relative;
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span::after {
    content: "%";
    font-size: clamp(10px, 1.4vw, 24px);
    position: absolute;
    bottom: 16px;
    right: -64%;
    line-height: 1em;
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span:first-child::before,
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span:last-child::before{
    content: "男性";
    font-size: clamp(12px, 1.4vw, 16px);
    position: absolute;
    top: 18%;
    left: -60%;
    writing-mode: tb-rl;
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span:first-child::before{
    content: "男性";
}
.recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span:last-child::before{
    content: "女性";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(3n) {
    border-right: none;
}
.recruit-date .flex-item-wrap h4 {
    font-size: clamp(14px, 1.6vw, 28px);
    margin-bottom: 16px;
}
.recruit-date .flex-item-wrap .flex-box {
    display: flex;
    align-items: center;
}
.recruit-date .achievements-item {
    width: 70%;
    text-align: center;
}
.recruit-date .flex-item-wrap .figure {
    font-size: clamp(55px, 6.4vw, 130px);
    line-height: 1em;
    letter-spacing: 0;
    font-weight: bold;
}
.recruit-date .flex-item-wrap .img-box {
    width: 30%;
    height: auto;
    aspect-ratio: 1/.9;
    margin-right: 4%;
}
.recruit-date .flex-item-wrap .img-box * {
    height: 100%;
    object-fit: contain;
}
/*単位*/
.recruit-date .flex-item-wrap .col-md-4::before {
    font-size: clamp(10px, 1.4vw, 24px);
    position: absolute;
    bottom: 24px;
    right: 24px;
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(1)::before {
    content: "年";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(2)::before {
    content: "名";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(4)::before {
    content: "％";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(5)::before {
    content: "日";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(6)::before {
    content: "歳";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(7)::before {
    content: "時間";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(8)::before {
    content: "年";
}
.recruit-date .flex-item-wrap .col-md-4:nth-child(9)::before {
    content: "％";
}
@media (max-width: 991px) {
    .recruit-date .flex-item-wrap .col-md-4 {
        padding: 20px;
    }
    .recruit-date .flex-item-wrap .col-md-4::before {
        bottom: 16px;
        right: 16px;
    }
    .column-box.col-md-4:nth-last-child(2)::after {
        content: "";
        background: #dcdcdc;
        display: block;
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: -1px;
        right: 0;
    }
    .recruit-date .flex-item-wrap .col-md-4:nth-child(3n) {
        border-right: 1px solid #DCDCDC;
    }

}
@media (max-width: 768px) {
    .recruit-date .flex-item-wrap {
        grid-template-columns: repeat(2, 1fr);
        background: #fff;
    }
    .recruit-date .flex-item-wrap .figure {
        font-size: clamp(41px, 9vw, 90px);
    }
    .recruit-date .flex-item-wrap .col-md-4:nth-child(2n) {
        border-right: none;
    }
    .recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span::after {
        right: -69%;
    }
}
@media (max-width: 540px) {
    .recruit-date {
        display: block;
    }
    .recruit-date .flex-item-wrap .col-md-4 {
        padding: 20px 16px;
    }
    .recruit-date .flex-item-wrap .col-md-4::before {
        bottom: 8px;
        right: 8px;
    }
    .recruit-date .flex-item-wrap .img-box {
        width: 24%;
    }
    .recruit-date .achievements-item {
        width: 76%;
    }
    .recruit-date .flex-item-wrap .figure {
        font-size: clamp(34px, 9vw, 90px);
    }
    .recruit-date .flex-item-wrap {
        width: 100%;
    }
    .recruit-date .flex-item-wrap .figure {
        font-size: clamp(34px, 12vw, 90px);
    }
    .recruit-date .flex-ttl {
        width: 100%;
        border-right: none;
        display: flex;
        justify-content: flex-start;
        background: transparent;
        padding-left: 6%;
        padding-bottom: 16px;
        border-top: none;
        padding-top: 48px;
        position: relative;
        top: 0;
    }
    .recruit-date.grid-bg::before {
        display: none;
    }
    .recruit-date .flex-ttl::before {
        display: none;
    }
    .recruit-date .h-style01.vertical {
        writing-mode: horizontal-tb;
        margin-bottom:0;
    }
    .recruit-date .h-style01.vertical::before {
        margin-bottom: 0;
        margin-right: 12px;
    }
    .recruit-date .h-style01.vertical span {
        margin-top: 5px;
        margin-left: 14px;
    }
    .recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item span::after {
        right: -58%;
        bottom: 8px;
    }
    .recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item {
        bottom: 0%;
    }
}
@media (max-width: 440px) {
    .recruit-date .flex-item-wrap .col-md-4.ratio .achievements-item {
        bottom: 3%;
    }

}
/*見えないところで活躍しています*/
.page-recruit-index-html .loop-box.txt-loop {
    border-top: none;
}
.invisible-support {
    padding-top: 64px!important;
    padding-bottom: 32px!important;
}
.invisible-support .column-box {
    text-align: center;
}
.invisible-support .column-box h2 {
    line-height: 1.4em;
    margin-bottom: 16px;
    font-size: clamp(19px, 3.6vw, 32px);
    font-weight: bold;
}
.invisible-support > .column-box p {
    line-height: 1.6em;
    margin-bottom: 32px;
}
.invisible-support > .column-box p br.sp-br {
    display: none;
}
.invisible-support h3 {
    font-size: clamp(16px, 2.4vw, 20px);
    padding: 16px;
    margin-bottom: 16px;
    color:#fff;
    border-radius: 4px;
    font-weight: bold;
}
.invisible-support .flex-box {
    display: flex;
    gap: 28px;
    margin: 0 auto;
}
.invisible-support .img-flex-box {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: center;
}
.invisible-support .img-box {
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: -webkit-fill-available;
    margin-top: 16px;
    position: relative;
}
.invisible-support .img-box img {
    width: 70%!important;
    object-fit: contain;
}
.invisible-support .invisible-item02 .img-box img {
    height: 55%;
    top: 8px;
    position: relative;
}
.invisible-support .img-box::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity:.2;
    border-radius: 50%;
}
.invisible-support .img-box::after {
    position: absolute;
    bottom: -32px;
    right: 0;
    left: 0;
    margin: auto;
}
.invisible-support  .invisible-item01 .img-box:first-child::after {
    content: "住宅分電機";
}
.invisible-support  .invisible-item01 .img-box:last-child::after {
    content: "湿気の多い場所の機器など";
}
.invisible-support  .invisible-item02 .img-box::after {
    content: "キュービクル";
}
.invisible-support  .invisible-item03 .img-box::after {
    content: "車両";
}
.invisible-support .invisible-item01 h3,
.invisible-support .invisible-item01 .img-box::before{
    background: #5BCE98;
}
.invisible-support .invisible-item02 h3,
.invisible-support .invisible-item02 .img-box::before{
    background: #EC963F;
}
.invisible-support .invisible-item03 h3,
.invisible-support .invisible-item03 .img-box::before{
    background: #6AABF5;
}
@media (max-width: 1100px) {
    .invisible-support .flex-box {
        flex-wrap: wrap;
        max-width: 640px;
        width: 80%;
    }
    .invisible-item01 {
        width: 100%;
        margin-bottom: 48px;
    }
    .invisible-item02,.invisible-item03 {
        width: calc(100% / 2 - 14px);
    }
    .invisible-support {
        padding-bottom: 0 !important;
    }
}
@media (max-width: 650px) {
    .invisible-support > .column-box p br.sp-br {
        display: block;
    }
}
@media (max-width: 610px) {
    .invisible-support h3 {
        padding: 12px;
    }
    .invisible-support .img-flex-box {
        flex-wrap: wrap;
    }
    .invisible-item02, .invisible-item03 {
        width: 100%;
        margin-bottom: 28px;
    }
    .invisible-item01 {
        margin-bottom: 28px;
    }
    .invisible-support .img-box {
        max-width: 200px;
        margin: 16px auto 16px;
    }
}

/*募集職種*/
#Recruiting {
    padding-top: clamp(40px, 8vw, 100px);
    padding-bottom: clamp(64px, 8vw, 120px);
    border-bottom: 1px solid #DCDCDC;
    background:url(/theme/my-17482383656834001de8966/img/recruit/recruit-bgimg.jpg) center top no-repeat #eee;
}


@media (max-width: 540px) {
    #Recruiting {
    background:url(/theme/my-17482383656834001de8966/img/recruit/recruit-bgimg-sp.jpg) center top repeat-y #eee;
    background-size:100% auto;
}
}

#Recruiting .h-style02 {
    margin-bottom: clamp(36px, 7.4vw, 64px);
}
#Recruiting .flex-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 4%;
    grid-row-gap: 64px;
}
#Recruiting .flex-box > div{
    width: 100%;
}
#Recruiting h4 {
    font-size: clamp(16px, 1.8vw, 24px);
    display: flex;
    align-items: center;
    font-weight: 500;
}
#Recruiting h4::before {
    content: "";
    display: inline-block;
    width: auto;
    height: clamp(10px, 2vw, 16px);
    aspect-ratio: 1/.9;
    border-radius: 50%;
    margin-right: 12px;
}
#Recruiting .occupation01 h4::before{
    background: var(--occupation01-color);
}
#Recruiting .occupation02 h4::before{
    background: var(--occupation02-color);
}
#Recruiting .occupation03 h4::before{
    background: var(--occupation03-color);
}
#Recruiting .occupation04 h4::before{
    background: var(--occupation04-color);
}
#Recruiting .flex-box .img-box {
    aspect-ratio: 3/2;
    margin-bottom: 20px;
    margin-top: 12px;
    border: 8px solid;
}
#Recruiting .occupation01 .img-box{
    border-color: var(--occupation01-color);
}
#Recruiting .occupation02 .img-box{
    border-color: var(--occupation02-color);
}
#Recruiting .occupation03 .img-box{
    border-color: var(--occupation03-color);
}
#Recruiting .occupation04 .img-box{
    border-color: var(--occupation04-color);
}
#Recruiting .flex-box .img-box * {
    height: 100%;
    object-fit: cover;
}
#Recruiting .flex-box .pg_text {
    line-height: 1.8em;
    font-weight: 400;
}
#Recruiting .link-box {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}
#Recruiting .bt-default a {
    width: 200px;
}
#Recruiting .occupation01 .bt-default:not(.bt-bk) a{
    background: var(--occupation01-color);
}
#Recruiting .occupation02 .bt-default:not(.bt-bk) a{
    background: var(--occupation02-color);
}
#Recruiting .occupation03 .bt-default:not(.bt-bk) a{
    background: var(--occupation03-color);
}
#Recruiting .occupation04 .bt-default:not(.bt-bk) a{
    background: var(--occupation04-color);
}
@media (max-width: 1530px) {
    #Recruiting .bt-default a {
        font-size: 14px;
        height: 52px;
        width: 180px;
        font-weight: 400;
    }
}
@media (max-width: 991px) {
    #Recruiting .flex-box  {
        display: block;
        max-width: calc(600px + 12%);
    }
    #Recruiting .flex-box > div:not(:last-child) {
        margin-bottom: 64px;
    }
}
@media (max-width: 540px) {
    #Recruiting h4 {
        font-weight: bold;
    }
    #Recruiting .flex-box .img-box {
        border-width: 6px;
        margin-top: 16px;
        margin-bottom: 16px;
    }
    #Recruiting .bt-default a {
        font-size: 13px;
        height: 46px;
        width: 160px;
    }
    #Recruiting .flex-box .pg_text {
        font-weight: 400;
    }
}

/*採用メッセージ*/
#recruit-message{
    position: relative;
    border-top: 1px solid #DCDCDC;
    padding-top: clamp(40px, 8vw, 100px);
    padding-bottom: clamp(64px, 8vw, 120px);
    background: linear-gradient(90deg, rgb(78, 162, 212), rgb(56, 195, 188));
}
#recruit-message::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    opacity: .05;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#recruit-message .flex-box {
    display: flex;
    justify-content: space-between;
}
#recruit-message .flex-box .txt-box {
    width: 66%;
}
#recruit-message .flex-box .img-box {
    width: 30%;
}
#recruit-message .link-box {
    display: flex;
    gap: 8px;
    margin-top: 32px;
}
#recruit-message .bt-default a {
    width: 200px;
}
#recruit-message .link-box .bt-default:not(.bt-bk) a {
    background: transparent;
    color: #fff;
    border: 1px solid;
}
#recruit-message .h-style04.sp {
    display: none;
}
#recruit-message .flex-box .txt-box .pg_text {
    line-height: 1.8em;
    font-weight: 400;
    color:#fff;
}
#recruit-message .flex-box .txt-box .sp-img {
    display: none;
}
@media (max-width: 1530px) {
    #recruit-message .bt-default a {
        font-size: 14px;
        height: 52px;
        width: 180px;
    }
}
@media (max-width: 768px) {
    #recruit-message .flex-box .txt-box {
        width: 100%;
    }
    #recruit-message .flex-box .img-box {
        display: none;
    }
    #recruit-message .flex-box .txt-box .sp-img {
        display: block;
        width: 80%!important;
        margin: 0 auto 16px;
    }
}
@media (max-width: 540px) {
    #recruit-message .bt-default a {
        font-size: 13px;
        height: 46px;
        width: 160px;
    }
}

/*インタビュー*/
.garally_slick .slick-prev {
    left: 0;
    width: auto;
}
.garally_slick .slick-next {
    right: 0;
    width: auto;
}
#recruit-interview-ttl {
    padding-top: clamp(40px, 8vw, 80px)!important;
}
#recruit-interview {
    border-top: 1px solid #DCDCDC;
}
#recruit-interview .slick-slide .staff-wrap {
    padding: 12% 10%;
    cursor: pointer;
    border-right: 1px solid #DCDCDC;
}
#recruit-interview .slick-slide .garraly_slick_caption {
    display: flex;
    flex-wrap: wrap;
}
#recruit-interview .slick-slide .garraly_slick_caption h4 {
    order: 2;
    width: 100%;
    font-weight: 400;
}
#recruit-interview .occupation-tag {
    margin-right: 12px;
    display: flex;
    align-items: center;
}
#recruit-interview .occupation-tag::before {
    content: "";
    margin-right: 8px;
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    transition:.5s;
}
#recruit-interview .occupation01 .occupation-tag::before {
    background: var(--occupation01-color);
}
#recruit-interview .occupation02 .occupation-tag::before {
    background:var(--occupation02-color);
}
#recruit-interview .occupation03 .occupation-tag::before {
    background: var(--occupation03-color);
}
#recruit-interview .occupation04 .occupation-tag::before {
    background: var(--occupation04-color);
}
#recruit-interview .occupation01 .occupation-tag {
    color: var(--occupation01-color);
}
#recruit-interview .occupation02 .occupation-tag {
    color:var(--occupation02-color);
}
#recruit-interview .occupation03 .occupation-tag {
    color: var(--occupation03-color);
}
#recruit-interview .occupation04 .occupation-tag {
    color: var(--occupation04-color);
}
#recruit-interview .slick-slide .garraly_slick_caption p {
    display: flex;
    align-items: center;
    margin-top: 20px;
    color: #535353;
    font-weight: 400;
    margin-bottom: 8px;
    font-size: 15px;
}
#recruit-interview .staff-wrap h4 {
    font-size: 24px;
}
#recruit-interview .slick-track .garraly_slick_image {
    overflow: hidden;
}
#recruit-interview .slick-track > a img {
    transition: .5s;
}
#recruit-interview .slick-track > a:hover img {
    transform: scale(1.05);
}
#recruit-interview .slick-track > a:hover {
    color:#333;
}
@media (max-width: 991px) {
    #recruit-interview .slick-slide .garraly_slick_caption p {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    .garally_slick .slick-prev {
        left: 8px;
    }
    .garally_slick .slick-next {
        right: 8px;
    }
    .slick-prev:before, .slick-next:before {
        font-size: 32px;
    }
    #recruit-interview .staff-wrap h4 {
        font-size: 20px;
    }
    #recruit-interview .slick-slide .garraly_slick_caption p {
        font-size: 13px;
    }
}
@media (max-width: 580px) {
    #recruit-interview .staff-wrap h4 {
        font-size: 16px;
    }

}



/*-----------------------------
 働く環境を知る
-----------------------------*/
/*働く環境*/
#cluture {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#cluture .col-md-12 {
    width: 100%;
}
#cluture .col-md-6 {
    width: calc(100% / 2 - 16px);
}
#cluture .col-md-4 {
    width: calc(100% / 3 - 16px);
}
#cluture .flex-box .block_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#cluture  > div:not(:first-child) {
    border: 4px solid rgb(56 195 188 / 32%);
    padding: 3%;
    border-radius: 10px;
    margin-top: 32px;
    display: flex;
    align-items: center;
}
#cluture > div:not(:first-child) p {
    line-height: 1.8em;
}
#cluture .h-style05 {
    padding-left: 24px;
    line-height: 1.5em;
    margin-bottom: clamp(16px, 1vw, 24px);
    font-weight: bold;
}
#cluture .flex-box .left-area {
    width: 28%;
}
#cluture .flex-box .right-area {
    width: 68%;
}
#cluture .flex-box.col-md-4 .left-area {
    width: 65%;
}
#cluture .flex-box.col-md-4 .right-area {
    width: 30%;
}
#cluture .flex-box.col-md-4 .left-area .figure {
    font-size: clamp(40px, 6vw, 94px);
    font-weight: 400;
    color: var(--main-color);
    margin-left: 8px;
}
#cluture .flex-box.col-md-4 .left-area .unit {
    font-size: clamp(12px, 1.6vw, 20px);
}
#cluture > div:first-child {
    margin-bottom: clamp(16px, 2vw, 32px);
}
@media (max-width: 1530px) {
    #cluture > div:not(:first-child) {
        margin-top: 16px;
    }
    #cluture .col-md-6 {
        width: calc(100% / 2 - 8px);
    }
    #cluture .col-md-4 {
        width: calc(100% / 3 - 8px);
    }
}
@media (max-width: 991px) {
    #cluture .flex-box .block_box {
        display: block;
    }
    #cluture .flex-box .right-area {
        width: 100%;
    }
    #cluture .flex-box.col-md-4 .left-area {
        width: 100%;
        order: 2;
    }
    #cluture .flex-box.col-md-4 .right-area {
        display: none;
    }
    #cluture .flex-box .left-area {
        width: 100%;
    }
    #cluture .flex-box .left-area img {
        max-height: 120px;
        object-fit: contain;
        margin-bottom: 20px;
    }
    #cluture .flex-box.col-md-12 .left-area img {
        max-height: max-content;
        object-position: left;
        max-width: 320px;
        margin: 0 auto 20px;
    }
    #cluture > div:not(:first-child) {
        padding: 6% 4%;
    }
    #cluture .col-md-4 {
        justify-content: center;
    }
    #cluture .flex-box.col-md-4 .left-area .figure {
        font-size: clamp(40px, 8vw, 94px);
    }
    #cluture .achievements-item {
        text-align: center;
    }
}
@media (max-width: 750px) {
    #cluture .col-md-6 {
        width: 100%;
    }
    #cluture .flex-box .block_box {
        display: flex;
        width: 100%;
    }
    #cluture .flex-box .left-area {
        width: 25%;
    }
    #cluture .flex-box .right-area {
        width: 70%;
    }
    #cluture .flex-box.col-md-12 .block_box {
        display: block;
    }
    #cluture .flex-box.col-md-12 .left-area img {
        max-width: none;
    }
    #cluture .flex-box.col-md-12 .left-area {
        width: 100%;
    }
    #cluture .flex-box.col-md-12 .right-area {
        width: 100%;
    }
    #cluture .col-md-4 {
        width: 100%;
        justify-content: space-between;
    }
    #cluture .flex-box.col-md-4 .right-area {
        display: block;
        order: 1;
        width: 25%;
    }
    #cluture .flex-box.col-md-4 .left-area {
        width: 70%;
    }
    #cluture .flex-box.col-md-4 .right-area img {
        max-height: 100px;
        object-fit: contain;
    }
    #cluture .achievements-item {
        text-align: left;
    }
}
@media (max-width: 540px) {
    #cluture .flex-box .block_box {
        display: block;
    }
    #cluture .flex-box .right-area {
        width: 100%;
    }
    #cluture .flex-box .left-area {
        margin: 0 auto 20px;
        width: 100%;
    }
    #cluture > div:not(:first-child) {
        padding: 8% 6%;
    }
    #cluture .flex-box.col-md-4 .left-area {
        width: 100%;
    }
    #cluture .flex-box.col-md-4 .left-area .figure {
        font-size: clamp(40px, 16vw, 94px);
    }
    #cluture .achievements-item {
        text-align: center;
    }
    #cluture .flex-box.col-md-4 .right-area {
        width: 100%;
    }
    #cluture .flex-box.col-md-4 .block_box {
        display: flex;
    }
    #cluture .flex-box.col-md-4 .right-area {
        width: 80%;
    }
}
/*イベント*/
#event {
    position: relative;
    padding-top: clamp(44px, 6vw, 88px);
    padding-bottom: clamp(60px, 6vw, 104px);
}
#event::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    position: absolute;
    top: 0;
    left: 0;
    opacity: .05;
}
#event .garally_normal {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-top: 32px;
}
#event .garally_normal .item {
    width: calc(100% / 3 - 22px);
}
#event .garally_normal .item h3 {
    text-align: center;
    font-size: 20px;
    margin-top: 16px;
}
#event .garally_normal .item img {
    aspect-ratio: 3/2;
    object-fit: cover;
}
@media (max-width: 1530px) {
    #event .garally_normal .item h3 {
        font-size: 18px;
    }
}
@media (max-width: 991px) {
    #event .garally_normal .item h3 {
        font-size: 14px;
    }
}
@media (max-width: 768px) {
    #event .garally_normal .item {
        width: calc(100% / 2 - 8px);
        margin-bottom: 24px;
    }
    #event .garally_normal {
        gap: 16px;
    }
}
@media (max-width: 480px) {
    #event .garally_normal .item {
        margin-bottom: 8px;
    }
    #event .garally_normal .item h3 span {
        display: block;
    }
}
/* 画像 */
body.page-recruit-cluture-index-html .row.flex-box {
    display: flex;
    gap: 16px;
    margin-top: clamp(60px, 6vw, 104px) !important;
    margin-bottom: clamp(60px, 6vw, 104px) !important;
}
body.page-recruit-cluture-index-html .row.flex-box::before,body.page-recruit-cluture-index-html .row.flex-box::after {
    display: none;
}
@media (max-width: 768px) {
    body.page-recruit-cluture-index-html .row.flex-box {
        flex-wrap: wrap;
    }
    body.page-recruit-cluture-index-html .row.flex-box > div {
        width: calc(100% / 2 - 8px);
    }
}
@media (max-width: 440px) {
    body.page-recruit-cluture-index-html .row.flex-box > div {
        width: 100%;
    }
}

.p-business #occupation01 .title_animation span::before {
    background: linear-gradient(90deg, #ff9423, #f1bb00);
}

.p-business #occupation02 .title_animation span::before {
    background: linear-gradient(90deg, #6da8e1, #33a6c7);
}

.p-business #occupation03 .title_animation span::before {
    background: linear-gradient(90deg, #56c088, #54c1ce);
}

.p-business #occupation04 .title_animation span::before {
    background: linear-gradient(90deg, #a78ecb, #cd7ad4);
}

.p-business #occupation01 .title_animation.visible span,
.p-business #occupation02 .title_animation.visible span,
.p-business #occupation03 .title_animation.visible span,
.p-business #occupation04 .title_animation.visible span {
    color:#fff!important;
}

.work-head .title_animation span::before {
    background: linear-gradient(90deg, rgb(78, 162, 212), rgb(56, 195, 188));
}

.work-head .title_animation.visible span {
    color: #fff!important;
}

/*
!* ローディング背景 *!
body.page-index-html.show-loading::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999999;
    opacity: 1;
    transition: opacity 1.5s ease;
}

!* ローディングロゴ *!
body.page-index-html.show-loading::after {
    content: "";
    display: block;
    width: 70%;
    max-width: 400px;
    height: 100%;
    background: url(/theme/my-17482383656834001de8966/img/common/f-logo.png) center no-repeat;
    background-size: contain;
    position: fixed;
    top: -16px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 99999999999;
    opacity: 0;
    transform: scale(1.03);
    pointer-events: none;
    transition: opacity 1.5s ease, transform 1.5s ease;
}

!* ロゴ表示 *!
body.page-index-html.show-loading.show-after::after {
    opacity: 1;
    transform: scale(1);
}

!* ローディングを非表示（opacity だけまず変える）*!
body.page-index-html.show-loading.hide-before-after::before,
body.page-index-html.show-loading.hide-before-after::after {
    opacity: 0;
    pointer-events: none;
    transition: opacity 1.5s ease;
}*/
