@charset "UTF-8";

:root {
    --black: 51, 51, 51;
    --blue: 41, 104, 166;
    --darkblue: 21, 67, 131;
    --red: 204, 41, 95;
    --gray: 207, 218, 230;
    --darkgray: 133, 133, 133;
    --border: 203, 203, 203;
    --bg: 233, 239, 246;
    --bg-blue: 219, 229, 240;
    --contents_width: 1120px;
    --body_padding_side: 60px;
    --contents_width_with_padding: 1180px;
    --sidebar_width: 280px;
    --line_height_head: 1.5;
    --line_height_head_single: 1.6;
    --fill_blue: 43, 97, 190;
    --txt_blue: 0, 50, 136;
    --txt_gray: 132, 132, 132;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

html {
    font-size: 62.5%;
    word-break: break-all;
}

body {
    -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
menu,
nav,
section {
    display: block;
}

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

ul:not([class]),
ol:not([class]) {
    padding-left: 1.25em;
}

ul[class],
ol[class] {
    list-style: none;
}

span {
    font-weight: inherit;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

a {
    color: inherit;
}

@media all and (min-width: 768px) {
    a:hover {
        text-decoration: none;
    }
}

a[class] {
    text-decoration: none;
}

ins {
    background-color: #ff9;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

address {
    font-style: normal;
}

sup {
    vertical-align: text-top;
    font-size: 0.75em;
}

sub {
    vertical-align: text-bottom;
    font-size: 0.75em;
}

table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgb(var(--border));
    margin: 1em 0;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

iframe {
    max-width: 100%;
}

/* form
================================================== */
input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select,
option {
    display: block;
    width: 100%;
    max-width: 100%;
    font-family: inherit;
    outline: none;
    border: 1px solid;
    border-radius: 0;
    background: none;
}

@media all and (max-width: 767px) {

    input[type=text],
    input[type=email],
    input[type=tel],
    textarea,
    button,
    select,
    option {
        font-size: 1.6rem;
    }
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}

input[type=radio],
input[type=checkbox] {
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

select {
    color: inherit;
}

textarea {
    resize: vertical;
}

button {
    color: inherit;
    font-weight: normal;
    cursor: pointer;
}

/* 02_base
================================================ */
body {
    min-width: 320px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    color: rgb(var(--black));
    font-size: 1.4rem;
    line-height: 2.1;
    letter-spacing: 0.08em;
    -webkit-text-size-adjust: 100%;
}

@media all and (min-width: 768px) {
    body {
        min-width: var(--contents_width_with_padding);
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) and (hover: none) {
    body {
        -webkit-text-size-adjust: none;
    }
}

.l-wrapper {
    position: relative;
}

.l-container.is-col2 {
    padding-top: 75px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .l-container.is-col2 {
        display: grid;
        grid-template-columns: var(--sidebar_width) calc(100% - 280px - 70px);
        gap: 0 70px;
        width: var(--contents_width);
        margin: 0 auto;
        padding-top: 90px;
        padding-bottom: 140px;
    }

    .l-container.is-col2 .l-contents {
        flex: 1;
    }

    .l-container.is-col2 .l-sidebar {
        order: -1;
        flex-basis: var(--sidebar_width);
    }
}

/* sp <--> tb <--> pc
-------------------------------------- */
.u-media-query {
    display: none;
    font-family: "sp";
}

@media all and (min-width: 768px) {
    .u-media-query {
        font-family: "tb";
    }
}

@media all and (min-width: 1180px) {
    .u-media-query {
        font-family: "pc";
    }
}

@media all and (max-width: 1179px) {
    .u-view-pc {
        display: none !important;
    }
}

@media all and (max-width: 767px) {
    .u-view-tb {
        display: none !important;
    }
}

@media all and (min-width: 1180px) {
    .u-view-tb {
        display: none !important;
    }
}

@media all and (min-width: 768px) {
    .u-view-sp {
        display: none !important;
    }
}

@media all and (min-width: 1180px) {
    .u-view-under-tb {
        display: none !important;
    }
}

@media all and (max-width: 767px) {
    .u-view-upper-tb {
        display: none !important;
    }
}

/* overflow
-------------------------------------- */
.u-overflow-wrap {
    overflow: auto;
}

.u-overflow-wrap .u-overflow-sec {
    overflow: hidden;
}

@media all and (min-width: 768px) {
    .u-overflow-wrap .u-overflow-sec {
        min-width: var(--contents_width_with_padding);
    }
}

/* text
-------------------------------------- */
.u-uppercase {
    text-transform: uppercase;
}

.u-en {
    font-family: "Roboto", sans-serif;
}

@media all and (min-width: 1180px) {
    .u-align-left-tb {
        text-align: left;
    }
}

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

@media all and (max-width: 767px) {
    .u-center-sp {
        text-align: center;
    }
}

@media all and (min-width: 768px) {
    .u-center-pc {
        text-align: center;
    }
}

/* link
-------------------------------------- */
a.u-alpha {
    display: block;
    text-decoration: none;
}

@media all and (min-width: 768px) {
    a.u-alpha {
        transition: all 0.3s ease;
    }

    a.u-alpha:hover {
        opacity: 0.7;
    }
}

a.u-zoom {
    display: block;
    text-decoration: none;
}

a.u-zoom .u-zoom__img {
    display: block;
}

a.u-zoom .u-zoom__img-wrap {
    display: block;
    overflow: hidden;
}

@media all and (min-width: 768px) {
    a.u-zoom .u-zoom__img {
        transition: all 0.3s ease;
    }

    a.u-zoom:hover .u-zoom__img {
        transform: scale(1.1);
    }
}

a.u-external {
    text-decoration: underline !important;
}

a.u-external::after {
    margin: 0 0 3px 10px;
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%232968A6%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%232968A6%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
    a.u-external {
        transition: opacity 0.3s ease;
    }

    a.u-external:hover {
        opacity: 0.7;
    }
}

/* layout
-------------------------------------- */
.u-inner {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
}

@media all and (min-width: 768px) {
    .u-inner {
        width: 100%;
        max-width: var(--contents_width);
        margin-right: auto;
        margin-left: auto;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 1700px) {
    .u-inner.is-wide {
        max-width: 1520px;
    }
}

.u-img-center-tb {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/*  .c-archive01
================================================== */
.c-archive01__item {
    border-style: solid;
    border-width: 1px 0 0;
    border-color: rgb(var(--border));
}

.c-archive01__item:last-child {
    border-width: 1px 0;
}

.c-archive01__item-in {
    display: block;
    padding: 10px 0;
}

.c-archive01__item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.c-archive01__item-date {
    font-size: 1.2rem;
    opacity: 0.6;
    margin: 0 10px 0 0;
    padding: 5px 0;
    letter-spacing: 0.02em;
}

.c-archive01__item-cat {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 -5px -5px 0;
}

.c-archive01__item-cat-item {
    font-weight: bold;
    font-size: 1.1rem;
    margin: 0 5px 5px 0;
    padding: 0 15px;
    background: rgb(var(--bg));
    color: #162C8D;
}

.c-archive01__item-area-txt {
    position: relative;
    margin-top: 3px;
}

.c-archive01__item-area-txt.has-ico {
    position: relative;
    padding-right: 35px;
}

.c-archive01__item-head-txt {
    overflow: hidden;
    display: -webkit-box;
    max-height: 3.6em;
    line-height: 1.8;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

.c-archive01__item-ico {
    display: inline-flex;
    width: 14px;
    height: 14px;
    color: #162C8D;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.c-archive01__item-ico.is-pdf {
    width: 24px;
    height: 25px;
}

@media all and (min-width: 768px) {
    .c-archive01__item {
        display: block;
    }

    .c-archive01__item-in {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 25px 0;
    }

    .c-archive01__item-in:hover .c-archive01__item-head {
        color: #162C8D;
    }

    .c-archive01__item-in:hover .c-archive01__item-head-txt::before {
        width: 100%;
    }

    .c-archive01__item-meta {
        width: 185px;
    }

    .c-archive01__item-date {
        font-size: 1.4rem;
    }

    .c-archive01__item-cat-item {
        font-size: 1.2rem;
    }

    .c-archive01__item-area-txt {
        display: flex;
        align-items: center;
        width: calc(100% - 185px);
        margin-top: 0;
        box-sizing: border-box;
    }

    .c-archive01__item-area-txt.has-ico::before {
        right: 35px;
    }

    .c-archive01__item-head {
        position: relative;
        display: inline-block;
    }

    .c-archive01__item-head-txt {
        position: relative;
        max-height: 1.8em;
        -webkit-line-clamp: 1;
    }

    .c-archive01__item-head-txt::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 1px solid #162C8D;
        top: 1.4em;
        left: 0;
        width: 0;
    }
}

/*  .c-archive02.is-slide-sp
================================================== */
@media all and (max-width: 767px) {
    .c-archive02.is-slide-sp {
        margin: 0 -25px;
    }

    .c-archive02.is-slide-sp .c-archive02__item-in {
        margin: 0 7px;
    }
}

/*  .c-archive02
================================================== */
.c-archive02 {
    position: relative;
}

.c-archive02__item {
    width: 295px !important;
    margin-right: 20px;
}

.c-archive02__item-in {
    display: block;
}

.c-archive02__item-area-img {
    border-radius: 10px;
}

.c-archive02__item-img {
    position: relative;
    height: 0;
    padding-top: 61.6%;
    background: #fafafa;
    border-radius: 10px;
    overflow: hidden;
}

.c-archive02__item-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-archive02__item-area-txt {
    margin-top: 15px;
    margin-bottom: 5px;
    padding-bottom: 20px;
    border-bottom: solid 1px rgb(var(--border));
}

.c-archive02__item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.c-archive02__item-date {
    font-size: 1.2rem;
    opacity: 0.6;
    margin: 0 10px 0 0;
    padding: 5px 0;
    letter-spacing: 0.02em;
}

.c-archive02__item-cat {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 -5px -5px 0;
}

.c-archive02__item-cat-item {
    font-weight: bold;
    font-size: 1.1rem;
    margin: 0 5px 5px 0;
    padding: 0 15px;
    background: rgb(var(--bg));
    color: #162C8D;
}

.c-archive02__item-head {
    overflow: hidden;
    display: -webkit-box;
    max-height: 1.8em;
    line-height: 1.8;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 3px;
}

.c-archive02__item-txt {
    font-size: 1.2rem;
    color: rgb(var(--darkgray));
}

.c-archive02__item-txt::before {
    display: inline-block;
    width: 9px;
    height: 13px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/user-ico.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 5px 0 0;
}

@media all and (min-width: 768px) {
    .c-archive02__item {
        display: block;
        width: 800px !important;
        margin-right: 40px;
    }

    .c-archive02__item-in:hover .c-archive02__item-head {
        color: #162C8D;
    }

    .c-archive02__item-in:hover .c-archive02__item-area-txt::before {
        left: 0;
        width: 100%;
    }

    .c-archive02__item-area-txt {
        margin-top: 25px;
        padding-bottom: 30px;
        margin-bottom: 10px;
        position: relative;
    }

    .c-archive02__item-area-txt::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 1px solid #162C8D;
        bottom: -1px;
        left: auto;
        right: 0;
        width: 0;
    }

    .c-archive02__item-date {
        font-size: 1.4rem;
    }

    .c-archive02__item-cat-item {
        font-size: 1.2rem;
    }

    .c-archive02__item-head {
        transition: all 0.3s ease;
        max-height: 1.8em;
        -webkit-line-clamp: 1;
        font-size: 2rem;
    }

    .c-archive02__item-txt {
        margin-top: 3px;
        font-size: 1.4rem;
    }
}

/*  .c-archive03
================================================== */
.c-archive03__item-in {
    position: relative;
    display: block;
}

.c-archive03__item-new {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    padding-top: 2px;
    border-radius: 50%;
    background: #168f3c;
    color: #fff;
    letter-spacing: 0.02em;
    z-index: 2;
}

.c-archive03__item-img {
    position: relative;
    height: 0;
    margin-bottom: 20px;
    padding-top: 61.6216216216%;
    background: #fafafa;
    border-radius: 10px;
    overflow: hidden;
}

.c-archive03__item-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-archive03__item-head {
    font-size: 1.6rem;
    line-height: var(--line_height_head);
}

.c-archive03__item-meta {
    overflow-x: auto;
    display: flex;
    align-items: center;
}

.c-archive03__item-date {
    font-size: 1.2rem;
    color: rgb(var(--txt_gray));
}

.c-archive03__item-cats {
    margin-left: 7px;
}

.c-archive03__head {
    font-size: 1.6rem;
    font-weight: 700;
}

.c-archive03__address {
    color: rgb(var(--txt_gray));
    display: flex;
    align-items: center;
    font-size: 1.2rem;
}

.c-archive03__address-ico {
    width: 10px;
    height: 14px;
    position: relative;
    margin: 2px 4px 0 0;
}

.c-archive03__address-ico {
    width: 10px;
    height: 14px;
    position: relative;
    margin: 2px 4px 0 0;
    vertical-align: middle;
    background: no-repeat center / contain;
    background-image: url(../img/common/user-ico.png);
}

.c-archive03__address-ico svg {
    position: absolute;
    width: 100%;
    height: 100%;
}

@media all and (max-width: 767px) {
    .c-archive03__item:not(:first-child) {
        margin-top: 30px;
    }
}

@media all and (min-width: 768px) {
    .c-archive03 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px 40px;
    }

    .c-archive03__item-in:hover .c-archive03__item-img img {
        transform: translate(-50%, -50%) scale(1.1);
    }

    .c-archive03__item-date {
        font-size: 1.4rem;
    }

    .c-archive03__item-img {
        margin-bottom: 25px;
    }

    .c-archive03__item-img img {
        transition: transform 0.3s ease;
    }

    .c-archive03__item-head {
        font-size: 2rem;
    }

    .c-archive03__head {
        font-size: 2rem;
    }

    .c-archive03__address {
        font-size: 1.4rem;
    }

    .c-archive03__address-ico {
        width: 14px;
        height: 18px;
        margin: -1px 4px 0 0;
    }
}

/*  .c-archive04
================================================== */
.c-archive04__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

.c-archive04__item-in {
    position: relative;
    display: block;
}

.c-archive04__item-new {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    padding-top: 2px;
    border-radius: 50%;
    background: #168f3c;
    color: #fff;
    letter-spacing: 0.02em;
    z-index: 2;
}

.c-archive04__item-img {
    position: relative;
    margin-bottom: 15px;
    width: 100%;
    padding-top: 61.8461538462%;
    border-radius: 10px;
    overflow: hidden;
}

.c-archive04__item-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c-archive04__item-meta {
    overflow-x: auto;
    display: flex;
    align-items: center;
}

.c-archive04__head {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
}

.c-archive04__btn {
    margin-top: 40px !important;
}

@media all and (max-width: 767px) {
    .c-archive04__item:not(:first-child) {
        margin-top: 30px;
    }
}

@media all and (min-width: 768px) {
    .c-archive04 {
        display: flex;
    }

    .c-archive04__inner {
        padding-top: 100px;
        padding-bottom: 120px;
    }

    .c-archive04__item {
        width: calc((100% - 80px) / 3);
    }

    .c-archive04__item:nth-child(3n+1) {
        margin-right: 40px;
    }

    .c-archive04__item:nth-child(3n) {
        margin-left: 40px;
    }

    .c-archive04__item-img {
        margin-bottom: 15px;
    }

    .c-archive04__item-head {
        font-size: 2rem;
    }

    .c-archive04__head {
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .c-archive04__btn {
        margin: 65px auto 0 !important;
    }
}

/* .c-bg-gray01
================================================== */
.c-bg-gray01 {
    background-color: #F2F2F2;
}

/* .c-bg-gray02 #cfdae6
================================================== */
.c-bg-gray02 {
    background-color: rgb(var(--gray));
}

/* .c-bg01 #e9eff6
================================================== */
.c-bg01 {
    background-color: rgb(var(--bg));
}

/* .c-bg-blue01 #dbe5f0
================================================== */
.c-bg-blue01 {
    background-color: rgb(var(--bg-blue));
}

/* .c-box01
================================================== */
.c-box01 {
    clear: both;
    overflow: hidden;
    border: 1px solid #162C8D;
    margin-top: 50px;
    padding: 15px;
    text-align: center;
    box-sizing: border-box;
}

.c-box01.has-no-mt {
    margin-top: 0;
}

@media all and (min-width: 768px) {
    .c-box01 {
        margin-top: 60px;
        padding: 25px;
        display: inline-block;
        min-width: 680px;
    }
}

/* .c-box02
================================================== */
.c-box02 {
    margin-top: 24px;
    border-radius: 10px;
    background: rgb(var(--bg));
}

.c-box02__in {
    padding: 26px 28px;
}

.c-box02__area-txt {
    text-align: center;
}

.c-box02__txt {
    font-size: 1.6rem;
    font-weight: 700;
    color: #162C8D;
}

.c-box02__link-wrap {
    margin-top: 15px;
}

@media all and (min-width: 768px) {
    .c-box02 {
        margin-top: 50px;
    }

    .c-box02__in {
        padding: 40px 80px;
    }

    .c-box02__area-txt {
        display: flex;
        align-items: center;
    }

    .c-box02__txt {
        font-size: 2rem;
        min-width: 247px;
    }

    .c-box02__link-wrap {
        margin-top: 0;
        margin-left: 90px;
    }
}

/* .c-box03
================================================== */
.c-box03 {
    border-radius: 10px;
    background: rgb(var(--bg));
    box-sizing: border-box;
    padding: 30px 20px;
}

.c-box03__img {
    margin-bottom: 20px;
}

@media all and (min-width: 768px) {
    .c-box03 {
        padding: 50px 80px;
    }

    .c-box03__wrap {
        display: flex;
        flex-wrap: nowrap;
    }

    .c-box03__img {
        width: 325px;
        margin: 0 40px 0 0;
    }

    .c-box03__area-txt {
        padding-top: 5px;
        width: calc(100% - 365px);
    }
}

/*  .c-btn01.is-arrow-left
================================================== */
.c-btn01.is-arrow-left .c-btn01__link::after {
    left: 45px;
    right: unset;
}

@media all and (min-width: 768px) {
    .c-btn01.is-arrow-left .c-btn01__link::after {
        left: 25px;
        right: unset;
    }
}

/*  .c-btn01.is-center
================================================== */
@media all and (min-width: 768px) {
    .c-btn01.is-center {
        margin-right: auto;
        margin-left: auto;
    }
}

/*  .c-btn01.is-right
================================================== */
@media all and (min-width: 768px) {
    .c-btn01.is-right {
        margin-left: auto;
    }
}

/*  .c-btn01.is-skeleton
================================================== */
.c-btn01.is-skeleton .c-btn01__link {
    background: transparent;
    color: #333;
}

.c-btn01.is-skeleton .c-btn01__link:after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

/*  .c-btn01
================================================== */
.c-btn01 {
    text-align: center;
    margin: 30px 28px 0;
}

.c-btn01__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    line-height: 1.5;
    padding: 0 35px;
    min-height: 60px;
    border-radius: 9999px;
    font-weight: 700;
    color: #fff;
    background: #162C8D;
    position: relative;
}

.c-btn01__link::after {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.c-btn01 [target=_blank]::after {
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
    .c-btn01 {
        margin: 40px 0 0 0;
        width: 280px;
    }

    .c-btn01__link {
        transition: all 0.3s ease;
    }

    .c-btn01__link:hover {
        background: rgb(var(--darkblue));
    }
}

/*  .c-btn02
================================================== */
.c-btn02__link {
    box-sizing: border-box;
    border-radius: 32px;
    border: 2px solid #162C8D;
    display: block;
    padding: 20px 1em;
    line-height: 1.1;
    background: #fff;
    color: #162C8D;
    font-size: 1.3rem;
    font-weight: 700;
    position: relative;
}

.c-btn02__link-ico {
    width: 24px;
    height: 25px;
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
}

@media all and (min-width: 768px) {
    .c-btn02__link {
        width: 280px;
        font-size: 1.5rem;
        transition: all 0.3s ease;
    }

    .c-btn02__link:hover {
        background: #162C8D;
        color: #fff;
    }

    .c-btn02__link:hover-ico {
        color: #fff;
    }
}

/* .c-business-flow01.is-no-bg
================================================== */
.c-business-flow01.is-no-bg .c-business-flow01__inner {
    padding-top: 50px;
    padding-bottom: 0;
}

@media all and (min-width: 768px) {
    .c-business-flow01.is-no-bg .c-business-flow01__inner {
        padding-top: 100px;
        padding-bottom: 0;
    }
}

/* .c-business-flow01
================================================== */
.c-business-flow01__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .c-business-flow01__inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

/* .c-business-intro01
================================================== */
.c-business-intro01__inner {
    padding-top: 75px;
    padding-bottom: 50px;
}

.c-business-intro01__sec {
    margin-top: 40px;
}

@media all and (min-width: 768px) {
    .c-business-intro01__inner {
        padding-top: 90px;
        padding-bottom: 120px;
    }

    .c-business-intro01__sec {
        margin-top: 60px;
    }
}

/* .c-business-sec01
================================================== */
.c-business-sec01__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

.c-business-sec01__txt {
    margin-bottom: 30px;
}

@media all and (min-width: 768px) {
    .c-business-sec01__inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .c-business-sec01__txt {
        margin-bottom: 40px;
    }
}

/*  .c-cat01
================================================== */
.c-cat01 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.c-cat01__item {
    box-sizing: border-box;
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    padding: 4px 15px;
    background: rgb(var(--bg-blue));
    color: #162C8D;
    white-space: nowrap;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
}

.c-cat01__item.is-year {
    background: #162C8D;
    color: #fff;
}

@media all and (min-width: 768px) {
    .c-cat01__item {
        font-size: 1.2rem;
    }
}


/*  .c-faq01
================================================== */
.c-faq01+.c-faq01 {
    margin-top: 10px;
}

.c-faq01__ico {
    position: absolute;
    top: min(22px, 20%);
    left: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 36px;
    height: 36px;
    text-align: center;
    background: #162C8D;
    color: #fff;
    font-weight: 700;
    border-radius: 50%;
    font-size: 1.6rem;
}

.c-faq01__head {
    position: relative;
    padding: 15px 15px 13px 60px;
    background: rgb(var(--bg));
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
}

.c-faq01__head[class*=toggle] {
    padding-right: 50px;
    cursor: pointer;
}

.c-faq01__head[class*=toggle]::before,
.c-faq01__head[class*=toggle]::after {
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -1px;
    background: #162C8D;
    transition: all 0.3s ease;
}

.c-faq01__head[class*=toggle]::before {
    transform: rotate(-90deg);
}

.c-faq01__head[class*=toggle].is-active::before {
    transform: rotate(0);
}

.c-faq01__txt {
    position: relative;
    padding: 16px 20px 15px 60px;
}

.c-faq01__txt .c-faq01__ico {
    background: #168f3c;
    color: #ffffff;
}

.c-faq01__relation {
    margin-top: 20px;
}

.c-faq01__relation-head {
    color: #162C8D;
    font-size: 1.6rem;
    font-weight: 700;
}

.c-faq01__relation-list {
    margin-top: 6px;
}

.c-faq01__relation-item::before {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    margin-right: 10px;
}

@media all and (min-width: 768px) {
    .c-faq01+.c-faq01 {
        margin-top: 15px;
    }

    .c-faq01__ico {
        width: 45px;
        height: 45px;
        font-size: 1.9rem;
        left: 30px;
    }

    .c-faq01__head {
        padding: 15px 15px 13px 95px;
        font-size: 1.8rem;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .c-faq01__head[class*=toggle]::before {
        right: 41px;
    }

    .c-faq01__head[class*=toggle]::after {
        right: 40px;
    }

    .c-faq01__txt {
        padding: 21px 20px 20px 95px;
    }

    .c-faq01__relation {
        margin-top: 28px;
    }

    .c-faq01__relation-head {
        font-size: 2rem;
    }

    .c-faq01__relation-list {
        margin-top: 5px;
    }
}

/* ================================================== 
フロー共通
================================================== */
/* .c-flow01
================================================== */
.c-flow01 {
    position: relative;
}

.c-flow01:before {
    position: absolute;
    display: block;
    content: "";
    border-left: 2px dashed #162C8D;
    width: 2px;
    height: 90%;
    margin: auto;
    top: 0;
    left: 60px;
    bottom: 0;
}

.c-flow01__item {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.c-flow01__item+.c-flow01__item {
    margin-top: 30px;
}

.c-flow01__ico {
    position: relative;
    width: 120px;
    height: 120px;
    margin-right: 15px;
}

.c-flow01__num {
    position: absolute;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0;
    top: 0;
    left: 0;
}

.c-flow01__head {
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 5px;
}

.c-flow01__area-txt {
    width: calc(100% - 135px);
}

@media all and (min-width: 768px) {
    .c-flow01 {
        display: flex;
        justify-content: space-between;
    }

    .c-flow01:before {
        border-top: 2px dashed #162C8D;
        border-left: none;
        width: 90%;
        height: 2px;
        margin: auto;
        top: 100px;
        left: 0;
        right: 0;
        bottom: auto;
    }

    .c-flow01__item {
        display: block;
        width: 200px;
    }

    .c-flow01__item+.c-flow01__item {
        margin-top: 0;
    }

    .c-flow01__ico {
        width: 200px;
        height: 200px;
        margin: 0 0 20px 0;
    }

    .c-flow01__num {
        font-size: 3rem;
        text-align: center;
        margin: auto;
        top: -15px;
        right: 0;
    }

    .c-flow01__head {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .c-flow01__area-txt {
        width: 100%;
    }
}

/* ================================================== 
カラー定義
================================================== */

/* .c-color-black #333333
================================================== */
.c-color-black {
    color: rgb(var(--black));
}

/* .c-color-blue #2968A6
================================================== */
.c-color-blue {
    color: #162C8D;
}

/* .c-color-darkblue #154383
================================================== */
.c-color-darkblue {
    color: rgb(var(--darkblue));
}

/* .c-color-red #cc295f
================================================== */
.c-color-red {
    color: #168f3c;
}

/* .c-color-darkgray #858585
================================================== */
.c-color-darkgray {
    color: rgb(var(--darkgray));
}

/* ================================================== 
見出し共通
================================================== */

/*  .c-head01
================================================== */
.c-head01 {
    padding-bottom: 20px;
    margin-bottom: 30px;
    position: relative;
}

.c-head01::before,
.c-head01::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    height: 2px;
}

.c-head01::before {
    width: 80px;
    background: rgb(var(--border));
}

.c-head01::after {
    width: 24px;
    background: #168f3c;
}

.c-head01__sub {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 8px;
    color: rgb(var(--darkgray));
}

.c-head01__main {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.6;
}

@media all and (min-width: 768px) {
    .c-head01 {
        padding-bottom: 32px;
        margin-bottom: 40px;
    }

    .c-head01::before {
        width: 100px;
    }

    .c-head01::after {
        width: 30px;
    }

    .c-head01__sub {
        font-size: 2.3rem;
        margin-bottom: 15px;
    }

    .c-head01__main {
        font-size: 3.7rem;
    }
}

/*  .c-head02.has-margin
================================================== */
.c-head02.has-margin {
    margin-bottom: 20px;
}

@media all and (min-width: 768px) {
    .c-head02.has-margin {
        margin-bottom: 30px;
    }
}

/*  .c-head02
================================================== */
.c-head02 {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 700;
    padding-left: 0.7em;
    position: relative;
}

.c-head02::before {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    position: absolute;
    top: 4px;
    left: 0;
    background: #168f3c;
}

@media all and (min-width: 768px) {
    .c-head02 {
        font-size: 2.4rem;
    }

    .c-head02::before {
        top: 0;
    }
}

/*  .c-head03.has-margin
================================================== */
.c-head03.has-margin {
    margin-bottom: 25px;
}

@media all and (min-width: 768px) {
    .c-head03.has-margin {
        margin-bottom: 40px;
    }
}

/*  .c-head03
================================================== */
.c-head03 {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    padding-bottom: 15px;
    border-bottom: 2px solid rgb(var(--border));
}

@media all and (min-width: 768px) {
    .c-head03 {
        font-size: 2.8rem;
        padding-bottom: 30px;
    }
}

/*  .c-head04
================================================== */
.c-head04 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 12px;
}

@media all and (min-width: 768px) {
    .c-head04 {
        margin-bottom: 16px;
        font-size: 2rem;
    }
}

/*  .c-head05
================================================== */
.c-head05 {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 30px;
    text-align: center;
}

@media all and (min-width: 768px) {
    .c-head05 {
        font-size: 3.7rem;
        padding-bottom: 50px;
    }
}

/*  .c-head06
================================================== */
.c-head06 {
    display: flex;
    align-items: center;
    border-bottom: 2px solid rgb(var(--border));
    padding-bottom: 17px;
    margin-bottom: 25px;
}

.c-head06-num {
    font-size: 1.6rem;
    color: #168f3c;
    line-height: 1.1;
    margin-right: 9px;
}

.c-head06-txt {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5909090909;
}

@media all and (min-width: 768px) {
    .c-head06 {
        padding-bottom: 24px;
        margin-bottom: 45px;
    }

    .c-head06-num {
        font-size: 2rem;
        margin-right: 15px;
    }

    .c-head06-txt {
        font-size: 2.8rem;
        line-height: 1.6071428571;
    }
}

/* ================================================== 
アイコン
================================================== */

/* .c-ico
================================================== */
.c-ico {
    display: inline-block;
    vertical-align: middle;
}

/*.c-ico svg {*/
/*    transition: all 0.3s ease;*/
/*}*/

/* ================================================== 
CTA共通
================================================== */

/* .c-info01-list.is-business
================================================== */
.c-info01-list.is-business .c-info01-list__item:nth-child(2) .c-info01-list__txt::before {
    background: url(../img/common/ico_business02.png) no-repeat 0 100%/cover;
}

.c-info01-list.is-business .c-info01-list__item:nth-child(3) .c-info01-list__txt::before {
    background: url(../img/common/ico_business03.png) no-repeat 0 100%/cover;
}

.c-info01-list.is-business .c-info01-list__item:nth-child(4) .c-info01-list__txt::before {
    background: url(../img/common/ico_business04.png) no-repeat 0 100%/cover;
}

.c-info01-list.is-business .c-info01-list__txt::before {
    background: url(../img/common/ico_business01.png) no-repeat 0 100%/cover;
}

@media all and (min-width: 768px) {
    .c-info01-list.is-business .c-info01-list__item {
        width: calc(50% - 8px);
    }
}

/* .c-info01-link.is-recruit
================================================== */
/*.c-info01-link.is-recruit {*/
/*    margin-top: 115px;*/
/*}*/

.c-info01-link.is-recruit::before {
    background: url(../img/recruit/entry-link_sp.jpg) no-repeat center/cover;
}

@media all and (min-width: 768px) {
    .c-info01-link.is-recruit::before {
        background: url(../img/recruit/entry-link.jpg) no-repeat center/cover;
    }
}

/* .c-info01
================================================== */
.c-info01 {
    position: relative;
}

.c-info01::before {
    content: "";
    display: block;
    background: url(../img/company/company-bg_sp.png) no-repeat top center/cover;
    width: 100%;
    height: 75.8%;
    position: absolute;
    top: 0;
    z-index: -1;
}

.c-info01__inner {
    padding-top: 50px;
    padding-bottom: 70px;
}

.c-info01__head {
    font-size: 2.5rem;
}

@media all and (min-width: 768px) {
    .c-info01::before {
        background: url(../img/company/company-bg.png) no-repeat bottom center/cover;
        height: 76.8%;
    }

    .c-info01__inner {
        padding-top: 130px;
        padding-bottom: 140px;
    }

    .c-info01__head {
        font-size: 3.7rem;
        margin-bottom: 60px;
    }
}

/* ================================================== 
会社情報ボトムリスト
================================================== */

/* .c-info01-list
================================================== */
.c-info01-list__item:nth-child(2) .c-info01-list__link {
    background: #EDDAC7;
}

.c-info01-list__item:nth-child(2) .c-info01-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%23E68C32%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.c-info01-list__item:nth-child(2) .c-info01-list__txt::before {
    background: url(../img/common/hdr-company_ico-02.png) no-repeat 0 100%/cover;
}

.c-info01-list__item:nth-child(3) .c-info01-list__link {
    background: #CCDAE9;
}

.c-info01-list__item:nth-child(3) .c-info01-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.c-info01-list__item:nth-child(3) .c-info01-list__txt::before {
    background: url(../img/common/hdr-company_ico-03.png) no-repeat 0 100%/cover;
}

.c-info01-list__item:nth-child(4) .c-info01-list__link {
    background: #D2E6C8;
}

.c-info01-list__item:nth-child(4) .c-info01-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%2352992E%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.c-info01-list__item:nth-child(4) .c-info01-list__txt::before {
    background: url(../img/common/hdr-company_ico-04.png) no-repeat 0 100%/cover;
}

.c-info01-list__item:nth-child(5) .c-info01-list__link {
    background: #DDCEEB;
}

.c-info01-list__item:nth-child(5) .c-info01-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%238A62B3%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.c-info01-list__item:nth-child(5) .c-info01-list__txt::before {
    background: url(../img/common/hdr-company_ico-05.png) no-repeat 0 100%/cover;
}

.c-info01-list__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 80px;
    background: #D5DAE0;
    border-radius: 10px;
    padding: 15px;
    box-sizing: border-box;
    position: relative;
}

.c-info01-list__link::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%23595959%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.c-info01-list__txt {
    padding-left: 60px;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
}

.c-info01-list__txt::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: url(../img/common/hdr-company_ico-01.png) no-repeat 0 100%/cover;
}

@media all and (max-width: 767px) {
    .c-info01-list__item+.c-info01-list__item {
        margin-top: 10px;
    }
}

@media all and (min-width: 768px) {
    .c-info01-list {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin: 0 -4px;
    }

    .c-info01-list__item {
        width: calc(33.33% - 8px);
        margin: 4px;
    }

    .c-info01-list__item:nth-child(4),
    .c-info01-list__item:nth-child(5) {
        width: calc(50% - 8px);
    }

    .c-info01-list__item:nth-child(2) .c-info01-list__link:hover::after,
    .c-info01-list__item:nth-child(3) .c-info01-list__link:hover::after,
    .c-info01-list__item:nth-child(4) .c-info01-list__link:hover::after,
    .c-info01-list__item:nth-child(5) .c-info01-list__link:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .c-info01-list__item:nth-child(2) .c-info01-list__link:hover {
        background: #BD885F;
    }

    .c-info01-list__item:nth-child(3) .c-info01-list__link:hover {
        background: #6888B1;
    }

    .c-info01-list__item:nth-child(4) .c-info01-list__link:hover {
        background: #8EBA7B;
    }

    .c-info01-list__item:nth-child(5) .c-info01-list__link:hover {
        background: #A586C7;
    }

    .c-info01-list__link {
        height: 120px;
        padding: 0 50px 0 30px;
        transition: all 0.3s ease;
    }

    .c-info01-list__link::after {
        right: 30px;
    }

    .c-info01-list__link:hover {
        color: #fff;
        background: #768190;
    }

    .c-info01-list__link:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .c-info01-list__txt {
        padding-left: 80px;
        font-size: 2rem;
        line-height: 1.6;
    }

    .c-info01-list__txt::before {
        width: 60px;
        height: 60px;
    }
}

@media (min-width: 1700px) {
    .c-info01-list__link {
        padding: 0 50px 0 40px;
    }

    .c-info01-list__link::after {
        right: 40px;
    }
}

/* .c-info01-link
================================================== */
.c-info01-link {
    margin-top: 50px;
    position: relative;
    padding: 40px 20px 75px;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.c-info01-link::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/company/vision-link_sp.jpg) no-repeat center/cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.c-info01-link::after {
    display: inline-block;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_36237%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2036237%22%20transform%3D%22translate(-399.885)%22%3E%20%3Cg%20id%3D%22%E3%83%91%E3%82%B9_66528%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066528%22%20transform%3D%22translate(399.885)%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M20%2C0A20%2C20%2C0%2C1%2C1%2C0%2C20%2C20%2C20%2C0%2C0%2C1%2C20%2C0Z%22%20stroke%3D%22none%22%2F%3E%20%3Cpath%20d%3D%22M%2020%202%20C%2015.19202041625977%202%2010.67182922363281%203.872329711914062%207.272079467773438%207.272079467773438%20C%203.872329711914062%2010.67182922363281%202%2015.19202041625977%202%2020%20C%202%2024.80797004699707%203.872329711914062%2029.32817077636719%207.272079467773438%2032.72792053222656%20C%2010.67182922363281%2036.12767028808594%2015.19202041625977%2038%2020%2038%20C%2024.80797004699707%2038%2029.32817077636719%2036.12767028808594%2032.72792053222656%2032.72792053222656%20C%2036.12767028808594%2029.32817077636719%2038%2024.80797004699707%2038%2020%20C%2038%2015.19202041625977%2036.12767028808594%2010.67182922363281%2032.72792053222656%207.272079467773438%20C%2029.32817077636719%203.872329711914062%2024.80797004699707%202%2020%202%20M%2020%200%20C%2031.04568862915039%200%2040%208.954299926757812%2040%2020%20C%2040%2031.04568862915039%2031.04568862915039%2040%2020%2040%20C%208.954299926757812%2040%200%2031.04568862915039%200%2020%20C%200%208.954299926757812%208.954299926757812%200%2020%200%20Z%22%20stroke%3D%22none%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66267%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066267%22%20d%3D%22M464.9%2C342.067a.718.718%2C0%2C0%2C0-.293-.57l-3.09-3.09a.731.731%2C0%2C1%2C0-1.034%2C1.034l1.894%2C1.894H453.2a.731.731%2C0%2C0%2C0%2C0%2C1.463h9.232l-1.888%2C1.888a.731.731%2C0%2C1%2C0%2C1.034%2C1.034l3.11-3.111a.725.725%2C0%2C0%2C0%2C.212-.53C464.9%2C342.075%2C464.9%2C342.071%2C464.9%2C342.067Z%22%20transform%3D%22translate(-38.797%20-322.216)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.c-info01-link__in {
    display: block;
}

.c-info01-link__txt {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

.c-info01-link__lead {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 10px;
}

@media all and (min-width: 768px) {
    .c-info01-link {
        margin-top: 135px;
        padding: 83px 80px 78px;
        transition: all 0.3s ease;
    }

    .c-info01-link::before {
        transition: all 0.3s ease;
        background: url(../img/company/vision-link.jpg) no-repeat center/cover;
    }

    .c-info01-link::after {
        display: inline-block;
        width: 55px;
        height: 55px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/circle-white-arrow.png");
        content: "";
        transition: all 0.3s ease;
        position: absolute;
        top: 50%;
        right: 80px;
        transform: translateY(-50%);
    }

    .c-info01-link:hover::before {
        transform: scale(1.1);
    }

    .c-info01-link:hover::after {
        display: inline-block;
        width: 55px;
        height: 55px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/circle-whiteoff-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .c-info01-link__txt {
        transition: all 0.3s ease;
        font-size: 2rem;
    }

    .c-info01-link__lead {
        transition: all 0.3s ease;
        font-size: 3.6rem;
        margin-top: 24px;
    }
}

/* .c-link01
================================================== */
.c-link01__link {
    display: inline-block;
    position: relative;
    padding-left: 1.5em;
}

.c-link01__link::before {
    position: absolute;
    top: 0.7em;
    left: 0;
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.c-link01 [target=_blank]::after {
    padding-left: 5px;
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%232968A6%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%232968A6%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
    .c-link01__link {
        transition: all 0.3s ease;
    }

    .c-link01__link:hover {
        opacity: 0.7;
    }
}

/* ================================================== 
採用情報ページ/3つの理由
================================================== */
/* .c-card-set01
================================================== */
.c-card-set01__item+.c-card-set01__item {
    margin-top: 30px;
}

.c-card-set01__img {
    text-align: center;
    margin: 0 auto 15px;
}

.c-card-set01__head {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 15px;
}

@media all and (min-width: 768px) {
    .c-card-set01 {
        display: flex;
        flex-wrap: wrap;
    }

    .c-card-set01__item {
        width: calc((100% - 80px) / 3);
    }

    .c-card-set01__item+.c-card-set01__item {
        margin-top: 0;
    }

    .c-card-set01__item:nth-child(3n+1) {
        margin-right: 40px;
    }

    .c-card-set01__item:nth-child(3n) {
        margin-left: 40px;
    }

    .c-card-set01__img {
        text-align: center;
        margin: 0 auto 25px;
    }

    .c-card-set01__head {
        font-size: 2rem;
    }
}

/* ================================================== 
採用情報ページ/プロジェクト紹介
================================================== */
/* .c-card-set02
================================================== */
.c-card-set02__item+.c-card-set02__item {
    margin-top: 30px;
}

.c-card-set02__sub {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    box-sizing: border-box;
    padding: 5px 15px;
    margin-bottom: 5px;
}

.c-card-set02__img {
    text-align: center;
    margin: 0 auto 20px;
}

@media all and (min-width: 768px) {
    .c-card-set02__item+.c-card-set02__item {
        margin-top: 60px;
    }

    .c-card-set02__wrap {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .c-card-set02__sub {
        margin-bottom: 10px;
    }

    .c-card-set02__img {
        width: 530px;
        margin: 0 0 0 30px;
        order: 2;
    }

    .c-card-set02__area-txt {
        width: calc(100% - 580px);
        order: 1;
    }
}

/* c-card-set02.is-vertical-center-pc PCで上下中央揃え
========================================================== */
@media all and (min-width: 768px) {
    .c-card-set02.is-vertical-center-pc .c-card-set02__wrap {
        align-items: center;
    }
}

/* .c-info-set01
================================================== */
.c-info-set01__item {
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px;
    text-align: center;
}

.c-info-set01__item+.c-info-set01__item {
    margin-top: 10px;
}

.c-info-set01__head {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
    margin-bottom: 10px;
}

.c-info-set01__area-num {
    position: relative;
}

.c-info-set01__num {
    position: relative;
    z-index: 2;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.6;
}

.c-info-set01__num-sub {
    font-size: 3rem;
}

.c-info-set01__num-txt {
    font-size: 2.2rem;
}

.c-info-set01__num-ico {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 70px;
    height: 70px;
}

.c-info-set01__txt {
    margin-top: 10px;
}

.c-info-set01__img {
    max-width: 295px;
    margin: 0 auto;
}

@media all and (min-width: 768px) {
    .c-info-set01 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -30px;
    }

    .c-info-set01__item {
        width: calc(50% - 20px);
        margin-bottom: 30px;
        padding: 50px;
    }

    .c-info-set01__item+.c-info-set01__item {
        margin-top: 0;
    }

    .c-info-set01__item:nth-child(even) {
        margin-left: 40px;
    }

    .c-info-set01__head {
        font-size: 2rem;
        margin-bottom: 20px;
    }

    .c-info-set01__num {
        font-size: 8rem;
    }

    .c-info-set01__num-sub {
        font-size: 6rem;
    }

    .c-info-set01__num-txt {
        font-size: 3.6rem;
    }

    .c-info-set01__num-ico {
        width: 110px;
        height: 110px;
    }

    .c-info-set01__txt {
        margin-top: 20px;
    }

    .c-info-set01__img {
        max-width: 366px;
    }
}

/* .c-set01
================================================== */
.c-set01__item+.c-set01__item {
    margin-top: 20px;
}

.c-set01__img {
    text-align: center;
    margin: 0 auto;
}

.c-set01__txt {
    margin-top: 10px;
    text-align: center;
    font-weight: 700;
}

@media all and (min-width: 768px) {
    .c-set01 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: -20px;
    }

    .c-set01__item {
        width: calc((100% - 80px) / 3);
        margin-bottom: 20px;
    }

    .c-set01__item+.c-set01__item {
        margin-top: 0;
    }

    .c-set01__item:nth-child(3n+1) {
        margin-right: 40px;
    }

    .c-set01__item:nth-child(3n) {
        margin-left: 40px;
    }

    .c-set01__txt {
        font-size: 2rem;
        margin-top: 20px;
    }
}

/* ================================================== 
個別ページ
================================================== */
/* .c-single01
================================================== */
.c-single01__inner {
    padding-top: 75px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .c-single01__inner {
        padding-top: 90px;
        padding-bottom: 140px;
    }
}

/* .c-single01-article
================================================== */
.c-single01-article {
    padding-bottom: 60px;
    border-bottom: 2px solid rgb(var(--border));
}

@media all and (min-width: 768px) {
    .c-single01-article {
        padding-bottom: 80px;
    }
}

/* .c-single01-head
================================================== */
.c-single01-head {
    border-bottom: 2px solid rgb(var(--border));
    padding-bottom: 18px;
    margin-bottom: 25px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.c-single01-head__meta {
    overflow-x: auto;
    display: flex;
}

.c-single01-head__date {
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
}

.c-single01-head__cat {
    margin-left: 7px;
}

.c-single01-head__txt {
    align-self: flex-start;
    width: 100%;
    line-height: var(--line_height_head);
    font-size: 2.2rem;
    font-weight: 700;
}

@media all and (min-width: 768px) {
    .c-single01-head {
        padding-bottom: 30px;
        margin-bottom: 40px;
    }

    .c-single01-head__date {
        padding-top: 4px;
    }

    .c-single01-head__cat {
        margin-left: 20px;
    }

    .c-single01-head__txt {
        margin-top: 27px;
        font-size: 2.8rem;
    }
}

/* .c-single02-content
================================================== */
@media all and (max-width: 767px) {
    /*.c-single02-content {*/
    /*    display: flex;*/
    /*    flex-direction: column-reverse;*/
    /*}*/
}

@media all and (min-width: 768px) {
    .c-single02-content {
        /*display: grid;*/
        /*grid-template-columns: var(--sidebar_width) calc(100% - 280px - 70px);*/
        /*gap: 0 70px;*/
        width: var(--contents_width);
        margin: 0 auto;
        padding-top: 90px;
    }

    /*.c-single02-content .c-single02 {*/
    /*    flex: 1;*/
    /*}*/
}

/* .c-single02
================================================== */
.c-single02__inner {
    position: relative;
}

@media all and (min-width: 768px) {
    .c-single02__inner {
        padding: 0;
    }

    .c-single02__print {
        position: absolute;
        top: 0;
        right: 0;
        width: 140px;
        height: 40px;
    }
}

/* .c-single02-article
================================================== */
.c-single02-article {
    padding-top: 20px;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-bottom: 2px solid rgb(var(--border));
}

@media all and (min-width: 768px) {
    .c-single02-article {
        padding-top: 10px;
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
}

/* .c-single02-head
================================================== */
.c-single02-head {
    border-bottom: 1px solid rgb(var(--txt_blue));
    padding-bottom: 15px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    border-bottom: 2px solid rgb(var(--gray));
    padding-bottom: 11px;
}

.c-single02-head__meta {
    order: 1;
}

.c-single02-head__txt {
    line-height: 1.59;
    font-size: 2.2rem;
    font-weight: 700;
}

.c-single02-head__cats {
    display: flex;
    flex-wrap: wrap;
    margin-top: -4px;
    margin-left: -4px;
    margin-top: 20px;
}

.c-single02-head__cats .c-cat01__item {
    margin-top: 4px;
    margin-left: 4px;
}

@media all and (min-width: 768px) {
    .c-single02-head {
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .c-single02-head__meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .c-single02-head__cats {
        max-width: calc(100% - 120px);
    }

    .c-single02-head__print {
        position: relative;
        z-index: 2;
        width: 102px;
        height: 100%;
        margin: 20px 0 0 auto;
        padding: 3px 10px;
        box-sizing: border-box;
        border: 1px solid currentColor;
        color: #162C8D;
        font-weight: 700;
        text-align: center;
        font-size: 1.2rem;
        transition: all 0.3s ease;
    }

    .c-single02-head__print:hover {
        background: #162C8D;
        border: 1px solid #162C8D;
        color: #fff;
    }

    .c-single02-head__print:hover:before {
        filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(332deg) brightness(104%) contrast(101%);
    }

    .c-single02-head__print::before {
        display: inline-block;
        vertical-align: middle;
        content: "";
        width: 10px;
        height: 10px;
        margin: 0 10px 2px 0;
        background: url(../img/common/ico_print01.png) no-repeat left top/contain;
        transition: filter 0.3s ease;
    }

    .c-single02-head__txt {
        font-size: 2.6rem;
    }
}

/* .c-single02-gallery-wrap
================================================== */
.c-single02-gallery-wrap {
    margin-top: 75px;
    background: rgb(var(--bg));
}

@media all and (max-width: 767px) {
    .c-single02-gallery-wrap__inner {
        padding: 0 0 95px 0;
    }
}

@media all and (min-width: 768px) {
    .c-single02-gallery-wrap {
        margin-top: 94px;
        padding-top: 50px;
        padding-bottom: 40px;
    }
}

/* .c-single02-gallery
================================================== */
.c-single02-gallery__main-item {
    position: relative;
    background: #fafafa;
    position: relative;
    display: block !important;
    height: 0;
    padding-top: 61.8556701031%;
    box-sizing: border-box;
    overflow: hidden;
}

.c-single02-gallery__main-item img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-single02-gallery__main .slick-arrow {
    box-sizing: border-box;
    position: absolute;
    bottom: -50%;
    margin-top: -15px;
    width: 45px;
    height: 45px;
    border: 2px solid rgb(var(--border));
    border-radius: 50%;
    font-size: 0rem;
    text-indent: -9999px;
    overflow: hidden;
    z-index: 2;
}

.c-single02-gallery__main .slick-arrow::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-single02-gallery__main .slick-arrow.slick-prev {
    left: 35%;
    transform: scaleX(-1);
}

.c-single02-gallery__main .slick-arrow.slick-next {
    left: 55%;
}

.c-single02-gallery__thumb {
    margin: 20px 0 0;
    text-align: center;
}

.c-single02-gallery__thumb-item-in {
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    margin: 0 2px;
    width: calc(100% - 4px);
    height: 0;
    padding-top: 61.8666666667%;
    border: none;
    background: #fafafa;
    box-sizing: border-box;
    overflow: hidden;
}

.c-single02-gallery__thumb-item-in::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: 0 0 0 1px inset #162C8D;
    transition: opacity 0.3s ease;
    opacity: 0;
    border-radius: 10px;
}

.c-single02-gallery__thumb-item-in img {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    max-width: unset;
}

.c-single02-gallery__thumb.is-no-translate .slick-track {
    transform: translate3d(0, 0, 0) !important;
}

.c-single02-gallery__thumb .slick-current .c-single02-gallery__thumb-item-in::after {
    opacity: 1;
}

@media all and (min-width: 768px) {
    .c-single02-gallery {
        padding: 0 95px;
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
    }

    .c-single02-gallery__main .slick-arrow {
        top: 50%;
        bottom: unset;
        margin-top: -21px;
        width: 60px;
        height: 60px;
    }

    .c-single02-gallery__main .slick-arrow::after {
        left: 26px;
    }

    .c-single02-gallery__main .slick-arrow.slick-prev {
        left: -95px;
    }

    .c-single02-gallery__main .slick-arrow.slick-next {
        right: -95px;
        left: unset;
    }

    .c-single02-gallery__thumb {
        margin: 10px -4px 0;
    }

    .c-single02-gallery__thumb-item-in {
        padding-top: 60%;
        margin: 0 4px;
        width: calc(100% - 8px);
    }
}

@media (hover: hover) and (pointer: fine) {
    .c-single02-gallery__main .slick-arrow {
        transition: all 0.3s ease;
    }

    .c-single02-gallery__main .slick-arrow:hover {
        background: #162C8D;
        border-color: #162C8D;
    }

    .c-single02-gallery__main .slick-arrow:hover:after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }
}

/* .c-single02-block
================================================== */
.c-single02-block:not(:last-of-type) {
    margin-bottom: 30px;
}

.c-single02-block h2 {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 700;
    padding-left: 0.7em;
    position: relative;
    margin-bottom: 12px;
}

.c-single02-block h2::before {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    position: absolute;
    top: 4px;
    left: 0;
    background: #168f3c;
}

.c-single02-block p {
    margin-top: 0.8em;
    line-height: var(--line_height_wide);
}

@media all and (min-width: 768px) {
    .c-single02-block:not(:last-of-type) {
        margin-bottom: 60px;
    }

    .c-single02-block h2 {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }

    .c-single02-block h2::before {
        top: 0;
    }

    .c-single02-block p {
        line-height: var(--line_height_wide);
    }
}

/* .c-single02-block-row
================================================== */
.c-single02-block-row {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
}

.c-single02-block-row+.c-single02-block-row {
    margin-top: 25px;
}

/* .c-single02-block-before
================================================== */
.c-single02-block-before {
    max-width: 295px;
    flex-shrink: 0;
    margin-right: 20px;
}

.c-single02-block-before__img-wrap {
    position: relative;
}

.c-single02-block-before__img-wrap::before {
    display: inline-block;
    width: 9px;
    height: 15px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66261%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066261%22%20d%3D%22M587.941%2C354.766a1%2C1%2C0%2C0%2C1-.7-.289l-3.031-3a1%2C1%2C0%2C0%2C1%2C1.407-1.422l2.327%2C2.3%2C2.266-2.243a1%2C1%2C0%2C1%2C1%2C1.407%2C1.422l-2.969%2C2.939A1%2C1%2C0%2C0%2C1%2C587.941%2C354.766Z%22%20transform%3D%22translate(-583.911%20-349.766)%22%20fill%3D%22%23CC295F%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translate(0, -50%) rotate(-90deg);
}

.c-single02-block-before__img {
    position: relative;
    width: 295px;
    height: 0;
    padding-top: 61.6216216216%;
    background: #fafafa;
    border-radius: 10px;
    overflow: hidden;
}

.c-single02-block-before__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media all and (min-width: 768px) {
    .c-single02-block-before {
        max-width: 370px;
        margin-right: 30px;
    }

    .c-single02-block-before__img-wrap::before {
        right: -18px;
    }

    .c-single02-block-before__img {
        width: 370px;
    }
}

/* .c-single02-block-after
================================================== */
.c-single02-block-after {
    max-width: 295px;
    flex-shrink: 0;
}

.c-single02-block-after__img {
    position: relative;
    width: 295px;
    height: 0;
    padding-top: 61.6216216216%;
    background: #fafafa;
    border-radius: 10px;
    overflow: hidden;
}

.c-single02-block-after__img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media all and (min-width: 768px) {
    .c-single02-block-after {
        max-width: 370px;
    }

    .c-single02-block-after__img {
        width: 370px;
    }
}

/* .c-single02-data
================================================== */
.c-single02-data {
    margin-bottom: 30px;
}

.c-single02-data__cat {
    display: flex;
    flex-wrap: wrap;
    margin-top: -4px;
    margin-left: -4px;
}

.c-single02-data .c-cat01__item {
    margin-top: 4px;
    margin-left: 4px;
}

@media all and (min-width: 768px) {
    .c-single02-data {
        margin-top: -20px;
        margin-bottom: 60px;
    }
}

/* .c-single02-related
================================================== */
.c-single02-related {
    position: relative;
    margin-top: 20px;
    background: url(../img/case/related-bg_sp.png) no-repeat top center / cover;
}

.c-single02-related__inner {
    padding-top: 40px;
    padding-bottom: 50px;
}

.c-single02-related__head {
    font-size: 2.2rem;
    text-align: center;
}

.c-single02-related__head::before {
    left: 50%;
    transform: translateX(-50%);
}

.c-single02-related__head::after {
    left: 35%;
}

@media all and (min-width: 768px) {
    .c-single02-related {
        background: url(../img/case/related-bg.png) no-repeat bottom center/cover;
        /*margin-top: 85px;*/
    }

    .c-single02-related__inner {
        padding-top: 132px;
        padding-bottom: 100px;
    }

    .c-single02-related__head {
        font-size: 3.8rem;
        margin-bottom: 50px;
        padding-bottom: 8px;
    }

    .c-single02-related__head::after {
        left: 45%;
    }
}

/* .c-single02-related-items
================================================== */
@media all and (min-width: 768px) {
    .c-single02-related-items {
        display: flex;
        align-items: flex-start;
    }
}

/* .c-single02-related-items-item
================================================== */
.c-single02-related-items-item {
    display: block;
    position: relative;
}

.c-single02-related-items-item::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #162C8D;
    position: absolute;
    bottom: 15px;
    right: 15px;
    z-index: 1;
}

.c-single02-related-items-item::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
    position: absolute;
    bottom: 29px;
    right: 26px;
    z-index: 2;
}

.c-single02-related-items-item__img {
    border-radius: 10px;
    overflow: hidden;
}

.c-single02-related-items-item__header {
    position: absolute;
    bottom: 16px;
    left: 20px;
}

.c-single02-related-items-item__en {
    color: rgb(var(--gray));
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
}

.c-single02-related-items-item__txt {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
}

@media all and (max-width: 767px) {
    .c-single02-related-items-item+.c-single02-related-items-item {
        margin-top: 10px;
    }
}

@media all and (min-width: 768px) {
    .c-single02-related-items-item+.c-single02-related-items-item {
        margin-left: 60px;
    }

    .c-single02-related-items-item__en {
        font-size: 1.4rem;
    }

    .c-single02-related-items-item__txt {
        font-size: 2rem;
    }
}

/* .c-single02-relation
================================================== */
.c-single02-relation__head {
    margin-bottom: 14px;
}

.c-single02-relation__link {
    display: inline-block;
    margin-top: 30px;
}

.c-single02-relation__link::before {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    margin-right: 0.7em;
}

@media all and (min-width: 768px) {
    .c-single02-relation__head {
        margin-bottom: 20px;
    }

    .c-single02-relation__link {
        margin-top: 60px;
    }
}

/* .c-single02 print
================================================== */
@media print {
    body {
        -webkit-print-color-adjust: exact;
    }

    .l-header-info__logo,
    .l-nav,
    .l-nav-btn,
    .l-sub-img,
    .l-breadcrumb,
    .l-sidebar,
    .c-single02-relation,
    .c-single02-related,
    .footer-cv,
    .l-footer-page-top,
    .l-footer__inner,
    .l-footer-other {
        display: none !important;
    }

    .l-header {
        position: static !important;
        max-width: 1120px;
        margin: 0 auto;
        background: #fff !important;
    }

    .l-header-info {
        height: 90px !important;
    }

    .l-header-info:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 322px;
        height: 61px;
        /*background: url(../img/common/img_logo02_pc.png) no-repeat 0 100%/cover;*/
    }

    .c-single02-content {
        display: block !important;
        padding-top: 10px !important;
    }

    .c-single02-gallery-wrap {
        margin-top: 0;
        margin-bottom: -80px;
        background: transparent !important;
    }

    .c-single02-gallery__main {
        display: none !important;
    }

    .c-single02-gallery__thumb-item-in {
        background: none !important;
    }

    .c-single02-gallery__thumb-item-in::after {
        content: none !important;
    }

    .c-single02-gallery .slick-list {
        transform: none !important;
    }

    .c-single02-gallery .slick-list .slick-track {
        transform: none !important;
        display: flex !important;
        flex-wrap: wrap;
        width: auto !important;
    }

    .c-single02-gallery .slick-list .slick-track:before,
    .c-single02-gallery .slick-list .slick-track:after {
        content: none;
    }

    .c-single02-gallery .slick-list .slick-track .slick-slide {
        float: none !important;
        width: auto !important;
        flex-basis: 50%;
        max-width: 50%;
        height: auto !important;
    }

    .c-single02-gallery .slick-list .slick-track .slick-slide.slick-cloned {
        display: none !important;
    }

    .c-single02-article {
        margin-bottom: 20px;
    }

    .c-single02 .c-table01.is-block-sp table {
        display: table;
    }

    .c-single02 .c-table01.is-block-sp thead,
    .c-single02 .c-table01.is-block-sp tbody {
        display: table-row-group;
        width: 100%;
    }

    .c-single02 .c-table01.is-block-sp tr {
        display: table-row;
        width: 100%;
    }

    .c-single02 .c-table01.is-block-sp th,
    .c-single02 .c-table01.is-block-sp td {
        display: table-cell !important;
        width: auto;
        border: 1px solid rgb(var(--border)) !important;
    }

    .c-single02 .c-table01.is-block-sp th {
        padding-right: 30px;
        width: 180px;
    }

    .l-footer {
        background: transparent !important;
    }

    .l-footer-other__cr {
        width: 100% !important;
        color: rgba(var(--black), 0.6) !important;
        text-align: right !important;
    }
}

/* .c-single-content
================================================== */
.c-single-content {
    display: flow-root;
}

.c-single-content *:first-child {
    margin-top: 0;
}

.c-single-content *:last-child {
    margin-bottom: 0;
}

.c-single-content h2,
.c-single-content h3,
.c-single-content h4,
.c-single-content h5,
.c-single-content h6 {
    line-height: var(--line_height_head_single);
    font-weight: 700;
    box-sizing: border-box;
}

.c-single-content h2 {
    font-size: 1.8rem;
    padding: 15px 20px;
    background: rgb(var(--bg));
    margin-bottom: 30px;
}

.c-single-content h3 {
    position: relative;
    font-size: 1.8rem;
    padding-left: 10px;
    margin-bottom: 13px;
}

.c-single-content h3::before {
    position: absolute;
    top: 0.4em;
    left: 0;
    content: "";
    width: 4px;
    height: calc(100% - 0.4em);
    background: #168f3c;
}

.c-single-content p:not([class]) {
    margin: 20px 0;
}

.c-single-content ol:not([class]),
.c-single-content ul:not([class]) {
    margin: 1em 0;
    line-height: var(--line_height_head);
}

.c-single-content ol:not([class]) li,
.c-single-content ul:not([class]) li {
    margin-top: 0.5em;
}

.c-single-content ol:not([class]) li::marker,
.c-single-content ul:not([class]) li::marker {
    color: #162C8D;
}

.c-single-content .alignleft,
.c-single-content .alignright,
.c-single-content .aligncenter {
    margin: 40px 0 0;
    text-align: center;
}

.c-single-content .wp-caption-text {
    margin: 5px 0 0 0;
    font-size: 1.2rem;
    color: rgb(var(--gray));
}

.c-single-content img {
    display: inherit;
    border-radius: 10px;
    overflow: hidden;
}

.c-single-content .wp-video {
    border-radius: 10px;
}

.c-single-content blockquote {
    box-sizing: border-box;
    position: relative;
    margin-top: 1em;
    background: #f2f2f2;
    padding: 20px 42px 20px 62px;
}

.c-single-content blockquote::before {
    position: absolute;
    top: 23px;
    left: 34px;
    content: "";
    background: url(../img/common/ico_quote01.png) left top/contain;
    width: 15px;
    height: 15px;
}

.c-single-content blockquote>*:first-child {
    margin-top: 0;
}

.c-single-content blockquote>*:last-child {
    margin-bottom: 0;
}

.c-single-content blockquote p:not([class]) {
    font-weight: 700;
}

.c-single-content .c-table02 {
    margin-top: 50px;
}

.c-single-content a:not([class]) {
    color: #162C8D;
}

.c-single-content mark {
    background: rgb(var(--gray));
}

.c-single-content .wp-video {
    margin-top: 40px;
    overflow: hidden;
}

.c-single-content .wp-video video {
    max-width: 100%;
    aspect-ratio: 335/189;
}

.c-single-content .wp-video video source {
    width: 100%;
    height: auto;
}

@media all and (min-width: 768px) {
    .c-single-content h2 {
        font-size: 2.6rem;
        padding: 20px 30px;
        margin-bottom: 40px;
    }

    .c-single-content h3 {
        font-size: 2.4rem;
        padding-left: 16px;
        margin-bottom: 20px;
    }

    .c-single-content h3::before {
        top: 0.3em;
    }

    .c-single-content .aligncenter {
        margin: 60px 0 0;
    }

    .c-single-content .alignleft {
        float: left;
        margin-right: 50px;
        margin-top: 50px;
    }

    .c-single-content .alignleft+p:not([class]) {
        margin-top: 80px;
    }

    .c-single-content .alignright {
        float: right;
        margin-left: 50px;
        margin-top: 50px;
    }

    .c-single-content .alignright+p:not([class]) {
        margin-top: 80px;
    }

    .c-single-content .aligncenter {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .c-single-content blockquote {
        display: inline-block;
        min-width: 680px;
        padding: 35px 125px;
    }

    .c-single-content blockquote::before {
        top: 30px;
        left: 108px;
    }

    .c-single-content blockquote>*:first-child:not([class]) {
        margin-top: 0;
    }

    .c-single-content blockquote>*:last-child:not([class]) {
        margin-bottom: 0;
    }

    .c-single-content .c-table02 {
        margin-top: 60px;
    }

    .c-single-content p:not([class]) {
        margin: 30px 0;
    }

    .c-single-content ol:not([class]),
    .c-single-content ul:not([class]) {
        margin: 20px 0;
    }

    .c-single-content .wp-video {
        margin-top: 127px;
        clear: both;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    .c-single-content .wp-video video {
        aspect-ratio: 760/428;
    }
}

/*  .c-pager02
================================================== */
.c-pager02 {
    position: relative;
    overflow: hidden;
    line-height: 1;
}

.c-pager02 a {
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    height: 50px;
    padding: 15px;
    border: 1px solid;
    text-decoration: none;
}

.c-pager02__previous,
.c-pager02__next {
    width: 0;
    height: 0;
    font-size: 0;
    border: none;
    margin: 0;
    padding: 0;
}

.c-pager02__previous a,
.c-pager02__next a {
    width: 0;
    height: 0;
    font-size: 0;
    border: none;
    margin: 0;
    padding: 0;
}

.c-pager02__all {
    max-width: 280px;
    text-align: center;
    margin: 35px auto 0;
    box-sizing: border-box;
}

.c-pager02__all a {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 60px;
    border-radius: 30px;
    font-weight: 700;
    color: #fff;
    background: #162C8D;
    position: relative;
}

.c-pager02__all a::after {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
    .c-pager02 a {
        transition: all 0.3s ease;
    }

    .c-pager02 a:hover {
        background: rgb(var(--black));
        color: #fff;
        border-color: rgb(var(--black));
    }

    .c-pager02__all {
        margin-top: 60px;
    }

    .c-pager02__all a {
        transition: all 0.3s ease;
    }

    .c-pager02__all a:hover {
        background: #fff;
        color: rgb(var(--blue));
        border-color: rgb(var(--blue));
    }

    .c-pager02__all a:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }
}


/* ================================================== 
テーブルレイアウト
================================================== */
/* .c-table01.is-block-sp
================================================== */
@media all and (max-width: 767px) {
    .c-table01.is-block-sp table {
        font-size: 1.6rem;
    }

    .c-table01.is-block-sp table,
    .c-table01.is-block-sp thead,
    .c-table01.is-block-sp tbody,
    .c-table01.is-block-sp tr,
    .c-table01.is-block-sp th,
    .c-table01.is-block-sp td {
        display: block;
    }

    .c-table01.is-block-sp th {
        border-bottom: none;
        width: 100%;
    }
}

/* .c-table01
================================================== */
.c-table01 table {
    border: 1px solid rgb(var(--border));
}

.c-table01 th,
.c-table01 td {
    box-sizing: border-box;
    padding: 17px 20px;
    text-align: left;
}

.c-table01 th p+p,
.c-table01 th ul+p,
.c-table01 td p+p,
.c-table01 td ul+p {
    margin-top: 1.2em;
}

.c-table01 th {
    width: 100px;
    font-weight: 700;
    color: #fff;
    background: #162C8D;
}

@media all and (min-width: 768px) {

    .c-table01 tr:not(:last-of-type) th,
    .c-table01 tr:not(:last-of-type) td {
        border-bottom: 1px solid rgb(var(--border));
    }

    .c-table01 th,
    .c-table01 td {
        padding: 17px 25px;
    }

    .c-table01 th {
        width: 300px;
    }
}

/* .c-table02
================================================== */
.c-table02 {
    clear: both;
}

.c-table02::-webkit-scrollbar {
    height: 10px;
}

.c-table02::-webkit-scrollbar-track {
    background: rgb(var(--bg));
}

.c-table02::-webkit-scrollbar-thumb {
    background: #162C8D;
}

.c-table02 table {
    background: #fff;
    empty-cells: hide;
    border-collapse: separate;
}

.c-table02 table th,
.c-table02 table td {
    box-sizing: border-box;
    border-top: 1px solid rgb(var(--border));
    border-left: 1px solid rgb(var(--border));
    word-break: break-all;
    line-height: 1.5;
}

.c-table02 table th:last-child,
.c-table02 table td:last-child {
    border-right: 1px solid rgb(var(--border));
}

.c-table02 table thead th,
.c-table02 table thead td {
    text-align: center;
}

.c-table02 table thead th {
    background: #162C8D;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
    padding: 15px 28px;
}

.c-table02 table thead td {
    background: rgba(var(--bg_mid_blue));
    color: rgba(var(--black));
}

.c-table02 table tbody tr:last-child th,
.c-table02 table tbody tr:last-child td {
    border-bottom: 1px solid rgb(var(--border));
}

.c-table02 table tbody th,
.c-table02 table tbody td {
    padding: 20px;
}

.c-table02 table tbody th {
    background: rgba(var(--blue));
    color: #fff;
    font-weight: 700;
    text-align: left;
    word-break: keep-all;
}

.c-table02 table tbody td {
    min-width: 234px;
}

.c-table02 table thead+tbody th {
    background: rgba(var(--bg-blue));
    color: #333;
}

.c-table02__note {
    margin-top: 30px;
    color: rgb(var(--darkgray));
    font-size: 1.2rem;
    line-height: 1.9;
}

@media all and (max-width: 767px) {
    .c-table02 {
        overflow-x: scroll;
    }

    .c-table02 table {
        width: auto;
        min-width: 100%;
    }

    .c-table02 table th,
    .c-table02 table td {
        min-width: 6em;
    }
}

@media all and (min-width: 768px) {
    .c-table02 table {
        width: 100%;
    }

    .c-table02 table tr th:first-of-type {
        max-width: 232px;
    }

    .c-table02 table thead th {
        padding: 25px 52px;
    }

    .c-table02 table tbody th,
    .c-table02 table tbody td {
        padding: 25px;
    }

    .c-table02 table tbody th {
        max-width: 232px;
    }

    .c-table02 table tbody td {
        min-width: 297px;
    }

    .c-table02__note {
        margin-top: 20px;
        font-size: 1.4rem;
    }

    .c-table02__btn {
        margin-top: 60px;
    }

    .c-table02__btn .c-btn01__link {
        transition: all 0.3s ease;
    }

    .c-table02__btn .c-btn01__link:hover {
        background: #162C8D;
        color: #fff;
    }

    .c-table02__btn .c-btn01__link:hover::after {
        display: inline-block;
        width: 24px;
        height: 25px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2226%22%20viewBox%3D%220%200%2025%2026%22%3E%20%3Cpath%20id%3D%22PDF%22%20d%3D%22M4733.441-19248.141v-4.684h-2.4v-7.814h2.4v-12.5h12.8l6.4%2C6.25v6.252h2.4v7.814h-2.4v4.684Zm.8-.781h17.6v-3.9h-17.6Zm6.984-10.088v4.6a9.079%2C9.079%2C0%2C0%2C0%2C1.231.072%2C3.487%2C3.487%2C0%2C0%2C0%2C2.215-.607%2C2.349%2C2.349%2C0%2C0%2C0%2C.794-1.895%2C2.04%2C2.04%2C0%2C0%2C0-.808-1.764%2C3.137%2C3.137%2C0%2C0%2C0-1.964-.5A9.919%2C9.919%2C0%2C0%2C0%2C4741.229-19259.01Zm5.132%2C4.621h1.091v-1.883h1.723v-.859h-1.723v-1.072h1.844v-.869h-2.935Zm-9.446-4.621v4.621h1.073v-1.674a3.355%2C3.355%2C0%2C0%2C0%2C.372.018%2C2.242%2C2.242%2C0%2C0%2C0%2C1.561-.494%2C1.478%2C1.478%2C0%2C0%2C0%2C.437-1.111%2C1.356%2C1.356%2C0%2C0%2C0-.511-1.084%2C2.348%2C2.348%2C0%2C0%2C0-1.467-.375A8.47%2C8.47%2C0%2C0%2C0%2C4736.915-19259.01Zm-2.67-1.629h17.6v-5.469h-6.4v-6.248h-11.2Zm12-6.252h5.266l-5.266-5.143Zm-3.548%2C11.721a2.779%2C2.779%2C0%2C0%2C1-.381-.016v-3.068a2.336%2C2.336%2C0%2C0%2C1%2C.492-.039%2C1.358%2C1.358%2C0%2C0%2C1%2C1.51%2C1.488%2C1.463%2C1.463%2C0%2C0%2C1-1.6%2C1.635Zm-4.709-1.711v-1.385a1.78%2C1.78%2C0%2C0%2C1%2C.451-.041c.539%2C0%2C.845.254.845.686%2C0%2C.48-.357.766-.934.766A1.826%2C1.826%2C0%2C0%2C1%2C4737.988-19256.881Z%22%20transform%3D%22translate(-4730.545%2019273.641)%22%20fill%3D%22%23fff%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }
}

/* .c-table03
================================================== */
.c-table03 {
    table-layout: fixed;
}

.c-table03 tbody th,
.c-table03 tbody td {
    box-sizing: border-box;
    border-bottom: 1px solid rgb(var(--border));
}

.c-table03 tbody th {
    color: #162C8D;
    font-weight: 700;
    vertical-align: middle;
    padding: 10px 5px 10px 0;
}

.c-table03 tbody th[rowspan] {
    padding: 30px 5px 30px 0;
    vertical-align: bottom;
}

.c-table03 tbody td:not([class]) {
    width: 59%;
    min-width: 198px;
    padding: 10px 0;
}

.c-table03__gray {
    padding: 10px 0 10px 5px;
    color: rgb(var(--darkgray));
    text-align: right;
    vertical-align: middle;
}

.c-table03__special-th {
    padding: 30px 5px 45px 0 !important;
}

.c-table03__special-td {
    padding: 30px 0 15px 5px;
}

@media all and (min-width: 768px) {
    .c-table03 tbody th {
        text-align: left;
        font-size: 3rem;
        font-weight: 700;
        padding: 10px 5px 10px 0.7em;
    }

    .c-table03 tbody th span {
        font-size: 2.4rem;
    }

    .c-table03 tbody th[rowspan] {
        padding: 10px 5px 10px 0.7em !important;
    }

    .c-table03 tbody td {
        vertical-align: middle;
    }

    .c-table03 tbody td:not([class]) {
        width: 43.2%;
    }

    .c-table03__gray {
        font-size: 3rem;
        font-weight: 700;
        padding-right: 20px;
    }

    .c-table03__gray span {
        font-size: 2.4rem;
    }

    .c-table03__special-th {
        padding: 30px 5px 15px 1em;
    }

    .c-table03__special-td {
        padding: 40px 0 15px 5px;
    }
}

.c-table03.c-table03--cols table {
    width: 100%;
    margin-top: 2em;
    border-collapse: separate;
    border-spacing: 0;
}

.c-table03.c-table03--cols tbody {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 4rem;
    width: 100%;
}

.c-table03.c-table03--cols tr {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    border: 1px solid rgb(var(--border));
    text-align: center;
    height: 100%;
}

.c-table03.c-table03--cols th,
.c-table03.c-table03--cols td,
.c-table03 tbody td:not([class]) {
    width: 100%;
    text-align: center;
}

.c-table03.c-table03--cols th {
    font-weight: 700;
    font-size: clamp(16px, 1.6vw, 18px);
    color: #fff;
    background-color: #162C8D;
    padding: 0.6em 0.4em;
}

.c-table03.c-table03--cols td {
    flex: 1;
    font-size: clamp(14px, 1.4vw, 15px);
    line-height: 1.8;
    color: #333;
    padding: 1em;
}

@media (max-width: 768px) {
    .c-table03.c-table03--cols tbody {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}


/* .c-table04
================================================== */
.c-table04 tr {
    border-bottom: 1px solid rgb(var(--border));
}

.c-table04 tr:first-child th {
    padding-top: 0;
}

.c-table04 th,
.c-table04 td {
    display: block;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
    text-align: left;
}

.c-table04 th {
    padding-top: 10px;
    font-size: 1.6rem;
}

.c-table04 td {
    padding-bottom: 10px;
}

.c-table04__date {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 10px 0;
    border-bottom: 1px solid rgb(var(--border));
}

.c-table04__date:first-child {
    padding-top: 0;
}

.c-table04__date:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

@media all and (min-width: 768px) {

    .c-table04 th,
    .c-table04 td {
        display: table-cell;
    }

    .c-table04 th {
        padding: 20px 20px 20px 80px;
        font-size: 1.6rem;
        width: 320px;
    }

    .c-table04 td {
        padding: 20px 80px 20px 0;
    }

    .c-table04__date {
        padding: 20px 0;
    }
}

/* .c-table05
================================================== */
.c-table05 tr {
    border-bottom: 1px solid rgb(var(--border));
}

.c-table05 tr:first-child th {
    padding-top: 0;
}

.c-table05 th,
.c-table05 td {
    display: block;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
    text-align: left;
}

.c-table05 th {
    padding-top: 10px;
    font-size: 1.6rem;
    color: #162C8D;
}

.officer-other {
    padding-bottom: 10px;
}

.c-table05__date {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 10px 0;
    border-bottom: 1px solid rgb(var(--border));
}

.c-table05__date:first-child {
    padding-top: 0;
}

.c-table05__date:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

@media all and (min-width: 768px) {

    .c-table05 th,
    .c-table05 td {
        display: table-cell;
    }

    .c-table05 th {
        padding: 20px 20px 20px 80px;
        font-size: 1.6rem;
        width: 320px;
    }

    .c-table05 td {
        padding: 20px 80px 20px 20px;
    }

    .officer-name {
        width: 220px;
        border-left: 1px solid rgb(var(--border));
        border-right: 1px solid rgb(var(--border));
    }

    .officer-other {
        width: 510px;
    }
}

/* ================================================== 
ヘッダー
================================================== */
/* .l-header
================================================ */
.l-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 320px;
    z-index: 2000;
}

@media all and (min-width: 768px) {
    .l-header {
        min-width: var(--contents_width_with_padding);
    }
}

/* .l-header.is-shown
================================================ */
.l-header.is-shown {
    background: #fff;
}

.l-header.is-shown .l-header-info__logo-link::before {
    opacity: 1;
}

.l-header.is-shown .l-nav-btn__line {
    background: rgb(var(--black));
}

@media all and (min-width: 768px) {
    .l-header.is-shown .l-nav-list__item-link {
        color: rgb(var(--black));
    }

    .l-header.is-shown .l-nav-list__item-link::before {
        border-color: rgb(var(--black));
    }

    .l-header.is-shown .l-nav-list__item-link[class*=menu]::after {
        display: inline-block;
        width: 8px;
        height: 5px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66261%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066261%22%20d%3D%22M587.941%2C354.766a1%2C1%2C0%2C0%2C1-.7-.289l-3.031-3a1%2C1%2C0%2C0%2C1%2C1.407-1.422l2.327%2C2.3%2C2.266-2.243a1%2C1%2C0%2C1%2C1%2C1.407%2C1.422l-2.969%2C2.939A1%2C1%2C0%2C0%2C1%2C587.941%2C354.766Z%22%20transform%3D%22translate(-583.911%20-349.766)%22%20fill%3D%22%23333%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-header.is-shown .l-nav-other__item {
        opacity: 1;
    }

    .l-header.is-shown .l-nav-other__item-txt {
        color: #858585;
    }

    .l-header.is-shown .l-nav-other__item-txt::after {
        border-color: rgb(var(--black));
    }

    .l-header.is-shown .l-nav-other__item-txt::before {
        background: #858585;
    }

    .l-header.is-shown .l-nav-contact__link {
        border: solid 2px #168f3c;
    }
}

/* .l-header-info
================================================== */
.l-header-info {
    position: relative;
    z-index: 3;
    height: 60px;
    border-bottom: solid 1px rgb(var(--border));
    box-sizing: border-box;
}

.l-header-info__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.l-header-info__logo {
    width: 199px;
    padding: 12px 0 0 20px;
}

.l-header-info__logo-link {
    position: relative;
}

.l-header-info__logo-link::before {
    opacity: 0;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 199px;
    height: 35px;
    /*background: url(../img/common/img_logo02_sp.png) no-repeat 0 100%/cover;*/
}

.l-header-info.is-open {
    background: #fff;
    border-bottom: 1px solid rgb(var(--border));
}

.l-header-info.is-open .l-header-info__logo-link::before {
    opacity: 1;
}

@media all and (min-width: 768px) {
    .l-header-info {
        height: 120px;
    }

    .l-header-info__logo {
        width: 322px;
        padding: 30px 0 0 40px;
    }

    .l-header-info__logo-link::before {
        opacity: 0;
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        width: 322px;
        height: 61px;
        /*background: url(../img/common/img_logo02_pc.png) no-repeat 0 100%/cover;*/
    }

    .l-header-info__btn-contact {
        margin: 0;
    }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
    border: none;
}

.l-nav-btn__line {
    position: absolute;
    left: 20px;
    width: 20px;
    height: 2px;
    content: "";
    background: #fff;
    transition: all 0.3s ease;
}

.l-nav-btn__line:nth-child(1) {
    top: 20px;
}

.l-nav-btn__line:nth-child(2) {
    top: 28px;
}

.l-nav-btn__line:nth-child(3) {
    top: 36px;
}

.l-nav-btn.is-open .l-nav-btn__line {
    background: rgb(var(--black));
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
    top: 28px;
    transform: rotate(-45deg);
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) {
    opacity: 0;
}

.l-nav-btn.is-open .l-nav-btn__line:nth-child(3) {
    top: 28px;
    transform: rotate(45deg);
}

.l-nav-btn__txt {
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 100%;
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
}

/* .l-nav
================================================ */
.l-nav {
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 2;
    width: 100%;
    max-height: calc(100vh - 60px);
    min-width: 320px;
    padding: 20px 20px 80px;
    background: rgb(var(--bg));
    box-sizing: border-box;
    text-align: center;
    -webkit-overflow-scrolling: touch;
}

@media all and (max-width: 767px) {
    .l-nav {
        overflow: auto;
        transform: translateX(120%);
        transition: all 0.3s ease;
    }

    .l-nav::-webkit-scrollbar {
        display: none;
    }

    .l-nav.is-open {
        transform: translateX(0);
    }
}

@media all and (min-width: 768px) {
    .l-nav {
        position: static;
        width: 100%;
        min-width: auto;
        padding: 0;
        background: none;
    }
}

/* .l-nav-list
================================================== */
.l-nav-list__item-link {
    display: block;
    padding: 15px 20px;
    font-weight: 700;
    text-align: left;
    border-bottom: solid 1px rgb(var(--border));
}

@media all and (max-width: 767px) {
    .l-nav-list__item-link {
        position: relative;
    }

    .l-nav-list__item-link::before {
        position: absolute;
        content: "";
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-list__item-link[target=_blank]::before {
        display: inline-block;
        width: 11px;
        height: 11px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%232968A6%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%232968A6%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-list__item-link[class*=toggle] {
        padding-right: 50px;
        cursor: pointer;
    }

    .l-nav-list__item-link[class*=toggle]::before,
    .l-nav-list__item-link[class*=toggle]::after {
        position: absolute;
        top: 50%;
        right: 20px;
        content: "";
        display: block;
        width: 16px;
        height: 2px;
        margin-top: -1px;
        background: #162C8D;
        transition: all 0.3s ease;
    }

    .l-nav-list__item-link[class*=toggle]::before {
        transform: rotate(-90deg);
    }

    .l-nav-list__item-link[class*=toggle].is-active::before {
        transform: rotate(0);
    }
}

@media all and (min-width: 768px) {
    .l-nav-list {
        position: absolute;
        top: 68px;
        right: 260px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        z-index: 4;
    }

    .l-nav-list__item+.l-nav-list__item {
        margin-left: 28px;
    }

    .l-nav-list__item-link {
        color: #fff;
        display: block;
        padding: 0;
        border-bottom: none;
        position: relative;
        overflow: hidden;
        cursor: pointer;
    }

    .l-nav-list__item-link::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 2px solid #fff;
        bottom: 0;
        left: auto;
        right: 0;
        width: 0;
    }

    .l-nav-list__item-link:hover::before {
        left: 0;
        width: 100%;
    }

    .l-nav-list__item-link.is-open::before {
        left: 0;
        width: 100%;
    }

    .l-nav-list__item-link.is-open::after {
        transform: scale(1, -1);
    }

    .l-nav-list__item-link[class*=menu]::after {
        display: inline-block;
        width: 8px;
        height: 5px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66261%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066261%22%20d%3D%22M587.941%2C354.766a1%2C1%2C0%2C0%2C1-.7-.289l-3.031-3a1%2C1%2C0%2C0%2C1%2C1.407-1.422l2.327%2C2.3%2C2.266-2.243a1%2C1%2C0%2C1%2C1%2C1.407%2C1.422l-2.969%2C2.939A1%2C1%2C0%2C0%2C1%2C587.941%2C354.766Z%22%20transform%3D%22translate(-583.911%20-349.766)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
        margin: 0 0 2px 6px;
    }

    .l-nav-list__child-wrap {
        box-sizing: border-box;
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        transform: translateY(100%);
        width: 100%;
        padding: 48px;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        background: #ddd;
    }

    .l-nav-list__item:hover .l-nav-list__child-wrap {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

/* .l-nav-overlay
================================================ */
.l-nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.25);
    z-index: 1000;
}

@media all and (min-width: 768px) {
    .l-nav-overlay {
        background: none;
    }
}

/* .l-nav-child
================================================ */
.l-nav-child__wrap {
    padding: 16px 20px;
    background: #fff;
}

.l-nav-child__item+.l-nav-child__item {
    margin-top: 7px;
}

.l-nav-child__link {
    font-size: 1.2rem;
    padding-left: 14px;
    text-align: left;
    display: block;
    position: relative;
}

.l-nav-child__link::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 8px;
    height: 2px;
    background: #162C8D;
}

/* .l-nav-company
================================================ */
@media all and (min-width: 768px) {
    .l-nav-company__wrap {
        display: none;
        position: fixed;
        width: 1120px;
        border-radius: 10px;
        padding: 60px;
        box-sizing: border-box;
        top: 151px;
        left: 50%;
        transform: translateX(-50%);
        background: #fff;
    }

    .l-nav-company__wrap.is-active {
        display: block;
    }

    .l-nav-company__in {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .l-nav-company__link {
        position: relative;
        line-height: 1.6;
        text-align: left;
    }

    .l-nav-company.is-wide {
        display: flex;
        flex-wrap: wrap;
        width: 330px;
        height: 220px;
    }

    .l-nav-company.is-wide .l-nav-company__item {
        width: 330px;
        display: flex;
        flex-wrap: wrap;
    }

    .l-nav-company.is-wide .l-nav-company__link {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
        font-weight: 700;
        width: 100%;
        background: #D5DAE0;
        border-radius: 10px;
        padding: 0;
        transition: all 0.3s ease;
    }

    .l-nav-company.is-wide .l-nav-company__link::before {
        display: none;
    }

    .l-nav-company.is-wide .l-nav-company__link-txt {
        position: relative;
        padding-top: 80px;
        padding-right: 30px;
        line-height: 1;
    }

    .l-nav-company.is-wide .l-nav-company__link-txt::before {
        position: absolute;
        content: "";
        bottom: 3px;
        right: 0;
        transition: all 0.3s ease;
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%23595959%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-wide .l-nav-company__link-txt::after {
        position: absolute;
        content: "";
        width: 60px;
        height: 60px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: url(../img/common/hdr-company_ico-01.png) no-repeat 0 100%/cover;
    }

    .l-nav-company.is-wide .l-nav-company__link:hover {
        color: #fff;
        background: #768190;
    }

    .l-nav-company.is-wide .l-nav-company__link:hover .l-nav-company__link-txt::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: calc(100% - 350px);
    }

    .l-nav-company.is-flex .l-nav-company__item {
        display: flex;
        flex-wrap: wrap;
        width: 315px;
        height: 100px;
    }

    .l-nav-company.is-flex .l-nav-company__item+.l-nav-company__item {
        margin-top: 0;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(2) .l-nav-company__link {
        background: #CCDAE9;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(2) .l-nav-company__link::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(2) .l-nav-company__link::after {
        background: url(../img/common/hdr-company_ico-03.png) no-repeat 0 100%/cover;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) {
        margin-top: 20px;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) .l-nav-company__link {
        background: #D2E6C8;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) .l-nav-company__link::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%2352992E%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) .l-nav-company__link::after {
        background: url(../img/common/hdr-company_ico-04.png) no-repeat 0 100%/cover;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) {
        margin-top: 20px;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) .l-nav-company__link {
        background: #DDCEEB;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) .l-nav-company__link::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%238A62B3%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) .l-nav-company__link::after {
        background: url(../img/common/hdr-company_ico-05.png) no-repeat 0 100%/cover;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(2) .l-nav-company__link:hover::before,
    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) .l-nav-company__link:hover::before,
    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) .l-nav-company__link:hover::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(2) .l-nav-company__link:hover {
        background: #6888B1;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(3) .l-nav-company__link:hover {
        background: #8EBA7B;
    }

    .l-nav-company.is-flex .l-nav-company__item:nth-child(4) .l-nav-company__link:hover {
        background: #A586C7;
    }

    .l-nav-company.is-flex .l-nav-company__link {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        font-size: 1.8rem;
        font-weight: 700;
        width: 100%;
        background: #EDDAC7;
        border-radius: 10px;
        padding-left: 95px;
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__link::before {
        position: absolute;
        content: "";
        top: 50%;
        right: 20px;
        left: auto;
        transform: translateY(-50%);
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210.585%22%20viewBox%3D%220%200%2017%2010.585%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66273%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066273%22%20d%3D%22M469.465%2C343.489a.982.982%2C0%2C0%2C0-.4-.78l-4.224-4.224a1%2C1%2C0%2C0%2C0-1.414%2C1.414l2.59%2C2.59H453.465a1%2C1%2C0%2C0%2C0%2C0%2C2h12.622l-2.581%2C2.581a1%2C1%2C0%2C1%2C0%2C1.414%2C1.414l4.252-4.253a.992.992%2C0%2C0%2C0%2C.29-.724C469.462%2C343.5%2C469.465%2C343.495%2C469.465%2C343.489Z%22%20transform%3D%22translate(-452.465%20-338.193)%22%20fill%3D%22%23E68C32%22%2F%3E%3C%2Fsvg%3E");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-company.is-flex .l-nav-company__link::after {
        position: absolute;
        content: "";
        width: 60px;
        height: 60px;
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
        background: url(../img/common/hdr-company_ico-02.png) no-repeat 0 100%/cover;
    }

    .l-nav-company.is-flex .l-nav-company__link:hover {
        color: #fff;
        background: #BD885F;
    }

    .l-nav-company.is-flex .l-nav-company__link:hover::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }
}

/* .l-nav-business
================================================ */
@media all and (min-width: 768px) {
    .l-nav-business {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding-top: 30px;
        margin-top: 20px;
        border-top: solid 1px rgb(var(--border));
        /*住宅事業削除後追加*/
        justify-content: center;
    }

    .l-nav-business__wrap {
        display: none;
        position: fixed;
        width: 1120px;
        border-radius: 10px;
        padding: 60px;
        box-sizing: border-box;
        top: 151px;
        left: 50%;
        transform: translateX(-50%);
        background: #fff;
    }

    .l-nav-business__wrap.is-active {
        display: block;
    }

    .l-nav-business__btn {
        text-align: left;
    }

    .l-nav-business__btn-txt {
        font-weight: 700;
        position: relative;
    }

    .l-nav-business__btn-txt::after {
        position: absolute;
        top: 50%;
        right: -27px;
        transform: translateY(-50%);
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-business__btn-txt::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 2px solid #162C8D;
        bottom: -8px;
        left: auto;
        right: 0;
        width: 0;
    }

    .l-nav-business__btn-link {
        transition: all 0.3s ease;
    }

    .l-nav-business__btn-link:hover {
        color: #162C8D;
    }

    .l-nav-business__btn-link:hover .l-nav-business__btn-txt::before {
        left: 0;
        width: 100%;
    }

    .l-nav-business__item {
        width: 220px;
        text-align: left;
        /*住宅事業削除後追加*/
        margin: 0 20px;
    }

    .l-nav-business__item-link {
        display: block;
        transition: all 0.3s ease;
    }

    .l-nav-business__item-link:hover {
        color: #162C8D;
    }

    .l-nav-business__item-link:hover .l-nav-business__item-txt::before {
        left: 0;
        width: 100%;
    }

    .l-nav-business__item-img {
        border-radius: 10px;
        overflow: hidden;
    }

    .l-nav-business__item-txt {
        margin-top: 10px;
        text-align: left;
        font-weight: 700;
        position: relative;
        display: inline-block;
    }

    .l-nav-business__item-txt::after {
        position: absolute;
        top: 50%;
        right: -27px;
        transform: translateY(-50%);
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .l-nav-business__item-txt::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 2px solid #162C8D;
        bottom: -3px;
        left: auto;
        right: 0;
        width: 0;
    }
}

/* .l-nav-download
================================================ */
.l-nav-download {
    margin: 30px 28px 0;
}

.l-nav-download__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #162C8D;
    background: rgb(var(--gray));
    border-radius: 25px;
}

.l-nav-download__txt {
    position: relative;
}

.l-nav-download__txt::after {
    display: inline-block;
    width: 11px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/security-blue_ico.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 0 2px 6px;
}

@media all and (min-width: 768px) {
    .l-nav-download {
        width: 207px;
        position: absolute;
        top: 29px;
        right: 260px;
        margin: 0;
        z-index: 4;
    }

    .l-nav-download__link {
        height: 30px;
        font-size: 1.4rem;
        transition: all 0.3s ease;
    }

    .l-nav-download__link:hover {
        color: #fff;
        background: #162C8D;
    }

    .l-nav-download__link:hover .l-nav-download__txt::after {
        display: inline-block;
        width: 11px;
        height: 12px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/security-white_ico.png");
        content: "";
        transition: all 0.3s ease;
    }
}

/* .l-nav-contact
================================================ */
.l-nav-contact {
    margin: 15px 28px 0;
}

.l-nav-contact__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80px;
    font-size: 1.6rem;
    font-weight: 700;
    background: #fff;
    border-radius: 40px;
    border: solid 2px #168f3c;
    box-sizing: border-box;
}

.l-nav-contact__txt {
    position: relative;
}

.l-nav-contact__txt::before {
    display: inline-block;
    width: 20px;
    height: 15px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/mail-green_ico.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 7px 2px 0;
}

@media all and (min-width: 768px) {
    .l-nav-contact {
        width: 200px;
        position: absolute;
        top: 28px;
        right: 40px;
        margin: 0;
        z-index: 4;
    }

    .l-nav-contact__link {
        height: 64px;
        font-size: 1.5rem;
        border: none;
        transition: all 0.3s ease;
    }

    .l-nav-contact__link:hover {
        color: #fff;
        background: #168f3c;
    }

    .l-nav-contact__link:hover .l-nav-contact__txt::before {
        display: inline-block;
        width: 20px;
        height: 15px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/mail-white_ico.png");
        content: "";
        transition: all 0.3s ease;
    }
}

/* .l-nav-other
================================================ */
.l-nav-other {
    margin-top: 30px;
}

.l-nav-other__item {
    font-size: 1.2rem;
}

.l-nav-other__item+.l-nav-other__item {
    margin-top: 8px;
}

@media all and (min-width: 768px) {
    .l-nav-other {
        position: absolute;
        top: 30px;
        right: 487px;
        margin: 0;
        z-index: 4;
        display: flex;
        flex-wrap: wrap;
    }

    .l-nav-other__item {
        font-size: 1.4rem;
    }

    .l-nav-other__item-link {
        opacity: 0.8;
        padding-left: 18px;
    }

    .l-nav-other__item+.l-nav-other__item {
        margin-top: 0;
        margin-left: 20px;
    }

    .l-nav-other__item-txt {
        color: #fff;
        position: relative;
    }

    .l-nav-other__item-txt::before {
        position: absolute;
        content: "";
        width: 10px;
        height: 2px;
        background: #fff;
        top: 50%;
        left: -18px;
    }

    .l-nav-other__item-txt::after {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 1px solid #fff;
        bottom: 0;
        left: auto;
        right: 0;
        width: 0;
    }

    .l-nav-other__item-link {
        display: block;
        position: relative;
        overflow: hidden;
        transition: all 0.3s ease;
    }

    .l-nav-other__item-link:hover {
        opacity: 1;
    }

    .l-nav-other__item-link:hover .l-nav-other__item-txt::after {
        left: 0;
        width: 100%;
    }
}

/* ================================================== 
フッターお問い合わせCTA
================================================== */
/* .footer-cv
================================================ */
.footer-cv {
    background: url(../img/common/cv-bg_sp.jpg) no-repeat top center/cover;
}

.footer-cv__inner {
    padding-top: 75px;
    padding-bottom: 75px;
}

.footer-cv__area-txt {
    color: #fff;
}

.footer-cv__head {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
}

.footer-cv__area-btn {
    margin-top: 25px;
}

.footer-cv__btn+.footer-cv__btn {
    margin-top: 15px;
}

.footer-cv__btn-link {
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    box-sizing: border-box;
}

.footer-cv__btn-num {
    margin-top: 8px;
    color: #fff;
    font-size: 2.4rem;
    line-height: 1;
}

.footer-cv__btn-num::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2215.997%22%20viewBox%3D%220%200%2016%2015.997%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66277%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066277%22%20d%3D%22M163.267%2C120.363a1.2%2C1.2%2C0%2C0%2C0-1.687%2C0l-1.6%2C1.6a13.413%2C13.413%2C0%2C0%2C1-5.937-5.944l1.6-1.6a1.2%2C1.2%2C0%2C0%2C0%2C0-1.684l-2.39-2.391a1.2%2C1.2%2C0%2C0%2C0-1.685%2C0l-.949.949a1.975%2C1.975%2C0%2C0%2C0-.558%2C1.133c-.106.659-.54%2C4.781%2C4.1%2C9.425%2C5%2C5%2C9.384%2C4.087%2C9.5%2C4.062a1.983%2C1.983%2C0%2C0%2C0%2C1.051-.547l.937-.937a1.194%2C1.194%2C0%2C0%2C0%2C0-1.685Z%22%20transform%3D%22translate(-149.998%20-110)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    margin: 0 6px 3px 0;
}

.footer-cv__btn-note {
    margin-top: 4px;
    color: #fff;
    opacity: 0.7;
    font-size: 1.1rem;
}

.footer-cv__btn-txt {
    font-weight: 700;
    font-size: 1.6rem;
}

.footer-cv__btn-txt::before {
    display: inline-block;
    width: 20px;
    height: 15px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/mail-green_ico.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 8px 3px 0;
}

.footer-cv__btn.is-tel .footer-cv__btn-link {
    border: solid 1px #fff;
}

.footer-cv__btn.is-contact .footer-cv__btn-link {
    background: #fff;
}

@media all and (min-width: 768px) {
    .footer-cv {
        background: url(../img/common/cv-bg.jpg) no-repeat top center/cover;
    }

    .footer-cv__inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        min-height: 517px;
    }

    .footer-cv__area-txt {
        width: calc(100% - 370px);
    }

    .footer-cv__area-btn {
        width: 370px;
    }

    .footer-cv__head {
        font-size: 3.7rem;
        margin-bottom: 40px;
    }

    .footer-cv__btn+.footer-cv__btn {
        margin-top: 20px;
    }

    .footer-cv__btn-link {
        height: 110px;
        border-radius: 55px;
    }

    .footer-cv__btn-num {
        font-size: 3rem;
    }

    .footer-cv__btn-num::before {
        display: inline-block;
        width: 23px;
        height: 23px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/tel-white_ico.png");
        content: "";
        transition: all 0.3s ease;
        margin: 0 6px 3px 0;
    }

    .footer-cv__btn-note {
        font-size: 1.3rem;
    }

    .footer-cv__btn-txt {
        font-size: 2rem;
    }

    .footer-cv__btn-txt::before {
        display: inline-block;
        width: 23px;
        height: 17px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/mail-green_ico.png");
        content: "";
        transition: all 0.3s ease;
        margin: 0 10px 4px 0;
    }

    .footer-cv__btn.is-contact .footer-cv__btn-link {
        transition: all 0.3s ease;
    }

    .footer-cv__btn.is-contact .footer-cv__btn-link:hover {
        color: #fff;
        background: #168f3c;
    }

    .footer-cv__btn.is-contact .footer-cv__btn-link:hover .footer-cv__btn-txt::before {
        display: inline-block;
        width: 23px;
        height: 17px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/mail-white_ico.png");
        content: "";
        transition: all 0.3s ease;
    }
}

@media (min-width: 1700px) {
    .footer-cv__area-txt {
        width: calc(100% - 760px);
    }

    .footer-cv__area-btn {
        width: 760px;
        display: flex;
        flex-wrap: wrap;
    }

    .footer-cv__btn {
        width: 370px;
    }

    .footer-cv__btn+.footer-cv__btn {
        margin-top: 0;
        margin-left: 20px;
    }
}

/* ================================================== 
フッター
================================================== */
/* .l-footer
================================================ */
.l-footer {
    position: relative;
    background: #162C8D;
    text-align: center;
}

.l-footer__inner {
    padding-top: 50px;
    padding-bottom: 50px;
    border-top: solid 1px rgba(255, 255, 255, 0.25);
}

@media all and (min-width: 768px) {
    .l-footer__content {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .l-footer__inner {
        padding-top: 100px;
        padding-bottom: 60px;
        border: none;
    }
}

/* .l-footer-page-top
================================================ */
.l-footer-page-top__link {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding: 15px;
    background: #162C8D;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0.6;
}

.l-footer-page-top__txt {
    font-size: 1.3rem;
    letter-spacing: 0.02em;
    position: relative;
}

.l-footer-page-top__txt::before {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 8px 3px 0;
    transform: rotate(-90deg);
}

@media all and (min-width: 768px) {
    .l-footer-page-top {
        position: absolute;
        right: 10px;
        bottom: 120px;
        z-index: 10;
        transform: rotate(90deg);
    }

    .l-footer-page-top.is-shown {
        opacity: 1;
        visibility: visible;
    }

    .l-footer-page-top__link {
        padding: 0;
    }

    .l-footer-page-top__link:hover {
        opacity: 1;
    }

    .l-footer-page-top__txt::before {
        transform: rotate(-180deg);
    }
}

@media all and (min-width: 1380px) {
    .l-footer-page-top {
        bottom: 150px;
    }
}

/* .l-footer-info
================================================ */
.l-footer-info {
    margin-bottom: 40px;
}

.l-footer-info__logo {
    margin: 0 48px;
}

.l-footer-info__address {
    color: #fff;
    font-size: 1.25rem;
    margin-top: 20px;
}

.l-footer-info__bnr {
    width: 200px;
    margin: 0 5px;
}

.l-footer-info__bnr-wrap {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

@media all and (min-width: 768px) {
    .l-footer-info {
        margin-bottom: 0;
    }

    .l-footer-info__logo {
        width: 320px;
        margin: 0;
    }

    .l-footer-info__address {
        text-align: left;
        font-size: 1.4rem;
        margin-top: 30px;
    }

    .l-footer-info__bnr {
        width: 240px;
        margin: 0 10px 0 0;
    }

    .l-footer-info__bnr-wrap {
        margin-top: 40px;
        justify-content: flex-start;
    }

    .l-footer-info__bnr a {
        display: block;
        transition: all 0.3s ease;
    }

    .l-footer-info__bnr a:hover {
        opacity: 0.5;
    }
}

/* .l-footer-sitemap
================================================ */
.l-footer-sitemap__wrap {
    border-top: solid 1px rgba(255, 255, 255, 0.25);
}

.l-footer-sitemap__item {
    border-bottom: solid 1px rgba(255, 255, 255, 0.25);
}

.l-footer-sitemap__link {
    color: #fff;
    position: relative;
    display: block;
    padding: 15px 20px;
    font-weight: 700;
    text-align: left;
}

.l-footer-sitemap__link::before {
    position: absolute;
    content: "";
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.l-footer-sitemap__link[target=_blank]::before {
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.l-footer-sitemap__link[class*=toggle] {
    padding-right: 50px;
    cursor: pointer;
}

.l-footer-sitemap__link[class*=toggle]::before,
.l-footer-sitemap__link[class*=toggle]::after {
    position: absolute;
    top: 50%;
    right: 20px;
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    background: #fff;
    transition: all 0.3s ease;
}

.l-footer-sitemap__link[class*=toggle]::before {
    transform: rotate(-90deg);
}

.l-footer-sitemap__link[class*=toggle].is-active::before {
    transform: rotate(0);
}

.l-footer-sitemap__txt {
    position: relative;
}

.l-footer-sitemap__txt::after {
    position: absolute;
    content: "";
    transition: all 0.3s ease;
    border-bottom: 1px solid #fff;
    bottom: 1px;
    left: auto;
    right: 0;
    width: 0;
}

@media all and (min-width: 768px) {
    .l-footer-sitemap {
        border-top: solid 1px rgba(255, 255, 255, 0.25);
        width: 200px;
    }

    .l-footer-sitemap__wrap {
        border: none;
        width: 700px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .l-footer-sitemap__link {
        font-size: 1.5rem;
        padding: 15px 0;
    }

    .l-footer-sitemap__link::before {
        display: none;
    }

    .l-footer-sitemap__link[class*=toggle]::before,
    .l-footer-sitemap__link[class*=toggle]::after {
        display: none;
    }

    .l-footer-sitemap__link.has-child {
        padding-bottom: 6px;
        border: none;
    }

    .l-footer-sitemap__link[href] {
        cursor: pointer;
    }

    .l-footer-sitemap__link[href]:hover {
        opacity: 0.5;
    }

    .l-footer-sitemap__link[href]:hover .l-footer-sitemap__txt::after {
        left: 0;
        width: 100%;
    }
}

/* .l-footer-child
================================================ */
.l-footer-child__wrap {
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.1);
}

.l-footer-child__item {
    padding-left: 14px;
}

.l-footer-child__item+.l-footer-child__item {
    margin-top: 7px;
}

.l-footer-child__link {
    font-size: 1.2rem;
    text-align: left;
    display: block;
    position: relative;
    color: #fff;
}

.l-footer-child__link::before {
    position: absolute;
    content: "";
    top: 12px;
    left: -14px;
    width: 8px;
    height: 2px;
    background: #fff;
}

.l-footer-child__txt {
    position: relative;
}

.l-footer-child__txt::after {
    position: absolute;
    content: "";
    transition: all 0.3s ease;
    border-bottom: 1px solid #fff;
    bottom: 1px;
    left: auto;
    right: 0;
    width: 0;
}

@media all and (min-width: 768px) {
    .l-footer-child__wrap {
        display: block !important;
        background: none;
        padding: 0 0 15px 0;
        border-bottom: solid 1px rgba(255, 255, 255, 0.25);
    }

    .l-footer-child__item+.l-footer-child__item {
        margin-top: 5px;
    }

    .l-footer-child__link {
        font-size: 1.3rem;
    }

    .l-footer-child__link:before {
        top: 13px;
    }

    .l-footer-child__link:hover {
        opacity: 0.5;
    }

    .l-footer-child__link:hover .l-footer-child__txt::after {
        left: 0;
        width: 100%;
    }
}

/* .l-footer-btn
================================================ */
.l-footer-btn {
    margin: 30px 28px 0;
}

.l-footer-btn__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #162C8D;
    background: rgb(var(--gray));
    border-radius: 25px;
}

.l-footer-btn__link[target=_blank] .l-footer-btn__txt::after {
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.584%22%20height%3D%2210.584%22%20viewBox%3D%220%200%2010.584%2010.584%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_35980%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2035980%22%20transform%3D%22translate(-156%20-236)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66262%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066262%22%20d%3D%22M164.292%2C237.323v3.969h-3.969v-3.969h3.969M165.615%2C236H159v6.615h6.615V236Z%22%20transform%3D%22translate(0.969%200)%22%20fill%3D%22%232968A6%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66263%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066263%22%20d%3D%22M161.292%2C242.969v1.323h-3.969v-3.969h1.323V239H156v6.615h6.615v-2.646Z%22%20transform%3D%22translate(0%200.969)%22%20fill%3D%22%232968A6%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
}

.l-footer-btn__txt {
    position: relative;
}

.l-footer-btn__txt::after {
    display: inline-block;
    width: 11px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2213.001%22%20viewBox%3D%220%200%2012%2013.001%22%3E%20%3Cpath%20id%3D%22%E5%90%88%E4%BD%93_16%22%20data-name%3D%22%E5%90%88%E4%BD%93%2016%22%20d%3D%22M.788%2C12a.787.787%2C0%2C1%2C1%2C0-1.574h9.426a.787.787%2C0%2C0%2C1%2C0%2C1.574ZM4.759%2C9.117%2C1.241%2C5.692a.767.767%2C0%2C0%2C1%2C0-1.1l.012-.01a.814.814%2C0%2C0%2C1%2C1.131%2C0L4.692%2C6.826V.779A.79.79%2C0%2C0%2C1%2C5.493%2C0h.015a.789.789%2C0%2C0%2C1%2C.8.779V6.826L8.617%2C4.578a.814.814%2C0%2C0%2C1%2C1.131%2C0l.012.01a.767.767%2C0%2C0%2C1%2C0%2C1.1L6.241%2C9.117a1.067%2C1.067%2C0%2C0%2C1-1.481%2C0Z%22%20transform%3D%22translate(0.5%200.5)%22%20fill%3D%22%232968A6%22%20stroke%3D%22rgba(0%2C0%2C0%2C0)%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    margin: 0 0 2px 6px;
}

@media all and (max-width: 767px) {
    .l-footer-btn+.l-footer-btn {
        margin-top: 10px;
    }
}

@media all and (min-width: 768px) {
    .l-footer-btn {
        width: 200px;
        margin: 0 0 0 10px;
    }

    .l-footer-btn__wrap {
        width: 700px;
        margin: 30px 0 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .l-footer-btn__link {
        font-size: 1.3rem;
        transition: all 0.3s ease;
    }

    .l-footer-btn__link:hover {
        background: #fff;
    }
}

/* .l-footer-other
================================================ */
.l-footer-other__wrap {
    border-top: solid 1px rgba(255, 255, 255, 0.25);
}

.l-footer-other__inner {
    padding-top: 25px;
    padding-bottom: 25px;
}

.l-footer-other__item {
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.2rem;
}

.l-footer-other__cr {
    padding-top: 20px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 1.3rem;
    letter-spacing: 0.02em;
}

@media all and (max-width: 767px) {
    .l-footer-other__item+.l-footer-other__item {
        margin-top: 8px;
    }
}

@media all and (min-width: 768px) {
    .l-footer-other {
        width: 50%;
        text-align: left;
    }

    .l-footer-other__inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .l-footer-other__item {
        display: inline-block;
        font-size: 1.3rem;
    }

    .l-footer-other__item+.l-footer-other__item {
        margin-left: 35px;
    }

    .l-footer-other__item-link {
        display: block;
        position: relative;
        transition: all 0.3s ease;
    }

    .l-footer-other__item-link::after {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 1px solid #fff;
        bottom: 6px;
        left: auto;
        right: 0;
        width: 0;
    }

    .l-footer-other__item-link:hover {
        color: #fff;
    }

    .l-footer-other__item-link:hover::after {
        left: 0;
        width: 100%;
    }

    .l-footer-other__cr {
        padding: 0;
        font-size: 1.4rem;
        width: 50%;
        text-align: right;
    }
}

/* ================================================== 
TOPページ/KV
================================================== */
/* .l-main-img HOME
================================================ */
.l-main-img {
    position: relative;
}

.l-main-img__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 0;
}

.l-main-img__mv {
    overflow: hidden;
}

.l-main-img__mv .slick-list {
    font-size: 0;
}

.l-main-img__area-txt {
    padding-bottom: 50px;
}

.l-main-img__copy {
    text-align: center;
    overflow: hidden;
    display: block;
}

.l-main-img__copy-img {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
}

.l-main-img__sub {
    margin-top: 22px;
    overflow: hidden;
}

.l-main-img__sub-txt {
    text-align: left;
    color: #fff;
    font-size: 1.5rem;
    opacity: 0;
    transform: translate3d(0, 100%, 0);
}

.l-main-img.is-animated .l-main-img__copy-img {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity 1.25s cubic-bezier(0.22, 0.94, 0.44, 1) 1s, transform 1.25s cubic-bezier(0.22, 0.94, 0.44, 1) 1s;
    transition-delay: 0.6s;
}

.l-main-img.is-animated .l-main-img__sub-txt {
    opacity: 1;
    transform: translateZ(0);
    transition: opacity 1.25s cubic-bezier(0.22, 0.94, 0.44, 1) 1s, transform 1.25s cubic-bezier(0.22, 0.94, 0.44, 1) 1s;
    transition-delay: 1.5s;
    text-shadow: 2px 3px 3px rgba(51, 51, 51, 1);
}

@media all and (max-width: 767px) {
    .l-main-img {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
        height: 100vh;
    }

    .l-main-img__mv {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .l-main-img__mv-item {
        height: 100%;
    }

    .l-main-img .slick-slider .slick-track,
    .l-main-img .slick-slider .slick-list {
        height: 100%;
    }

    .l-main-img .slick-slider img {
        height: 100vh;
        margin: auto;
        max-height: 100%;
        max-width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
    }
}

@media all and (min-width: 768px) {
    .l-main-img__inner {
        padding-top: 120px;
        left: 50%;
        transform: translateX(-50%);
        align-items: center;
        justify-content: flex-start;
    }

    .l-main-img__area-txt {
        padding-bottom: 0;
    }

    .l-main-img__copy {
        width: 530px;
    }

    .l-main-img__sub {
        margin-top: 45px;
    }

    .l-main-img__sub-txt {
        font-size: 1.8rem;
    }
}

/* ================================================== 
下層ページ/KV
================================================== */
/* .l-sub-img
================================================ */
.l-sub-img {
    background: #162C8D;
    font-size: 1.5rem;
    text-align: center;
    box-sizing: border-box;
    padding-top: 60px;
}

.l-sub-img__inner {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: 240px;
}

.l-sub-img__head {
    font-size: 2.9rem;
    font-weight: 700;
    color: #fff;
}

@media all and (min-width: 768px) {
    .l-sub-img {
        font-size: 2rem;
        background: url(../img/common/sub-bg_blue.jpg) no-repeat center/cover;
        padding-top: 120px;
    }

    .l-sub-img__inner {
        min-height: 280px;
    }

    .l-sub-img__head {
        font-size: 4.6rem;
    }
}

.l-sub-img.is-vision {
    background: url(../img/company/company-key_sp.jpg) no-repeat center/cover;
}

.l-sub-img.is-vision .l-sub-img__inner {
    min-height: 310px;
}

@media all and (min-width: 768px) {
    .l-sub-img.is-vision {
        background: url(../img/company/company-key.jpg) no-repeat center/cover;
    }

    .l-sub-img.is-vision .l-sub-img__inner {
        min-height: 479px;
    }
}

/* ================================================== 
パンくずリスト
================================================== */
/* .l-breadcrumb
================================================ */
.l-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    padding-top: 15px;
}

.l-breadcrumb-list__item {
    display: inline-block;
    vertical-align: top;
    font-size: 1.2rem;
    color: rgb(var(--darkgray));
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item {
    margin-left: 5px;
}

.l-breadcrumb-list__item+.l-breadcrumb-list__item:before {
    content: "-";
    margin-right: 5px;
}

.l-breadcrumb-list a.l-breadcrumb-list__txt {
    color: #162C8D;
}

@media all and (max-width: 767px) {
    .l-breadcrumb-list {
        white-space: nowrap;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        overflow: auto;
    }

    .l-breadcrumb-list::-webkit-scrollbar {
        display: none;
    }
}

@media all and (min-width: 768px) {
    .l-breadcrumb-list {
        padding-top: 25px;
    }

    .l-breadcrumb-list__item {
        font-size: 1.3rem;
    }
}

/* ================================================== 
アニメーション共通
================================================== */
.js-c-anime-elem[data-anime=fadein-up] {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-up].is-animated {
    opacity: 1;
    transform: translateY(0);
}

.js-c-anime-elem[data-anime=fadein-left] {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-left].is-animated {
    opacity: 1;
    transform: translateX(0);
}

.js-c-anime-elem[data-anime=fadein-right] {
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.6s ease;
}

.js-c-anime-elem[data-anime=fadein-right].is-animated {
    opacity: 1;
    transform: translateX(0);
}

.js-c-anime-elem[data-anime-delay="0.1"] {
    transition-delay: 0.1s;
}

.js-c-anime-elem[data-anime-delay="0.2"] {
    transition-delay: 0.2s;
}

.js-c-anime-elem[data-anime-delay="0.3"] {
    transition-delay: 0.3s;
}

.js-c-anime-elem[data-anime-delay="0.4"] {
    transition-delay: 0.4s;
}

.js-c-anime-elem[data-anime-delay="0.5"] {
    transition-delay: 0.5s;
}

.js-c-anime-elem[data-anime-delay="0.6"] {
    transition-delay: 0.6s;
}

.js-c-anime-elem[data-anime-delay="0.7"] {
    transition-delay: 0.7s;
}

.js-c-anime-elem[data-anime-delay="0.8"] {
    transition-delay: 0.8s;
}

.js-c-anime-elem[data-anime-delay="0.9"] {
    transition-delay: 0.9s;
}

.js-c-anime-elem[data-anime-delay="1"] {
    transition-delay: 1s;
}

.js-c-anime-elem[data-anime-delay="1.1"] {
    transition-delay: 1.1s;
}

.js-c-anime-elem[data-anime-delay="1.2"] {
    transition-delay: 1.2s;
}

.js-c-anime-elem[data-anime-delay="1.3"] {
    transition-delay: 1.3s;
}

.js-c-anime-elem[data-anime-delay="1.4"] {
    transition-delay: 1.4s;
}

.js-c-anime-elem[data-anime-delay="1.5"] {
    transition-delay: 1.5s;
}

.js-c-anime-elem[data-anime-delay="1.6"] {
    transition-delay: 1.6s;
}

.js-c-anime-elem[data-anime-delay="1.7"] {
    transition-delay: 1.7s;
}

.js-c-anime-elem[data-anime-delay="1.8"] {
    transition-delay: 1.8s;
}

.js-c-anime-elem[data-anime-delay="1.9"] {
    transition-delay: 1.9s;
}

.js-c-anime-elem[data-anime-delay="2"] {
    transition-delay: 2s;
}

/* ================================================== 
スライダー共通
================================================== */
/* .js-c-slider
================================================== */
.js-c-slider__arrow {
    position: absolute;
    top: -75px;
    z-index: 10;
    width: 45px;
    height: 45px;
    border: solid 2px rgb(var(--border));
    border-radius: 50px;
    box-sizing: border-box;
}

.js-c-slider__arrow::before {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.js-c-slider__arrow.is-prev {
    right: 50px;
}

.js-c-slider__arrow.is-prev::before {
    transform: translate(-50%, -50%) scale(-1, -1);
}

.js-c-slider__arrow.is-next {
    right: 0;
}

@media all and (min-width: 768px) {
    .js-c-slider__arrow {
        width: 60px;
        height: 60px;
        top: -105px;
        transition: all 0.3s ease;
    }

    .js-c-slider__arrow:hover {
        cursor: pointer;
        border: solid 2px #162C8D;
        background: #162C8D;
    }

    .js-c-slider__arrow:hover::before {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .js-c-slider__arrow.is-prev {
        right: 70px;
    }

    .js-c-slider__arrow.is-next {
        right: 0;
    }
}

.js-c-switch-tab {
    cursor: pointer;
}

.js-c-switch-content {
    display: none;
}

.js-c-switch-content.is-active {
    display: block;
}

.js-c-toggle-trigger {
    cursor: pointer;
}

.js-c-toggle-content {
    display: none;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir=rtl] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* ================================================== 
TOPページ/お知らせ
================================================== */
/* .home-news
================================================ */
.home-news {
    position: relative;
    border-bottom: solid 1px rgba(203, 203, 203, 0.55);
}

.home-news__bg {
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: -1;
}

.home-news__inner {
    position: relative;
    padding-top: 5px;
    padding-bottom: 15px;
}

.home-news__archive {
    height: 180px;
    overflow-y: scroll;
}

.home-news__archive .c-archive01__item {
    border: none;
}

.home-news__archive .c-archive01__item-head {
    color: #858585;
}

.home-news__btn {
    text-align: right;
}

.home-news__btn-txt {
    color: #858585;
}

.home-news__btn-txt::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    margin: 0 0 3px 6px;
}

@media all and (min-width: 768px) {
    .home-news__bg {
        width: 79.2%;
    }

    /*.home-news__inner {*/
    /*    padding-top: 0;*/
    /*    padding-bottom: 0;*/
    /*    display: flex;*/
    /*    flex-wrap: wrap;*/
    /*    align-items: center;*/
    /*}*/

    .home-news__archive {
        /*width: calc(100% - 155px);*/
        padding-right: 30px;
        box-sizing: border-box;
        height: 200px;
        overflow-y: scroll;
    }

    .home-news__btn {
        /*width: 155px;*/
        /*border-left: solid 1px rgb(var(--border));*/
        box-sizing: border-box;
    }

    .home-news__btn-txt {
        position: relative;
        transition: all 0.3s ease;
    }

    .home-news__btn-txt::after {
        margin: 0 0 4px 10px;
    }

    .home-news__btn-txt::before {
        position: absolute;
        content: "";
        transition: all 0.3s ease;
        border-bottom: 2px solid #162C8D;
        bottom: -7px;
        left: auto;
        right: 0;
        width: 0;
    }

    .home-news__btn-link {
        padding: 2px 0;
        display: block;
        overflow: hidden;
    }

    .home-news__btn-link:hover .home-news__btn-txt {
        color: #162C8D;
    }

    .home-news__btn-link:hover .home-news__btn-txt::before {
        left: 0;
        width: 100%;
    }
}

/* .home-news
================================================ */
.home-news__inner {
    padding-top: 70px;
    padding-bottom: 70px;
}

@media all and (min-width: 768px) {
    .home-news__inner {
        padding-top: 140px;
        padding-bottom: 140px;
    }

    .home-news__wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .home-news__area-txt {
        width: 260px;
    }

    .home-news__content {
        width: calc(100% - 260px);
    }

    .home-news__btn {
        margin-top: 50px;
    }
}


/* ================================================== 
TOPページ/経営ビジョン
================================================== */
/* .home-vision
================================================ */
.home-vision__inner {
    padding-top: 75px;
    padding-bottom: 75px;
}

.home-vision__img {
    margin-bottom: 35px;
    position: relative;
}

.home-vision__img::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 10px;
    left: -10px;
    border-radius: 10px;
    background: url(../img/common/bg_img01_sp.png) 0 100%/cover;
}

.home-vision__img img {
    position: relative;
    border-radius: 10px;
}

@media all and (min-width: 768px) {
    .home-vision {
        overflow: hidden;
    }

    .home-vision__inner {
        padding-top: 150px;
        padding-bottom: 150px;
    }

    .home-vision__content {
        position: relative;
    }

    .home-vision__area-img {
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: 60px;
        margin-bottom: 0;
    }

    .home-vision__img {
        width: 820px;
    }

    .home-vision__img::before {
        top: 50px;
        left: -50px;
        background: url(../img/common/bg_img01_pc.png) 0 100%/cover;
    }

    .home-vision__area-txt {
        width: 570px;
    }
}

@media (min-width: 1700px) {
    .home-vision__area-img {
        margin-left: -60px;
    }
}

/* ================================================== 
TOPページ/事業内容
================================================== */
/* .home-business
================================================ */
.home-business {
    background: url(../img/top/business-bg_sp.jpg) no-repeat top center/cover;
    position: relative;
}

.home-business::before {
    position: absolute;
    content: "";
    width: calc(100% - 20px);
    height: 512px;
    background: rgb(var(--bg));
    top: 225px;
    left: 0;
    border-radius: 0 10px 10px 0;
}

.home-business__inner {
    padding-top: 225px;
    padding-bottom: 70px;
}

.home-business__area-txt {
    padding-top: 70px;
    padding-bottom: 60px;
}

.home-business__txt {
    position: relative;
}

.home-business-list__link {
    display: block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

.home-business-list__link::before {
    transition: all 0.3s ease;
    position: absolute;
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #162C8D;
    bottom: 25px;
    right: 25px;
    z-index: 2;
}

.home-business-list__link::after {
    transition: all 0.3s ease;
    position: absolute;
    bottom: 40px;
    right: 37px;
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
    z-index: 2;
}

.home-business-list__img {
    position: relative;
}

.home-business-list__img::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 174px;
    bottom: 0;
    left: 0;
    background: linear-gradient(to top, #333, transparent);
    opacity: 0.65;
}

.home-business-list__img::after {
    transition: all 0.3s ease;
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(var(--black));
    top: 0;
    left: 0;
    opacity: 0;
}

.home-business-list__area-txt {
    position: absolute;
    bottom: 24px;
    left: 25px;
    color: #fff;
}

.home-business-list__en {
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    line-height: 1;
    opacity: 0.6;
}

.home-business-list__txt {
    margin-top: 5px;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.6;
}

@media all and (max-width: 767px) {
    .home-business-list__item+.home-business-list__item {
        margin-top: 10px;
    }
}

@media all and (min-width: 768px) {
    .home-business {
        overflow: hidden;
        background: url(../img/top/business-bg.jpg) no-repeat top center/cover;
    }

    .home-business::before {
        top: 350px;
        width: 1720px;
    }

    .home-business__inner {
        padding-top: 350px;
        padding-bottom: 140px;
    }

    .home-business__area-txt {
        max-width: 1040px;
        margin: 0 auto;
        padding-top: 140px;
        padding-bottom: 100px;
        display: flex;
        flex-wrap: wrap;
    }

    .home-business__head {
        width: 50%;
    }

    .home-business__wrap {
        width: 50%;
        padding-top: 60px;
    }

    .home-business-list {
        display: flex;
        /*flex-wrap: wrap;*/
        margin: 0 -6px;
        justify-content: center;
        gap: 15px 5px;
    }

    .home-business-list__item {
        width: calc(40% - 12px);
        margin: 0 6px;
    }

    .home-business-list__link::before {
        bottom: 30px;
        right: 15px;
    }

    .home-business-list__link::after {
        bottom: 45px;
        right: 26px;
    }

    .home-business-list__link:hover .home-business-list__img::after {
        opacity: 0.5;
    }

    .home-business-list__link:hover::before {
        background: #fff;
    }

    .home-business-list__link:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .home-business-list__area-txt {
        left: 40px;
        bottom: 35px;
        width: calc(100% - 100px);
    }

    .home-business-list__en {
        font-size: 1.4rem;
    }

    .home-business-list__txt {
        margin-top: 10px;
        font-size: 2.2rem;
    }
}

/* ================================================== 
TOPページ/導入事例
================================================== */
/* .home-case
================================================ */
.home-case__inner {
    padding-top: 70px;
    padding-bottom: 70px;
}

.home-case-list {
    position: relative;
}

.home-case .slick-list {
    margin-right: calc(50% - 50vw);
}

.home-case .slick-counter {
    position: absolute;
    top: -66px;
    right: 105px;
    opacity: 0.6;
}

@media all and (min-width: 768px) {
    .home-case {
        overflow: hidden;
    }

    .home-case__inner {
        padding-top: 140px;
        padding-bottom: 0px;
    }

    .home-case .slick-counter {
        font-size: 2rem;
        top: -97px;
        right: 170px;
    }
}

/* ================================================== 
TOPページ/会社情報
================================================== */
/* .home-company
================================================ */
.home-company {
    position: relative;
}

.home-company::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 963px;
    top: 0;
    left: 0;
    background: url(../img/home/bg_company01_sp.png) no-repeat bottom center/cover;
    z-index: -1;
}

.home-company__inner {
    padding-top: 70px;
    padding-bottom: 70px;
}

.home-company-list__item:nth-child(2) .home-company-list__link {
    background: #EDDAC7;
}

.home-company-list__item:nth-child(2) .home-company-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/orange-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.home-company-list__item:nth-child(2) .home-company-list__txt::before {
    background: url(../img/common/hdr-company_ico-02.png) no-repeat 0 100%/cover;
}

.home-company-list__item:nth-child(3) .home-company-list__link {
    background: #CCDAE9;
}

.home-company-list__item:nth-child(3) .home-company-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.home-company-list__item:nth-child(3) .home-company-list__txt::before {
    background: url(../img/common/hdr-company_ico-03.png) no-repeat 0 100%/cover;
}

.home-company-list__item:nth-child(4) .home-company-list__link {
    background: #D2E6C8;
}

.home-company-list__item:nth-child(4) .home-company-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/green-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.home-company-list__item:nth-child(4) .home-company-list__txt::before {
    background: url(../img/common/hdr-company_ico-04.png) no-repeat 0 100%/cover;
}

.home-company-list__item:nth-child(5) .home-company-list__link {
    background: #DDCEEB;
}

.home-company-list__item:nth-child(5) .home-company-list__link::after {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/purple-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.home-company-list__item:nth-child(5) .home-company-list__txt::before {
    background: url(../img/common/hdr-company_ico-05.png) no-repeat 0 100%/cover;
}

.home-company-list__link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 80px;
    background: #D5DAE0;
    border-radius: 10px;
    padding: 15px;
    box-sizing: border-box;
    position: relative;
}

.home-company-list__link::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/black-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

.home-company-list__txt {
    padding-left: 60px;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
}

.home-company-list__txt::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: url(../img/common/hdr-company_ico-01.png) no-repeat 0 100%/cover;
}

@media all and (max-width: 767px) {
    .home-company-list__item+.home-company-list__item {
        margin-top: 10px;
    }
}

@media all and (min-width: 768px) {
    .home-company::before {
        width: 100%;
        height: 930px;
        top: 0;
        left: 0;
        background: url(../img/home/bg_company01_pc.png) no-repeat bottom center/cover;
        z-index: -1;
    }

    .home-company__inner {
        padding-top: 140px;
        padding-bottom: 131px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .home-company__head {
        width: 280px;
    }

    .home-company-list {
        width: calc(100% - 280px);
        display: flex;
        flex-wrap: wrap;
        margin: 0 -4px;
    }

    .home-company-list__item {
        width: calc(33.33% - 8px);
        margin: 4px;
    }

    .home-company-list__item:nth-child(4),
    .home-company-list__item:nth-child(5) {
        width: calc(50% - 8px);
    }

    .home-company-list__item:nth-child(2) .home-company-list__link:hover::after,
    .home-company-list__item:nth-child(3) .home-company-list__link:hover::after,
    .home-company-list__item:nth-child(4) .home-company-list__link:hover::after,
    .home-company-list__item:nth-child(5) .home-company-list__link:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .home-company-list__item:nth-child(2) .home-company-list__link:hover {
        background: #BD885F;
    }

    .home-company-list__item:nth-child(3) .home-company-list__link:hover {
        background: #6888B1;
    }

    .home-company-list__item:nth-child(4) .home-company-list__link:hover {
        background: #8EBA7B;
    }

    .home-company-list__item:nth-child(5) .home-company-list__link:hover {
        background: #A586C7;
    }

    .home-company-list__link {
        height: 120px;
        padding: 0 50px 0 30px;
        transition: all 0.3s ease;
    }

    .home-company-list__link::after {
        right: 30px;
    }

    .home-company-list__link:hover {
        color: #fff;
        background: #768190;
    }

    .home-company-list__link:hover::after {
        display: inline-block;
        width: 17px;
        height: 10px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .home-company-list__txt {
        padding-left: 80px;
        font-size: 2rem;
        line-height: 1.6;
    }

    .home-company-list__txt::before {
        width: 60px;
        height: 60px;
    }
}

@media (min-width: 1700px) {
    .home-company-list__link {
        padding: 0 50px 0 40px;
    }

    .home-company-list__link::after {
        right: 40px;
    }
}

/* ================================================== 
TOPページ/採用情報
================================================== */
/* .home-recruit
================================================ */
.home-recruit__inner {
    position: relative;
    padding-right: 0;
}

.home-recruit__content {
    position: relative;
}

.home-recruit__content::before {
    position: absolute;
    content: "";
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    z-index: 2;
}

.home-recruit__content::after {
    position: absolute;
    bottom: 44px;
    right: 44px;
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/c-btn01_white-arrow.png");
    content: "";
    transition: all 0.3s ease;
    z-index: 2;
}

.home-recruit__link {
    display: block;
    position: relative;
}

.home-recruit__head {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    padding-bottom: 50px;
}

.home-recruit__head-sub {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.home-recruit__head-main {
    width: 280px;
}

.home-recruit__area-img {
    position: relative;
}

.home-recruit__area-img::before {
    position: absolute;
    content: "";
    width: calc(100% + 10px);
    height: 100%;
    top: 10px;
    left: -10px;
    border-radius: 10px;
    background: url(../img/common/bg_img01_sp.png) 0 100%/cover;
    z-index: -1;
}

.home-recruit__img {
    border-radius: 10px 0 0 10px;
    overflow: hidden;
}

@media all and (min-width: 768px) {
    .home-recruit {
        overflow: hidden;
    }

    .home-recruit__inner {
        padding-bottom: 50px;
    }

    .home-recruit__link {
        width: 1721px;
        margin-right: calc(50% - 50vw);
        margin-left: -200px;
    }

    .home-recruit__link:hover .home-recruit__area-img::after {
        opacity: 0.5;
    }

    .home-recruit__link:hover .home-recruit__content::before {
        background: rgb(var(--darkblue));
    }

    .home-recruit__link:hover .home-recruit__content::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .home-recruit__content {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        height: 482px;
    }

    .home-recruit__content::before {
        transition: all 0.3s ease;
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        right: auto;
        left: 1200px;
        width: 120px;
        height: 120px;
    }

    .home-recruit__content::after {
        transition: all 0.3s ease;
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        right: auto;
        left: 1250px;
        display: inline-block;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .home-recruit__head {
        left: 200px;
        padding-bottom: 10px;
    }

    .home-recruit__head-sub {
        font-size: 2rem;
    }

    .home-recruit__head-main {
        width: 572px;
    }

    .home-recruit__area-img::before {
        width: calc(100% + 50px);
        top: 50px;
        left: -50px;
        background: url(../img/common/bg_img01_pc.png) 0 100%/cover;
    }

    .home-recruit__area-img::after {
        transition: all 0.3s ease;
        position: absolute;
        content: "";
        width: 100%;
        height: 481px;
        background: #2968A6;
        top: 0;
        left: 0;
        border-radius: 10px 0 0 10px;
        opacity: 0;
    }
}

/* ================================================== 
経営ビジョン/vision.html
================================================== */
/* .vision-intro
================================================ */
.vision-intro {
    position: relative;
}

.vision-intro__inner {
    padding-top: 70px;
    padding-bottom: 65px;
}

.vision-intro__bg {
    position: absolute;
    width: 100%;
    height: 285px;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: -1;
}

.vision-intro__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: 23px;
}

.vision-intro__head-small {
    font-size: 1.6rem;
    color: rgb(var(--darkgray));
    line-height: 1.6875;
    margin-bottom: 7px;
}

.vision-intro__head-big {
    font-size: 2.5rem;
    line-height: 1.6;
}

.vision-intro__txt {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 19px;
}

.vision-intro__btn {
    max-width: 280px;
    width: 100%;
    margin: 0 auto 47px;
}

.vision-intro-business__head {
    margin-bottom: 25px;
}

.vision-intro-business-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-left: -5px;
    margin-bottom: 15px;
}

.vision-intro-business-list__item {
    width: calc(50% - 5px);
    margin-left: 5px;
    margin-bottom: 5px;
    padding: 25px 0 22px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgb(var(--bg));
    border-radius: 10px;
}

.vision-intro-business-list__img {
    width: 60px;
    margin-bottom: 15px;
}

.vision-intro-business-list__txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
    margin-top: auto;
}

@media all and (min-width: 768px) {
    .vision-intro__inner {
        padding-top: 90px;
        padding-bottom: 140px;
    }

    .vision-intro__bg {
        height: 760px;
        top: -52px;
    }

    .vision-intro__head {
        margin-bottom: 36px;
    }

    .vision-intro__head-small {
        font-size: 2.3rem;
        margin-bottom: 15px;
    }

    .vision-intro__head-big {
        font-size: 3.7rem;
    }

    .vision-intro__txt {
        font-size: 1.8rem;
        text-align: center;
        margin-bottom: 33px;
    }

    .vision-intro__btn {
        margin: 0 auto 95px;
    }

    .vision-intro-business__head {
        margin-bottom: 40px;
    }

    .vision-intro-business-list {
        flex-wrap: nowrap;
        margin-left: -10px;
        margin-bottom: 30px;
    }

    .vision-intro-business-list__item {
        max-width: 216px;
        width: 100%;
        margin-left: 10px;
        margin-bottom: 0;
        padding: 40px 0 35px;
    }

    .vision-intro-business-list__img {
        width: 80px;
        margin-bottom: 25px;
    }

    .vision-intro-business-list__txt {
        font-size: 2rem;
        line-height: 1.6;
    }
}

/* .vision-sec
================================================ */
.vision-sec.is-02 {
    background: url(../img/company/vision-history_sp.jpg) no-repeat center/cover;
}

.vision-sec.is-02 .vision-sec__head::after {
    background: #fff;
}

.vision-sec.is-02 .vision-sec__head-main {
    color: #fff;
}

.vision-sec.is-02 .vision-sec__btn-link {
    color: #162C8D;
    background: #fff;
    transition: all 0.3s ease;
}

.vision-sec.is-02 .vision-sec__btn-link:hover {
    opacity: 0.7;
}

.vision-sec.is-02 .vision-sec__btn-link::after {
    background: url(../img/common/blue-arrow.png) no-repeat center/cover;
}

.vision-sec.is-last {
    position: relative;
}

.vision-sec.is-last::before {
    content: "";
    width: 100%;
    height: 50px;
    background-color: #F2F2F2;
    position: absolute;
    top: -40px;
    left: 0;
    z-index: -2;
}

.vision-sec__inner {
    padding-top: 70px;
    padding-bottom: 70px;
}

.vision-sec__wrap {
    max-width: 335px;
    width: 100%;
    margin: 0 auto;
}

.vision-sec__head {
    margin-bottom: 25px;
}

.vision-sec__note {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.9166666667;
    color: rgb(var(--darkgray));
    text-align: right;
    margin-top: 10px;
}

.vision-sec-list01 {
    margin-bottom: 30px;
}

.vision-sec-list01__item {
    margin-bottom: 25px;
}

.vision-sec-list01__item:last-child {
    margin-bottom: 0;
}

.vision-sec-list01__img img {
    border-radius: 10px;
}

.vision-sec-list02 {
    margin-bottom: 50px;
}

.vision-sec-list02__item {
    margin-bottom: 30px;
}

.vision-sec-list02__item:last-child {
    margin-bottom: 0;
}

.vision-sec-list02__img {
    margin-bottom: 12px;
}

.vision-sec-list02__img img {
    border-radius: 10px;
}

.vision-sec-list02__txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
    text-align: center;
}

.vision-sec-list03 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.vision-sec-list03__item {
    max-width: 165px;
    width: 100%;
    height: 165px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    margin-right: 5px;
    margin-bottom: 5px;
}

.vision-sec-list03__item:nth-child(2n) {
    margin-right: 0;
}

.vision-sec-list03__head {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6428571429;
    text-align: center;
    margin-bottom: 4px;
}

.vision-sec-list03__number {
    text-align: center;
    color: #162C8D;
    line-height: 1.1;
    font-weight: 700;
}

.vision-sec-list03__number span {
    display: inline-block;
    vertical-align: middle;
}

.vision-sec-list03__number-num {
    font-size: 4.2rem;
}

.vision-sec-list03__number-txt {
    font-size: 2.2rem;
}

.vision-sec-list04 {
    margin-bottom: 35px;
}

.vision-sec-list04__item {
    border: 1px solid rgb(var(--border));
    padding: 20px;
    box-sizing: border-box;
    margin-bottom: 15px;
}

.vision-sec-list04__item:last-child {
    margin-bottom: 0;
}

.vision-sec-list04__head {
    margin-bottom: 6px;
}

.vision-sec-list04__head::before {
    height: 1em;
    top: 6px;
}

.vision-sec-partner-list {
    margin-bottom: 56px;
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    flex-wrap: wrap;
    gap: 25px 10px;
}

.vision-sec-partner-list li {
    flex: 1;
}

.vision-sec-partner-list__img {
    margin-left: auto;
    margin-right: auto;
}

.vision-sec-partner-list__img+.vision-sec-partner-list__img {
    margin-bottom: 10px;
}

.vision-sec-card01__img {
    margin-bottom: 20px;
}

.vision-sec-card01__img img {
    border-radius: 10px;
}

.vision-sec-card01__txt {
    color: #fff;
    margin-bottom: 20px;
}

.vision-sec-card02__img {
    margin-bottom: 20px;
}

.vision-sec-card02__img img {
    border-radius: 10px;
}

.vision-sec-card02__head {
    margin-bottom: 20px;
}

.vision-sec-card02__txt {
    margin-bottom: 25px;
}

.vision-sec__btn {
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
}

.vision-desc-txt:not(:last-child) {
    margin-bottom: 40px;
}

@media screen and (min-width: 420px) {
    .vision-sec.is-08 .vision-sec__inner {
        min-height: 560px;
    }
}

@media screen and (min-width: 500px) {
    .vision-sec.is-08 .vision-sec__inner {
        min-height: 650px;
    }
}

@media screen and (min-width: 600px) {
    .vision-sec.is-08 .vision-sec__inner {
        min-height: 780px;
    }
}

@media all and (min-width: 768px) {
    .vision-sec.is-02 {
        background: url(../img/company/vision-history.jpg) no-repeat center/cover;
    }

    .vision-sec.is-03 .vision-sec__inner {
        padding-bottom: 0;
    }

    .vision-sec.is-08 .vision-sec__inner {
        min-height: 782px;
    }

    .vision-sec.is-08 .vision-sec__note {
        width: 100%;
        text-align: right;
        position: absolute;
        left: 50%;
        bottom: 40px;
        transform: translateX(-50%);
        margin-top: 0;
    }

    .vision-sec.is-last::before {
        display: none;
    }

    .vision-sec__inner {
        padding-top: 140px;
        padding-bottom: 140px;
    }

    .vision-sec__wrap {
        max-width: none;
    }

    .vision-sec__head {
        margin-bottom: 40px;
    }

    .vision-sec__note {
        font-size: 1.4rem;
        margin-top: 40px;
    }

    .vision-sec-list01 {
        display: flex;
        align-items: flex-start;
        margin-bottom: 50px;
    }

    .vision-sec-list01__item {
        max-width: 360px;
        width: 100%;
        margin-right: 20px;
        margin-bottom: 0;
    }

    .vision-sec-list01__item:last-child {
        margin-right: 0;
    }

    .vision-sec-list02 {
        display: flex;
        align-items: flex-start;
        margin-bottom: 100px;
    }

    .vision-sec-list02__item {
        max-width: 346px;
        width: 100%;
        margin-right: 41px;
        margin-bottom: 0;
    }

    .vision-sec-list02__item:last-child {
        margin-right: 0;
    }

    .vision-sec-list02__img {
        margin-bottom: 25px;
    }

    .vision-sec-list02__txt {
        font-size: 2rem;
        line-height: 1.6;
    }

    .vision-sec-list03 {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .vision-sec-list03__item {
        max-width: 216px;
        height: 216px;
        margin-right: 10px;
        margin-bottom: 10px;
    }

    .vision-sec-list03__item:nth-child(2n) {
        margin-right: 10px;
    }

    .vision-sec-list03__item:nth-child(5n) {
        margin-right: 0;
    }

    .vision-sec-list03__head {
        font-size: 2rem;
        line-height: 1.6;
        margin-bottom: 4px;
    }

    .vision-sec-list03__number span {
        vertical-align: bottom;
    }

    .vision-sec-list03__number-num {
        font-size: 6rem;
    }

    .vision-sec-list03__number-txt {
        font-size: 2.8rem;
        margin-bottom: 10px;
    }

    .vision-sec-list04 {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        margin-bottom: 50px;
    }

    .vision-sec-list04__item {
        max-width: 540px;
        width: 100%;
        padding: 35px 40px;
        margin-bottom: 0;
    }

    .vision-sec-list04__head {
        margin-bottom: 14px;
    }

    .vision-sec-partner-list__item {
        display: flex;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        flex-wrap: wrap;
        gap: 25px 10px;
    }

    .vision-sec-card01 {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-start;
    }

    .vision-sec-card01__img {
        max-width: 560px;
        width: 100%;
        margin-bottom: 0;
    }

    .vision-sec-card01__info {
        max-width: 500px;
        width: 100%;
    }

    .vision-sec-card01__txt {
        margin-bottom: 110px;
    }

    .vision-sec-card01__btn {
        margin-left: 0;
    }

    .vision-sec-card02 {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .vision-sec-card02__img {
        max-width: 560px;
        width: 100%;
        margin-bottom: 0;
    }

    .vision-sec-card02__info {
        max-width: 500px;
        width: 100%;
        margin-top: 30px;
    }

    .vision-sec-card02__head {
        margin-bottom: 33px;
    }

    .vision-sec-card02__txt {
        margin-bottom: 45px;
    }

}

/* .vision-recruit
================================================ */
.vision-recruit {
    position: relative;
}

.vision-recruit::after {
    content: "";
    width: 100%;
    height: 41px;
    background: url(../img/company/vision-recruit_after_sp.png) no-repeat center/cover;
    position: absolute;
    left: 0;
    bottom: 39px;
    z-index: -2;
}

.vision-recruit__inner {
    position: relative;
    padding-right: 0;
}

.vision-recruit__content {
    position: relative;
}

.vision-recruit__content::before {
    position: absolute;
    content: "";
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    z-index: 2;
}

.vision-recruit__content::after {
    position: absolute;
    bottom: 44px;
    right: 44px;
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
    z-index: 2;
}

.vision-recruit__link {
    display: block;
    position: relative;
}

.vision-recruit__head {
    position: absolute;
    top: 110px;
    left: 20px;
}

.vision-recruit__head-sub {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.vision-recruit__head-main {
    width: 280px;
    margin-bottom: 20px;
}

.vision-recruit__area-img {
    position: relative;
}

.vision-recruit__area-img::before {
    position: absolute;
    content: "";
    width: calc(100% + 10px);
    height: 100%;
    top: 10px;
    left: -10px;
    border-radius: 10px;
    background: url(../img/company/vision-recruit_before_sp.png) 0 100%/cover;
    z-index: -1;
}

.vision-recruit__img {
    border-radius: 10px 0 0 10px;
    overflow: hidden;
}

@media all and (min-width: 768px) {
    .vision-recruit {
        overflow: hidden;
    }

    .vision-recruit::after {
        height: 210px;
        background: url(../img/company/vision-recruit_after.png) no-repeat center/cover;
        bottom: 0;
    }

    .vision-recruit__inner {
        padding-bottom: 50px;
    }

    .vision-recruit__link {
        width: 1721px;
        margin-right: calc(50% - 50vw);
        margin-left: -200px;
    }

    .vision-recruit__link:hover .vision-recruit__area-img::after {
        opacity: 0.5;
    }

    .vision-recruit__link:hover .vision-recruit__content::before {
        background: rgb(var(--darkblue));
    }

    .vision-recruit__link:hover .vision-recruit__content::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/c-btn01_white-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .vision-recruit__content {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        height: 482px;
    }

    .vision-recruit__content::before {
        transition: all 0.3s ease;
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        right: auto;
        left: 1200px;
        width: 120px;
        height: 120px;
    }

    .vision-recruit__content::after {
        transition: all 0.3s ease;
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        right: auto;
        left: 1250px;
        display: inline-block;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/blue-arrow.png");
        content: "";
        transition: all 0.3s ease;
    }

    .vision-recruit__head {
        top: 177px;
        left: 200px;
    }

    .vision-recruit__head-sub {
        font-size: 2rem;
    }

    .vision-recruit__head-main {
        width: 501px;
        margin-bottom: 35px;
    }

    .vision-recruit__area-img::before {
        width: calc(100% + 50px);
        top: 50px;
        left: -50px;
        background: url(../img/company/vision-recruit_before.png) 0 100%/cover;
    }

    .vision-recruit__area-img::after {
        transition: all 0.3s ease;
        position: absolute;
        content: "";
        width: 100%;
        height: 481px;
        background: #2968A6;
        top: 0;
        left: 0;
        border-radius: 10px 0 0 10px;
        opacity: 0;
    }
}


/* ================================================== 
シー・エヌ・エスの歴史ページ/history.html
================================================== */
/* .history-about-detail
================================================ */
.history-about-detail__inner {
    padding-top: 15px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .history-about-detail__inner {
        padding-top: 120px;
        padding-bottom: 86px;
    }
}

/* .history-table-about-table
================================================ */
.history-table-about-table {
    width: 80.6%;
    margin: auto;
}

.history-table-about-table tbody td {
    width: 73.3%;
}

@media all and (min-width: 768px) {
    .history-table-about-table tbody th {
        padding: 10px 5px 10px 0.7em;
    }

    .history-table-about-table tbody td:not([class]) {
        width: 65%;
        padding: 10px 5px 10px 0;
    }
}


/* ================================================== 
代表挨拶ページ/greetings.html
================================================== */
/* .greetings-main
================================================ */
.greetings-main__inner {
    padding-top: 75px;
    padding-bottom: 60px;
}

.greetings-main__head {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.6;
    margin-top: 30px;
}

.greetings-main__area-txt {
    margin-top: 30px;
}

.greetings-main__txt+.greetings-main__txt {
    margin-top: 2.1em;
}

.greetings-main__name {
    margin-top: 43px;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
}

.greetings-main__name-large {
    font-size: 2.1rem;
}

.greetings-main__name-img {
    max-width: 52.8%;
    margin-left: 10px;
}

@media all and (min-width: 768px) {
    .greetings-main__inner {
        padding-top: 90px;
        padding-bottom: 88px;
    }

    .greetings-main__head {
        font-size: 3.7rem;
        margin-top: 60px;
    }

    .greetings-main__area-txt {
        margin-top: 43px;
    }

    .greetings-main__name {
        padding-right: 0;
        margin-top: 45px;
    }

    .greetings-main__name-large {
        font-size: 2.4rem;
    }

    .greetings-main__name-img {
        max-width: 314px;
        margin-left: 14px;
    }
}

/* ================================================== 
お知らせページ/news.html
================================================== */
/* .news-archive
================================================ */
.news-archive__inner {
    padding-top: 75px;
    padding-bottom: 50px;
}

.news-archive__head {
    font-size: 2.5rem;
}

@media all and (min-width: 768px) {
    .news-archive__inner {
        padding-top: 90px;
        padding-bottom: 140px;
    }

    .news-archive__head {
        font-size: 3.7rem;
    }
}

/* .news-archive
================================================ */
.news-archive-cats__list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: -11px;
    margin-left: -11px;
}

.news-archive-cats__item {
    box-sizing: border-box;
    width: calc((100% - 22px) / 2);
    margin-top: 11px;
    margin-left: 11px;
}

.news-archive-cats__item.is-current .news-archive-cats__in {
    color: #fff;
    background: #162C8D;
    border: 2px solid #162C8D;
}

.news-archive-cats__in {
    padding-top: 4px;
    padding-bottom: 4px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border: 2px solid rgb(var(--border));
    font-size: 1.2rem;
    font-weight: 700;
}

@media all and (min-width: 768px) {
    .news-archive-cats__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        max-width: 896px;
        margin-left: auto;
        margin-right: auto;
    }

    .news-archive-cats__item {
        width: 100%;
    }

    .news-archive-cats__in {
        border-radius: 30px;
        font-size: 1.5rem;
        padding-top: 12px;
        padding-bottom: 12px;
        transition: all 0.3s ease;
    }

    .news-archive-cats__in:hover {
        background: #162C8D;
        border-color: #162C8D;
        color: #fff;
    }
}

/* .news-archive-list
================================================ */
.news-archive-list {
    padding-top: 25px;
}

@media all and (min-width: 768px) {
    .news-archive-list {
        padding-top: 60px;
    }
}

/* ================================================== 
会社概要ページ/company.html
================================================== */
/* .company-map
================================================ */
.company-map__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

.company-map-list__item {
    margin-top: 30px;
}

.company-map-list__item+.company-map-list__item {
    border-top: 1px solid rgb(var(--border));
    padding-top: 30px;
}

.company-map-list__wrap {
    margin-bottom: 30px;
}

.company-map-list__info+.company-map-list__info {
    margin-top: 20px;
}

.company-map-list__info-head {
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 700;
    margin-bottom: 5px;
}

.company-map-list__map {
    margin-top: 20px;
}

.company-map-list__map-img iframe {
    width: 100%;
    height: 205px;
}

@media all and (min-width: 768px) {
    .company-map-list__item {
        margin-top: 60px;
    }

    .company-map-list__item+.company-map-list__item {
        margin-top: 100px;
        padding-top: 100px;
    }

    .company-map-list__wrap {
        display: flex;
        margin-bottom: 55px;
    }

    .company-map-list__area-txt {
        width: calc(100% - 610px);
    }

    .company-map-list__info-head {
        font-size: 2rem;
        margin-bottom: 10px;
    }

    .company-map-list__map {
        margin: 0 0 0 50px;
        width: 560px;
    }

    .company-map-list__map-img iframe {
        width: 100%;
        height: 350px;
    }

    .company-map-list__map-link {
        text-align: right;
    }
}

/* ================================================== 
組織図ページ/organization.html
================================================== */
/* .company-organization
================================================ */
.company-organization__inner {
    padding-top: 50px;
    padding-bottom: 70px;
}

@media all and (min-width: 768px) {
    .company-organization__inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

/* ================================================== 
役員ページ/officer.html
================================================== */
/* .company-officer
================================================ */
.company-officer__inner {
    padding-top: 50px;
    padding-bottom: 70px;
}

@media all and (min-width: 768px) {
    .company-officer__inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

/* .philosophy-main
================================================ */
/*.philosophy-main__inner {*/
/*    padding-top: 75px;*/
/*    padding-bottom: 60px;*/
/*}*/

/*@media all and (min-width: 768px) {*/
/*    .philosophy-main__inner {*/
/*        padding-top: 90px;*/
/*        padding-bottom: 88px;*/
/*    }*/
/*}*/

/*.philosophy-main-list__item {*/
/*    margin-top: 30px;*/
/*}*/

/*.philosophy-main-list__head {*/
/*    margin-bottom: 15px;*/
/*}*/

/*@media all and (min-width: 768px) {*/
/*    .philosophy-main-list__item {*/
/*        margin-top: 60px;*/
/*    }*/

/*    .philosophy-main-list__head {*/
/*        margin-bottom: 20px;*/
/*    }*/
/*}*/

/* ================================================== 
事業内容ページ/business.html
================================================== */
/* .business-intro
================================================ */
.business-intro__inner {
    padding-top: 60px;
    padding-bottom: 44px;
}

.business-intro__head {
    margin-top: 28px;
}

.business-intro__head::before {
    height: 1em;
}

/*.business-intro__img {*/
/*  text-align: center;*/
/*}*/

.business-intro__txt {
    margin-top: 8px;
}

@media all and (min-width: 768px) {
    .business-intro__inner {
        padding-top: 90px;
        padding-bottom: 110px;
    }

    .business-intro__head {
        margin-top: 60px;
    }

    .business-intro__head::before {
        top: 0.3em;
    }

    .business-intro__txt {
        margin-top: 20px;
    }
}

/* .business-desc
================================================ */
.business-desc {
    background: #F2F2F2;
}

.business-desc__inner {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media all and (min-width: 768px) {
    .business-desc__inner {
        padding-top: 100px;
        padding-bottom: 0px;
    }
}

/* .business-desc-item
================================================ */
.business-desc-item {
    border-radius: 10px;
    background: #fff;
    padding: 30px 20px;
}

.business-desc-item+.business-desc-item {
    margin-top: 20px;
}

.business-desc-item__head::before {
    height: 1em;
}

.business-desc-item__txt {
    margin-top: 5px;
}

.business-desc-item__img {
    margin-top: 14px;
    text-align: center;
}

@media all and (min-width: 768px) {
    .business-desc-item {
        padding: 60px 40px 60px 57px;
        display: grid;
        /*grid-template-columns: repeat(2, 1fr);*/
        grid-template-rows: repeat(2, auto);
        gap: 19px 54px;
    }

    .business-desc-item+.business-desc-item {
        margin-top: 40px;
    }

    .business-desc-item__area-txt {
        grid-area: 1/1/2/2;
    }

    .business-desc-item__head::before {
        top: 0.3em;
    }

    .business-desc-item__txt {
        margin-top: 13px;
    }

    .business-desc-item__img {
        grid-area: 1/2/3/3;
        margin-top: 0;
    }
}

/* .business-desc-item-box
================================================ */
.business-desc-item-box__head {
    margin-top: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #162C8D;
}

.business-desc-item-box__list {
    margin-top: 5px;
}

.business-desc-item-box__item {
    position: relative;
    padding-left: 30px;
}

.business-desc-item-box__item::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../img/company/sustainability/ico_check01.png) no-repeat center/contain;
    margin-right: 10px;
    position: absolute;
    top: 0.4em;
    left: 0;
}

.business-desc-item-box__item+.business-desc-item-box__item {
    margin-top: 5px;
}

.business-desc-item-box__btn {
    width: 100%;
    margin: 12px auto 0;
}

@media all and (min-width: 768px) {
    .business-desc-item-box {
        grid-area: 2/1/3/2;
    }

    .business-desc-item-box__head {
        font-size: 2rem;
        margin-top: 17px;
    }

    .business-desc-item-box__head:first-of-type {
        margin-top: 0;
    }

    .business-desc-item-box__item+.business-desc-item-box__item {
        margin-top: 7px;
    }

    .business-desc-item-box__btn {
        max-width: 280px;
        margin-left: 0 !important;
    }

    .business-desc-item-box__btn .c-btn01__link {
        font-size: 1.5rem;
    }

    .business-desc-item-box__btn.is-long .c-btn01__link {
        text-indent: -1em;
    }
}

/* .business-img
================================================ */
/*.business-img__inner {*/
/*  padding-top: 45px;*/
/*  padding-bottom: 70px;*/
/*}*/

/*@media all and (min-width: 768px) {*/
/*  .business-img__inner {*/
/*    padding-top: 100px;*/
/*    padding-bottom: 100px;*/
/*  }*/
/*}*/


/* ================================================== 
実績ページ/achievements.html
================================================== */
/*  .achievements-archive
================================================== */
.achievements-archive__inner {
    position: relative;
    padding-top: 75px;
    padding-bottom: 50px;
}

.achievements-archive__inner::before {
    content: "";
    display: block;
    height: 1px;
    width: calc(100% - 40px);
    background: rgb(var(--txt_gray));
    position: absolute;
    bottom: 0;
}

@media all and (max-width: 767px) {
    .achievements-archive__list {
        padding-left: 20px;
        padding-right: 20px;
    }

    .achievements-archive__pager {
        margin-left: -20px;
        margin-right: -20px;
    }
}

@media all and (min-width: 768px) {
    .achievements-archive__inner {
        padding-top: 90px;
        padding-bottom: 60px;
    }

    .achievements-archive__inner::before {
        width: 100%;
    }
}

.chart-wrap {
    position: relative;
    max-width: 520px;
    margin: 1.25rem auto 1rem;
}

.chart-center-label {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    align-content: center;
    font-size: clamp(14px, 2.5vw, 18px);
    line-height: 1.4;
    text-align: center;
    pointer-events: none;
}

.chart-note {
    text-align: center;
    color: #666;
}

.visually-hidden {
    position: absolute;
    left: -9999px;
}

@media (max-width:640px) {
    .chart-wrap {
        max-width: 360px;
    }
}

/*  .achievements-special
================================================== */
.achievements-special {
    margin-top: 50px;
    position: relative;
}

.achievements-special__inner {
    padding-bottom: 50px;
}

.achievements-special__set {
    margin-top: 12px;
}

.achievements-special__img {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 61.6216216216%;
    background: #fafafa;
    border-radius: 10px;
    overflow: hidden;
}

.achievements-special__img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 100%;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
}

.achievements-special__meta {
    display: flex;
    align-items: center;
    overflow-x: auto;
}

.achievements-special__meta-date {
    font-size: 1.2rem;
    color: rgb(var(--txt_gray));
}

.achievements-special__cats {
    margin-left: 7px;
}

.achievements-special__head {
    font-size: 1.6rem;
    font-weight: 700;
}

.achievements-special__txt {
    margin-top: 10px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.achievements-special__link {
    margin-top: 2rem;
    font-weight: bold;
}

.achievements-special__link span {
    border: solid 1px #cbcbcb;
    border-radius: 9999px;
    padding: 10px 35px;
}

.achievements-special__slider-item:hover .achievements-special__head {
    color: #162C8D;
}

.achievements-special__slider-item:hover .achievements-special__link span {
    background-color: #162C8D;
    color: #fff;
}

.achievements-special__address {
    color: rgb(var(--txt_gray));
    display: flex;
    align-items: center;
    font-size: 1.2rem;
}

.achievements-special__address-ico {
    width: 10px;
    height: 14px;
    position: relative;
    margin: 2px 4px 0 0;
    vertical-align: middle;
    background: no-repeat center / contain;
    background-image: url(../img/common/user-ico.png);
}

.achievements-special__address-ico svg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.achievements-special__slider {
    position: relative;
    padding-bottom: 45px;
}

.achievements-special__pagination {
    position: absolute;
    bottom: 10px;
    color: rgb(var(--txt_gray));
    font-size: 1.5rem;
    right: 40%;
}

@media all and (max-width: 767px) {
    .achievements-special__inner {
        padding-left: 40px;
        padding-right: 40px;
    }

    .achievements-special__area-txt {
        margin-top: 20px;
    }
}

@media all and (min-width: 768px) {
    .achievements-special {
        margin-top: 60px;
    }

    .achievements-special__inner {
        padding-bottom: 140px;
        position: relative;
    }

    .achievements-special__set {
        display: flex;
        align-items: flex-start;
    }

    .achievements-special__img {
        max-width: 370px;
        padding-top: 29.6103896104%;
    }

    .achievements-special__img img {
        transition: transform 0.3s ease;
    }

    .achievements-special__area-txt {
        margin-left: 40px;
    }

    .achievements-special__meta-date {
        font-size: 1.4rem;
    }

    .achievements-special__address {
        margin-left: 10px;
    }

    .achievements-special__address-ico {
        width: 14px;
        height: 18px;
        margin: -1px 4px 0 0;
    }

    .achievements-special__head {
        font-size: 2rem;
    }

    .achievements-special__slider {
        padding-bottom: 50px;
    }

    .achievements-special__slider-item:hover .achievements-special__img img {
        transform: translate(-50%, -50%) scale(1.1);
    }

    .achievements-special__pagination {
        font-size: 1.6rem;
        right: 20px;
        top: 8px;
    }

    .achievements-special__pagination-num {
        font-weight: 700;
    }
}


/*  .slick
================================================== */
.achievements-special .slick-arrow {
    display: inline-block;
    box-sizing: border-box;
    border-radius: 50%;
    border: 2px solid rgb(var(--txt_gray));
    font-size: 0;
    width: 45px;
    height: 45px;
    position: absolute;
    bottom: 0;
    right: 0;
}

.achievements-special .slick-arrow::before {
    display: inline-block;
    width: 17px;
    height: 10px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/blue-arrow.png");
    content: "";
    transition: all 0.3s ease;
}

@media all and (min-width: 768px) {
    .achievements-special .slick-arrow {
        width: 50px;
        height: 50px;
        bottom: 0;
    }
}

.achievements-special .slick-prev {
    right: 50px;
    transform: rotate(180deg);
}

@media all and (min-width: 768px) {
    .achievements-special .slick-prev {
        right: 60px;
    }
}

/* ================================================== 
導入事例ページ/case.html
================================================== */
/*  .case-archive
================================================== */
.case-archive__inner {
    position: relative;
    padding-top: 75px;
    padding-bottom: 50px;
}

.case-archive__inner:not(:first-child)::before {
    content: "";
    display: block;
    height: 1px;
    width: calc(100% - 40px);
    background: rgb(var(--txt_gray));
    position: absolute;
    bottom: 0;
}

@media all and (max-width: 767px) {
    .case-archive__list {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media all and (min-width: 768px) {
    .case-archive__inner {
        padding-top: 90px;
        padding-bottom: 140px;
    }

    .case-archive__inner::before {
        width: 100%;
    }
}


/* ================================================== 
採用情報/recruit.html
================================================== */
/* .c-recruit-sec01
================================================== */
.c-recruit-sec01__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

.c-recruit-sec01__txt {
    margin-bottom: 30px;
}

@media all and (min-width: 768px) {
    .c-recruit-sec01__inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .c-recruit-sec01__txt {
        margin-bottom: 40px;
    }
}

/* .c-recruit-intro01
================================================== */
.c-recruit-intro01__inner {
    padding-top: 75px;
    padding-bottom: 50px;
}

.c-recruit-intro01__sec {
    margin-top: 40px;
}

@media all and (min-width: 768px) {
    .c-recruit-intro01__inner {
        padding-top: 90px;
        padding-bottom: 90px;
    }

    .c-recruit-intro01__sec {
        margin-top: 60px;
    }
}

/* .recruit-intro
================================================ */
.recruit-intro__inner {
    padding-top: 60px;
    padding-bottom: 44px;
}

.recruit-intro__head {
    margin-top: 28px;
}

.recruit-intro__head::before {
    height: 1em;
}

/*.recruit-intro__img {*/
/*  text-align: center;*/
/*}*/

.recruit-intro__txt {
    margin-top: 8px;
}

@media all and (min-width: 768px) {
    .recruit-intro__inner {
        padding-top: 90px;
        padding-bottom: 110px;
    }

    .recruit-intro__head {
        margin-top: 60px;
    }

    .recruit-intro__head::before {
        top: 0.3em;
    }

    .recruit-intro__txt {
        margin-top: 20px;
    }
}

/* .recruit-archive
================================================ */
.recruit-archive-cats__list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 60px;
}

.recruit-archive-cats__item {
    box-sizing: border-box;
    width: calc((100% - 22px) / 2);
    margin-top: 11px;
    margin-left: 11px;
}

.recruit-archive-cats__item.is-current .recruit-archive-cats__in {
    color: #fff;
    background: #162C8D;
    border: 2px solid #162C8D;
}

.recruit-archive-cats__in {
    padding-top: 4px;
    padding-bottom: 4px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    border: 2px solid rgb(var(--border));
    font-size: 1.2rem;
    font-weight: 700;
}

@media all and (min-width: 768px) {
    .recruit-archive-cats__list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 8px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
    }

    .recruit-archive-cats__item {
        width: 100%;
    }

    .recruit-archive-cats__in {
        border-radius: 30px;
        font-size: 1.5rem;
        padding-top: 12px;
        padding-bottom: 12px;
        transition: all 0.3s ease;
    }

    .recruit-archive-cats__in:hover {
        background: #162C8D;
        border-color: #162C8D;
        color: #fff;
    }
}

/* .recruit-archive-list
================================================ */
.recruit-archive-list {
    padding-top: 25px;
}

@media all and (min-width: 768px) {
    .news-archive-list {
        padding-top: 60px;
    }
}

/* .interview
================================================ */
.interview__inner {
    padding-top: 50px;
    /*padding-bottom: 50px;*/
}

@media all and (min-width: 768px) {
    .interview__inner {
        padding-top: 120px;
        padding-bottom: 100px;
    }
}

.interview-sec {
    margin-top: 40px;
}

.interview-sec__img {
    margin: 30px auto 40px;
}

@media all and (min-width: 768px) {
    .interview-sec {
        margin-top: 60px;
    }

    .interview-sec__img {
        margin: 40px auto 90px;
    }
}

/* .interview-desc
================================================ */
/*.interview-desc {*/
/*    background: #e9eff6;*/
/*}*/

.interview-desc__inner {
    padding: 0;
    padding-top: 40px;
    padding-bottom: 40px;
}

@media all and (min-width: 768px) {
    .interview-desc__inner {
        padding-top: 60px;
        padding-bottom: 0px;
    }
}

/* .interview-desc-item
================================================ */
.interview-desc-item {
    border-radius: 10px;
    background: #fff;
    padding: 30px 20px;
    background: #e9eff6;
}

.interview-desc-item+.interview-desc-item {
    margin-top: 20px;
}

.interview-desc-item__head::before {
    height: 1em;
}

.interview-desc-item__txt {
    margin-top: 5px;
}

.interview-desc-item__img {
    margin-top: 14px;
    text-align: center;
}

@media all and (min-width: 768px) {
    .interview-desc-item {
        padding: 60px 40px 60px 57px;
        position: relative;
    }

    .interview-desc-item+.interview-desc-item {
        margin-top: 40px;
    }

    /*.interview-desc-item__area-txt {*/
    /*    grid-area: 1/1/2/2;*/
    /*}*/

    .interview-desc-item__head::before {
        top: 0.3em;
    }

    .interview-desc-item__txt {
        margin-top: 13px;
    }

    .interview-desc-item-box__short-txt {
        width: 70%;
    }

    .interview-desc-item__img {
        position: absolute;
        right: 2%;
        top: 3%;
        width: 25%;
    }
}

/* .interview-desc-item-box
================================================ */
.interview-desc-item-box__head {
    margin-top: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #162C8D;
}

.interview-desc-item-box__list {
    margin-top: 5px;
}

.interview-desc-item-box__item {
    position: relative;
    padding-left: 30px;
}

.interview-desc-item-box__item::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../img/company/sustainability/ico_check01.png) no-repeat center/contain;
    margin-right: 10px;
    position: absolute;
    top: 0.4em;
    left: 0;
}

.interview-desc-item-box__item+.interview-desc-item-box__item {
    margin-top: 5px;
}

.interview-desc-item-box__btn {
    width: 100%;
    margin: 12px auto 0;
}

@media all and (min-width: 768px) {
    .interview-desc-item-box {
        margin-top: 20px;
    }

    .interview-desc-item-box__head {
        font-size: 2rem;
        margin-top: 17px;
    }

    .interview-desc-item-box__head:first-of-type {
        margin-top: 0;
    }

    .interview-desc-item-box__item+.interview-desc-item-box__item {
        margin-top: 7px;
    }

    .interview-desc-item-box__btn {
        max-width: 280px;
        margin-left: 0 !important;
    }

    .interview-desc-item-box__btn .c-btn01__link {
        font-size: 1.5rem;
    }

    .interview-desc-item-box__btn.is-long .c-btn01__link {
        text-indent: -1em;
    }
}

/* .outline-requirements
================================================ */
.outline-requirements__inner {
    padding-top: 30px;
    padding-bottom: 70px;
}

@media all and (min-width: 768px) {
    .outline-requirements__inner {
        padding-top: 30px;
        padding-bottom: 120px;
    }
}

/* .c-recruit-flow01.is-no-bg
================================================== */
.c-recruit-flow01.is-no-bg .c-recruit-flow01__inner {
    padding-top: 50px;
    padding-bottom: 0;
}

@media all and (min-width: 768px) {
    .c-recruit-flow01.is-no-bg .c-recruit-flow01__inner {
        padding-top: 100px;
        padding-bottom: 0;
    }
}

/* .c-recruit-flow01
================================================== */
.c-recruit-flow01__inner {
    padding-top: 50px;
    padding-bottom: 0px;
}

@media all and (min-width: 768px) {
    .c-recruit-flow01__inner {
        padding-top: 100px;
        padding-bottom: 0px;
    }
}

/* #recruit .c-info01__inner
================================================== */
#recruit .c-info01__inner {
    padding-top: 10px;
}

@media all and (min-width: 768px) {
    #recruit .c-info01__inner {
        padding-top: 10px;
    }
}

/* ================================================== 
採用エントリーページ/entry.html
================================================== */
/* .entry-intro
================================================ */
.entry-intro__inner {
    padding-top: 71px;
    padding-bottom: 50px;
}

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

.entry-intro__txt {
    margin-top: 22px;
}

@media all and (min-width: 768px) {
    .entry-intro__inner {
        padding-top: 85px;
        padding-bottom: 96px;
    }

    .entry-intro__txt {
        margin-top: 36px;
        text-align: center;
    }
}

.mw_wp_form_confirm .entry-intro {
    display: none;
}

/* .entry-intro-box
================================================ */
.entry-intro-box {
    border: 2px solid rgb(var(--border));
    margin-top: 24px;
}

.entry-intro-box__in {
    box-sizing: border-box;
    padding: 23px 20px 30px;
}

.entry-intro-box__txt {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
}

.entry-intro-box__tel {
    box-sizing: border-box;
    border-radius: 60px;
    border: 1px solid #162C8D;
    margin-top: 15px;
}

.entry-intro-box__tel-link {
    box-sizing: border-box;
    position: relative;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    color: #162C8D;
    padding: 19px 1em;
    display: block;
    line-height: 1;
}

.entry-intro-box__tel-link::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/tel-blue_ico.png");
    content: "";
    transition: all 0.3s ease;
    margin-right: 5px;
}

.entry-intro-box__tel-note {
    margin-top: 5px;
    display: block;
    font-size: 1.1rem;
    font-weight: 400;
    color: rgb(var(--txt_gray));
}

@media all and (min-width: 768px) {
    .entry-intro-box {
        margin-top: 43px;
    }

    .entry-intro-box__in {
        padding: 39px 50px 31px;
    }

    .entry-intro-box__txt {
        font-size: 2.8rem;
    }

    .entry-intro-box__tel {
        margin-top: 16px;
        border: none;
    }

    .entry-intro-box__tel-link {
        font-size: 6.4rem;
    }

    .entry-intro-box__tel-link::before {
        display: inline-block;
        width: 50px;
        height: 50px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/tel-blue_ico.png");
        content: "";
        transition: all 0.3s ease;
        position: relative;
        top: -5px;
    }

    .entry-intro-box__tel-note {
        font-size: 1.6rem;
        margin-top: 28px;
    }
}

/* .entry-contents
================================================ */
.entry-contents {
    background: rgb(var(--bg));
}

.entry-contents__inner {
    padding-top: 40px;
    padding-bottom: 134px;
}

.entry-contents__head {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

.entry-contents__head::before {
    left: 40%;
}

.entry-contents__head::after {
    left: 35%;
}

@media all and (min-width: 768px) {
    .entry-contents__inner {
        padding-top: 130px;
        padding-bottom: 150px;
    }

    .entry-contents__head {
        font-size: 3.7rem;
        margin-bottom: 41px;
        padding-bottom: 23px;
    }

    .entry-contents__head::before {
        left: 50%;
        transform: translateX(-50%);
    }

    .entry-contents__head::after {
        left: 45%;
    }

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

/* .entry-contents-form
================================================ */
.entry-contents-form {
    margin-top: 24px;
}

.entry-contents-form__in {
    background: #fff;
    padding: 26px 20px 30px;
}

@media all and (min-width: 768px) {
    .entry-contents-form {
        margin-top: 43px;
    }

    .entry-contents-form__in {
        padding: 67px 80px 80px;
    }
}



/* ================================================== 
お問い合わせページ/contact.html
================================================== */
/* .entry-intro
================================================ */
.contact-intro__inner {
    padding-top: 71px;
    padding-bottom: 50px;
}

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

.contact-intro__txt {
    margin-top: 22px;
}

@media all and (min-width: 768px) {
    .contact-intro__inner {
        padding-top: 85px;
        padding-bottom: 96px;
    }

    .contact-intro__txt {
        margin-top: 36px;
        text-align: center;
    }
}

.mw_wp_form_confirm .contact-intro {
    display: none;
}

/* .contact-intro-box
================================================ */
.contact-intro-box {
    border: 2px solid rgb(var(--border));
    margin-top: 24px;
}

.contact-intro-box__in {
    box-sizing: border-box;
    padding: 23px 20px 30px;
}

.contact-intro-box__txt {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
}

.contact-intro-box__tel {
    box-sizing: border-box;
    border-radius: 60px;
    border: 1px solid #162C8D;
    margin-top: 15px;
}

.contact-intro-box__tel-link {
    box-sizing: border-box;
    position: relative;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    color: #162C8D;
    padding: 19px 1em;
    display: block;
    line-height: 1;
}

.contact-intro-box__tel-link::before {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/common/tel-blue_ico.png");
    content: "";
    transition: all 0.3s ease;
    margin-right: 5px;
}

.contact-intro-box__tel-note {
    margin-top: 5px;
    display: block;
    font-size: 1.1rem;
    font-weight: 400;
    color: rgb(var(--txt_gray));
}

@media all and (min-width: 768px) {
    .contact-intro-box {
        margin-top: 43px;
    }

    .contact-intro-box__in {
        padding: 39px 50px 31px;
    }

    .contact-intro-box__txt {
        font-size: 2.8rem;
    }

    .contact-intro-box__tel {
        margin-top: 16px;
        border: none;
    }

    .contact-intro-box__tel-link {
        font-size: 6.4rem;
    }

    .contact-intro-box__tel-link::before {
        display: inline-block;
        width: 50px;
        height: 50px;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("../img/common/tel-blue_ico.png");
        content: "";
        transition: all 0.3s ease;
        position: relative;
        top: -5px;
    }

    .contact-intro-box__tel-note {
        font-size: 1.6rem;
        margin-top: 28px;
    }
}

/* .contact-contents
================================================ */
.contact-contents {
    background: rgb(var(--bg));
}

.contact-contents__inner {
    padding-top: 40px;
    padding-bottom: 134px;
}

.contact-contents__head {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

.contact-contents__head::before {
    left: 40%;
}

.contact-contents__head::after {
    left: 35%;
}

@media all and (min-width: 768px) {
    .contact-contents__inner {
        padding-top: 130px;
        padding-bottom: 150px;
    }

    .contact-contents__head {
        font-size: 3.7rem;
        margin-bottom: 41px;
        padding-bottom: 23px;
    }

    .contact-contents__head::before {
        left: 50%;
        transform: translateX(-50%);
    }

    .contact-contents__head::after {
        left: 45%;
    }

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

/* .contact-contents-form
================================================ */
.contact-contents-form {
    margin-top: 24px;
}

.contact-contents-form__in {
    background: #fff;
    padding: 26px 20px 30px;
}

@media all and (min-width: 768px) {
    .contact-contents-form {
        margin-top: 43px;
    }

    .contact-contents-form__in {
        padding: 67px 80px 80px;
    }
}

/* ================================================== 
よくあるご質問ページ/faq.html
================================================== */
/* .qa-cats 
================================================ */
.qa-cats__inner {
    padding-top: 72px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .qa-cats__inner {
        padding-top: 90px;
        padding-bottom: 95px;
    }
}

/* .qa-cats 
================================================ */
.qa-cats-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
}

.qa-cats-list__in {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 20px;
    border: 1px solid rgb(var(--border));
    text-align: center;
    color: rgb(var(--black));
    font-size: 1.2rem;
    font-weight: 700;
    min-height: 33px;
}

@media all and (min-width: 768px) {
    .qa-cats-list {
        display: flex;
        align-items: center;
        gap: unset;
    }

    .qa-cats-list__item {
        width: calc((100% - 32px) / 4);
    }

    .qa-cats-list__item+.qa-cats-list__item {
        margin-left: 8px;
    }

    .qa-cats-list__item:hover .qa-cats-list__in {
        background: #162C8D;
        border-color: #162C8D;
        color: #fff;
    }

    .qa-cats-list__in {
        transition: all 0.3s ease;
        width: 100%;
        min-height: 46px;
        font-size: 1.5rem;
        border-radius: 25px;
    }
}

/* .qa-sec 
================================================ */
.qa-sec+.qa-sec {
    margin-top: 50px;
}

.qa-sec:last-of-type {
    padding-bottom: 80px;
}

@media all and (min-width: 768px) {
    .qa-sec+.qa-sec {
        margin-top: 140px;
    }

    .qa-sec:last-of-type {
        padding-bottom: 137px;
    }
}

/* .qa-sec-block 
================================================ */
.qa-sec-block {
    margin-top: 25px;
}

.qa-sec-block__head::before {
    height: 1em;
    top: 0.3em;
}

@media all and (min-width: 768px) {
    .qa-sec-block {
        margin-top: 40px;
    }

    .qa-sec-block+.qa-sec-block {
        margin-top: 80px;
    }
}

/* .qa-sec-faq 
================================================ */
.qa-sec-faq {
    margin-top: 10px;
}

@media all and (min-width: 768px) {
    .qa-sec-faq {
        margin-top: 17px;
    }
}

/* ================================================== 
情報セキュリティ方針ページ/security.html
================================================== */
/* .security-content 
================================================ */
.security-content__inner {
    padding-top: 75px;
    padding-bottom: 50px;
}

/*.security-content__sec {*/
/*  margin-top: 50px;*/
/*}*/

.security-content__sec+.security-content__sec {
    margin-top: 30px;
}

.security-content__sec+.security-content__sec.is-right {
    text-align: right;
}

.security-content__sec .security-content__txt {
    margin-top: 12px;
}

.security-content__sec .security-content__txt.-first {
    margin-top: 40px;
}

.security-content__txt+.security-content__list {
    margin-top: 40px;
}

.security-content__list {
    margin-top: 12px;
    padding-left: 1.5em;
}

.security-content__item {
    list-style: decimal;
}

.security-content__item-txt {
    display: block;
}

.security-content__item-link {
    display: block;
    text-decoration: underline;
}

.security-content__item-ico {
    margin-left: 0.7em;
    width: 14px;
    height: 14px;
    color: #162C8D;
    position: relative;
}

.security-content__item-ico svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

@media all and (max-width: 767px) {
    .security-content__item-txt {
        margin-top: 20px;
    }
}

@media all and (min-width: 768px) {
    .security-content__inner {
        padding-top: 90px;
        padding-bottom: 140px;
    }

    /*.security-content__sec {*/
    /*  margin-top: 100px;*/
    /*}*/

    .security-content__sec+.security-content__sec {
        margin-top: 60px;
    }

    .security-content__sec .security-content__txt {
        margin-top: 20px;
    }

    .security-content__sec .security-content__txt.-first {
        margin-top: 40px;
    }

    .security-content__item.is-has-mt {
        margin-top: 40px;
    }

    .security-content__item-link {
        display: inline-block;
        transition: color 0.3s ease;
    }

    .security-content__item-link:hover {
        color: #162C8D;
    }
}


/* ================================================== 
404.html
================================================== */
/* .error-page404
================================================ */
.error-page404__inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

@media all and (min-width: 768px) {
    .error-page404__inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .error-page404__btn {
        margin-top: 80px;
    }
}
