@charset "UTF-8";
/*
Theme Name: Kosuzume_theme
Theme URI: www.kosuzume.co.jp
Author: 株式会社イージェーワークス
Author URI: https://www.ejworks.com/
Description: 小雀建設株式会社様向けテーマ
Text Domain: Kosuzume_theme
License: GNU GENERAL PUBLIC LICENSE
License URI: LICENSE
Version: 1.0
Tested up to: 5.9.1
Requires PHP: 7.3.5
*/
/* reset */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
del,
em,
img,
small,
strong,
sub,
sup,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
footer,
header,
main,
menu,
nav,
section,
figure,
form,
input:not([type='checkbox'], [type='radio']),
textarea,
button {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-weight: normal;
    font-style: normal;
    vertical-align: baseline;
    background: transparent;
    box-sizing: border-box;
}

body {
    line-height: 1;
}

footer,
header,
main,
nav,
section {
    display: block;
}

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

nav a,
.nav a {
    display: block;
}

a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

img {
    display: block;
    max-width: 100%;
}

strong,
em {
    font-weight: bold;
}

input:not([type='checkbox'], [type='radio']),
button,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
}

textarea {
    resize: vertical;
}

input[type='submit'],
input[type='button'],
label,
button,
select {
    cursor: pointer;
}

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

html {
    min-height: 100vh;
    -webkit-text-size-adjust: 100%;
    overflow-y: scroll;
    box-sizing: border-box;
}

body {
    min-height: 100%;
    color: #1a1a1a;
    background: #fff;
    overflow-x: hidden;
}

img {
    width: auto;
    height: auto;
}

body,
button,
input,
select,
textarea {
    color: #1a1a1a;
    font-family: -apple-system, BlinkMacSystemFont, 'メイリオ', Meiryo, Roboto,
        Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    font-size: 1rem;
    line-height: 1.8;
}

a {
    color: #1a1a1a;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #f4f6f5;
    font-family: 'Courier 10 Pitch', courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: monaco, consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
}

abbr,
acronym {
    border-bottom: 1px dotted #b1b1b1;
    cursor: help;
}

mark,
ins {
    background: #f4f6f5;
    text-decoration: none;
}

big {
    font-size: 125%;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

main h2 {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 20px;
    line-height: 1.2;
}

main h2::before {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #129647;
    font-size: 32px;
    line-height: 1.2;
}

main h2.center-title {
    font-size: 22px;
    text-align: center;
}

main h2.center-title::before {
    font-size: 34px;
}

main h2.effort-title {
    margin-bottom: 24px;
    font-size: 30px;
}

main h2.effort-title span {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

main h2.effort-title.en-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

main h2.feature-title {
    margin-bottom: 24px;
    padding: 8px 16px;
    color: #fff;
    background: #111;
    font-size: 30px;
}

main h2.feature-title span {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

main h2.tag-title {
    margin-bottom: 40px;
    font-size: 26px;
}

main h2.recruit-title {
    margin-bottom: 40px;
}

main h2.recruit-title::before {
    color: #124796;
}

main h3 {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 24px;
    line-height: 1.4;
}

main h4 {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.4;
}

main h5 {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 1rem;
    line-height: 1.4;
}

main ul,
main ol {
    margin-left: 2em;
}

main ul li:not(:last-child),
main ol li:not(:last-child) {
    margin-bottom: 0.5em;
}

@media print, screen and (min-width: 768px) {
    main h2 {
        margin-bottom: 96px;
        font-size: 24px;
    }
    main h2::before {
        font-size: 56px;
    }
    main h2.center-title {
        font-size: 30px;
        text-align: center;
    }
    main h2.center-title::before {
        font-size: 60px;
    }
    main h2.effort-title {
        margin-bottom: 40px;
        font-size: 40px;
    }
    main h2.feature-title {
        margin-right: -24px;
        margin-left: -24px;
        margin-bottom: 40px;
        padding: 16px 20px;
        font-size: 36px;
    }
    main h2.recruit-title {
        margin-bottom: 64px;
    }
    main h2.recruit-title::before {
        color: #124796;
    }
    main h3 {
        margin-bottom: 24px;
        font-size: 32px;
    }
    main h4 {
        font-size: 30px;
    }
}

.footer-inq-area h3 {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 24px;
    line-height: 1.2;
}

@media print, screen and (min-width: 768px) {
    .footer-inq-area h3 {
        margin-bottom: 24px;
        font-size: 32px;
    }
}

.site-header {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}

.site-header .site-branding {
    width: calc(100vw - 80px);
}

.site-header .site-branding .site-title img {
    max-height: 80px;
}

@media print, screen and (min-width: 1240px) {
    .site-header .site-branding {
        width: 270px;
        max-height: auto;
    }
}

.site-header .recruit-logo {
    width: calc(100vw - 80px);
}

.site-header .recruit-logo img {
    max-height: 80px;
}

@media print, screen and (min-width: 1240px) {
    .site-header .recruit-logo {
        width: 420px;
        max-height: auto;
    }
}

.hd-inline-nav {
    display: none;
}

@media print, screen and (min-width: 1025px) {
    .hd-inline-nav {
        display: flex;
        justify-content: flex-end;
        margin-right: 80px;
        margin-left: auto;
    }
    .hd-inline-nav ul {
        display: flex;
    }
    .hd-inline-nav ul li {
        margin-right: 2.4vw;
        white-space: nowrap;
    }
    .hd-inline-nav ul li a {
        font-size: 15px;
        text-decoration: none;
        position: relative;
    }
    .hd-inline-nav ul li a::after {
        content: '';
        width: 0;
        height: 1px;
        position: absolute;
        top: 100%;
        left: 0;
        background: #1a1a1a;
        transition: 0.2s;
    }
    .hd-inline-nav ul li a:hover::after {
        width: 100%;
    }
    .hd-inline-nav__inq-btn {
        margin-top: -4px;
        margin-right: 2vw;
    }
    .hd-inline-nav__inq-btn a {
        padding: 4px 16px;
        font-size: 15px;
        text-decoration: none;
        line-height: 1.4;
        white-space: nowrap;
        border: 2px solid #1a1a1a;
        border-radius: 20px;
        transition: 0.3s;
    }
    .hd-inline-nav__inq-btn a:hover {
        color: #fff;
        background: #129647;
        border-color: #129647;
    }
}

.hd-drower .drower-btn {
    width: 80px;
    height: 80px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 101;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #111;
    opacity: 1;
    transition: 0.3s;
}

.hd-drower .drower-btn:hover {
    opacity: 0.7;
}

.hd-drower .drower-btn__line {
    display: block;
    width: 40px;
    height: 4px;
    position: relative;
    margin: 38px auto 0 auto;
    background: #fff;
}

.hd-drower .drower-btn__line::before,
.hd-drower .drower-btn__line::after {
    content: '';
    display: block;
    width: 40px;
    height: 4px;
    position: absolute;
    margin: 0 auto;
    background: #fff;
    transition: 0.3s ease-in-out;
}

.hd-drower .drower-btn__line::before {
    top: -14px;
}

.hd-drower .drower-btn__line::after {
    top: 14px;
}

.hd-drower .drower-btn.js-open {
    background: transparent;
}

.hd-drower .drower-btn.js-open .drower-btn__line {
    background: transparent;
}

.hd-drower .drower-btn.js-open .drower-btn__line::before {
    transform: rotate(-45deg);
    top: 14px;
    right: 14px;
}

.hd-drower .drower-btn.js-open .drower-btn__line::after {
    transform: rotate(45deg);
    right: 14px;
}

.hd-drower-bg {
    opacity: 0;
    width: 80vw;
    max-width: 800px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    overflow: auto;
    padding: 80px 64px 40px 40px;
    color: #fff;
    background: #041e0e;
    box-shadow: -3px 0 3px rgba(4, 30, 14, 0.5);
    transform: translateX(105%);
    transition: 0.3s ease-in-out;
}

.hd-drower-bg.js-open {
    opacity: 1;
    transform: translateX(0%);
}

@media print, screen and (min-width: 768px) {
    .hd-drower-bg {
        width: 40vw;
        max-width: 800px;
    }
}

.hd-drower-bg ul li a {
    margin-bottom: 24px;
    color: #fff;
    text-decoration: none;
    opacity: 1;
    transition: 0.3s;
}

.hd-drower-bg ul li a:hover {
    opacity: 0.7;
}

.hd-drower-bg ul > li > ul > li > a {
    margin-left: 24px;
}

.hd-drower-bg ul > li > ul > li > a::before {
    content: '-';
    margin-right: 8px;
}

.body-fixed {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
}

.page-header {
    width: 96%;
    margin: 24px auto 64px;
    position: relative;
}

.page-header .page-header-title {
    position: relative;
    line-height: 1.2;
}

.page-header .page-header-title::before {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #129647;
    font-size: 32px;
}

.page-header .page-header-title .jp-title {
    padding-right: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 24px;
    background: #fff;
}

.page-header .page-header-title .jp-title::after {
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    right: 0;
    bottom: 8px;
    background: #ebefed;
    z-index: -1;
}

@media print, screen and (min-width: 768px) {
    .page-header {
        width: 96vw;
        margin: 64px auto 120px;
    }
    .page-header .page-header-title {
        display: inline-block;
        background: #fff;
    }
    .page-header .page-header-title::before {
        display: inline-block;
        margin-right: 40px;
        font-size: 70px;
        vertical-align: -5px;
    }
    .page-header .page-header-title .jp-title {
        padding-right: 24px;
        font-size: 38px;
    }
    .page-header .page-header-title .jp-title::after {
        display: none;
    }
    .page-header::after {
        content: '';
        display: block;
        width: 100%;
        height: 10px;
        position: absolute;
        right: 0;
        bottom: 28px;
        background: #ebefed;
        z-index: -1;
    }
}

.site-main {
    width: 94%;
    margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
    .site-main {
        max-width: 1180px;
    }
}

.site-narrow-width {
    width: 96%;
    margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
    .site-narrow-width {
        max-width: 920px;
    }
}

@media print, screen and (min-width: 768px) {
    .space-contents {
        width: 80%;
        margin-left: auto;
    }
}

.block-order-reverse {
    display: flex;
    flex-direction: column-reverse;
}

@media print, screen and (min-width: 768px) {
    .block-order-reverse {
        flex-direction: row;
    }
}

.block-nowrap {
    flex-wrap: nowrap;
}

.block-nowrap .wp-block-columns {
    flex-wrap: nowrap;
}

.block-nowrap .wp-block-column {
    width: auto !important;
}

@media screen and (max-width: 768px) {
    .block-nowrap .wp-block-column:not(:first-child) {
        margin-left: 1em !important;
    }
}

.footer-inq-area {
    padding: 24px 0;
    background-color: #e0e7e3;
    background-image: url(images/city_image.png), url(images/pale_green_bg.png);
    background-repeat: no-repeat, repeat;
    background-position: 0 0, center center;
    background-size: cover, 200px auto;
}

.footer-inq-area .footer-inq_inn {
    padding: 16px 16px;
    background-color: rgba(224, 231, 227, 0.5);
}

.footer-inq-area .footer-inq_inn .footer-inq-btn {
    display: block;
    color: #fff;
    background-color: #111;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    margin-top: 32px;
    padding: 24px;
    background-image: url(images/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: 95% 24px;
    background-size: 26px auto;
    font-size: 20px;
    line-height: 1;
    border-radius: 5px;
}

.footer-inq-area .footer-inq_inn .footer-inq-btn:hover {
    color: #111;
    background-color: #fff;
}

.footer-inq-area .footer-inq_inn .footer-inq-btn:hover {
    color: #fff;
    background-color: #129647;
    border-color: #129647;
}

@media print, screen and (min-width: 768px) {
    .footer-inq-area {
        background-size: contain, 200px auto;
        background-position: 0 0, 0 0;
    }
    .footer-inq-area .footer-inq_inn {
        width: 50%;
        max-width: 590px;
        margin-left: auto;
        padding: 120px 16px 40px;
    }
    .footer-inq-area .footer-inq_inn .footer-inq-btn {
        margin-top: 40px;
        padding: 32px;
        background-size: 44px auto;
        background-position: 95% 30px;
        font-size: 28px;
    }
}

.site-footer {
    color: #fff;
    background: #041e0e;
}

.site-footer .gotop a {
    display: block;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 30px;
    bottom: 40px;
    background-color: #129647;
    cursor: pointer;
    transition: 0.3s ease-in-out;
    z-index: 99;
}

.site-footer .gotop a::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -5px 0 0 -9px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
}

.site-footer .gotop a:hover {
    background-color: #041e0e;
    border-radius: 30px;
}

.site-footer .site-footer_inn {
    display: flex;
    flex-direction: column-reverse;
    padding: 40px 0;
}

.site-footer .site-footer_inn .footer-nav-wrap {
    margin-bottom: 64px;
}

.site-footer .site-footer_inn .footer-nav-wrap > ul {
    column-count: 2;
    column-gap: 24px;
    list-style: none;
}

.site-footer .site-footer_inn .footer-nav-wrap > ul li {
    margin-bottom: 8px;
}

.site-footer .site-footer_inn .footer-nav-wrap > ul li a {
    color: #fff;
    text-decoration: none;
}

.site-footer .site-footer_inn .footer-nav-wrap > ul li a:hover {
    text-decoration: underline;
}

.site-footer .site-footer_inn .footer-nav-wrap ul > li > ul {
    margin-top: 8px;
    list-style: none;
}

.site-footer .site-footer_inn .footer-nav-wrap ul > li > ul > li {
    position: relative;
    margin-left: 8px;
    padding-left: 16px;
}

.site-footer .site-footer_inn .footer-nav-wrap ul > li > ul > li::before {
    content: '-';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-right: 8px;
}

.site-footer .site-footer_inn .footer-company-info .footer-logo {
    width: 80vw;
}

@media print, screen and (min-width: 768px) {
    .site-footer .site-footer_inn {
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
    }
    .site-footer .site-footer_inn .footer-company-info {
        width: 50%;
    }
    .site-footer .site-footer_inn .footer-company-info .footer-logo {
        width: 400px;
    }
    .site-footer .site-footer_inn .footer-nav-wrap {
        width: 50%;
        margin-top: 0;
    }
    .site-footer .site-footer_inn .footer-nav-wrap > ul {
        column-count: 3;
    }
}

.site-footer .footer-copy {
    margin: 0;
    padding: 40px;
    color: #fff;
    font-family: monaco, consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
    font-size: 14px;
    text-align: center;
    opacity: 0.9;
}

.footer-bnr-area {
    background: #fff;
    padding-bottom: 16px;
}

.footer-bnr-wrap {
    width: 100%;
}

.footer-bnr-wrap .bnr-main-bnr {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0 8px;
    padding: 16px 0;
}

.footer-bnr-wrap .bnr-caption {
    font-size: 12px;
    line-height: 1.4;
}

.footer-bnr-wrap .bnr-sub {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0 8px;
    padding: 16px 0;
}

@media print, screen and (min-width: 768px) {
    .footer-bnr-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    .footer-bnr-wrap .bnr-main {
        width: 50%;
    }
    .footer-bnr-wrap .bnr-sub {
        width: 50%;
        justify-content: flex-end;
    }
}

.jumbotron-area {
    position: relative;
    margin-bottom: 40px;
}

@media print, screen and (min-width: 768px) {
    .jumbotron-area {
        height: calc(100vh - 90px);
        margin-bottom: 96px;
    }
}

.key-visual {
    overflow: hidden;
}

.key-visual .key-visual__copy img {
    height: 100px;
    margin: 16px auto;
}

.key-visual__slide {
    position: relative;
    z-index: 1;
    height: 410px;
}

@media print, screen and (min-width: 768px) {
    .key-visual {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
    .key-visual .key-visual__copy {
        width: 40%;
        max-width: 550px;
        height: auto;
        margin-left: auto;
        margin-bottom: 100px;
    }
    .key-visual .key-visual__copy img {
        height: auto;
        margin: 0 auto;
    }
    .key-visual .key-visual__slide {
        width: 60%;
        height: 100%;
    }
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    background-position: center;
    background-size: cover;
}

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

.jumbotron-nav {
    width: 100%;
    height: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
}

.jumbotron-nav::before,
.jumbotron-nav::after {
    content: '';
    display: block;
    width: 200%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: -50%;
}

.jumbotron-nav::before {
    background: rgba(196, 190, 185, 0.8);
    transform: rotate(4deg);
    transform-origin: left top;
    z-index: 2;
}

.jumbotron-nav::after {
    background: rgba(18, 150, 71, 0.6);
    transform: rotate(-4deg);
    transform-origin: right top;
    z-index: 3;
}

.jumbotron-nav__inn {
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    z-index: 4;
}

.jumbotron-nav__inn ul {
    display: flex;
    justify-content: center;
    list-style: none;
}

.jumbotron-nav__inn ul > li {
    margin: 0 8px;
}

.jumbotron-nav__inn ul > li a {
    color: #fff;
    background-color: #111;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    display: block;
    width: 100%;
    padding: 4px 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    border-radius: 4px;
}

.jumbotron-nav__inn ul > li a:hover {
    color: #111;
    background-color: #fff;
}

@media print, screen and (min-width: 768px) {
    .jumbotron-nav {
        height: 250px;
    }
    .jumbotron-nav::before {
        background: rgba(97, 80, 64, 0.4);
    }
    .jumbotron-nav .jumbotron-nav__inn {
        bottom: 18px;
    }
    .jumbotron-nav .jumbotron-nav__inn ul > li {
        width: calc((100% - 100px) / 3);
        max-width: 360px;
        margin: 0 50px;
    }
    .jumbotron-nav .jumbotron-nav__inn ul > li a {
        padding: 24px 0;
        font-size: 24px;
        line-height: 1;
    }
}

.btn-more-wrap a {
    position: relative;
    display: inline-block;
    height: 40px;
    padding: 0 40px;
    color: #fff;
    background-color: #111;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    font-size: 12px;
    line-height: 40px;
    border-radius: 20px;
}

.btn-more-wrap a:hover {
    color: #111;
    background-color: #fff;
}

.btn-more-wrap a::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -3px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}

.btn-more-wrap a:hover::after {
    border-color: #111;
}

@media print, screen and (min-width: 768px) {
    .btn-more-wrap a {
        height: 50px;
        padding: 0 80px;
        font-size: 14px;
        line-height: 50px;
        border-radius: 25px;
    }
    .btn-more-wrap a::after {
        width: 9px;
        height: 9px;
        right: 24px;
        margin-top: -4px;
    }
}

.btn-more-wrap.gmap-btn a {
    display: block;
    padding: 0;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
    .btn-more-wrap.gmap-btn a {
        padding: 0;
    }
}

.btn-more-wrap-white a {
    position: relative;
    display: inline-block;
    height: 40px;
    padding: 0 40px;
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    font-size: 12px;
    line-height: 40px;
    border-radius: 20px;
}

.btn-more-wrap-white a:hover {
    color: #fff;
    background-color: #111;
}

.btn-more-wrap-white a::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -3px;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    transform: rotate(45deg);
}

.btn-more-wrap-white a:hover::after {
    border-color: #fff;
}

@media print, screen and (min-width: 768px) {
    .btn-more-wrap-white a {
        height: 50px;
        padding: 0 80px;
        font-size: 14px;
        line-height: 50px;
        border-radius: 25px;
    }
    .btn-more-wrap-white a::after {
        width: 9px;
        height: 9px;
        right: 24px;
        margin-top: -4px;
    }
}

.top-wide-bg {
    padding: 64px 0 0;
    background: #f0efed;
}

@media print, screen and (min-width: 768px) {
    .top-wide-bg {
        padding: 64px 0 8px;
    }
}

.top-recruit-image img {
    width: 100%;
}

.news-kiji-list {
    margin-top: 64px;
    margin-bottom: 64px;
}

.news-kiji-list ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
    list-style: none;
}

.news-kiji-list ul li {
    width: 100%;
    /* 高さ指定 */
    height: 110px;
    margin-bottom: 24px;
}

.news-kiji-list ul li a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    text-decoration: none;
    border: 1px solid #b1b1b1;
    transition: 0.3s;
}

.news-kiji-list ul li a .news-image {
    width: 32%;
    height: 100%;
}

.news-kiji-list ul li a img {
    width: 32%;
    height: 100%;
    object-fit: cover;
}

.news-kiji-list ul li a .news-kiji-detail {
    width: 68%;
    padding: 8px 16px 4px;
}

.news-kiji-list ul li a .news-kiji-detail .news-cate-date-wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 8px;
}

.news-kiji-list ul li a .news-kiji-detail .news-cate-date-wrap .news-category {
    color: #129647;
    font-size: 12px;
    font-weight: bold;
}

.news-kiji-list ul li a .news-kiji-detail .news-cate-date-wrap .news-date {
    color: #454545;
    font-size: 12px;
}

.news-kiji-list ul li a .news-kiji-detail p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /*IE対策*/
    line-height: 1.5em;
    max-height: 3em;
}

.news-kiji-list ul li a:hover {
    border-color: #129647;
    box-shadow: 0 0 4px 4px rgba(4, 30, 14, 0.2);
}

.news-kiji-list ul li a:hover .news-kiji-detail p {
    text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
    .news-kiji-list ul {
        margin-top: 0;
        flex-direction: row;
        justify-content: space-between;
    }
    .news-kiji-list ul li {
        width: calc((100% - 40px) / 2);
        height: auto;
        margin-bottom: 40px;
    }
    .news-kiji-list ul li a img {
        width: 180px;
        height: 126px;
        object-fit: cover;
    }
    .news-kiji-list ul li a .news-kiji-detail {
        width: calc(100% - 180px);
        padding: 16px 24px 8px;
    }
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 8px;
    list-style: none;
}

.breadcrumb li {
    color: #454545;
    font-size: 12px;
    line-height: 1.4;
}

.breadcrumb li a {
    text-decoration: none;
}

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

.breadcrumb li:not(:last-child) {
    position: relative;
    margin-right: 24px;
}

.breadcrumb li:not(:last-child)::after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 50%;
    right: -14px;
    margin-top: -5px;
    border-top: 1px solid #454545;
    border-right: 1px solid #454545;
    transform: rotate(45deg);
}

@media print, screen and (min-width: 768px) {
    .breadcrumb {
        margin: 16px 24px;
    }
    .breadcrumb li {
        font-size: 14px;
    }
    .breadcrumb li:not(:last-child) {
        margin-right: 32px;
    }
    .breadcrumb li:not(:last-child)::after {
        width: 8px;
        height: 8px;
        right: -16px;
        margin-top: -5px;
    }
}

.ks-btn-nav {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-left: 0;
    list-style: none;
}

.ks-btn-nav.btn-nav-center {
    justify-content: space-between;
}

.ks-btn-nav.btn-nav-right {
    justify-content: space-between;
}

.ks-btn-nav > li {
    margin: 0 0 24px;
    min-width: 46%;
    max-width: 100%;
}

.ks-btn-nav > li .ks-btn-nav__btn,
.ks-btn-nav > li a {
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
    border-radius: 24px;
}

.ks-btn-nav > li .ks-btn-nav__btn:hover,
.ks-btn-nav > li a:hover {
    color: #fff;
    background-color: #111;
}

.ks-btn-nav > li.active .ks-btn-nav__btn,
.ks-btn-nav > li.active a {
    color: #fff;
    background: #111;
}

.ks-btn-nav > li.nolink a {
    pointer-events: none;
    cursor: pointer;
}

.ks-btn-nav.btn-nav-nolink {
    align-items: flex-start;
}

.ks-btn-nav.btn-nav-nolink > li {
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
    border-radius: 24px;
    cursor: pointer;
}

.ks-btn-nav.btn-nav-nolink > li:hover {
    color: #fff;
    background-color: #111;
}

.ks-btn-nav.btn-nav-nolink > li[data-tab-switch].active {
    color: #fff;
    background: #111;
}

@media print, screen and (min-width: 768px) {
    .ks-btn-nav.btn-nav-center {
        justify-content: center;
    }
    .ks-btn-nav.btn-nav-right {
        justify-content: flex-end;
    }
    .ks-btn-nav > li {
        margin: 0 24px 24px 24px;
        min-width: 150px;
    }
    .ks-btn-nav > li a {
        font-size: 16px;
    }
    .ks-btn-nav.btn-nav-nolink > li {
        font-size: 16px;
    }
}

.news-category-wrap ul,
.interview-list-wrap ul,
.aboutus-menu-wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-left: 0;
    list-style: none;
}

.news-category-wrap ul > li,
.interview-list-wrap ul > li,
.aboutus-menu-wrap ul > li {
    margin: 0 0 24px;
    min-width: 46%;
    max-width: 100%;
}

.news-category-wrap ul > li a,
.interview-list-wrap ul > li a,
.aboutus-menu-wrap ul > li a {
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
    border-radius: 24px;
}

.news-category-wrap ul > li a:hover,
.interview-list-wrap ul > li a:hover,
.aboutus-menu-wrap ul > li a:hover {
    color: #fff;
    background-color: #111;
}

.news-category-wrap ul > li[class*='current_page_item'] a,
.news-category-wrap ul > li[class*='current-menu-item'] a,
.interview-list-wrap ul > li[class*='current_page_item'] a,
.interview-list-wrap ul > li[class*='current-menu-item'] a,
.aboutus-menu-wrap ul > li[class*='current_page_item'] a,
.aboutus-menu-wrap ul > li[class*='current-menu-item'] a {
    color: #fff;
    background: #111;
}

@media print, screen and (min-width: 768px) {
    .news-category-wrap ul,
    .interview-list-wrap ul {
        justify-content: center;
    }
    .news-category-wrap ul li,
    .interview-list-wrap ul li {
        margin: 0 24px 24px 24px;
        min-width: 150px;
    }
    .news-category-wrap ul li a,
    .interview-list-wrap ul li a {
        font-size: 16px;
    }
}

.aboutus-menu-wrap ul {
    justify-content: flex-end;
}

.aboutus-menu-wrap ul li {
    margin: 0 12px 24px 12px;
    min-width: 150px;
}

.aboutus-menu-wrap ul li a {
    font-size: 16px;
}

.ks-text-archive {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: 0;
    list-style: none;
}

.ks-text-archive > li {
    position: relative;
    padding: 0 24px;
    font-size: 15px;
}

.ks-text-archive > li.active,
.ks-text-archive > li [aria-current] {
    font-weight: bold;
}

.ks-text-archive > li:not(:last-child)::after {
    content: '';
    display: block;
    width: 0;
    height: 1.6rem;
    position: absolute;
    top: 0;
    left: 100%;
    border-left: 1px solid #b1b1b1;
    transform: rotate(45deg);
}

.ks-text-archive > li a {
    text-decoration: none;
    position: relative;
}

.ks-text-archive > li a::after {
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    top: 100%;
    left: 0;
    background: #1a1a1a;
    transition: 0.2s;
}

.ks-text-archive > li a:hover::after {
    width: 100%;
}

#toc_container {
    display: inline-block;
    min-width: 60%;
    margin-bottom: 64px;
    padding: 16px 24px;
    color: #454545;
    background: #e0e7e3;
}

#toc_container .toc_title {
    margin-bottom: 16px;
    font-size: 12px;
    font-weight: bold;
    border-bottom: 1px solid #9a9a9a;
}

#toc_container .toc_title .toc_toggle {
    padding-left: 1em;
    color: #454545;
}

#toc_container .toc_list {
    margin-left: 16px;
    list-style: none;
}

#toc_container .toc_list li {
    font-size: 12px;
}

#toc_container .toc_list li:not(:last-child) {
    margin-bottom: 1em;
}

#toc_container .toc_list li a {
    font-weight: bold;
    font-size: 12px;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    #toc_container {
        min-width: 40%;
    }
    #toc_container .toc_title {
        font-size: 14px;
    }
    #toc_container .toc_list li {
        font-size: 14px;
    }
    #toc_container .toc_list li a {
        font-size: 14px;
    }
    #toc_container .toc_list li a:hover {
        text-decoration: underline;
    }
}

.widget_tag_cloud {
    width: 100%;
    padding: 16px 8px 8px;
    background: #f0efed;
    border-radius: 20px;
}

.widget_tag_cloud .widget-title {
    position: relative;
    margin-bottom: 16px;
    padding-left: 50px;
    color: #454545;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: bold;
}

.widget_tag_cloud .widget-title::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 10px;
    bottom: 0;
    background: url(images/icon_tags.svg) no-repeat left bottom;
    background-size: contain;
}

.widget_tag_cloud .tagcloud {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.widget_tag_cloud .tagcloud a {
    margin: 0 8px 8px 0;
    padding: 8px 8px;
    color: #1a1a1a;
    background-color: #fff;
    font-size: 12px !important;
    line-height: 1.1;
    text-decoration: none;
    border: 1px solid #b1b1b1;
    border-radius: 20px;
    transition: color 0.2s, background-color 0.2s;
}

.widget_tag_cloud .tagcloud a:hover {
    color: #fff;
    background-color: #454545;
}

.widget_tag_cloud .tagcloud-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    list-style: none;
}

.widget_tag_cloud .tagcloud-list li {
    margin: 0 8px 8px 0;
}

.widget_tag_cloud .tagcloud-list li a {
    display: block;
    padding: 8px 8px;
    color: #1a1a1a;
    background-color: #fff;
    font-size: 12px !important;
    line-height: 1.1;
    text-decoration: none;
    border: 1px solid #b1b1b1;
    border-radius: 20px;
    transition: color 0.2s, background-color 0.2s;
}

.widget_tag_cloud .tagcloud-list li a:hover {
    color: #fff;
    background-color: #454545;
}

@media print, screen and (min-width: 768px) {
    .widget_tag_cloud {
        display: flex;
        align-items: flex-start;
        padding: 40px;
    }
    .widget_tag_cloud .widget-title {
        width: 20%;
        padding-left: 60px;
        font-size: 24px;
    }
    .widget_tag_cloud .widget-title::before {
        width: 40px;
        height: 40px;
    }
    .widget_tag_cloud .tagcloud {
        padding-left: 24px;
    }
    .widget_tag_cloud .tagcloud a {
        margin: 0 16px 8px 0;
        padding: 8px 16px;
        font-size: 14px !important;
        border-radius: 20px;
    }
    .widget_tag_cloud .tagcloud-list {
        padding-left: 24px;
    }
    .widget_tag_cloud .tagcloud-list li {
        margin: 0 16px 8px 0;
    }
    .widget_tag_cloud .tagcloud-list li a {
        padding: 8px 16px;
        font-size: 14px !important;
        border-radius: 20px;
    }
}

.wp-block-table.is-style-regular table {
    margin-top: 40px;
    margin-bottom: 64px;
    border: none;
}

.wp-block-table.is-style-regular table tbody th {
    font-weight: bold;
    text-align: left;
}

.wp-block-table.is-style-regular table tbody th,
.wp-block-table.is-style-regular table tbody td {
    border: none;
}

@media screen and (max-width: 768px) {
    .wp-block-table.is-style-regular table tbody tr:first-of-type th {
        border-top: 1px solid #b1b1b1;
    }
    .wp-block-table.is-style-regular table tbody th,
    .wp-block-table.is-style-regular table tbody td {
        display: block;
    }
    .wp-block-table.is-style-regular table tbody th {
        padding: 16px 8px 0;
    }
    .wp-block-table.is-style-regular table tbody td {
        padding: 8px;
        border-bottom: 1px solid #b1b1b1;
    }
}

@media print, screen and (min-width: 768px) {
    .wp-block-table.is-style-regular table tbody tr:first-of-type th,
    .wp-block-table.is-style-regular table tbody tr:first-of-type td {
        border-top: 1px solid #b1b1b1;
    }
    .wp-block-table.is-style-regular table tbody th,
    .wp-block-table.is-style-regular table tbody td {
        padding: 16px 24px;
        border-bottom: 1px solid #b1b1b1;
    }
    .wp-block-table.is-style-regular table tbody th {
        width: 17%;
    }
}

@media print, screen and (min-width: 768px) {
    .wp-block-table.is-style-regular.enkaku-table table tbody th {
        width: 25%;
    }
}

.wp-block-table.is-style-regular.partner-documents table thead {
    border: 0;
}

.wp-block-table.is-style-regular.partner-documents table thead th {
    padding: 16px 8px;
    font-weight: bold;
    border: 0;
    border-bottom: 1px solid #b1b1b1;
}

.wp-block-table.is-style-regular.partner-documents
    table
    tbody
    tr
    td:nth-of-type(2)
    a {
    display: inline-block;
    position: relative;
    padding-left: 1em;
    font-weight: bold;
}

.wp-block-table.is-style-regular.partner-documents
    table
    tbody
    tr
    td:nth-of-type(2)
    a::before {
    content: '';
    display: block;
    width: 0;
    position: absolute;
    top: 0.4em;
    left: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #129647;
}

@media screen and (max-width: 768px) {
    .wp-block-table.is-style-regular.partner-documents table thead th {
        display: none;
    }
    .wp-block-table.is-style-regular.partner-documents
        table
        tbody
        tr
        td:nth-of-type(1) {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

@media print, screen and (min-width: 768px) {
    .wp-block-table.is-style-regular.partner-documents table thead th {
        padding: 16px 8px;
    }
}

.top-works-slide-area {
    width: 100%;
    padding-top: 80px !important;
    margin-bottom: 40px;
    position: relative;
}

.top-works-slide-area .swiper-button-prev,
.top-works-slide-area .swiper-button-next {
    position: absolute;
    top: 0;
    width: 46px;
    height: 46px;
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 23px;
    border: 1px solid #454545;
}

.top-works-slide-area .swiper-button-prev::after,
.top-works-slide-area .swiper-button-next::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    border-top: 2px solid #454545;
    border-right: 2px solid #454545;
}

.top-works-slide-area .swiper-button-prev {
    left: 20px;
}

.top-works-slide-area .swiper-button-prev::after {
    margin-right: -8px;
    transform: rotate(-135deg);
}

.top-works-slide-area .swiper-button-next {
    left: auto;
    right: 20px;
}

.top-works-slide-area .swiper-button-next::after {
    margin-left: -8px;
    transform: rotate(45deg);
}

@media print, screen and (min-width: 768px) {
    .top-works-slide-area .swiper-button-prev {
        left: auto;
        right: 140px;
    }
    .top-works-slide-area .swiper-button-prev::after {
        margin-right: -8px;
    }
    .top-works-slide-area .swiper-button-next {
        left: auto;
        right: 60px;
    }
    .top-works-slide-area .swiper-button-next::after {
        margin-left: -8px;
    }
}

.top-construction-result-list {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 0 40px;
}

.top-construction-result-list .construction-result {
    width: 47% !important;
}

@media print, screen and (min-width: 768px) {
    .top-construction-result-list .construction-result {
        width: 265px !important;
    }
}

.construction-result-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px 6%;
    width: 100%;
}

.construction-result-list .construction-result {
    width: 47%;
}

@media print, screen and (min-width: 768px) {
    .construction-result-list {
        justify-content: start;
        gap: 40px;
    }
    .construction-result-list .construction-result {
        width: 265px;
    }
}

.construction-result a {
    display: block;
    text-decoration: none;
    transition: 0.3s;
}

.construction-result a .kiji-thumb-wrap {
    width: 100%;
    height: 117px;
    overflow: hidden;
    border: 1px solid #b1b1b1;
}

.construction-result a .kiji-thumb-wrap .kiji-thumb {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: 0.3s;
}

.construction-result a .kiji-title {
    display: inline;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.4;
    text-decoration: none;
    position: relative;
    background: linear-gradient(#1a1a1a, #1a1a1a) 0 100%/0 1px no-repeat;
    background-size: 0 1px;
    transition: background-size 0.4s;
}

.construction-result a:focus .kiji-thumb-wrap .kiji-thumb,
.construction-result a:hover .kiji-thumb-wrap .kiji-thumb {
    transform: scale(1.2);
}

.construction-result a:focus .kiji-title,
.construction-result a:hover .kiji-title {
    background-size: 100% 1px;
}

@media print, screen and (min-width: 768px) {
    .construction-result a .kiji-thumb-wrap {
        height: 195px;
    }
}

.kiji-tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 8px 0;
}

.kiji-tag-list > div,
.kiji-tag-list > a {
    margin-top: 4px;
    margin-right: 4px;
    padding: 4px;
    color: #454545;
    font-size: 11px;
    line-height: 1;
    text-decoration: none;
    border: 1px solid #b1b1b1;
}

.kiji-tag-list > a {
    margin-top: 8px;
    margin-right: 8px;
    text-decoration: none;
    transition: 0.3s;
}

.kiji-tag-list > a:hover {
    background: #e0e7e3;
}

.kiji-tag-list.works-title-tag > div,
.kiji-tag-list.works-title-tag > a {
    margin-right: 16px;
    padding: 4px 8px;
    font-size: 12px;
}

@media print, screen and (min-width: 768px) {
    .kiji-tag-list > div {
        font-size: 12px;
    }
    .kiji-tag-list.works-title-tag > div,
    .kiji-tag-list.works-title-tag > a {
        font-size: 14px;
    }
}

.pagination {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.pagination .nav-links {
    display: flex;
    justify-content: center;
}

.pagination .nav-links .page-numbers {
    display: none;
}

.pagination .nav-links .prev.page-numbers,
.pagination .nav-links .next.page-numbers {
    display: block;
}

.pagination .nav-links .current,
.pagination .nav-links a {
    display: block;
    height: 46px;
    line-height: 46px;
    padding: 0 14px;
    text-decoration: none;
    border: 1px solid #1a1a1a;
    border-radius: 5px;
}

.pagination .nav-links .current.prev,
.pagination .nav-links .current.next,
.pagination .nav-links a.prev,
.pagination .nav-links a.next {
    position: relative;
    padding: 0 24px;
}

.pagination .nav-links .current.prev::after,
.pagination .nav-links .current.next::after,
.pagination .nav-links a.prev::after,
.pagination .nav-links a.next::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -5px 0 0 -5px;
    border-top: 2px solid #1a1a1a;
    border-left: 2px solid #1a1a1a;
    transition: 0.3s;
}

.pagination .nav-links .current.prev:hover::after,
.pagination .nav-links .current.next:hover::after,
.pagination .nav-links a.prev:hover::after,
.pagination .nav-links a.next:hover::after {
    border-color: #fff;
}

.pagination .nav-links .current.prev,
.pagination .nav-links a.prev {
    margin-right: 40px;
}

.pagination .nav-links .current.prev::after,
.pagination .nav-links a.prev::after {
    transform: rotate(-45deg);
}

.pagination .nav-links .current.next,
.pagination .nav-links a.next {
    margin-left: 40px;
}

.pagination .nav-links .current.next::after,
.pagination .nav-links a.next::after {
    transform: rotate(135deg);
}

.pagination .nav-links a {
    color: #1a1a1a;
    transition: 0.3s;
}

.pagination .nav-links a:hover {
    color: #fff;
    background: #1a1a1a;
}

@media print, screen and (min-width: 768px) {
    .pagination .nav-links .page-numbers {
        display: block;
    }
    .pagination .nav-links .current,
    .pagination .nav-links a {
        height: 60px;
        margin: 0 8px;
        line-height: 60px;
        padding: 0 20px;
    }
    .pagination .nav-links .current {
        color: #fff;
        background: #1a1a1a;
    }
    .pagination .nav-links .dots {
        height: 60px;
        line-height: 60px;
        padding: 0 16px;
        color: #1a1a1a;
    }
}

.sekou-next-prev {
    width: 100vw;
}

.sekou-next-prev__inn a,
.sekou-next-prev__inn_listpage a {
    display: block;
    width: 100%;
    height: 140px;
    text-align: center;
    text-decoration: none;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
}

.sekou-next-prev__inn a::before,
.sekou-next-prev__inn a::after,
.sekou-next-prev__inn_listpage a::before,
.sekou-next-prev__inn_listpage a::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: 0.3s;
}

.sekou-next-prev__inn a::before,
.sekou-next-prev__inn_listpage a::before {
    filter: blur(2px) grayscale(30%);
    z-index: -2;
}

.sekou-next-prev__inn a.nav-doboku::before,
.sekou-next-prev__inn_listpage a.nav-doboku::before {
    background: url(../kosuzume_theme/images/service_doboku_image.jpg) center
        center no-repeat #999;
    background-size: cover;
}

.sekou-next-prev__inn a.nav-kenchiku::before,
.sekou-next-prev__inn_listpage a.nav-kenchiku::before {
    background: url(../kosuzume_theme/images/service_kenchiku_image.jpg) center
        center no-repeat #999;
    background-size: cover;
}

.sekou-next-prev__inn a.nav-assets::before,
.sekou-next-prev__inn_listpage a.nav-assets::before {
    background: url(../kosuzume_theme/images/service_assets_image.png) center
        center no-repeat #999;
    background-size: cover;
}

.sekou-next-prev__inn a.nav-ppp-pfi::before,
.sekou-next-prev__inn_listpage a.nav-ppp-pfi::before {
    background: url(../kosuzume_theme/images/service_ppp_image.jpg) center
        center no-repeat #999;
    background-size: cover;
}

.sekou-next-prev__inn a::after,
.sekou-next-prev__inn_listpage a::after {
    background: rgba(0, 0, 0, 0.3);
    z-index: -1;
}

.sekou-next-prev__inn a h4,
.sekou-next-prev__inn_listpage a h4 {
    margin-top: 32px;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
}

.sekou-next-prev__inn a .btn-detail,
.sekou-next-prev__inn_listpage a .btn-detail {
    display: inline-block;
    height: 30px;
    margin: 0 auto;
    padding: 0 16px;
    color: #1a1a1a;
    background: #fff;
    font-size: 12px;
    line-height: 30px;
    border-radius: 15px;
    transition: 0.3s;
}

.sekou-next-prev__inn a:hover::before,
.sekou-next-prev__inn_listpage a:hover::before {
    filter: none;
    transform: scale(1.2);
}

.sekou-next-prev__inn a:hover::after,
.sekou-next-prev__inn_listpage a:hover::after {
    background: rgba(0, 0, 0, 0.5);
}

.sekou-next-prev__inn a:hover .btn-detail,
.sekou-next-prev__inn_listpage a:hover .btn-detail {
    color: #fff;
    background: #1a1a1a;
}

@media print, screen and (min-width: 768px) {
    .sekou-next-prev {
        display: flex;
        margin-top: 200px;
    }
    .sekou-next-prev__inn {
        width: 50vw;
    }
    .sekou-next-prev__inn_listpage {
        width: calc(100vw / 3);
    }
    .sekou-next-prev__inn a,
    .sekou-next-prev__inn_listpage a {
        height: 320px;
    }
    .sekou-next-prev__inn a h4,
    .sekou-next-prev__inn_listpage a h4 {
        margin-top: 120px;
        font-size: 32px;
    }
    .sekou-next-prev__inn a .btn-detail,
    .sekou-next-prev__inn_listpage a .btn-detail {
        height: 36px;
        margin: 24px auto 0;
        padding: 0 24px;
        font-size: 14px;
        line-height: 36px;
        border-radius: 18px;
    }
}

.works-tag-cloud {
    width: 90%;
    margin: 120px auto 64px;
    padding: 24px 8px 16px;
    background: #f0efed;
    border-radius: 20px;
}

.works-tag-cloud .tag-cloud-title {
    padding-bottom: 16px;
    color: #454545;
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    text-align: center;
    position: relative;
}

.works-tag-cloud .tag-cloud-title::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 32px;
    margin: 0 8px 0 -20px;
    vertical-align: middle;
    background: url(../kosuzume_theme/images/icon_tags.svg) no-repeat 0 0;
    background-size: cover;
}

.works-tag-cloud .tag-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
}

.works-tag-cloud .tag-list a {
    height: 34px;
    margin: 0 16px 16px 0;
    padding: 0 16px;
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    font-size: 13px;
    line-height: 34px;
    border-width: 1px;
    border-radius: 17px;
}

.works-tag-cloud .tag-list a:hover {
    color: #fff;
    background-color: #111;
}

@media print, screen and (min-width: 768px) {
    .works-tag-cloud {
        width: 80%;
        display: flex;
        align-items: flex-start;
        padding: 32px 16px 24px;
    }
    .works-tag-cloud .tag-cloud-title {
        width: 20%;
        padding-bottom: 0;
    }
    .works-tag-cloud .tag-list {
        width: 80%;
        justify-content: flex-start;
    }
}

.works-title-wrap {
    margin-bottom: 40px;
}

.works-title-wrap .works-category {
    margin-bottom: 8px;
    font-size: 18px;
}

.works-title-wrap .works-title {
    margin-bottom: 16px;
    font-size: 30px;
    font-weight: bold;
}

@media print, screen and (min-width: 768px) {
    .works-title-wrap .works-category {
        margin-bottom: 16px;
        font-size: 24px;
    }
    .works-title-wrap .works-title {
        margin-bottom: 40px;
        font-size: 40px;
    }
}

.works-main-image img {
    max-height: 50vh;
    margin-bottom: 40px;
    object-fit: cover;
    margin-right: auto;
    margin-left: auto;
}

@media print, screen and (min-width: 768px) {
    .works-main-image img {
        min-width: 500px;
        max-height: 690px;
    }
}

.works-main-movie {
    width: 100%;
    margin-bottom: 40px;
    aspect-ratio: 16 / 9;
}

.works-main-movie iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.works-main-content {
    margin-bottom: 64px;
    border-top: 1px solid #b1b1b1;
}

.works-main-content .works-main-con__list {
    width: 100%;
    margin-bottom: 8px;
    padding: 16px 0;
    border-bottom: 1px solid #b1b1b1;
}

.works-main-content .works-main-con__list > dt {
    padding: 0 0 8px 8px;
    font-weight: bold;
}

.works-main-content .works-main-con__list > dd {
    padding: 0 8px;
}

.works-main-content .works-main-con__list + .works-main-con__list {
    margin-top: -8px;
}

@media print, screen and (min-width: 768px) {
    .works-main-content .works-main-con__list {
        display: flex;
        align-items: flex-start;
    }
    .works-main-content .works-main-con__list > dt {
        width: 24%;
    }
    .works-main-content .works-main-con__list > dd {
        width: 76%;
    }
    .works-main-content .works-main-con__list + .works-main-con__list {
        margin-top: 0;
    }
}

.works-other-image {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 20px 20px;
}

@media print, screen and (min-width: 768px) {
    .works-other-image img {
        width: calc((100% - 20px) / 2);
    }
}

.works-other-movie {
    width: 100%;
    margin-bottom: 20px;
    aspect-ratio: 16 / 9;
}

.works-other-movie iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

@media print, screen and (min-width: 768px) {
    .works-other-movie {
        max-width: 780px;
        margin-bottom: 40px;
    }
}

.news-list {
    width: 100%;
}

.news-list__news {
    width: 100%;
    margin-bottom: 24px;
}

.news-list__news > a {
    width: 100%;
    height: 100%;
    display: flex;
    text-decoration: none;
    border: 1px solid #b1b1b1;
    transition: 0.3s;
}

.news-list__news > a .kiji-thumb-wrap {
    width: 30%;
    height: 100%;
    overflow: hidden;
    border-right: 1px solid #b1b1b1;
}

.news-list__news > a .kiji-thumb-wrap .kiji-thumb {
    width: 100%;
    min-height: 100px;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: 0.3s;
}

.news-list__news > a .news-text {
    width: 70%;
    padding: 8px;
}

.news-list__news > a .news-text .news-cat {
    display: inline-block;
    margin-right: 24px;
    color: #129647;
    font-size: 12px;
    font-weight: bold;
}

.news-list__news > a .news-text .news-date {
    display: inline-block;
    font-size: 12px;
}

.news-list__news > a .news-text .kiji-title {
    margin: 8px 0 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.news-list__news > a:focus,
.news-list__news > a:hover {
    background: #e0e7e3;
}

.news-list__news > a:focus .kiji-thumb-wrap .kiji-thumb,
.news-list__news > a:hover .kiji-thumb-wrap .kiji-thumb {
    transform: scale(1.2);
}

@media print, screen and (min-width: 768px) {
    .news-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    .news-list__news {
        width: 48%;
        margin-bottom: 40px;
    }
    .news-list__news > a .kiji-thumb-wrap .kiji-thumb {
        min-height: 126px;
    }
    .news-list__news > a .news-text {
        padding: 16px;
    }
    .news-list__news > a .news-text .kiji-title {
        margin: 16px 0 0;
    }
}

.news-title-wrap {
    margin-bottom: 40px;
}

.news-title-wrap .news-category {
    margin-bottom: 8px;
    font-size: 18px;
}

.news-title-wrap .news-title {
    margin-bottom: 16px;
    font-size: 30px;
    font-weight: bold;
}

.news-title-wrap .news-date {
    margin-bottom: 16px;
    font-size: 14px;
}

@media print, screen and (min-width: 768px) {
    .news-title-wrap .news-category {
        margin-bottom: 16px;
        font-size: 24px;
    }
    .news-title-wrap .news-title {
        margin-bottom: 40px;
        font-size: 40px;
    }
}

.news-main-content {
    margin-bottom: 64px;
}

.works-next-prev {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 120px 0 0;
}

.works-next-prev__list {
    width: 50%;
    text-align: center;
}

.works-next-prev__list a {
    display: block;
    height: 36px;
    padding: 0;
    font-size: 14px;
    line-height: 36px;
    color: #111;
    background-color: #fff;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    border-width: 1px;
    border-radius: 18px;
}

.works-next-prev__list a:hover {
    color: #fff;
    background-color: #111;
}

.works-next-prev__prev,
.works-next-prev__next {
    width: 25%;
    position: relative;
}

.works-next-prev__prev a::after,
.works-next-prev__next a::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    border-top: 2px solid #1a1a1a;
    border-left: 2px solid #1a1a1a;
    transition: 0.3s;
}

.works-next-prev__prev a::after {
    left: 24px;
    transform: rotate(-45deg);
}

.works-next-prev__next a::after {
    right: 24px;
    transform: rotate(135deg);
}

@media print, screen and (min-width: 768px) {
    .works-next-prev__list {
        width: 20%;
    }
    .works-next-prev__prev,
    .works-next-prev__next {
        width: 40%;
    }
    .works-next-prev__prev a,
    .works-next-prev__next a {
        display: block;
        font-size: 14px;
        text-decoration: none;
        line-height: 1.4;
        border: 1px solid transparent;
        transition: 0.3s;
    }
    .works-next-prev__prev a:hover,
    .works-next-prev__next a:hover {
        border-color: #b1b1b1;
    }
    .works-next-prev__prev a {
        margin-right: 40px;
        padding: 8px 16px 8px 40px;
    }
    .works-next-prev__next a {
        margin-left: 40px;
        padding: 8px 40px 8px 16px;
    }
}

.asset-teian-case {
    margin-top: 24px;
    padding: 40px 16px 16px 16px;
    background: #e0e7e3;
    position: relative;
}

.asset-teian-case .case-num {
    position: absolute;
    top: -16px;
    right: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #129647;
    font-size: 30px;
    line-height: 1;
}

@media print, screen and (min-width: 768px) {
    .asset-teian-case .case-num {
        top: -19px;
        font-size: 38px;
    }
}

.recruit-jumbotron-area {
    height: 60vh;
    min-height: 500px;
    position: relative;
    margin-bottom: 96px;
    background: linear-gradient(30deg, #0370d1, #03cbb5);
    background-size: cover;
    background-color: #0370d1;
}

.recruit-jumbotron-area .wp-block-group__inner-container {
    height: 100%;
}

.recruit-jumbotron-area .recruit-key-image {
    height: 100%;
    padding-top: 40px;
    background-image: url(images/recruit_keyvisual_image.svg);
    background-repeat: no-repeat;
    background-position: center 60%;
    background-size: 100% auto;
}

.recruit-jumbotron-area .recruit-key-image .recruit-keyvisual-title {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 40px;
    text-align: center;
    line-height: 1.4;
}

.recruit-jumbotron-area .recruit-key-image .recruit-keyvisual-title::after {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 30px;
}

.recruit-jumbotron-area .recruit-main-copy {
    width: 90vw;
    position: absolute;
    top: 100%;
    left: 50%;
    margin: -8rem 0 0 -45vw;
    padding: 8px 16px;
    background: #fff;
}

.recruit-jumbotron-area .recruit-main-copy p {
    margin-bottom: 0;
    font-size: 13px;
}

@media print, screen and (min-width: 768px) {
    .recruit-jumbotron-area {
        height: calc(100vh - 90px);
    }
    .recruit-jumbotron-area .recruit-key-image {
        background-position: center bottom;
        background-size: 70% auto;
    }
    .recruit-jumbotron-area .recruit-key-image .recruit-keyvisual-title {
        font-size: 50px;
    }
    .recruit-jumbotron-area .recruit-key-image .recruit-keyvisual-title::after {
        font-size: 36px;
    }
    .recruit-jumbotron-area .recruit-main-copy {
        width: 900px;
        left: 50%;
        margin: -6rem 0 0 -450px;
        padding: 16px 24px;
    }
    .recruit-jumbotron-area .recruit-main-copy p {
        font-size: 14px;
    }
}

.recruit-top-interview {
    width: 100%;
}

.recruit-top-interview.interview-position-2 {
    flex-direction: row-reverse;
}

.recruit-top-interview a img {
    transition: 0.3s;
}

.recruit-top-interview a:hover img {
    opacity: 0.7;
}

.recruit-top-interview .interview-mds {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 24px;
    font-size: 18px;
}

.recruit-top-interview .interview-mds a {
    text-decoration: none;
}

.recruit-top-interview .interview-mds a:hover {
    text-decoration: underline;
}

.recruit-top-interview .nyusya-year {
    margin-bottom: 16px;
    padding: 8px;
    color: #fff;
    background: #124796;
    font-size: 14px;
}

.recruit-top-interview .top-interview-outline {
    font-size: 14px;
}

.recruit-top-interview .top-interview-outline a {
    display: inline-block;
    text-decoration: none;
    position: relative;
}

.recruit-top-interview .top-interview-outline a::after {
    content: '\02192';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    color: #124796;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #124796;
    border-radius: 9px;
    transition: 0.1s;
}

.recruit-top-interview .top-interview-outline a:hover {
    text-decoration: underline;
}

.recruit-top-interview .top-interview-outline a:hover::after {
    color: #fff;
    background: #124796;
}

@media print, screen and (min-width: 768px) {
    .recruit-top-interview {
        width: 680px;
    }
    .recruit-top-interview.interview-position-2 {
        margin-left: auto;
        flex-direction: row;
    }
    .recruit-top-interview .interview-mds {
        font-size: 24px;
    }
    .recruit-top-interview .nyusya-year {
        padding: 12px 16px;
        font-size: 1rem;
    }
}

.recruit-top-entory-btn {
    color: #fff;
    background-color: #111;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    display: block;
    margin-bottom: 16px;
    padding: 16px 24px 8px 16px;
    font-size: 16px;
    border-radius: 8px;
    position: relative;
}

.recruit-top-entory-btn:hover {
    color: #111;
    background-color: #fff;
}

.recruit-top-entory-btn::before {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    margin-bottom: 8px;
    color: #fff;
    font-size: 20px;
    line-height: 1.1;
    transition: 0.3s;
}

.recruit-top-entory-btn::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: 0.3s;
}

.recruit-top-entory-btn:hover::before {
    color: #111;
}

.recruit-top-entory-btn:hover::after {
    border-top-color: #111;
    border-right-color: #111;
}

@media print, screen and (min-width: 768px) {
    .recruit-top-entory-btn {
        margin-bottom: 24px;
        padding: 16px 32px 8px 24px;
        font-size: 18px;
    }
    .recruit-top-entory-btn::before {
        font-size: 34px;
    }
    .recruit-top-entory-btn::after {
        width: 20px;
        height: 20px;
        right: 20px;
        margin-top: -10px;
    }
}

.recruit-footer-entry {
    padding: 40px 0;
    background: linear-gradient(30deg, #0370d1, #03cbb5);
    background-size: cover;
    background-color: #0370d1;
}

@media print, screen and (min-width: 768px) {
    .recruit-footer-entry {
        padding: 64px 0;
    }
}

.recruit-footer-entry-title {
    margin-bottom: 40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
}

.recruit-footer-entry-title::before {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 40px;
    line-height: 1.4;
}

@media print, screen and (min-width: 768px) {
    .recruit-footer-entry-title {
        margin-bottom: 96px;
        font-size: 28px;
    }
    .recruit-footer-entry-title::before {
        font-size: 56px;
    }
}

.ft-entry-wrap {
    width: 100%;
}

.ft-entry-wrap .ft-entry-box {
    margin-bottom: 24px;
    padding: 24px 24px 16px;
    background: #fff;
    border-radius: 8px;
}

.ft-entry-wrap .ft-entry-box .ft-entry-box-mds {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
}

.ft-entry-wrap .ft-entry-box .ft-entry-box-mds::before {
    display: block;
    margin-bottom: 4px;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    font-size: 28px;
    line-height: 1.2;
}

.ft-entry-wrap .ft-entry-box .ft-entry-career-btn {
    text-align: center;
}

.ft-entry-wrap .ft-entry-box .ft-entry-career-btn a {
    font-size: 15px;
}

@media print, screen and (min-width: 768px) {
    .ft-entry-wrap {
        display: flex;
        justify-content: space-between;
    }
    .ft-entry-wrap .ft-entry-box {
        width: 44%;
    }
    .ft-entry-wrap .ft-entry-box .ft-entry-box-mds {
        margin-bottom: 24px;
        font-size: 18px;
        line-height: 1.2;
    }
    .ft-entry-wrap .ft-entry-box .ft-entry-box-mds::before {
        margin-bottom: 8px;
        font-size: 38px;
        line-height: 1.2;
    }
    .ft-entry-wrap .ft-entry-career-btn a {
        font-size: 16px;
    }
}

.recruit-page-header {
    height: 30vh;
    max-height: 170px;
    position: relative;
    margin-bottom: 64px;
    background: linear-gradient(45deg, #0370d1, #03cbb5);
    background-size: cover;
    background-color: #0370d1;
}

.recruit-page-header__inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    padding-left: 5vw;
    background-image: url(images/recruit_keyvisual_image.svg);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 96%;
}

.recruit-page-header__inner .recruit-page-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 22px;
}

.recruit-page-header__inner .recruit-page-title::before {
    display: block;
    content: attr(data-title);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 34px;
    line-height: 1.2;
}

@media print, screen and (min-width: 768px) {
    .recruit-page-header {
        max-height: 400px;
    }
    .recruit-page-header__inner {
        align-items: center;
        justify-content: flex-start;
        background-position: right bottom;
    }
    .recruit-page-header__inner .recruit-page-title {
        font-size: 30px;
        text-align: left;
    }
    .recruit-page-header__inner .recruit-page-title::before {
        font-size: 58px;
    }
}

.recruit-interview-main .interview-mds {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.4;
}

.recruit-interview-main .nyusya-year {
    margin-bottom: 8px;
    padding: 8px 16px;
    color: #fff;
    background: #124796;
    font-size: 14px;
    text-align: right;
}

.recruit-interview-main .interview-name {
    padding: 0 16px;
    font-size: 16px;
    text-align: right;
}

@media print, screen and (min-width: 768px) {
    .recruit-interview-main {
        margin: 96px 0;
        align-items: center;
    }
    .recruit-interview-main .interview-mds {
        margin-bottom: 40px;
        font-size: 38px;
    }
    .recruit-interview-main .nyusya-year {
        margin-bottom: 16px;
        padding: 12px 16px;
        font-size: 18px;
        text-align: left;
    }
    .recruit-interview-main .interview-name {
        font-size: 20px;
        text-align: left;
    }
}

.interview-outline {
    margin: 24px 0 8px;
    color: #454545;
    font-weight: bold;
}

.interview-outline::before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 1px;
    margin-right: 8px;
    vertical-align: middle;
    background-color: #454545;
}

@media print, screen and (min-width: 768px) {
    .interview-outline {
        font-size: 18px;
    }
}

.recruit-page p + h4 {
    margin-top: 40px;
}

.recruit-message-wrap {
    width: 98%;
    margin: 96px auto;
    padding-top: 8px;
    position: relative;
}

.recruit-message-wrap .message-image {
    width: 45vw;
    height: 70px;
    position: absolute;
    top: 0;
    left: 0;
    margin-left: -10px;
    background-image: url(images/recruit_interview_message.svg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    transform: rotate(-5deg);
}

.recruit-message-wrap .message-title {
    margin-bottom: 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #124796;
    text-align: right;
    font-size: 18px;
}

.recruit-message-wrap .message-box {
    padding: 16px 24px;
    background: #ebf3fe;
    border-radius: 8px;
}

@media print, screen and (min-width: 768px) {
    .recruit-message-wrap {
        width: 80vw;
        max-width: 800px;
    }
    .recruit-message-wrap .message-image {
        max-width: 400px;
        margin: -30px 0 0 -100px;
    }
    .recruit-message-wrap .message-title {
        margin-bottom: 16px;
        font-size: 24px;
    }
    .recruit-message-wrap .message-box {
        padding: 24px 24px 8px;
        background: #ebf3fe;
        border-radius: 8px;
    }
}

.company-rinen .company-rinen-title {
    margin-bottom: 16px;
    padding: 24px 32px;
    color: #fff;
    background: #129647;
    font-size: 20px;
}

.company-rinen p {
    margin: 0 32px;
}

@media screen and (max-width: 768px) {
    .company-rinen {
        margin-bottom: 16px;
    }
}

@media print, screen and (min-width: 768px) {
    .company-rinen .company-rinen-title {
        font-size: 28px;
    }
    .company-rinen p {
        font-size: 18px;
    }
}

.ks-sele-list {
    margin: 0;
    padding: 0;
    column-count: 2;
    column-gap: 24px;
    list-style: none;
}

.ks-sele-list li {
    line-height: 1.4;
}

@media print, screen and (min-width: 768px) {
    .ks-sele-list {
        column-count: 3;
    }
}

.ks-yakuin-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
}

.ks-yakuin-list dt {
    width: 7rem;
}

.ks-yakuin-list dd {
    width: calc(100% - 7rem);
}

.greeting-mds {
    margin: 40px 0 24px;
}

@media print, screen and (min-width: 768px) {
    .greeting-mds {
        margin: 64px 0 40px;
        font-size: 24px;
    }
}

.map-wrap {
    width: 100%;
    margin-bottom: 24px;
    aspect-ratio: 4 / 3;
    border: 1px solid #b1b1b1;
    overflow: hidden;
}

.map-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

@media print, screen and (min-width: 768px) {
    .map-wrap {
        aspect-ratio: 16 / 9;
    }
}

.access-detail {
    border-bottom: 0 !important;
}

.access-detail table {
    width: 100%;
    border: 0;
}

.access-detail table tr th,
.access-detail table tr td {
    border: 0;
    background-color: #fff;
}

.access-detail table tr th {
    width: 3.5rem;
    font-weight: bold;
    text-align: left;
    white-space: nowrap;
}

.partner-download-wrap .wp-block-file {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.partner-download-wrap .wp-block-file .wp-block-file__button {
    min-width: 9rem;
    text-align: center;
}

.sitemap-wrap ul {
    list-style: none;
}

.sitemap-wrap ul li {
    position: relative;
    padding-left: 1em;
}

.sitemap-wrap ul li::before {
    content: '';
    display: block;
    width: 0;
    position: absolute;
    top: 0.4em;
    left: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #129647;
}

.sitemap-wrap ul li ul {
    margin-bottom: 16px;
}

@media print, screen and (min-width: 768px) {
    .sitemap-wrap ul {
        column-count: 2;
        column-gap: 24px;
    }
    .sitemap-wrap ul li ul {
        column-count: 1;
    }
}

.inq-step-status {
    display: flex;
    justify-content: center;
    margin: 0 0 24px;
    list-style: none;
    border-top: 5px solid #c4ded1;
}

.inq-step-status li {
    margin: 0;
    padding: 24px 0;
    width: calc(100% / 2);
    text-align: center;
    font-size: 14px;
    position: relative;
}

.inq-step-status li::before {
    content: '';
    display: none;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    left: 50%;
    margin: -12px 0 0 -10px;
    background: #c4ded1;
    border-radius: 10px;
}

.inq-step-status li.active::before {
    display: block;
}

.inq-step-status.recruit-step {
    border-top: 5px solid #bacce5;
}

.inq-step-status.recruit-step li::before {
    background: #bacce5;
}

@media print, screen and (min-width: 768px) {
    .inq-step-status {
        margin: 0 0 40px;
    }
}

.inq-form {
    margin: 0 auto 24px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.inq-form dt {
    font-weight: bold;
}

.inq-form dd {
    margin-bottom: 16px;
}

.inq-form .input-sample {
    color: #454545;
    font-size: 13px;
}

@media print, screen and (min-width: 768px) {
    .inq-form {
        width: 90%;
        flex-direction: row;
    }
    .inq-form dt {
        width: 33%;
        margin: 0 2% 24px 0;
        padding: 4px 0 0 16px;
    }
    .inq-form dd {
        width: 65%;
        margin: 0 0 24px;
    }
}

.inq-form input.error {
    background: rgba(180, 19, 25, 0.1);
    border-color: #b41319;
    box-shadow: 0 0 0 1px #b41319;
}

.inq-form input[type='text'],
.inq-form input[type='email'],
.inq-form input[type='tel'] {
    display: block;
    width: 100%;
    height: 38px;
    padding: 0 16px;
    font-size: 1rem;
    line-height: 38px;
    border: 1px solid #b1b1b1;
    border-radius: 5px;
    cursor: pointer;
}

.inq-form input[type='text']:focus,
.inq-form input[type='email']:focus,
.inq-form input[type='tel']:focus {
    border-color: #124796;
}

.inq-form input[type='text'].text-short,
.inq-form input[type='email'].text-short,
.inq-form input[type='tel'].text-short {
    display: inline-block;
    width: 20%;
    min-width: 3rem;
}

.inq-form select {
    height: 38px;
    line-height: 38px;
}

.inq-form textarea {
    width: 100%;
    min-height: 100px;
    resize: none;
    outline: none;
    padding: 8px 16px;
    font-size: 1rem;
    line-height: 1.8;
    border: 1px solid #b1b1b1;
    border-radius: 5px;
    cursor: pointer;
}

.policy-agree-area {
    margin-bottom: 40px;
    padding: 32px 24px;
    background: #f4f6f5;
    text-align: center;
}

.input-hissu {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 4px;
    color: #b41319;
    font-size: 12px;
    font-weight: normal;
    line-height: 1;
    vertical-align: text-top;
    border: 2px solid #b41319;
}

.policy-agree-area label {
    padding-left: 20px;
    line-height: 20px;
}

.policy-agree-area label input[type='checkbox'] {
    margin-right: 8px;
    transform: scale(1.2);
}

.form-btn-area,
.form-btn-area__confirm {
    text-align: center;
}

.form-btn-area input.btn-inq-submit,
.form-btn-area__confirm input.btn-inq-submit {
    display: block;
}

.form-btn-area a.btn-inq-submit,
.form-btn-area__confirm a.btn-inq-submit {
    display: inline-block;
}

.form-btn-area .btn-inq-submit,
.form-btn-area__confirm .btn-inq-submit {
    -webkit-appearance: button;
    appearance: button;
    margin: 0 auto;
    padding: 8px 64px;
    color: #fff;
    background-color: #111;
    text-decoration: none;
    border: 2px solid #111;
    transition: 0.3s;
    font-size: 16px;
    text-align: center;
    border-radius: 30px;
    cursor: pointer;
}

.form-btn-area .btn-inq-submit:hover,
.form-btn-area__confirm .btn-inq-submit:hover {
    color: #111;
    background-color: #fff;
}

.form-btn-area .btn-inq-submit[disabled],
.form-btn-area__confirm .btn-inq-submit[disabled] {
    background: black;
    border-color: black;
    opacity: 0.4;
    pointer-events: none;
}

@media print, screen and (min-width: 768px) {
    .form-btn-area .btn-inq-submit,
    .form-btn-area__confirm .btn-inq-submit {
        font-size: 16px;
    }
}

.form-btn-area.both-btn,
.form-btn-area__confirm.both-btn {
    display: flex;
    flex-direction: column-reverse;
}

.form-btn-area.both-btn .btn-inq-submit,
.form-btn-area__confirm.both-btn .btn-inq-submit {
    margin: 0 0 0 auto;
}

.form-btn-area.both-btn .btn-inq-back,
.form-btn-area__confirm.both-btn .btn-inq-back {
    display: inline-block;
    -webkit-appearance: button;
    appearance: button;
    margin: 0 auto 0 0;
    padding: 8px 64px;
    color: #1a1a1a;
    background: #fff;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    border: 2px solid #111;
    border-radius: 30px;
    transition: 0.3s;
    cursor: pointer;
}

.form-btn-area.both-btn .btn-inq-back:focus,
.form-btn-area.both-btn .btn-inq-back:hover,
.form-btn-area__confirm.both-btn .btn-inq-back:focus,
.form-btn-area__confirm.both-btn .btn-inq-back:hover {
    color: #fff;
    background: #1a1a1a;
    text-decoration: none;
}

@media print, screen and (min-width: 768px) {
    .form-btn-area.both-btn,
    .form-btn-area__confirm.both-btn {
        flex-direction: row;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .form-btn-area.both-btn .btn-wrap,
    .form-btn-area__confirm.both-btn .btn-wrap {
        width: 50%;
        text-align: center;
    }
    .form-btn-area.both-btn .btn-wrap input,
    .form-btn-area__confirm.both-btn .btn-wrap input {
        margin-right: auto;
    }
}

.form-btn-area + .wpcf7-response-output {
    margin-top: 0 !important;
}

.wpcf7-spinner {
    margin-top: 24px;
}

.touka,
.touka img {
    opacity: 1;
    transition: 0.3s;
}

.touka:hover,
.touka:hover img,
.touka img:hover,
.touka img:hover img {
    opacity: 0.7;
}

.img-line img {
    border: 1px solid #b1b1b1;
}

a[href^='tel:'] {
    cursor: default;
}

@media only screen and (min-width: 992px) {
    a[href^='tel:'] {
        pointer-events: none;
    }
    a[href^='tel:'].pc {
        color: #000;
    }
}

.caret-left a {
    padding-left: 1.5em;
    position: relative;
}

.caret-left a::before {
    content: '';
    display: block;
    width: 0.6em;
    height: 0.6em;
    position: absolute;
    left: 0;
    top: 0.45em;
    border-top: 1px solid #1a1a1a;
    border-right: 1px solid #1a1a1a;
    transform: rotate(45deg);
}

/* Margin & Padding */
.mt-0 {
    margin-top: 0;
}

.mt-1 {
    margin-top: 8px;
}

.mt-2 {
    margin-top: 16px;
}

.mt-3 {
    margin-top: 24px;
}

.mt-4 {
    margin-top: 32px;
}

.mt-5 {
    margin-top: 40px;
}

.mt-8 {
    margin-top: 64px;
}

.mt-10 {
    margin-top: 80px;
}

.mt-12 {
    margin-top: 96px;
}

.mt-lg {
    margin-top: 120px;
}

.mt-xlg {
    margin-top: 200px;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 8px;
}

.mb-2 {
    margin-bottom: 16px;
}

.mb-3 {
    margin-bottom: 24px;
}

.mb-4 {
    margin-bottom: 32px;
}

.mb-5 {
    margin-bottom: 40px;
}

.mb-8 {
    margin-bottom: 64px;
}

.mb-10 {
    margin-bottom: 80px;
}

.mb-12 {
    margin-bottom: 96px;
}

.mb-lg {
    margin-bottom: 120px;
}

.mb-xlg {
    margin-bottom: 200px;
}

.mr-0 {
    margin-right: 0;
}

.mr-1 {
    margin-right: 8px;
}

.mr-2 {
    margin-right: 16px;
}

.mr-3 {
    margin-right: 24px;
}

.mr-4 {
    margin-right: 32px;
}

.mr-5 {
    margin-right: 40px;
}

.mr-8 {
    margin-right: 64px;
}

.mr-10 {
    margin-right: 80px;
}

.mr-12 {
    margin-right: 96px;
}

.mr-lg {
    margin-right: 120px;
}

.mr-xlg {
    margin-right: 200px;
}

.ml-0 {
    margin-left: 0;
}

.ml-1 {
    margin-left: 8px;
}

.ml-2 {
    margin-left: 16px;
}

.ml-3 {
    margin-left: 24px;
}

.ml-4 {
    margin-left: 32px;
}

.ml-5 {
    margin-left: 40px;
}

.ml-8 {
    margin-left: 64px;
}

.ml-10 {
    margin-left: 80px;
}

.ml-12 {
    margin-left: 96px;
}

.ml-lg {
    margin-left: 120px;
}

.ml-xlg {
    margin-left: 200px;
}

.pt-0 {
    padding-top: 0;
}

.pt-1 {
    padding-top: 8px;
}

.pt-2 {
    padding-top: 16px;
}

.pt-3 {
    padding-top: 24px;
}

.pt-4 {
    padding-top: 32px;
}

.pt-5 {
    padding-top: 40px;
}

.pt-8 {
    padding-top: 64px;
}

.pt-10 {
    padding-top: 80px;
}

.pt-12 {
    padding-top: 96px;
}

.pt-lg {
    padding-top: 120px;
}

.pt-xlg {
    padding-top: 200px;
}

.pb-0 {
    padding-bottom: 0;
}

.pb-1 {
    padding-bottom: 8px;
}

.pb-2 {
    padding-bottom: 16px;
}

.pb-3 {
    padding-bottom: 24px;
}

.pb-4 {
    padding-bottom: 32px;
}

.pb-5 {
    padding-bottom: 40px;
}

.pb-8 {
    padding-bottom: 64px;
}

.pb-10 {
    padding-bottom: 80px;
}

.pb-12 {
    padding-bottom: 96px;
}

.pb-lg {
    padding-bottom: 120px;
}

.pb-xlg {
    padding-bottom: 200px;
}

.pr-0 {
    padding-right: 0;
}

.pr-1 {
    padding-right: 8px;
}

.pr-2 {
    padding-right: 16px;
}

.pr-3 {
    padding-right: 24px;
}

.pr-4 {
    padding-right: 32px;
}

.pr-5 {
    padding-right: 40px;
}

.pr-8 {
    padding-right: 64px;
}

.pr-10 {
    padding-right: 80px;
}

.pr-12 {
    padding-right: 96px;
}

.pr-lg {
    padding-right: 120px;
}

.pr-xlg {
    padding-right: 200px;
}

.pl-0 {
    padding-left: 0;
}

.pl-1 {
    padding-left: 8px;
}

.pl-2 {
    padding-left: 16px;
}

.pl-3 {
    padding-left: 24px;
}

.pl-4 {
    padding-left: 32px;
}

.pl-5 {
    padding-left: 40px;
}

.pl-8 {
    padding-left: 64px;
}

.pl-10 {
    padding-left: 80px;
}

.pl-12 {
    padding-left: 96px;
}

.pl-lg {
    padding-left: 120px;
}

.pl-xlg {
    padding-left: 200px;
}

/* Indent（※印など） */
.like-list-indent {
    text-indent: -1em;
    padding-left: 1em;
}

/* Vertical */
.valign-middle {
    vertical-align: middle;
    align-self: center;
}

.valign-top {
    vertical-align: top;
    align-self: flex-start;
}

.valign-bottom {
    vertical-align: bottom;
    align-self: flex-end;
}

/* Position */
.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

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

.center-block {
    margin-left: auto;
    margin-right: auto;
}

.center-image {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.inline-image {
    display: inline-block;
}

.pull-right {
    float: right;
}

.pull-left {
    float: left;
}

.flex-center {
    display: flex;
    justify-content: center;
}

.flex-end {
    display: flex;
    justify-content: flex-end;
}

.flex-start {
    display: flex;
    justify-content: flex-start;
}

.flex-align-start {
    align-items: flex-start;
}

@media print, screen and (min-width: 768px) {
    .pc-text-center {
        text-align: center;
    }
    .pc-text-right {
        text-align: right;
    }
}

/* Show or Hide */
.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

@media screen and (max-width: 768px) {
    .sp-none {
        display: none;
    }
}

@media print, screen and (min-width: 768px) {
    .pc-none {
        display: none;
    }
}

/* Text Style */
.bold {
    font-weight: bold;
}

.text-lg {
    font-size: 1.2em;
}

.text-ml {
    font-size: 1.06em;
}

.text-ms {
    font-size: 0.93em;
}

.text-sm {
    font-size: 0.86em;
}

.text-red {
    color: #b41319;
}

.bg-palegreen {
    background-color: #e0e7e3;
}

/* Clearfix */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #1a1a1a;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #1a1a1a;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex='-1']:focus {
    outline: 0;
}

/* Accessibility
--------------------------------------------- */
/* Alignments
--------------------------------------------- */

.kinen-movie-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.kinen-movie-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
}
.kinen-movie-wrap .mov-caption {
    color: #b1b1b1;
    font-size: 0.9rem;
}
@media print, screen and (min-width: 768px) {
    .kinen-movie-wrap {
        width: 80%;
        margin-right: auto;
        margin-left: auto;
    }
}
@media print, screen and (max-width: 768px) {
    .kinen-movie-recruit-sp-space {
        margin-top: 160px;
    }
}

/*# sourceMappingURL=style.css.map */
