/*-------------------------------------------
リセット
---------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
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,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    font-weight: 400;
    vertical-align: bottom;
    background: transparent;
}

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

html {
    font-size: 62.5%;
}

body {
    font-family: sans-serif;
    line-height: 1;
}

ul,
ol {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

a {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    background: transparent;
    outline: none;
}

img {
    vertical-align: bottom;
}

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

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

del {
    text-decoration: line-through;
}

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

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

th,
td {
    text-align: left;
    vertical-align: top;
}

input,
select,
textarea {
    font-family: inherit;
}

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

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

html {
    overflow: auto;
}

body {
    min-width: 320px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    color: #333;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .05em;
    overflow: hidden;
    -webkit-text-size-adjust: 100%;
}


body.sg {
    height: auto;
}

a {
    color: inherit;
    text-decoration: underline;
}

span {
    font-weight: inherit;
}

strong {
    font-weight: 700;
}

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

@media all and (min-width: 600px) {
    body {
        min-width: 1140px;
        font-size: 1.7rem;
    }

    a:hover {
        text-decoration: none;
    }
}

/*-------------------------------------------
container汎用
---------------------------------------------*/

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

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

.wrapper {
    position: relative;
    padding-bottom: 55px;
}

.media-query {
    display: none;
    font-family: 'sp';
}

.alpha {
    display: block;
    text-decoration: none;
}

.cf:after {
    content: "";
    display: block;
    clear: both;
}

.inner {
    box-sizing: border-box;
}

@media all and (max-width: 599px) {
    .inner {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media all and (min-width: 600px) {
    .wrapper {
        padding-top: 80px;
        padding-bottom: 0;
    }

    .container.col2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 1100px;
        margin: 0 auto;
    }

    .container.col2 .contents {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: calc(100% - 250px - 20px);
    }

    .container.col2 .sidebar {
        width: 250px;
    }

    .media-query {
        font-family: 'pc';
    }

    .alpha {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .alpha:hover {
        opacity: .7;
    }

    .inner {
        width: 100%;
        max-width: 1100px;
        margin: auto;
    }
}

/*-------------------------------------------
フォント汎用
---------------------------------------------*/

.font-serif {
    font-family: 'Noto Serif JP', serif;
}

.font-poppins {
    font-family: 'Poppins', sans-serif;
}

.uppercase {
    text-transform: uppercase;
}

.writing-tb {
    -webkit-writing-mode: tb-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: tb-rl;
}

/*-------------------------------------------
下層ナビ共通
---------------------------------------------*/

.anchor01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -6px -10px;
}

.anchor01_item {
    box-sizing: border-box;
    width: calc(50% - 12px);
    margin: 0 6px 10px;
}

.anchor01_item+.anchor01_item {
    margin-top: 0;
}

.anchor01_item-link,
.anchor01_item a {
    box-sizing: border-box;
    display: block;
    padding: 11px;
    border: 2px solid #000080;
    background: #fff;
    text-decoration: none;
    text-align: center;
}

.anchor01_item.is-active .anchor01_item-link,
.anchor01_item.is-active a {
    background: #000080;
    color: #fff;
}

.anchor01.is-block {
    display: block;
    margin: 0;
}

.anchor01.is-block .anchor01_item {
    width: 100%
}

.anchor01.has-ico .anchor01_item-link,
.anchor01.has-ico a {
    position: relative;
}

.anchor01.has-ico .anchor01_item-link:after,
.anchor01.has-ico a:after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 20px;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #000080 transparent transparent transparent;
    content: "";
    z-index: 1;
}

.anchor01.is-sp-low2 .anchor01_item {
    box-sizing: border-box;
    line-height: 1.5;
}

.anchor01.is-sp-low2 .anchor01_item-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 55px;
    padding: 2px 20px;
}

.anchor01.is-sp-low2 .anchor01_item-link:after {
    right: 10px;
}

@media all and (min-width: 600px) {
    .anchor01 {
        margin: 0 -15px -15px;
    }

    .anchor01_item {
        width: calc(20% - 30px);
        margin: 0 15px 15px;
    }

    .anchor01_item-link,
    .anchor01_item a {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .anchor01_item-link:hover,
    .anchor01_item a:hover {
        background: #000080;
        color: #fff;
    }

    .anchor01.has-ico .anchor01_item-link:after,
    .anchor01.has-ico a:after {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .anchor01.has-ico .anchor01_item-link:hover:after,
    .anchor01.has-ico a:hover:after {
        border-color: #fff transparent transparent transparent;
    }

    .anchor01.is-pcol3 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -20px -10px;
    }

    .anchor01.is-pcol3 .anchor01_item {
        width: calc(33.333% - 40px);
        margin: 0 20px 10px;
    }

    .anchor01.is-pcol4 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px -10px;
    }

    .anchor01.is-pcol4 .anchor01_item {
        width: calc(25% - 20px);
        margin: 0 10px 10px;
    }
    
    .anchor01.is-pcol5 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px -10px;
    }

    .anchor01.is-pcol5 .anchor01_item {
        width: calc(20% - 20px);
        margin: 0 10px 10px;
    }
}


/*-------------------------------------------
アニメーション共通
---------------------------------------------*/

@media all and (min-width: 600px) {
    .slidein-left01 {
        position: relative;
        overflow: hidden;
    }

    .slidein-left01:before {
        content: '';
        position: absolute;
        top: 0;
        left: -40%;
        width: 175%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg);
        -ms-transform: skewX(-29deg);
        transform: skewX(-29deg);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .slidein-left01.is-show {
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 0.75s;
        transition-delay: 0.75s;
    }

    .slidein-left01.is-show:before {
        -webkit-transform: skewX(-29deg) translateX(100%);
        -ms-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }

    .slidein-left {
        position: relative;
        overflow: hidden;
        opacity: 0;
    }

    .slidein-left:before {
        content: '';
        position: absolute;
        top: 0;
        left: -40%;
        width: 175%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg);
        -ms-transform: skewX(-29deg);
        transform: skewX(-29deg);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .slidein-left.is-show {
        opacity: 1;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 0.75s;
        transition-delay: 0.75s;
    }

    .slidein-left.is-show:before {
        -webkit-animation: fadein-left 2s 0.75s both;
        animation: fadein-left 2s 0.75s both;
    }
}

@-webkit-keyframes fadein-left {
    0% {
        opacity: 0;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    25% {
        opacity: 1;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    100% {
        -webkit-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }
}

@keyframes fadein-left {
    0% {
        opacity: 0;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    25% {
        opacity: 1;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    100% {
        -webkit-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }
}

@-webkit-keyframes fadein-right {
    0% {
        opacity: 0;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    25% {
        opacity: 1;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    100% {
        -webkit-transform: skewX(-29deg) translateX(-100%);
        transform: skewX(-29deg) translateX(-100%);
    }
}

@keyframes fadein-right {
    0% {
        opacity: 0;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    25% {
        opacity: 1;
        -webkit-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    100% {
        -webkit-transform: skewX(-29deg) translateX(-100%);
        transform: skewX(-29deg) translateX(-100%);
    }
}

@media all and (min-width: 600px) {
    .fadein {
        opacity: 0;
        -webkit-transform: translateY(90px);
        -ms-transform: translateY(90px);
        transform: translateY(90px);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .fadein.is-show {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

/*-------------------------------------------
テキストリンク共通
---------------------------------------------*/

/*-------------------------------------------
.top-news
---------------------------------------------*/

.archive01_item {
    border-bottom: 1px solid #dcdcdc;
}

.archive01_link {
    display: block;
    padding: 10px 0 12px;
    text-decoration: none;
}

.archive01_date {
    font-weight: 500;
}

.archive01.has-ico .archive01_link {
    position: relative;
}

.archive01.has-ico .archive01_link:after {
    position: absolute;
    bottom: 20px;
    right: 0;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-color: transparent transparent transparent #000080;
    content: "";
}

@media all and (min-width: 600px) {
    .archive01_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        padding: 18px 0;
        font-size: 1.6rem;
    }

    .archive01_link:hover {
        text-decoration: underline;
    }

    .archive01_date {
        width: 120px;
    }

    .archive01_head {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .archive01.has-ico .archive01_link:after {
        right: 10px;
        bottom: 25px;
        border-width: 7px 0 7px 7px;
    }
}

/*-------------------------------------------
.technology-article
---------------------------------------------*/

.archive-technology01_item {
    padding: 24px 25px 30px;
    background: #fff;
    border: 1px solid #dcdcdc;
}

.archive-technology01_item+.archive-technology01_item {
    margin-top: 20px;
}

.archive-technology01_item-img {
    margin-bottom: 14px;
}

.archive-technology01_item-img .btn01_link {
    background: #fff;
    color: #000080;
}

.archive-technology01_item-img .btn01_link:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23105ea6%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.archive-technology01_item-img .btn01_link:hover {
    background: #000080;
    color: #fff;
}

.archive-technology01_item-img .btn01_link:hover:before {
    background-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
}

.archive-technology01_item-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px;
}

.archive-technology01_item-cat {
    padding: 10px;
    background: #000080;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    width: 100%;
}

.archive-technology01_item-head {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #000080;
    line-height: 1.5;
}

.archive-technology01_item-head-main {
    font-size: 1.8rem;
}


@media all and (min-width: 600px) {
    .archive-technology01_item {
        padding: 50px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .archive-technology01_item+.archive-technology01_item {
        margin-top: 30px;
    }

    .archive-technology01_item-img {
        width: 390px;
        margin: 0 50px 0 0;
    }

    .archive-technology01_item-area-txt {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

    .archive-technology01_item-meta {
        margin-bottom: 10px;
    }

    .archive-technology01_item-cat {
        font-size: 2rem;
    }

    .archive-technology01_item-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-bottom: 12px;
    }

    .archive-technology01_item-head-main {
        box-sizing: border-box;
        width: calc(100% - 92px);
        font-size: 2.2rem;
    }

}

/*-------------------------------------------
汎用カラー
---------------------------------------------*/

.bg-blue {
    background: #e9f4f9;
}

.bg-gray {
    background: #f5f5f5;
}

.color-blue {
    color: #000080;
}

.color-red {
    color: #D12B2B;
}

.color-white {
    color: #fff;
}

/*-------------------------------------------
汎用ボタン
---------------------------------------------*/

.btn01 {
    max-width: 315px;
    margin: 32px auto 0;
    text-align: center;
}

.btn01_link {
    position: relative;
    display: block;
    padding: 11px 10px;
    text-decoration: none;
    background: #000080;
    color: #fff;
    border: 1px solid #000080;
    box-sizing: border-box;
}

.btn01_link:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 25px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.btn01_set {
    margin-top: 30px;
}

.btn01_set .btn01 {
    margin-top: 0;
}

.btn01_set .btn01+.btn01 {
    margin-top: 10px;
}

.btn01.is-transparent .btn01_link {
    background: transparent;
    border-color: #fff;
    color: #fff;
}

@media all and (min-width: 600px) {
    .btn01 {
        max-width: 320px;
        min-width: 320px;
        margin-top: 68px;
    }

    .btn01_link {
        padding: 17px 15px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .btn01_link:before {
        right: 30px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .btn01_link:hover {
        background: #fff;
        color: #000080;
    }

    .btn01_link:hover:before {
        width: 25px;
        height: 9px;
        content: "";
        display: inline-block;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23105ea6%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .btn01_set {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 60px;
    }

    .btn01_set .btn01 {
        margin: 0;
    }

    .btn01_set .btn01+.btn01 {
        margin-top: 0;
        margin-left: 20px;
    }

    .btn01.is-transparent .btn01_link:hover {
        background: #fff;
        color: #000080;
    }

    .btn01.is-small-pc {
        min-width: 200px;
    }

    .btn01.is-small-pc .btn01_link {
        padding: 12px 15px;
    }
}

.btn-tel {
    max-width: 100%;
    margin: auto;
    text-align: center;
}

.btn-tel_link {
    display: block;
    padding: 19px 0 20px;
    border: 1px solid #000080;
    text-decoration: none;
    background: #fff;
}

.btn-tel_ico {
    position: relative;
    top: -5px;
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.btn-tel_ico:before {
    content: '';
    width: 17px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/tel-ico.svg");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.btn-tel_num {
    display: block;
    font-size: 2.8rem;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: .03em;
}

.btn-tel_time {
    display: block;
    line-height: 1.1;
    font-size: 1.2rem;
}

.btn-tel_txt {
    display: inline-block;
    vertical-align: baseline;
    font-size: 1.2rem;
    font-weight: 400;
    font-family: "Noto Sans JP";
}

@media all and (min-width: 600px) {
    .btn-tel {
        max-width: none;
        margin: auto;
        text-align: center;
    }

    .btn-tel_link {
        display: inline-block;
        padding: 0;
        border: 0;
        pointer-events: none;
        background: transparent;
    }

    .btn-tel_ico {
        top: -14px;
        margin-right: 5px;
        height: 29px;
        width: 23px;
    }

    .btn-tel_ico:before {
        width: 23px;
        height: 29px;
    }

    .btn-tel_num {
        font-size: 3.8rem;
    }

    .btn-tel.is-nav .btn-tel_ico {
        top: -10px;
        margin-right: 0;
        height: 14px;
        width: 18px;
    }

    .btn-tel.is-nav .btn-tel_ico:before {
        width: 14px;
        height: 18px;
    }

    .btn-tel.is-nav .btn-tel_link {
        font-size: 3.8rem;
    }

    .btn-tel.is-nav .btn-tel_num {
        font-size: 2.4rem;
    }
}

.btn-contact {
    max-width: 100%;
    height: 85px;
    margin: auto;
    text-align: center;
}

.btn-contact_link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    text-decoration: none;
    background: #333;
    color: #fff;
}

.btn-contact_link:after {
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    content: '';
    width: 25px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.btn-contact_ico {
    position: relative;
    vertical-align: middle;
    top: -1px;
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
}

.btn-contact_ico:before {
    content: '';
    width: 17px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20166.7%20117.6%22%20style%3D%22enable-background%3Anew%200%200%20166.7%20117.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-width%3A12%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Crect%20x%3D%226%22%20y%3D%226%22%20class%3D%22st0%22%20width%3D%22154.7%22%20height%3D%22105.6%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M26.5%2C26.9L75%2C65.8c5.4%2C4.4%2C13.2%2C4.3%2C18.5-0.1l46.8-38.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.btn-contact_txt {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 700;
}

.btn-contact.is-blue .btn-contact_link {
    background: #000080;
}

@media all and (max-width: 340px) {
    .btn-contact_link:after {
        display: none;
    }
}

@media all and (min-width: 600px) {
    .btn-contact {
        max-width: 430px;
        height: 100px;
    }

    .btn-contact_link {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .btn-contact_link:after {
        right: 30px;
    }

    .btn-contact_link:hover {
        background: #000080;
    }

    .btn-contact_ico {
        top: -2px;
        margin-right: 8px;
    }

    .btn-contact_ico:before {
        width: 22px;
        height: 22px;
    }

    .btn-contact_txt {
        font-size: 2rem;
    }

    .btn-contact.is-nav {
        position: absolute;
        top: 0;
        right: 0;
        width: 130px;
        height: 120px;
    }

    .btn-contact.is-nav .btn-contact_link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .btn-contact.is-nav .btn-contact_link:after {
        display: none
    }

    .btn-contact.is-nav .btn-contact_ico {
        display: block;
        margin-right: 0;
        line-height: 1;
    }

    .btn-contact.is-nav .btn-contact_txt {
        margin-top: 15px;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .btn-contact.is-blue .btn-contact_link:hover {
        background: #333;
    }
}

/*-------------------------------------------
汎用カード
.top-service_card
---------------------------------------------*/

.card01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px;
    position: relative;
    z-index: 1;
}

.card01_item {
    background: #fff;
    width: calc(50% - 10px);
    margin: 0 5px 10px;
}

.card01_item-link {
    display: block;
    text-decoration: none;
}

.card01_item-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    height: 80px;
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.card01_item-head:before {
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 20px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23105ea6%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.card01.has-border .card01_item {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0 1px 1px;
    border-color: #dcdcdc;
}

.card01.has-border .card01_item-link {
    margin: 0 -1px;
}

.card01.has-item-border .card01_item {
    box-sizing: border-box;
    border: 1px solid #dcdcdc;
}

.card01.has-item-border .card01_item-head {
    border-bottom: 0;
}

@media all and (max-width: 340px) {
    .card01 .card01_item-head {
        font-size: 1.5rem;
        padding-right: 15px;
    }
}

@media all and (min-width: 600px) {
    .card01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px;
    }

    .card01_item {
        position: relative;
        z-index: 2;
        width: calc(33.3333% - 20px);
        margin: 0 10px 40px;
    }

    .card01_item-link:hover .card01_item-img:before {
        opacity: 1;
    }

    .card01_item-link:hover .card01_item-head {
        color: #000080;
    }

    .card01_item-img {
        position: relative;
    }

    .card01_item-img:before {
        content: 'MORE';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 1.8rem;
        font-weight: 600;
        color: #fff;
        background: rgba(16, 94, 166, 0.5);
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        opacity: 0;
    }

    .card01_item-head {
        height: 65px;
        font-size: 1.5rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .card01_item-head:before {
        right: 35px;
    }

}

/*-------------------------------------------
汎用カード
.company-Item02al
---------------------------------------------*/

.card02 {
    margin: 0 -20px;
}

.card02_item {
    padding: 20px 25px 25px;
    border: 1px solid #dcdcdc;
    background: #fff;
}

.card02_item+.card02_item {
    margin-top: 15px;
}

.card02_item-area-txt {
    padding-top: 12px;
}

.card02_item-head {
    line-height: 1.5;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000080;
    font-size: 1.9rem;
    letter-spacing: 0.05em;
}

.card02_item-head-num {
    font-size: 2rem;
}

@media all and (min-width: 600px) {
    .card02 {
        margin: 0;
    }

    .card02_item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 50px;
    }

    .card02_item+.card02_item {
        margin-top: 30px;
    }

    .card02_item-img {
        box-sizing: border-box;
        width: calc(50% - 60px);
        padding-left: 50px;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .card02_item-area-txt {
        box-sizing: border-box;
        width: calc(50% + 60px);
        padding-top: 0;
    }

    .card02_item-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        line-height: 1.8;
        margin-bottom: 15px;
        padding-bottom: 5px;
        font-size: 2.2rem;
    }

    .card02_item-head-num {
        font-size: 3rem;
        font-weight: bold;
    }

    .card02_item-head-txt {
        margin-left: 20px;
    }
}

/*-------------------------------------------
汎用見出し
---------------------------------------------*/

.head01 {
    position: relative;
    padding-left: 20px;
    margin-bottom: 40px;
    font-weight: 500;
}

.head01:before {
    content: '';
    position: absolute;
    top: 8px;
    left: 5px;
    height: 19px;
    width: 5px;
    background: #000080;
    -webkit-transform: skewX(-30deg);
    -ms-transform: skewX(-30deg);
    transform: skewX(-30deg);
}

.head01_main {
    font-size: 2.4rem;
    letter-spacing: .15em;
    line-height: 1.5416666666666667;
}

.head01_sub {
    font-weight: 600;
}

.head01_sub.is-alpha {
    opacity: .2;
}

.head01_flex {
    display: block;
    margin-top: 10px;
}

.head01_img {
    margin-bottom: 2rem;
}

.head01_txt {
    width: 100%;
    margin: 15px 0 0 -20px;
    font-size: 2.1rem;
    letter-spacing: .15em;
    line-height: 1.7619047619047619;
}

@media all and (min-width: 600px) {
    .head01_flex {
        display: flex;
        margin: 3rem auto 0rem;
        gap: 60px;
    }

    .head01_flex.-reverse {
        flex-direction: row-reverse;
    }

    .head01_img {
        margin-bottom: 0;
        width: 50%;
    }

    .head01_flex-txt {
        width: 50%;
    }
}

.head01_lead {
    margin-top: 10px;
    text-align: center;
}

.head01_lead.is-left {
    margin-top: 0;
    text-align: left;
}

.head01.is-white {
    color: #fff;
}

.head01.is-white:before {
    background: #fff;
}

.head01.is-center {
    text-align: center;
    padding-top: 25px;
    padding-left: 0;
    margin-bottom: 25px;
}

.head01.is-center {
    text-align: center;
    padding-top: 25px;
    padding-left: 0;
    margin-bottom: 25px;
}

.head01.is-center:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.head01.is-center .head01_main {
    margin-top: 3px;
}

.head01.is-inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.head01.is-inline .head01_sub {
    margin-left: 15px;
}

.head01.is-small {
    margin-bottom: 15px;
}

.head01.is-small:before {
    top: 12px;
    left: 10px;
}

.head01.is-small .head01_main {
    line-height: 2;
    padding-left: 8px;
    font-size: 2.1rem;
    letter-spacing: 0.05em;
}

@media all and (min-width: 600px) {
    .head01 {
        padding-left: 43px;
        margin-bottom: 60px;
    }

    .head01:before {
        top: 10px;
        height: 30px;
    }

    .head01_main {
        font-size: 3.8rem;
        margin-bottom: 5px;
    }

    .head01_sub {
        font-size: 2rem;
    }

    .head01_txt {
        margin: 15px 0 0 -20px;
        font-size: 2.5rem;
    }

    .head01.is-white {
        color: #fff;
    }

    .head01.is-white:before {
        background: #fff;
    }

    .head01.is-center {
        padding-top: 30px;
        margin-bottom: 40px;
    }

    .head01.is-center .head01_main {
        margin-top: 12px;
    }

    .head01.is-inline {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .head01.is-inline .head01_sub {
        margin-left: 15px;
    }

    .head01.is-inline .head01_txt {
        margin-left: -50px;
    }

    .head01.is-small {
        padding-left: 40px;
    }

    .head01.is-small:before {
        top: 20px;
    }

    .head01.is-small .head01_main {
        margin-bottom: 15px;
        padding-left: 0;
        font-size: 3.3rem;
    }

    .head01.is-small .head01_txt {
        margin-left: -43px;
        font-size: 2rem;
    }
}

.head02 {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 1.8rem;
    font-weight: 700;
    border-bottom: 1px solid #000;
}

@media all and (min-width: 600px) {
    .head02 {
        margin-bottom: 20px;
        padding-bottom: 14px;
        font-size: 2.5rem;
    }
}

.head03 {
    position: relative;
    padding-bottom: 2px;
    font-size: 1.9rem;
    text-align: center;
    margin-bottom: 10px;
}

.head03:after {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
    width: 60px;
    border-bottom: 1px solid #000080;
    content: "";
}

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

    .head03:after {
        width: 100px;
    }
}

.head04 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000080;
    font-size: 1.8rem;
}

.head04_num {
    color: #000080;
    margin-right: 10px;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.7;
}

@media all and (min-width: 600px) {
    .head04 {
        margin-bottom: 25px;
        padding-bottom: 8px;
        font-size: 2.2rem;
    }

    .head04_num {
        position: relative;
        top: 7px;
        margin-right: 20px;
        font-size: 3rem;
    }
}

/*-------------------------------------------
汎用BOX
.technology-intro
.products-intro
---------------------------------------------*/

.intro01_inner {
    padding-top: 50px;
}

.intro01_content {
    position: relative;
    margin: 0 -30px;
    padding: 30px 30px 35px;
}

.intro01_content:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: center/cover no-repeat;
    z-index: -1;
    content: "";
}

@media all and (min-width: 600px) {
    .intro01_inner {
        padding-top: 80px;
    }

    .intro01_content {
        margin: 0;
        padding: 70px 0 76px;
    }

    .intro01_content:before {
        left: -410px;
        background-size: contain;
    }
}

/*-------------------------------------------
汎用list
.company-access_sec
---------------------------------------------*/

.list01_item {
    position: relative;
    padding-left: 15px;
}

.list01_item:before {
    position: absolute;
    top: -2px;
    left: 0;
    content: '-';
}

.list01_link {
    text-decoration: none;
}

@media all and (min-width: 600px) {
    .list01_item {
        font-size: 1.4rem;
    }

    .list01_link {
        text-decoration: none;
    }

    .list01_link:hover {
        text-decoration: underline;
    }

    .list01.is-row-pc {
        -webkit-column-count: 2;
        column-count: 2;
    }
}

.list-num01 {
    counter-reset: number;
}

.list-num01_item {
    position: relative;
    padding-left: 30px;
    font-size: 1.6rem;
}

.list-num01_item:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number;
    content: "0" counter(number) ". ";
}

.list-num01_item+.list-num01_item {
    margin-top: 15px;
}

@media all and (min-width: 600px) {
    .list-num01_item {
        padding-left: 35px;
        font-size: 2rem;
        letter-spacing: 0.05em;
    }

    .list-num01_item+.list-num01_item {
        margin-top: 0;
    }
}

/*-------------------------------------------
汎用flex
.products-Item01
---------------------------------------------*/

.set02_item-area-txt {
    padding: 10px 0 15px;
}

.set02_item-head {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

.set02_item-txt {
    margin-top: 10px;
}

.set02_item+.set02_item {
    margin-top: 23px;
}

@media all and (min-width: 600px) {
    .set02 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px -20px;
    }

    .set02_item {
        box-sizing: border-box;
        width: calc(25% - 20px);
        margin: 0 10px 20px;
    }

    .set02_item-area-txt {
        padding-top: 18px;
    }

    .set02_item-head {
        font-size: 2.2rem;
    }

    .set02_item-txt {
        margin-top: 0;
        text-align: center;
    }

    .set02_item+.set02_item {
        margin-top: 0;
    }

    .set02.is-pcol2 .set02_item {
        width: calc(50% - 40px);
        margin: 0 20px;
    }

    .set02.is-pcol3 {
        margin: 0 -20px;
    }

    .set02.is-pcol3 .set02_item {
        width: calc(33.3333% - 40px);
        margin: 0 20px;
    }

    .set02.is-pcol3 .set02_item-head {
        margin: 30px 0 12px;
        text-align: center;
        font-weight: bold;
        font-size: 2.1rem;
    }

    .set02.is-pcol3 .set02_item+.set02.is-pcol3 .set02_item {
        margin-top: 0;
    }

    .set02.is-pcol3 .set02_item:nth-child(n+4) {
        margin-top: 20px;
    }

    #equipment .set02.is-pcol3 .set02_item:nth-child(n+4) {
        margin-top: 30px;
    }
}

/*-------------------------------------------
汎用item
.interview-qa_content
---------------------------------------------*/

.set03_item+.set03_item {
    margin-top: 15px;
}

.set03_item-head,
.set03_item-txt {
    position: relative;
    padding-left: 25px;
}

.set03_item-head-ico,
.set03_item-txt-ico {
    position: absolute;
    top: -2px;
    left: 0;
    font-size: 1.7rem;
    font-weight: bold;
}

.set03_item-head {
    box-sizing: border-box;
    line-height: 1.8;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000080;
}

@media all and (min-width: 600px) {
    .set03_item+.set03_item {
        margin-top: 35px;
    }

    .set03_item-head,
    .set03_item-txt {
        padding-left: 45px;
    }

    .set03_item-head-ico,
    .set03_item-txt-ico {
        position: absolute;
        top: 3px;
        left: 0;
        line-height: 1;
        font-size: 3rem;
    }

    .set03_item-head {
        margin-bottom: 10px;
        padding-bottom: 12px;
        font-size: 2rem;
    }
}


/*-------------------------------------------
汎用table
.company-history
.recruit-first
---------------------------------------------*/

.table01 th,
.table01 td {
    box-sizing: border-box;
    border-style: solid;
    border-color: #dcdcdc;
}

.table01 th {
    padding-top: 11px;
}

.table01 td {
    padding-bottom: 11px;
    border-width: 0 0 1px;
}

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

    .table01 table,
    .table01 thead,
    .table01 tbody,
    .table01 tr,
    .table01 th,
    .table01 td {
        display: block;
    }
}

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

    .table01 th,
    .table01 td {
        border-width: 1px 0;
    }

    .table01 th {
        width: 250px;
        padding: 20px 30px;
    }

    .table01 td {
        padding: 20px 0;
        vertical-align: middle;
    }
}

/*-------------------------------------------
汎用table
.technology-article
---------------------------------------------*/

.table02 {
    margin-right: -30px;
    overflow-x: scroll;
}

.table02_content {
    width: 412px;
    padding-right: 30px;
}

.table02 th,
.table02 td {
    box-sizing: border-box;
    padding: 5px 10px;
    border: 1px solid #dcdcdc;
}

.table02 thead th {
    color: #000080;
    background: #eef6f9;
}

.table02 tbody td {
    background: #fff;
}

@media all and (min-width: 600px) {
    .table02 {
        margin-right: 0;
        overflow-x: auto;
    }

    .table02_content {
        width: 530px;
    }

    .table02 th,
    .table02 td {
        padding: 11px 18px;
    }
}

/*-------------------------------------------
パンくずリスト
---------------------------------------------*/
.breadcrumb-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100px;
    padding: 8px 10px 25px;
    color: #fff;
}

.breadcrumb-list_item {
    display: inline-block;
}

.breadcrumb-list_item.active {
    color: #86bef1;
}

.breadcrumb-list_item.active a {
    pointer-events: none;
    cursor: default;
}

.breadcrumb-list_item+.breadcrumb-list_item {
    position: relative;
    padding-left: 45px;
}

.breadcrumb-list_item+.breadcrumb-list_item:before {
    position: absolute;
    left: 20px;
    content: ">";
    margin-right: 4px;
}

/*-------------------------------------------
ヘッダー
---------------------------------------------*/

.header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 320px;
    z-index: 2000;
}

@media all and (max-width: 599px) {
    .header.is-open {
        background: #e9f4f9;
    }

    .header.is-open .hdr-info_head {
        background: #fff;
    }
}

@media all and (min-width: 600px) {
    .header {
        position: absolute;
        width: 100%;
        height: 120px;
        min-width: 1100px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .header.is-clone {
        height: 70px;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
    }

    .header.is-clone .hdr-info_inner {
        height: 70px;
        display: flex;
        align-items: center;
    }

    .header.is-clone .hdr-info_logo {
        padding: 10px 0 0 20px;
        width: 100%;
    }

    .header.is-clone .hdr-info_logo img {
        height: 50px;
        display: block;
    }

    .header.is-clone .nav .nav-list {
        padding-top: 0;
    }

    .header.is-clone .nav .nav-contact {
        padding: 20px 0 0 0;
    }

    .header.is-clone .nav .nav-contact .nav-contact_item {
        height: 70px;
    }

    .header.is-clone .nav .nav-contact .nav-contact_item .btn-contact_txt {
        margin-top: 0;
    }
}

.header .hdr-info {
    position: relative;
    z-index: 3;
    height: 85px;
}

.header .hdr-info_head {
    width: 100%;
    padding: 5px 10px;
    font-size: 1rem;
    line-height: 1.6;
    box-sizing: border-box;
}

.header .hdr-info_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.header .hdr-info_logo {
    width: 70%;
    padding: 5px 0 0 10px;
}

@media all and (min-width: 600px) {
    .header .hdr-info {
        height: auto;
    }

    .header .hdr-info_head {
        position: absolute;
        white-space: nowrap;
        width: 100%;
        padding: 20px 0 0 28px;
        font-size: 1.2rem;
        color: #fff;
    }

    .header .hdr-info_logo {
        padding: 10px 0 0 20px;
        display: flex;
        align-items: center;
        width: 100%;
    }

    .header .hdr-info_inner {
        height: 120px;
        display: flex;
        align-items: center;
    }
}

.header .nav-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
}

.header .nav-btn_line {
    position: absolute;
    left: 20px;
    width: 24px;
    height: 3px;
    content: '';
    background: #000080;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.header .nav-btn_line:nth-child(1) {
    top: 13px;
}

.header .nav-btn_line:nth-child(2) {
    top: 20px;
}

.header .nav-btn_line:nth-child(3) {
    top: 27px;
}

.header .nav-btn.is-open .nav-btn_line {
    top: 20px;
}

.header .nav-btn.is-open .nav-btn_line:nth-child(1) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

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

.header .nav-btn.is-open .nav-btn_line:nth-child(3) {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate;
}

.header .nav-btn_chara {
    position: absolute;
    left: 0;
    bottom: 13px;
    width: 100%;
    color: #000080;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-align: center;
    line-height: 1;
}

.nav {
    position: absolute;
    top: 80px;
    left: 0;
    z-index: 2;
    width: 100%;
    max-height: 100vh;
    min-width: 320px;
    padding: 8px 0 45px;
    background: #e9f4f9;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

@media all and (max-width: 599px) {
    .nav {
        overflow: auto;
        -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
        transform: translateX(120%);
    }

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

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

    .nav .nav-list_item:not(:last-child) {
        border-bottom: 1px solid rgba(26, 79, 152, 0.1);
    }
}

.nav .nav-list {
    padding: 0 30px;
}

.nav .nav-list_link {
    display: block;
    padding: 12px 0;
    text-decoration: none;
    color: #000080;
    font-size: 1.5rem;
    font-weight: 600;
}

.nav .nav-contact {
    padding: 14px 30px 0;
}

.nav .nav-contact_item:not(:last-child) {
    margin-bottom: 15px;
}

@media all and (min-width: 600px) {
    .nav {
        position: relative;
        position: static;
        width: auto;
        min-width: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-left: auto;
        padding: 0;
        background: transparent;
        padding-right: 130px;
    }

    .nav .nav-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        letter-spacing: -.5em;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding: 5px 0 0 0;
    }

    .nav .nav-list_item {
        display: inline-block;
        letter-spacing: 0;
        margin-right: 33px;
    }

    .nav .nav-list_link {
        position: relative;
        display: block;
        padding: 0;
        text-decoration: none;
        color: #333;
        letter-spacing: 0.05em;
    }

    .nav .nav-list_link:before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: #adadad;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: scaleX(0);
        -ms-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: left;
        -ms-transform-origin: left;
        transform-origin: left;
    }

    .nav .nav-list_link:hover:before {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }

    .nav .nav-contact {
        padding: 20px 0 0 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        margin-left: auto;
    }

    .nav .nav-contact_item {
        margin: 0;
        display: inline-block;
    }

    .nav .nav-contact_item:not(:last-child) {
        margin-bottom: 0;
        margin-right: 25px;
    }
}

@media all and (min-width: 600px) and (max-width: 1280px) {
    .nav .nav-list_item {
        margin-right: 15px;
    }
}

.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: 600px) {
    .nav-overlay {
        display: none !important;
    }
}

@media all and (min-width: 600px) {
    body.is-sticky .header.is-clone {
        position: fixed;
        background: #fff;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}



/*-------------------------------------------
フッター上部コンタクト
---------------------------------------------*/

.ft-contact {
    position: relative;
    z-index: 1;
}

.ft-contact:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 88%;
    background: #000080;
    z-index: -1;
}

.ft-contact:after {
    content: '';
    position: absolute;
    right: -62%;
    bottom: 0;
    width: 50vw;
    height: 88%;
    background: #1b6fbc;
    z-index: -1;
    -webkit-transform: skew(-30deg);
    -ms-transform: skew(-30deg);
    transform: skew(-30deg);
}

.ft-contact_inner {
    padding-bottom: 70px;
}

.ft-contact_box {
    position: relative;
    margin: 0 -20px;
    padding: 0 20px 55px;
    border: 1px solid #dcdcdc;
    background: #fff;
}

.ft-contact_head {
    margin: -.5em 0 19px;
    line-height: 1;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: .03em;
}

.ft-contact_txt {
    margin-bottom: 28px;
    text-align: center;
    font-size: 1.55rem;
}

.ft-contact_fax {
    text-align: center;
    margin-bottom: 10px;
}

.ft-contact_fax-num {
    font-size: 2.5rem;
    font-weight: 600;
}

.ft-contact_fax-ico {
    position: relative;
    top: -6px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

.ft-contact_fax-ico:before {
    width: 21px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/fax-ico.svg");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.ft-contact_bg-txt {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 6rem;
    line-height: 0.75;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.05);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media all and (min-width: 600px) {
    .ft-contact:before {
        height: 460px;
    }

    .ft-contact:after {
        width: 40vw;
        height: 460px;
    }

    .ft-contact_inner {
        padding-bottom: 150px;
    }

    .ft-contact_box {
        margin: 0 -120px;
        max-width: 1340px;
        padding: 0 100px 70px;
    }

    .ft-contact_head {
        margin-bottom: 54px;
        font-size: 4.8rem;
    }

    .ft-contact_txt {
        margin-bottom: 47px;
        font-size: 2.2rem;
    }

    .ft-contact_list {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        -ms-grid-rows: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .ft-contact_item {
        margin: 0;
    }

    .ft-contact_item:nth-child(2) {
        -ms-grid-row: 2;
        grid-row: 2;
        -ms-grid-column: 1;
        grid-column: 1;
    }

    .ft-contact_item:nth-child(3) {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1/3;
        -ms-grid-column: 2;
        grid-column: 2;
        margin: auto 0;
    }

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

    .ft-contact_fax-num {
        font-size: 3.8rem;
    }

    .ft-contact_fax-ico {
        top: -10px;
    }

    .ft-contact_fax-ico:before {
        width: 28px;
        height: 26px;
    }

    .ft-contact_bg-txt {
        font-size: 21.8rem;
    }
}

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

.footer {
    position: relative;
    background: #55636E;
    color: #fff;
}

.footer_inner {
    padding-top: 35px;
    padding-bottom: 60px;
}

.footer .ft-info_logo {
    width: 80%;
}

.footer .ft-info_address {
    margin-top: 13px;
    font-size: 1.4rem;
}

.footer .ft-sitemap {
    margin-top: 25px;
}

.footer .ft-sitemap_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer .ninsho-box {
    margin-top: 40px;
}

.footer .ft-sitemap_item {
    width: 50%;
}

.footer .ft-sitemap_item:not(:last-child) {
    margin-bottom: 15px;
}

.footer .ft-sitemap_link {
    position: relative;
    font-weight: 600;
    text-decoration: none;
}

.footer .ft-sitemap_link:before {
    content: '-';
    margin-right: 5px;
}

.footer .ft-cr {
    margin-top: 30px;
    text-align: center;
    font-size: 1.4rem;
    background-color: #333;
}

@media all and (min-width: 600px) {
    .footer_inner {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-top: 60px;
    }

    .footer .ft-info {
        width: 400px;
    }

    .footer .ft-info_logo {
        width: 80%;
    }

    .footer .ft-info_address {
        margin-top: 10px;
    }

    .footer .ft-sitemap {
        margin-top: 0;
        margin-left: auto;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

    .footer .ft-sitemap_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        margin-left: auto;
    }

    .footer .ft-sitemap_item {
        width: auto;
    }

    .footer .ft-sitemap_item:not(:last-child) {
        margin-right: 30px;
        margin-bottom: 0;
    }

    .footer .ft-sitemap_link {
        position: relative;
        font-size: 1.5rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }

    .footer .ft-sitemap_link:before {
        display: none;
    }

    .footer .ft-sitemap_link:after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1px;
        background: #adadad;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transform: scaleX(0);
        -ms-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: left;
        -ms-transform-origin: left;
        transform-origin: left;
    }

    .footer .ft-sitemap_link:hover:after {
        -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
        transform: scaleX(1);
    }

    .footer .ninsho-box {
        text-align: right;
        margin-top: 30px;
    }

    .footer .ninsho-box img {
        width: 70%;
    }

    .footer .ft-cr {
        margin-top: 0;
        text-align: center;
        font-size: 1.4rem;
        background-color: #333;
    }
}

/* SNS + ISO を横並びにするラッパー */
.ft-badges {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    margin-top: 1rem;
}

.ft-sns {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-top: 5px;
}

.ft-sns img {
    height: 26px;
    width: auto;
    display: block;
    transition: opacity .3s ease;
}

.ft-sns a:hover img {
    opacity: .75;
}

.iso-logos {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
}

.iso-logos img {
    height: 80px;
    background: #fff;
    padding: 5px;
    border-radius: 4px;
    width: auto;
    display: block;
}

@media (max-width: 768px) {
    .ft-badges {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 14px 18px;
    }

    .ft-sns img {
        height: 24px;
    }

    .iso-logos img {
        height: 60px;
    }
}

/*-------------------------------------------
ページトップ
---------------------------------------------*/

.ft-pagetop {
    position: absolute;
    top: 30px;
    right: 20px;
}

.ft-pagetop_link:before {
    width: 25px;
    height: 9px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%209.6%22%20style%3D%22enable-background%3Anew%200%200%2027%209.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cg%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2227%2C3.6%2027%2C3.6%2027%2C3.3%2026.4%2C3.3%2021%2C0%2021%2C3.3%200%2C3.3%200%2C5.3%2021%2C5.3%2021%2C9.6%2026.5%2C5.3%2027%2C5.3%2027%2C4.9%2027%2C4.9%20%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.ft-fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    z-index: 100;
}

.ft-fixed_item {
    width: 50%;
    height: 55px;
}

.ft-fixed_item.is-contact .ft-fixed_item-link {
    border-color: #616161;
    background: #333;
    color: #fff;
    font-size: 1.3rem;
}

.ft-fixed_item.is-contact .ft-fixed_item-ico {
    position: absolute;
    top: 50%;
    left: 10px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.ft-fixed_item.is-contact .ft-fixed_item-ico:before {
    width: 17px;
    height: 12px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20166.7%20117.6%22%20style%3D%22enable-background%3Anew%200%200%20166.7%20117.6%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-width%3A12%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A10%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Crect%20x%3D%226%22%20y%3D%226%22%20class%3D%22st0%22%20width%3D%22154.7%22%20height%3D%22105.6%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M26.5%2C26.9L75%2C65.8c5.4%2C4.4%2C13.2%2C4.3%2C18.5-0.1l46.8-38.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.ft-fixed_item-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    background: #fff;
    border: 1px solid #000080;
    text-align: center;
    text-decoration: none;
    font-size: 1.8rem;
    line-height: 1.3333333333333333;
    font-weight: 600;
}

.ft-fixed_item-ico {
    position: relative;
    top: -2px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.ft-fixed_item-ico:before {
    width: 11px;
    height: 15px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2031.9%2040.2%22%20style%3D%22enable-background%3Anew%200%200%2031.9%2040.2%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23105ea6%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M27.1%2C27.2c0.9%2C1.4%2C3.3%2C5.1%2C4.3%2C6.5c0.7%2C1.1%2C0.7%2C1.9-0.2%2C2.70.3%2C0.3-1.4%2C1-2.7%2C1.8%20C23.1%2C42%2C15.7%2C41.5%2C6.3%2C27.3C-3%2C13.2-0.7%2C5.9%2C4.8%2C2.1C6%2C1.2%2C7%2C0.4%2C7.4%2C0.3C8.5-0.3%2C9.3%2C0%2C10%2C1.1c0.9%2C1.4%2C3.4%2C5.1%2C4.3%2C6.5%20c0.9%2C1.4%2C0.8%2C2.5-0.4%2C3.51.3%2C1-3.5%2C2.2-4.4%2C2.50.5%2C1.9%2C0%2C4.9%2C3%2C9.5c3%2C4.6%2C5.5%2C6.2%2C7.5%2C6.4c0.6-0.8%2C2.5-2.4%2C3.9-3.3%20C25.2%2C25.4%2C26.2%2C25.7%2C27.1%2C27.2z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

@media all and (max-width: 340px) {
    .ft-fixed_item-link {
        font-size: 1.6rem;
    }
}

/*-------------------------------------------
JS
---------------------------------------------*/

.js-switch-tab {
    cursor: pointer
}

.js-switch-content {
    display: none
}

.js-switch-content.is-active {
    display: block
}

.js-toggle-trigger {
    cursor: pointer
}

.js-toggle-content {
    display: none
}


/*-------------------------------------------
TOP FV
---------------------------------------------*/

.main-img {
    position: relative;
    box-sizing: border-box;
    padding-bottom: 68px;
    z-index: 1;
}

.main-img:before {
    content: '';
    position: absolute;
    top: -60px;
    left: 0;
    width: 100%;
    height: calc(100% + 60px);
    background: url(../img/bg_mv01_sp.webp) no-repeat center/cover;
    z-index: -1;
}

.main-img_pic {
    padding-left: 10%;
}

#slider {
    width: 100%;
    height: 80vh;
}

.main-img_inner {
    position: absolute;
    left: 25px;
    bottom: 20.3%;
}

.main-img_copy {
    width: 80.7%;
}

.main-img_txt {
    padding-top: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.7857142857142858;
    text-shadow: 0 0 8px rgb(0, 0, 0, 0.4);
}

.main-img_inner2 {
    position: absolute;
    right: 0;
    bottom: 0;
}

.security-action_box {
    position: relative;
    padding: 1rem;
    box-shadow: 0 0 15px #ccc;
    color: #333;
    background-color: #fff;
}

.security-action_box::before {
    position: absolute;
    top: 0;
    right: 0;
    height: 25px;
    width: 7px;
    background-color: #000080;
    content: '';
}


.security-action_box p {
    line-height: 1.5;
}


.security-action_button a {
    display: flex;
    position: relative;
    color: #333;
    transition: 0.3s;
    align-items: center;
    gap: 20px;
}

.security-action_button a img {
    width: 7%;
}

.security-action_button a::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 3px solid #aaaaaa;
    border-radius: 50vh;
    transition: 0.3s;
}

.security-action_button a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    transition: 0.3s;
}

.security-action_button a:hover {
    text-decoration: underline;
}

.security-action_button a:hover::before {
    background-color: #333;
}

.security-action_button a:hover::after {
    border-top: 2px solid #f2f2f2;
    border-right: 2px solid #f2f2f2;
}

@media all and (max-width: 420px) {
    .main-img_inner2 {
        bottom: -10%;
    }

    .security-action_button a {
        font-size: 0.8em;
    }

    .security-action_button a img {
        width: 25%;
    }

    .security-action_button a::before {
        width: 25px;
        height: 25px;
    }

    .security-action_button a::after {
        right: 13px;
    }
}

@media all and (min-width: 600px) {
    .main-img {
        padding-top: 40px;
        padding-bottom: 100px;
    }

    .main-img:before {
        top: -120px;
        height: calc(100% + 120px);
        background-image: url("../img/bg_mv01_pc.jpg");
        background-image: image-set(url("../img/bg_mv01_pc.webp") type("image/webp"),
                url("../img/bg_mv01_pc.jpg") type("image/jpeg"));
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .main-img:after {
        content: '';
        position: absolute;
        top: -120px;
        right: -20%;
        width: 87%;
        height: calc(100% + 120px);
        background: #fff;
        z-index: -1;
        -webkit-transform: skewX(-29deg) translateX(100%);
        -ms-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }

    .main-img_pic {
        position: relative;
        padding-left: 15%;
        padding-right: 130px;
        overflow: hidden;
        opacity: 0;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }

    .main-img_pic:before {
        content: '';
        position: absolute;
        top: 0;
        left: -25%;
        width: 150%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 0.75s;
        transition-delay: 0.75s;
        -webkit-transition-duration: 2.5s;
        transition-duration: 2.5s;
    }

    .main-img_inner {
        position: absolute;
        top: 48%;
        left: 7%;
        bottom: auto;
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    .main-img_copy {
        width: 750px;
        -webkit-transform: translateX(-90px);
        -ms-transform: translateX(-90px);
        transform: translateX(-90px);
        opacity: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 2s;
        transition-delay: 2s;
    }

    .main-img_txt {
        font-size: 2rem;
        -webkit-transform: translateX(-90px);
        -ms-transform: translateX(-90px);
        transform: translateX(-90px);
        opacity: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 2.25s;
        transition-delay: 2.25s;
    }

    .security-action_box {
        -webkit-transform: translateX(90px);
        -ms-transform: translateX(90px);
        transform: translateX(90px);
        opacity: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 2.5s;
        transition-delay: 2.;
    }

    .main-img.is-show:after {
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
    }

    .main-img.is-show .main-img_pic {
        opacity: 1;
    }

    .main-img.is-show .main-img_pic:before {
        -webkit-transform: skewX(-29deg) translateX(100%);
        -ms-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }

    .main-img.is-show .main-img_copy,
    .main-img.is-show .main-img_txt,
    .main-img.is-show .security-action_box {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

/*-------------------------------------------
TOP/ヘッダーダウン
---------------------------------------------*/

@media all and (min-width: 600px) {
    #top .header.js-scroll-elem {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        -webkit-transition-delay: 1.5s;
        transition-delay: 1.5s;
    }

    #top .header.js-scroll-elem.is-show {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}


/*-------------------------------------------
TOP/企業情報
---------------------------------------------*/

.top-intro {
    position: relative;
    z-index: 1;
    /*margin-top: 55px;*/
}

.top-intro_contents {
    position: relative;
    z-index: 1;
}

.top-intro_contents:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: url(../img/bg_intro01_sp.webp) no-repeat center/cover;*/
    z-index: -1;
}

.top-intro_inner {
    padding-top: 35px;
    padding-bottom: 45px;
}

.top-intro_head {
    position: relative;
    padding-top: 30px;
    margin-bottom: 22px;
}

.top-intro_head:before {
    content: '';
    position: absolute;
    top: 0;
    left: 5px;
    height: 19px;
    width: 5px;
    background: #000080;
    -webkit-transform: skewX(-30deg);
    -ms-transform: skewX(-30deg);
    transform: skewX(-30deg);
}

.top-intro_head-txt {
    font-size: 2.1rem;
    font-weight: 600;
    letter-spacing: .15em;
    line-height: 1.7619047619047619;
}

.top-intro_img:before {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.top-intro_area-txt {
    padding-top: 22px;
}

.top-intro_txt+.top-intro_txt {
    margin-top: 2em;
}

@media all and (min-width: 600px) {
    .top-intro.is-show .top-intro_contents:after {
        -webkit-transform: skewX(-29deg) translateX(100%);
        -ms-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }

    .top-intro_contents:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1220px;
        /*background-image: url(../img/bg_intro01_pc.webp);*/
    }

    .top-intro_contents:after {
        content: '';
        position: absolute;
        top: 0;
        left: -20%;
        width: 175%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .top-intro_inner {
        position: relative;
        padding: 120px 0 130px 440px;
    }

    .top-intro_head {
        position: relative;
        padding-top: 65px;
        margin-bottom: 0;
    }

    .top-intro_head:before {
        top: 0;
        left: 15px;
        height: 28px;
        width: 7px;
    }

    .top-intro_head-txt {
        font-size: 3.3rem;
    }

    .top-intro_img {
        position: absolute;
        top: 120px;
        left: -80px;
        width: 480px;
    }

    .top-intro_area-txt {
        padding-top: 40px;
    }
}


/*-------------------------------------------
TOP/弊社の特徴
---------------------------------------------*/

.top-intro-feture {
    position: relative;
    z-index: 1;
    background: url(../img/bg_feture01_sp.png) no-repeat center/cover;
}

.top-intro-feture_inner {
    padding: 40px 19px 45px;
}

.top-intro-feture_set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-intro-feture_head {
    /*color: #fff;*/
    font-size: 2.1rem;
    font-weight: 600;
    letter-spacing: .15em;
}

.top-intro-feture_img {
    width: 229px;
    margin: 0 20px 0 auto;
}

.top-intro-feture_iframe {
    width: 100%;
    margin: 0;
    ;
}

.top-intro-feture_area-txt {
    padding: 27px 11px 0;
    /*color: #fff;*/
}

.top-intro-feture_sub {
    margin-bottom: 16px;
    font-size: 1.8rem;
    font-weight: 700;
}

.top-intro-feture_box {
    margin: 37px -5px 40px;
    padding: 20px 20px 25px 15px;
    background: #fff;
}

.top-intro-feture_box-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.top-intro-feture_box-item+.top-intro-feture_box-item {
    margin-top: 20px;
}

.top-intro-feture_box-ico {
    width: 80px;
}

.top-intro-feture_box-txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 15px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
}

@media all and (min-width: 600px) {
    .top-intro-feture {
        max-width: 1340px;
        margin: 0 auto 60px;
        background-image: url("../img/bg_feture01_pc.png");
        background-image: image-set(url("../img/bg_feture01_pc.webp") type("image/webp"),
                url("../img/bg_feture01_pc.png") type("image/png"));
    }

    .top-intro-feture_inner {
        padding: 110px 75px 70px;
    }

    .top-intro-feture_set {
        padding-left: 30px;
    }

    .top-intro-feture_head {
        padding-top: 5px;
        padding-right: 50px;
        font-size: 3.2rem;
    }

    .top-intro-feture_img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 458px;
        margin: 0 45px 0 0;
    }

    .top-intro-feture_area-txt {
        padding: 10px 50px 0 0;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

    .top-intro-feture_sub {
        margin-bottom: 43px;
        font-size: 2.5rem;
    }

    .top-intro-feture_box {
        margin-top: 84px;
        margin-bottom: 80px;
        padding: 35px 50px 45px;
        background: #fff;
    }

    .top-intro-feture_box-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .top-intro-feture_box-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .top-intro-feture_box-item+.top-intro-feture_box-item {
        margin-top: 0;
    }

    .top-intro-feture_box-item:nth-child(1) {
        width: 205px;
        margin-right: 75px;
    }

    .top-intro-feture_box-item:nth-child(2) {
        width: 240px;
        margin-right: 30px;
    }

    .top-intro-feture_box-item:nth-child(3) {
        width: 308px;
        margin-right: 40px;
    }

    .top-intro-feture_box-item:nth-child(4) {
        width: 204px;
    }

    .top-intro-feture_box-ico {
        margin-top: 0;
        width: 162px;
    }

    .top-intro-feture_box-txt {
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto;
        margin-top: 13px;
        margin-left: 0;
        width: 100%;
        font-size: 1.8rem;
        text-align: center;
    }
}

/*-------------------------------------------
TOP/製品紹介
---------------------------------------------*/

.top-service {
    position: relative;
    z-index: 1;
}

.top-service_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 165px;
    background: url(../img/bg_service01_sp.webp) no-repeat left top/cover;
    z-index: -1;
}

.top-service_head {
    position: relative;
}

.top-service_inner {
    padding-top: 50px;
}

.top-service_txt-area {
    padding: 4rem 0;
}

.top-service_set {
    position: relative;
    padding-bottom: 40px;
    z-index: 2;
}

.top-service_card {
    position: relative;
    margin: 0 -25px;
    padding-bottom: 50px;
    z-index: 1;
}

.top-service_card:before {
    content: '';
    position: absolute;
    top: -140px;
    left: -30px;
    width: calc(100% + 60px);
    height: calc(100% + 140px);
    background-image: url("../img/bg_service02_sp.jpg");
    background-image: image-set(url("../img/bg_service02_sp.webp") type("image/webp"),
            url("../img/bg_service02_sp.jpg") type("image/jpeg"));
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: -1;
}

@media all and (min-width: 600px) {
    .top-service {
        z-index: 3;
    }

    .top-service_bg {
        height: 540px;
        background-image: url("../img/bg_service01_pc.jpg");
        background-image: image-set(url("../img/bg_service01_pc.webp") type("image/webp"),
                url("../img/bg_service01_pc.jpg") type("image/jpeg"));
        z-index: 2;
    }

    .top-service_bg.is-show {
        -webkit-transition: none;
        transition: none;
    }

    .top-service_head {
        margin-top: 38px;
        width: 420px;
    }

    .top-service_inner {
        padding-top: 105px;
    }

    .top-service_txt-area {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 1rem 0;
        padding-top: 30px;
    }

    .top-service_set {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-bottom: 70px;
    }

    .top-service_card {
        position: static;
        margin: 0 -10px;
        padding-bottom: 108px;
    }

    .top-service_card:before {
        top: auto;
        left: 0;
        bottom: 0;
        width: 100%;
        height: calc(100% - 370px);
        background-image: url("../img/bg_service02_pc.jpg");
        background-image: image-set(url("../img/bg_service02_pc.webp") type("image/webp"),
                url("../img/bg_service02_pc.jpg") type("image/jpeg"));
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
}

@media all and (min-width: 600px) and (max-width: 1765px) {
    .top-service_bg {
        left: -10%;
    }
}

@media all and (min-width: 600px) and (max-width: 1280px) {
    .top-service_bg {
        left: -25%;
    }
}

/*-------------------------------------------
TOP/採用情報
---------------------------------------------*/

.top-recruit_inner {
    padding: 0;
}

.top-recruit_img {
    position: relative;
    padding-right: 25px;
    overflow: hidden;
}

.top-recruit_area-txt {
    position: relative;
    z-index: 1;
    margin-top: -25px;
    padding: 43px 30px 55px;
}

.top-recruit_area-txt_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #4b7cb6;
    overflow: hidden;
    z-index: -1;
}

.top-recruit_head {
    margin-bottom: 22px;
}

@media all and (min-width: 600px) {
    .top-recruit {
        position: relative;
    }

    .top-recruit_set.is-show .top-recruit_img:before {
        -webkit-transform: skewX(-29deg) translateX(100%);
        -ms-transform: skewX(-29deg) translateX(100%);
        transform: skewX(-29deg) translateX(100%);
    }

    .top-recruit_set.is-show .top-recruit_area-txt_bg:before {
        -webkit-transform: skewX(-29deg) translateX(-100%);
        -ms-transform: skewX(-29deg) translateX(-100%);
        transform: skewX(-29deg) translateX(-100%);
    }

    .top-recruit_set {
        padding-top: 125px;
    }

    .top-recruit_img {
        position: absolute;
        top: 0;
        left: 0;
        padding-right: 0;
        width: 76vw;
    }

    .top-recruit_img:before {
        content: '';
        position: absolute;
        top: 0;
        left: -25%;
        width: 150%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .top-recruit_area-txt {
        margin-top: 0;
        max-width: 620px;
        width: 50%;
        margin-left: auto;
        padding: 100px 0 75px;
    }

    .top-recruit_area-txt-wrap {
        padding-right: 90px;
    }

    .top-recruit_area-txt_bg {
        left: auto;
        right: 0;
        width: 970px;
        -webkit-transform: skew(-29deg, 0);
        -ms-transform: skew(-29deg, 0);
        transform: skew(-29deg, 0);
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom;
    }

    .top-recruit_area-txt_bg:before {
        content: '';
        position: absolute;
        top: 0;
        left: -25%;
        width: 150%;
        height: 100%;
        background: #fff;
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
    }

    .top-recruit_btn {
        margin-top: 45px;
        margin-left: 0;
    }
}

@media all and (min-width: 600px) and (max-width: 1280px) {
    .top-recruit_area-txt {
        padding: 55px 0 35px;
    }
}

/*-------------------------------------------
TOP/ニュース
---------------------------------------------*/
.top-news {
    position: relative;
}

.top-news:after {
    content: '';
    position: absolute;
    right: -18%;
    bottom: 0;
    width: 42%;
    height: 417px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #f5f5f5;
    z-index: -1;
}

.top-news_inner {
    padding-top: 43px;
    padding-bottom: 80px;
}

.top-news_head {
    margin-bottom: 0;
}

.top-news_btn {
    margin-top: 40px;
}

.top-news_flex {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    flex-direction: column;
}

.top-news_left {
    width: 100%;
}

.top-news_instagram {
    width: 480px;
    max-width: 100%;
}

.top-news_instagram iframe {
    width: 100%;
    border-radius: 8px;
}


@media all and (min-width: 600px) {
    .top-news:after {
        right: 13%;
        width: 490px;
        height: 100%;
    }

    .top-news_inner {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-top: 110px;
        padding-bottom: 210px;
        flex-direction: column;
    }

    .top-news_inner.is-show .top-news_head,
    .top-news_inner.is-show .top-news_btn {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }

    .top-news_head {
        margin-top: 20px;
        width: 325px;
        min-height: 180px;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        opacity: 0;
        -webkit-transform: translateY(90px);
        -ms-transform: translateY(90px);
        transform: translateY(90px);
    }

    .top-news_archive {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }

    .top-news_btn {
        position: absolute;
        left: 0;
        bottom: 200px;
        margin-top: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        transition: all 1.5s cubic-bezier(0.83, 0, 0.17, 1);
        -webkit-transition-delay: .5s;
        transition-delay: .5s;
        opacity: 0;
        -webkit-transform: translateY(90px);
        -ms-transform: translateY(90px);
        transform: translateY(90px);
    }

    .top-news_flex {
        flex-direction: row;
    }

    .top-news_left {
        flex: 1;
    }
}

/*-------------------------------------------
下層 FV
---------------------------------------------*/

.sub-img {
    position: relative;
    height: 180px;
}

.sub-img:before {
    position: absolute;
    top: -60px;
    left: 0;
    width: 310px;
    height: 250px;
    background: center/cover no-repeat url("../img/underbg_mv01_sp.png");
    content: "";
    z-index: -1;
}

.sub-img_area-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: -30px;
    padding-left: 20px;
    height: 150px;
    background: center/cover no-repeat;
}

.sub-img_head {
    color: #fff;
    font-size: 2.5rem;
    letter-spacing: .2em;
}

@media all and (min-width: 600px) {
    .sub-img {
        top: 40px;
        margin-bottom: 40px;
        height: 300px;
    }

    .sub-img:before {
        top: -120px;
        bottom: -100px;
        width: 75%;
        height: auto;
        background-image: url("../img/underbg_mv01_pc.png");
        background-image: image-set(url("../img/underbg_mv01_pc.webp") type("image/webp"),
                url("../img/underbg_mv01_pc.png") type("image/png"));
    }

    .sub-img_area-img {
        margin: 0 -410px 0 -80px;
        height: 300px;
        padding-left: 80px;
    }

    .sub-img_head {
        font-size: 4rem;
    }
}


/*-------------------------------------------
企業情報/company.php
---------------------------------------------*/

#company .sub-img_area-img {
    background-image: url("../img/company/company_BG-sp.jpg");
    background-image: image-set(url("../img/company/company_BG-sp.webp") type("image/webp"),
            url("../img/company/company_BG-sp.jpg") type("image/jpeg"));
}

@media all and (min-width: 600px) {
    #company .sub-img_area-img {
        background-image: url("../img/company/company_BG.jpg");
        background-image: image-set(url("../img/company/company_BG.webp") type("image/webp"),
                url("../img/company/company_BG.jpg") type("image/jpeg"));
    }
}

.company-anchor_inner {
    padding-top: 40px;
}

.company-anchor_box {
    margin: 0 -30px;
    padding: 25px 30px;
    background: #ecf1f4;
}

.company-philosophy_inner {
    padding-top: 45px;
    padding-bottom: 45px;
}

.company-philosophy_area-txt ul {
    margin-top: 1em;
    font-size: 1.2em;
}

.company-philosophy_signature,
.company-philosophy-representative_signature {
    line-height: 1.8;
    margin-top: 20px;
    text-align: right;
}

.company-philosophy_signature-large {
    font-size: 1.8rem;
}

.company-philosophy-representative_signature {
    font-size: 1.5rem;
}

.company-philosophy-representative_signature-name {
    font-size: 2.5rem;
}

@media all and (min-width: 600px) {
    .company-anchor {
        background: transparent;
    }

    .company-anchor_inner {
        padding-top: 80px;
        padding-bottom: 25px;
    }

    .company-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .company-philosophy_inner {
        padding-top: 75px;
        padding-bottom: 70px;
    }
    
    .company-philosophy_fl {
        display: flex;
        gap: 30px;
        align-items: center;
    }
    
    .company-philosophy_img {
        width: 35%;
    }
    
    .company-philosophy_area-txt ul {
        margin-top: 0;
        font-size: 1.4em;
    }

    .company-philosophy_signature {
        margin-top: 28px;
        font-size: 2rem
    }

    .company-philosophy_signature-large {
        margin-left: 15px;
        font-size: 2rem
    }

    .company-philosophy-representative_signature {
        font-size: 2rem;
    }

    .company-philosophy-representative_signature-name {
        font-size: 3rem;
    }
}

.company-greeting_inner {
    padding-top: 45px;
    padding-bottom: 45px;
}

.company-greeting_area-txt {
    margin-top: 25px;
}

.company-greeting_area-txt ul {
    margin: 1em;
    font-size: 1.2em;
}

.company-greeting_signature,
.company-greeting-representative_signature {
    line-height: 1.8;
    margin-top: 20px;
    text-align: right;
}

.company-greeting_signature-large {
    font-size: 1.8rem;
}

.company-greeting-representative_signature {
    font-size: 1.5rem;
}

.company-greeting-representative_signature-name {
    font-size: 2.5rem;
}

@media all and (min-width: 600px) {
    .company-anchor {
        background: transparent;
    }

    .company-anchor_inner {
        padding-top: 80px;
        padding-bottom: 25px;
    }

    .company-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .company-greeting_inner {
        padding-top: 75px;
        padding-bottom: 70px;
    }
    
    .company-greeting_fl {
        display: flex;
        gap: 30px;
        align-items: center;
    }
    
    .company-greeting_img {
        width: 95%;
    }

    .company-greeting_area-txt {
        margin-top: 30px
    }

    .company-greeting_area-txt ul {
        font-size: 1.6em;
    }

    .company-greeting_signature {
        margin-top: 28px;
        font-size: 2rem
    }

    .company-greeting_signature-large {
        margin-left: 15px;
        font-size: 2rem
    }

    .company-greeting-representative_signature {
        font-size: 2rem;
    }

    .company-greeting-representative_signature-name {
        font-size: 3rem;
    }
}

.company-business,
.company-organizational {
    position: relative;
}

.company-business:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1000px;
    background: center/cover no-repeat;
    background-image: image-set(url("../img/company/history01_sp.webp") type("image/webp"),
            url("../img/company/history01_sp.jpg") type("image/jpeg"));
    content: "";
    z-index: 1;
}

/*.company-business:after {*/
/*    position: absolute;*/
/*    top: 210px;*/
/*    left: 0;*/
/*    right: 0;*/
/*    bottom: 0;*/
/*    background: center/cover no-repeat url("../img/company/technology02.jpg");*/
/*    content: "";*/
/*    z-index: -1;*/
/*}*/

.company-organizational:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 210px;
    background: center/cover no-repeat url("../img/company/organizational01_sp.jpg");
    content: "";
    z-index: 1;
}

.company-organizational:after {
    position: absolute;
    top: 210px;
    left: 0;
    right: 0;
    bottom: 0;
    background: center/cover no-repeat url("../img/company/organizational02.jpg");
    content: "";
    z-index: -1;
}

.company-business_inner {
    position: relative;
    z-index: 1;
    padding-top: 40px;
    padding-bottom: 50px;
}

.company-business_head {
    margin: 0 -30px;
}

.company-business_box {
    margin: 0 -20px;
    padding: 30px 37px;
    background: #fff;
}

.company-business_box+.company-business_box {
    margin-top: 15px;
}

.company-business_box-txt+.company-business_box-txt {
    margin-top: 30px;
}

.company-business_box:nth-of-type(2) {
    padding: 30px 20px;
}

.company-business_box .head03 {
    margin-top: 30px;
}

.company-business_box .head03.head03:after {
    width: 300px;
}

.company-business_box .list-num01_item {
    font-size: 1.5rem;
}

.company-movie {
    padding: 20px 0 100px;
}

.company-movie .head01 {
    margin-bottom: 32px;
}

.company-movie__wrap {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    max-height: 480px;
}

.company-movie__lead {
    text-align: center;
    margin: -12px 0 28px;
    line-height: 1.8;
}

.company-movie__wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}


@media all and (max-width: 340px) {
    .company-business_head {
        font-size: 1.5rem;
    }
}

@media all and (min-width: 600px) {
    .company-business:before {
        min-width: 1920px;
        height: 810px;
        background: center/cover no-repeat;
        background-image: image-set(url("../img/company/history01_pc.webp") type("image/webp"),
                url("../img/company/history01_pc.jpg") type("image/jpeg"));
    }

    .company-organizational:before {
        min-width: 1920px;
        height: 415px;
        background-image: url("../img/company/organizational01_pc.jpg");
    }

    .company-business:after {
        top: 415px;
    }

    .company-business_inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .company-business_box {
        margin: 0;
        padding: 35px 135px 50px;
    }

    .company-business_box+.company-business_box {
        margin-top: 30px;
    }

    .company-business_box:nth-of-type(2) {
        padding: 44px 250px 40px;
        text-align: center;
    }
}

.company-Item02al,
.company-information {
    position: relative;
}

.company-Item02al:before {
    content: '';
    position: absolute;
    top: 0;
    left: -80px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #f5f5f5;
    z-index: -2;
}

.company-information:before {
    content: '';
    position: absolute;
    top: 0;
    left: -35px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #f5f5f5;
    z-index: -2;
}

.company-Item02al_inner {
    padding-top: 50px;
    padding-bottom: 50px;
}

@media all and (min-width: 600px) {
    .company-Item02al:before {
        left: -5%;
        width: 490px;
        height: 2000px
    }

    .company-information:before {
        left: 20%;
        width: 490px;
        height: 2000px;
    }

    .company-Item02al_inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

.company-profile,
.company-history {
    position: relative;
    background: #f5f5f5;
}

.company-profile:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

/*.company-history:before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: -35px;*/
/*    width: 245px;*/
/*    height: 600px;*/
/*    -webkit-transform: skew(-29deg);*/
/*    -ms-transform: skew(-29deg);*/
/*    transform: skew(-29deg);*/
/*    background: #fbfbfb;*/
/*    z-index: 1;*/
/*}*/

.company-profile_inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 50px;
}

.company-history .company-profile_table {
    background-color: rgba(255, 255, 255, 0.5);
    overflow-y: scroll;
    height: 500px;
}

.company-history .company-profile_table::-webkit-scrollbar {
    width: 7px;
}

.company-history .company-profile_table::-webkit-scrollbar-thumb {
    background-color: #000080;
    border-radius: 5px;
}

.company-history .company-profile_table::-webkit-scrollbar-track {
    background: #dcdcdc;
}

@media all and (min-width: 600px) {
    .company-profile {
        overflow: hidden;
    }

    .company-profile:before {
        left: -5%;
        width: 490px;
        height: 2000px;
    }

    /*.company-history:before {*/
    /*    left: 20%;*/
    /*    width: 490px;*/
    /*    height: 2000px;*/
    /*}*/

    .company-profile_inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

.company-access {
    position: relative;
}

.company-access:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -80px;
    width: 245px;
    height: 100px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #f5f5f5;
    z-index: -1;
}

.company-access_inner {
    padding-top: 50px;
    padding-bottom: 75px;
}

.company-access_map {
    position: relative;
    margin: 0 -40px;
}

.company-access_map:before {
    display: block;
    padding-bottom: 58%;
    content: "";
}

.company-access_map-content {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.company-access_area-txt {
    margin: 0 -40px;
    padding: 25px 40px 40px;
    background: #1b6fbc;
}

.company-access_sec {
    color: #fff;
}

.company-access_sec+.company-access_sec {
    margin-top: 17px;
}

.company-access_sehead {
    position: relative;
    line-height: 2;
    margin-bottom: 2px;
    padding-left: 20px;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
}

.company-access_sehead:before {
    content: '';
    position: absolute;
    top: 12px;
    left: 2px;
    height: 16px;
    width: 5px;
    background: #fff;
    -webkit-transform: skewX(-29deg);
    -ms-transform: skewX(-29deg);
    transform: skewX(-29deg);
}

@media all and (min-width: 600px) {
    .company-access_inner {
        position: relative;
        padding-top: 100px;
        padding-bottom: 150px;
    }

    .company-access_set {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .company-access_map {
        position: absolute;
        top: 290px;
        left: -100%;
        right: -80px;
        height: 590px;
        margin: 0;
        content: "";
    }

    .company-access_map:before {
        padding-bottom: 36%;
    }

    .company-access_area-txt {
        box-sizing: border-box;
        position: relative;
        z-index: 1;
        margin: 100px 0 0 auto;
        right: 0;
        width: calc(50% - 80px);
        padding: 85px 0 90px 40px;
        background: transparent;
    }

    .company-access_area-txt-bg {
        content: '';
        position: absolute;
        top: 0;
        left: -170px;
        width: 300%;
        height: 100%;
        background: #4b7cb6;
        -webkit-transform: skewX(-29deg) translateX(0);
        -ms-transform: skewX(-29deg) translateX(0);
        transform: skewX(-29deg) translateX(0);
        z-index: -1;
    }

    .company-access_sehead {
        padding-left: 25px;
        margin-bottom: 10px;
        font-size: 2.5rem;
    }

    .company-access_sehead:before {
        content: '';
        position: absolute;
        top: 15px;
        left: 2px;
        height: 25px;
        width: 5px;
        background: #fff;
        -webkit-transform: skewX(-29deg);
        -ms-transform: skewX(-29deg);
        transform: skewX(-29deg);
    }

    .company-access_setxt {
        font-size: 1.7rem;
    }

    .company-access_selist-item {
        font-size: 1.7rem;
    }
}

/*-------------------------------------------
技術力・品質/technology.php
---------------------------------------------*/
#technology .sub-img_area-img {
    background-image: url("../img/technology/technology_BG-sp.jpg");
    background-image: image-set(url("../img/technology/technology_BG-sp.webp") type("image/webp"),
            url("../img/technology/technology_BG-sp.jpg") type("image/jpeg"));
}

.technology-intro_content:before {
    background-image: url("../img/product/products-intro_sp.png");
    background-image: image-set(url("../img/product/products-intro_sp.webp") type("image/webp"),
            url("../img/product/products-intro_sp.png") type("image/png"));
}

.technology-sub {
    font-size: 2.4rem;
    margin-bottom: 5px;
}

.technology-sub2 {
    font-size: 2rem;
}

.technology-sub2 span {
    border-bottom: solid 1px #333;
}

@media all and (min-width: 600px) {
    .technology-sub {
        font-size: 3.8rem;
    }

    .technology-sub2 {
        font-size: 2.2rem;
    }
}

#technology .head04 {
    text-align: left;
}

.technology-Item01_inner {
    padding-top: 45px;
    padding-bottom: 120px;
}

.steel-table_wrap {
    margin-top: 2rem;
    margin-bottom: 4rem;
    overflow-x: auto;
}

.steel-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 1.5rem;
    margin: 0rem 0 2rem;
}

.steel-table tbody {
    background-color: #fff;
}

.steel-table th,
.steel-table td {
    border: 1px solid #ddd;
    padding: 10px;
    vertical-align: middle;
}

.steel-table th {
    background: #f5f7fa;
    font-weight: 600;
    color: #13202f;
    text-align: center;
}

.steel-table th:nth-child(1),
.steel-table td:nth-child(1) {
    width: 12%;
    text-align: center;
}

.steel-table th:nth-child(2),
.steel-table td:nth-child(2) {
    width: 14%;
    text-align: center;
}

.steel-table th:nth-child(3),
.steel-table td:nth-child(3) {
    width: 38%;
}

.steel-table th:nth-child(4),
.steel-table td:nth-child(4) {
    width: 36%;
}

.steel-table td {
    line-height: 1.6;
}

.steel-table td.is-center {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .steel-table_scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .steel-table {
        width: 700px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

.technology-Item02 {
    position: relative;
    background: #f5f5f5;
}

.technology-Item02:before {
    content: '';
    position: absolute;
    top: 0;
    right: 50px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

.technology-Item02_inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 50px;
}

.technology-Item03 {
    margin: 80px 0 160px 0;
}

@media all and (min-width: 600px) {
    #technology .sub-img_area-img {
        background-image: url("../img/technology/technology_BG.jpg");
        background-image: image-set(url("../img/technology/technology_BG.webp") type("image/webp"),
                url("../img/technology/technology_BG.jpg") type("image/jpeg"));
    }

    .technology-intro_content:before {
        background-image: url("../img/product/products-intro.png");
        background-image: image-set(url("../img/product/products-intro.webp") type("image/webp"),
                url("../img/product/products-intro.png") type("image/png"));
    }

    .technology-anchor {
        background: transparent;
    }

    .technology-anchor_inner {
        padding-top: 100px;
    }

    .technology-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .technology-Item01_inner {
        padding-top: 80px;
        padding-bottom: 60px;
    }

    .technology-Item02 {
        overflow: hidden;
    }

    .technology-Item02:before {
        left: -100px;
        width: 490px;
        height: 1200px;
    }

    .technology-Item02_inner {
        padding-top: 100px;
        padding-bottom: 120px;
    }
}

/*-------------------------------------------
製品紹介
products.php
---------------------------------------------*/
.pack-about-sec {
    padding-top: 30px;
}

@media all and (min-width: 600px) {
    .pack-about-sec+.pack-about-sec {
        padding-top: 75px;
    }

    .pack-about-sec_list {
        padding: 0 120px 0 8px;
    }
}

#products .sub-img_area-img {
    background-image: url("../img/product/product_BG-sp.jpg");
    background-image: image-set(url("../img/product/product_BG-sp.webp") type("image/webp"),
            url("../img/product/product_BG-sp.jpg") type("image/jpeg"));
}

.products-intro_content:before {
    background-image: url("../img/product/products-intro_sp.png");
    background-image: image-set(url("../img/product/products-intro_sp.webp") type("image/webp"),
            url("../img/product/products-intro_sp.png") type("image/png"));
}

.products-sub {
    font-size: 2.4rem;
    margin-bottom: 5px;
}

@media all and (min-width: 600px) {
    .products-sub {
        font-size: 3.8rem;
    }
}

.products-anchor_box {
    margin: 0 -30px;
    padding: 25px 30px;
    background: #eef6f9;
}

.products-Item01_inner {
    padding-top: 45px;
    padding-bottom: 40px;
}

.products-Item02 {
    position: relative;
    background: #f5f5f5;
}

.products-Item02:before {
    content: '';
    position: absolute;
    top: 0;
    right: 50px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

.products-Item02_inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 50px;
}


.products-Item03 {
    margin: 80px 0 160px 0;
}

@media all and (min-width: 600px) {
    #products .sub-img_area-img {
        background-image: url("../img/product/product_BG.jpg");
        background-image: image-set(url("../img/product/product_BG.webp") type("image/webp"),
                url("../img/product/product_BG.jpg") type("image/jpeg"));
    }

    .products-intro_content:before {
        background-image: url("../img/product/products-intro.png");
        background-image: image-set(url("../img/product/products-intro.webp") type("image/webp"),
                url("../img/product/products-intro.png") type("image/png"));
    }

    .products-anchor {
        background: transparent;
    }

    .products-anchor_inner {
        padding-top: 100px;
    }

    .products-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .products-Item01_inner {
        padding-top: 80px;
        padding-bottom: 60px;
    }

    .products-Item02 {
        overflow: hidden;
    }

    .products-Item02:before {
        left: -100px;
        width: 490px;
        height: 1200px;
    }

    .products-Item02_inner {
        padding-top: 100px;
        padding-bottom: 120px;
    }

}

/*-------------------------------------------
設備紹介/equipment.php
---------------------------------------------*/
#equipment .sub-img_area-img {
    background-image: url("../img/equipment/equipment_BG-sp.jpg");
    background-image: image-set(url("../img/equipment/equipment_BG-sp.webp") type("image/webp"),
            url("../img/equipment/equipment_BG-sp.jpg") type("image/jpeg"));
}

.equipment-intro_content:before {
    background-image: url("../img/product/products-intro_sp.png");
    background-image: image-set(url("../img/product/products-intro_sp.webp") type("image/webp"),
            url("../img/product/products-intro_sp.png") type("image/png"));
}

.equipment-sub {
    font-size: 2.4rem;
    margin-bottom: 5px;
}

.equipment-sub2 {
    font-size: 2rem;
}

.equipment-sub2 span {
    border-bottom: solid 1px #333;
}

@media all and (min-width: 600px) {
    .equipment-sub {
        font-size: 3.8rem;
    }

    .equipment-sub2 {
        font-size: 2.2rem;
    }
}

#equipment .head04 {
    text-align: left;
}

.equipment-Item01_inner {
    padding-top: 45px;
    padding-bottom: 120px;
}

.equipment-Item02 {
    position: relative;
    background: #f5f5f5;
}

.equipment-Item02:before {
    content: '';
    position: absolute;
    top: 0;
    right: 50px;
    width: 245px;
    height: 600px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

.equipment-Item02_inner {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 50px;
}

.equipment-gallery .set02_item-img {
    overflow: hidden;
}

.equipment-gallery .set02_item-img picture,
.equipment-gallery .set02_item-img img {
    display: block;
    width: 100%;
    transition: transform .4s ease;
}

.equipment-gallery .set02_item:hover .set02_item-img img,
.equipment-gallery .set02_item:hover .set02_item-img picture {
    transform: scale(1.08);
}

.equipment-gallery .set02_item:hover .set02_item-head {
    color: #0b4b8f;
}

@media (max-width: 768px) {

    .equipment-gallery .set02_item:hover .set02_item-img img,
    .equipment-gallery .set02_item:hover .set02_item-img picture {
        transform: none;
    }
}

.equipment-Item03 {
    margin: 80px 0 160px 0;
}

#equipment .equipment-Item03 .head04 {
    text-align: center;
    border-bottom: unset;
}

@media all and (min-width: 600px) {
    #equipment .sub-img_area-img {
        background-image: url("../img/equipmenty/equipment_BG.jpg");
        background-image: image-set(url("../img/equipment/equipment_BG.webp") type("image/webp"),
                url("../img/equipment/equipment_BG.jpg") type("image/jpeg"));
    }

    .equipment-intro_content:before {
        background-image: url("../img/product/products-intro.png");
        background-image: image-set(url("../img/product/products-intro.webp") type("image/webp"),
                url("../img/product/products-intro.png") type("image/png"));
    }

    .equipment-anchor {
        background: transparent;
    }

    .equipment-anchor_inner {
        padding-top: 100px;
    }

    .equipment-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .equipment-Item01_inner {
        padding-top: 80px;
        padding-bottom: 60px;
    }

    .equipment-Item02 {
        overflow: hidden;
    }

    .equipment-Item02:before {
        left: -100px;
        width: 490px;
        height: 1200px;
    }

    .equipment-Item02_inner {
        padding-top: 100px;
        padding-bottom: 120px;
    }
}


/*-------------------------------------------
採用情報
recruit.php
---------------------------------------------*/
#recruit .sub-img_area-img {
    background-image: url("../img/recruit/recruit_BG-sp.jpg");
    background-image: image-set(url("../img/recruit/recruit_BG-sp.webp") type("image/webp"),
            url("../img/recruit/recruit_BG-sp.jpg") type("image/jpeg"));
}

.recruit-anchor_inner {
    padding-top: 40px;
}

.recruit-anchor_box {
    margin: 0 -30px;
    padding: 25px 30px;
    background: #eef6f9;
}

.recruit-message {
    margin-bottom: 80px;
}

.recruit-message_inner {
    padding-top: 45px;
    padding-bottom: 40px;
}

.recruit-message_img {
    margin: 0 -40px;
}

.recruit-message_area-txt {
    padding-top: 18px
}

.recruit-first,
.recruit-third {
    position: relative;
}

.recruit-first:before,
.recruit-third:before {
    content: '';
    position: absolute;
    top: 0;
    right: 80px;
    width: 245px;
    height: 1200px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #f5f5f5;
    z-index: -2;
}

.recruit-first_inner,
.recruit-third_inner {
    padding-top: 50px;
    padding-bottom: 60px
}

.recruit-first_list {
    position: relative;
    z-index: 1;
}

.recruit-second,
.recruit-fourth {
    position: relative;
    background: #f5f5f5;
}

.recruit-second:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -90px;
    left: -120px;
    width: 245px;
    height: 700px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

.recruit-fourth:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -90px;
    left: -120px;
    width: 245px;
    height: 700px;
    -webkit-transform: skew(-29deg);
    -ms-transform: skew(-29deg);
    transform: skew(-29deg);
    background: #fbfbfb;
    z-index: 1;
}

/*.recruit-second:after {*/
/*    content: '';*/
/*    position: absolute;*/
/*    bottom: -150px;*/
/*    right: -30px;*/
/*    width: 150px;*/
/*    height: 200px;*/
/*    -webkit-transform: skew(-29deg);*/
/*    -ms-transform: skew(-29deg);*/
/*    transform: skew(-29deg);*/
/*    background: #f5f5f5;*/
/*    z-index: -1;*/
/*}*/

.recruit-second_inner,
.recruit-fourth_inner {
    position: relative;
    z-index: 1;
    margin-bottom: 75px;
    padding-top: 50px;
    padding-bottom: 60px;
}

.interview_bnr {
    width: 90%;
    margin: 0 auto;
}

.recruit-entry {
    position: relative;
    margin-top: 70px;
    z-index: 1;
}

.recruit-entry:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 88%;
    background: #0f4fa3;
    z-index: -1;
}

.recruit-entry:after {
    content: '';
    position: absolute;
    right: -62%;
    bottom: 0;
    width: 50vw;
    height: 88%;
    background: #1b6fbc;
    z-index: -1;
    -webkit-transform: skew(-30deg);
    -ms-transform: skew(-30deg);
    transform: skew(-30deg);
}

.recruit-entry_inner {
    padding-bottom: 70px;
}

.recruit-entry_box {
    position: relative;
    margin: 0 -20px;
    padding: 0 20px 40px;
    border: 1px solid #dcdcdc;
    background: #fff;
}

.recruit-entry_head {
    margin: -.5em 0 19px;
    line-height: 1;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: .03em;
}

.recruit-entry_txt {
    margin-bottom: 15px;
    text-align: center;
    font-size: 1.55rem;
}

.recruit-entry_bg-txt {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 6rem;
    line-height: 0.75;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.05);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media all and (min-width: 600px) {
    #recruit .sub-img_area-img {
        background-image: url("../img/recruit/recruit_BG.jpg");
        background-image: image-set(url("../img/recruit/recruit_BG.webp") type("image/webp"),
                url("../img/recruit/recruit_BG.jpg") type("image/jpeg"));
    }

    .recruit-anchor {
        background: transparent;
    }

    /*.recruit-anchor_inner {*/
    /*    padding-top: 80px;*/
    /*}*/

    .recruit-anchor_box {
        margin: 0;
        padding: 40px 60px;
    }

    .recruit-message {
        overflow: hidden;
        position: relative;
    }

    .recruit-message:before {
        content: '';
        position: absolute;
        top: 290px;
        right: -400px;
        width: 680px;
        height: 1000px;
        -webkit-transform: skew(-29deg);
        -ms-transform: skew(-29deg);
        transform: skew(-29deg);
        background: #f5f5f5;
        z-index: -2;
    }

    .recruit-message_inner {
        position: relative;
        padding-top: 100px;
    }

    .recruit-message_inner:before {
        content: '';
        position: absolute;
        top: 290px;
        right: -122px;
        width: 680px;
        height: 1000px;
        -webkit-transform: skew(-29deg);
        -ms-transform: skew(-29deg);
        transform: skew(-29deg);
        background: #fff;
        z-index: 2;
    }

    .recruit-message_inner:after {
        content: '';
        position: absolute;
        top: 400px;
        left: 90%;
        width: 1000px;
        height: 575px;
        background: #fff;
        opacity: 0.7;
        z-index: 1;
    }

    .recruit-message_img {
        position: absolute;
        top: 290px;
        left: -410px;
        right: 290px;
        height: 590px;
        margin: 0;
        content: "";
        z-index: -2;
    }

    .recruit-message_img:before {
        padding-bottom: 36%;
    }

    .recruit-message_area-txt {
        box-sizing: border-box;
        position: relative;
        z-index: 1;
        margin: 160px 0 0 auto;
        right: 0;
        width: 50%;
        padding: 75px 0 90px;
        background: transparent;
        z-index: 3;
    }

    .recruit-first:before {
        top: 0;
        right: 50px;
        width: 490px;
        height: 3300px;
    }

    .recruit-first_inner,
    .recruit-third_inner {
        padding-top: 100px;
        padding-bottom: 170px;
    }

    .recruit-second:before {
        left: -150px;
        width: 490px;
        height: 1200px;
    }

    .recruit-third:before {
        top: 0;
        right: 50px;
        width: 490px;
        height: 3500px;
    }

    .recruit-fourth:before {
        left: -150px;
        width: 490px;
        height: 1200px;
    }

    /*.recruit-second:after {*/
    /*    bottom: -300px;*/
    /*    right: 390px;*/
    /*    width: 490px;*/
    /*    height: 300px;*/
    /*}*/

    .recruit-second_inner,
    .recruit-fourth_inner {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .interview_bnr {
        width: 60%;
        margin: 0 auto;
        overflow: hidden;
    }

    .bnr-link {
        display: block;
        overflow: hidden;
    }

    .bnr-link img {
        display: block;
        width: 100%;
        height: auto;
        transition: transform 0.4s ease;
    }

    .bnr-link:hover img {
        transform: scale(1.05);
    }

    .recruit-entry {
        margin-top: 140px;
    }

    .recruit-entry:before {
        height: 300px;
    }

    .recruit-entry:after {
        width: 40vw;
        right: -240px;
        height: 300px;
    }

    .recruit-entry_inner {
        padding-bottom: 150px;
    }

    .recruit-entry_box {
        margin: 0 -120px;
        max-width: 1340px;
        padding: 0 100px 60px;
    }

    .recruit-entry_head {
        margin-bottom: 45px;
        font-size: 4.8rem;
        font-weight: bold;
    }

    .recruit-entry_txt {
        margin-bottom: 30px;
        font-size: 2.2rem;
        letter-spacing: .15em;
    }

    .recruit-entry_btn {
        margin: 0 auto;
    }

    .recruit-entry_bg-txt {
        font-size: 21.8rem;
    }
}

/*-------------------------------------------
社員インタビュー
interview.php
---------------------------------------------*/
#interview .sub-img_area-img {
    background-image: url("../img/interview/interview_BG-sp.jpg");
    background-image: image-set(url("../img/interview/interview_BG-sp.webp") type("image/webp"),
            url("../img/interview/interview_BG-sp.jpg") type("image/jpeg"));
}

.interview-qa {
    position: relative;
    margin: 3em 0;
}

.interview-qa:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 250px;
    content: "";
    z-index: -1
}

.interview-qa.r-h:before {
    background: center/cover no-repeat url("../img/interview/interview-R・H_sp.jpg");
}

.interview-qa.h-s:before {
    background-image: url("../img/interview/interview-H・S_sp.jpg")
}

.interview-qa.t-m:before {
    background-image: url("../img/interview/interview-T・M_sp.jpg")
}

.interview-qa.m-k:before {
    background-image: url("../img/interview/interview-M・K_sp.jpg")
}

.interview-qa.s-a:before {
    background-image: url("../img/interview/interview-S・A_sp.jpg")
}

.interview-qa.s-f:before {
    background-image: url("../img/interview/interview-S・F_sp.jpg")
}

.interview-qa:after {
    position: absolute;
    top: 210px;
    left: 0;
    right: 0;
    bottom: 0;
    background: center/cover no-repeat url("../img/recruit/bg_qa02-sp.jpg");
    content: "";
    z-index: -1
}

.interview-qa_inner {
    padding-top: 40px;
    padding-bottom: 30px
}

.interview-qa_content {
    margin: 0 -20px;
    padding: 22px 20px 35px;
    background: #fff
}

.interview-qa_img {
    display: block;
    margin-bottom: 2rem;
}

/*.interview-qa_img-item {*/
/*    box-sizing: border-box;*/
/*    width: calc(33.333% - 10px);*/
/*    margin: 0 5px 10px*/
/*}*/

/*.interview-qa_img-item+.interview-qa_img-item {
    */
/*    margin-top: 0*/
/*}*/

.interview-qa_img.-length img {
    height: 250px;
    object-fit: contain;
}

.interview-qa_schedule {
    margin: 0 -20px;
    padding: 22px 20px 35px;
    background: #fff
}

.schedule_inner {
    border-top: 1px solid #ddd;
    padding-top: 3rem;
}

.schedule-ttl {
    position: relative;
    line-height: 1.4;
    padding: 0.25em 1em;
    display: inline-block;
    top: 0;
    left: 33%;
    font-size: 1.2em;
    margin-bottom: 1rem;
}

.schedule-ttl:before,
.schedule-ttl:after {
    position: absolute;
    top: 0;
    content: '';
    width: 8px;
    height: 100%;
    display: inline-block;
}

.schedule-ttl:before {
    border-left: solid 1px black;
    border-top: solid 1px black;
    border-bottom: solid 1px black;
    left: 0;
}

.schedule-ttl:after {
    content: '';
    border-top: solid 1px black;
    border-right: solid 1px black;
    border-bottom: solid 1px black;
    right: 0;
}

@media all and (min-width: 600px) {
    #interview .sub-img_area-img {
        background-image: url("../img/interview/interview_BG.jpg");
        background-image: image-set(url("../img/interview/interview_BG.webp") type("image/webp"),
                url("../img/interview/interview_BG.jpg") type("image/jpeg"));
    }

    .interview-qa {
        margin: 5em 0;
    }

    .interview-qa:before {
        min-width: 1920px;
        height: 415px;
    }

    .interview-qa.r-h:before {
        background-image: url("../img/interview/interview-R・H.jpg")
    }

    .interview-qa.h-s:before {
        background-image: url("../img/interview/interview-H・S.jpg")
    }

    .interview-qa.t-m:before {
        background-image: url("../img/interview/interview-T・M.jpg")
    }

    .interview-qa.m-k:before {
        background-image: url("../img/interview/interview-M・K.jpg")
    }

    .interview-qa.s-a:before {
        background-image: url("../img/interview/interview-S・A.jpg")
    }

    .interview-qa.s-f:before {
        background-image: url("../img/interview/interview-S・F.jpg")
    }

    .interview-qa:after {
        top: 415px;
        background-image: url("../img/interview/interview-in_bg.jpg")
    }

    .interview-qa_inner {
        padding-top: 100px;
        padding-bottom: 100px
    }

    .interview-qa_content {
        display: block;
        position: relative;
        padding: 60px 50px 30px;
    }

    .interview-qa_img {
        position: absolute;
        top: 60px;
        right: 50px;
        width: 30%;
        margin: 0;
        box-sizing: border-box;
        display: block;
    }

    .interview-qa_img-item {
        width: 100%;
        margin: 0;
    }

    .interview-qa_img-item+.interview-qa_img-item {
        margin-top: 30px;
    }

    .interview-qa_list {
        width: 100%;
        padding-right: 0;
        box-sizing: border-box;
    }

    .interview-qa_list .set03_item:first-child {
        padding-right: calc(35% + 40px);
        box-sizing: border-box;
    }

    .interview-qa_list .set03_item:not(:first-child) {
        padding-right: 0;
    }

    .interview-qa_list.-length .set03_item:nth-child(-n+2) {
        padding-right: calc(35% + 40px);
        box-sizing: border-box;
    }

    .interview-qa_img.-length img {
        height: 350px;
    }

    .interview-qa_schedule {
        display: block;
        position: relative;
        padding: 40px 50px 50px;
    }

    .schedule-ttl {
        left: 42%;
        font-size: 1.5em;
    }

}


/*-------------------------------------------
お問い合わせ・採用エントリー
contact.php
entryform.php
---------------------------------------------*/

#contact .sub-img_area-img {
    background-image: url("../img/contact/contact_BG-sp.jpg");
    background-image: image-set(url("../img/contact/contact_BG-sp.webp") type("image/webp"),
            url("../img/contact/contact_BG-sp.jpg") type("image/jpeg"));
}

#entry .sub-img_area-img {
    background-image: url("../img/entryform/entryform_BG-sp.jpg");
    background-image: image-set(url("../img/entryform/entryform_BG-sp.webp") type("image/webp"),
            url("../img/entryform/entryform_BG-sp.jpg") type("image/jpeg"));
}

.contact-intro_inner {
    padding-top: 32px;
    padding-bottom: 18px;
}

.contact-tel_head {
    margin-bottom: 0 !important;
}

.contact-tel_txt {
    margin-bottom: 10px;
}

.contact-tel_fax {
    text-align: center;
    margin-top: 8px;
    padding: 7px 0;
    border: 1px solid #dcdcdc;
}

.contact-tel_fax-num {
    font-size: 2.5rem;
    font-weight: 600;
}

.contact-tel_fax-ico {
    position: relative;
    top: -4px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

.contact-tel_fax-ico:before {
    width: 21px;
    height: 20px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("../img/fax-ico.svg");
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.contact-tel_ico {
    top: -4px;
}

.contact-form_inner {
    padding-top: 28px;
    padding-bottom: 60px;
}

.contact-message_inner {
    padding-top: 32px;
    padding-bottom: 18px;
}


@media all and (min-width: 600px) {
    #contact .sub-img_area-img {
        background-image: url("../img/contact/contact_BG.jpg");
        background-image: image-set(url("../img/contact/contact_BG.webp") type("image/webp"),
                url("../img/contact/contact_BG.jpg") type("image/jpeg"));
    }

    #entry .sub-img_area-img {
        background-image: url("../img/entryform/entryform_BG.jpg");
        background-image: image-set(url("../img/entryform/entryform_BG.webp") type("image/webp"),
                url("../img/entryform/entryform_BG.jpg") type("image/jpeg"));
    }

    .contact-intro_inner {
        padding-top: 80px;
        padding-bottom: 45px;
    }

    .contact-intro_txt {
        font-size: 2rem;
    }

    .contact-tel_txt {
        margin-bottom: 20px;
        font-size: 2rem;
    }

    .contact-tel_list {
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 22px 0px;
        border: 1px solid #dcdcdc;
    }

    .contact-tel_item {
        box-sizing: border-box;
        width: 50%;
    }

    .contact-tel_time {
        margin-top: 2px;
        font-size: 1.4rem;
    }

    .contact-tel_tel-ico:before {
        top: 20px;
    }

    .contact-tel_fax {
        padding: 0;
        border: 0;
        text-align: center
    }

    .contact-tel_fax-num {
        font-size: 3.8rem;
    }

    .contact-tel_fax-ico {
        top: -6px;
    }

    .contact-tel_fax-ico:before {
        width: 28px;
        height: 26px;
    }

    .contact-tel_ico {
        top: -11px;
    }

    .contact-form_inner {
        padding-top: 80px;
        padding-bottom: 120px;
    }

    .contact-message_inner {
        padding-top: 80px;
        padding-bottom: 45px;
    }

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

/*-------------------------------------------
お知らせ
news.php
---------------------------------------------*/

.news-single {
    border-bottom: dashed 1px #333;
    margin-bottom: 100px;
}

.news-single_inner {
    padding-top: 32px;
    padding-bottom: 75px
}

#news .sub-img_area-img {
    background-image: url("../img/news/news_BG-sp.jpg");
    background-image: image-set(url("../img/news/news_BG-sp.webp") type("image/webp"),
            url("../img/news/news_BG-sp.jpg") type("image/jpeg"));
}

.single01_head {
    margin-bottom: 20px;
    border-bottom: 1px solid #000080;
}

.single01_head-date {
    font-weight: bold;
    letter-spacing: 0.05em;
}

.single01_head-txt {
    box-sizing: border-box;
    line-height: 1.9;
    padding-bottom: 6px;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.single01_img {
    text-align: center;
}

.single01_img img {
    width: auto;
    max-width: 100%;
}

.single01_content {
    margin-top: 8px;
}

.single01_content *:first-child {
    margin-top: 0;
}

.single01_content *:last-child {
    margin-bottom: 0;
}

.single01_content h2 {
    position: relative;
    margin: 18px 0 5px;
    padding: 2px 0 2px 5px;
    line-height: 1.5;
    background: #000080;
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
}

.single01_content h2:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    border-left: 3px solid #000080;
}

.single01_content h3 {
    position: relative;
    margin: 5px 0 4px;
    padding: 9px 0 9px 10px;
    line-height: 1.5;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
}

.single01_content h3:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    width: 10px;
    height: 2px;
    background: #000080;
    content: "";
    display: block;
}

.single01_content ul,
.single01_content ol {
    margin: 4px 0;
}

.single01_content ul li {
    position: relative;
    padding-left: 10px;
}

.single01_content ul li:before {
    position: absolute;
    top: 14px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #000080;
    content: "";
}

.single01_content ol {
    counter-reset: number;
}

.single01_content ol li {
    position: relative;
    padding-left: 18px;
}

.single01_content ol li:before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: number;
    content: counter(number) ".";
    color: #000080;
    font-weight: bold;
    font-size: 1.5rem;
}

.single01_content ol li+.single01_content ol li {
    margin-top: 20px;
}

.single01_content b {
    font-weight: bold;
}

.single01_content p {
    margin: 10px 0;
}

.single01_content blockquote {
    margin-top: 35px;
    padding: 20px 15px 20px;
    background: #e5edf4;
}

.single01_content img {
    width: auto;
    max-width: 100%;
}

@media all and (min-width: 600px) {
    .news-single_inner {
        padding-top: 75px;
        padding-bottom: 130px
    }

    #news .sub-img_area-img {
        background-image: url("../img/news/news_BG.jpg");
        background-image: image-set(url("../img/news/news_BG.webp") type("image/webp"),
                url("../img/news/news_BG.jpg") type("image/jpeg"));
    }

    .single01_head {
        margin-bottom: 50px;
    }

    .single01_head-date {
        font-size: 1.6rem;
    }

    .single01_head-txt {
        margin-top: 3px;
        padding-bottom: 0;
        font-size: 3.3rem;
    }

    .single01_content {
        overflow: hidden;
        margin-top: 15px;
    }

    .single01_content a:hover {
        text-decoration: none;
    }

    .single01_content .aligncenter,
    .single01_content .alignleft,
    .single01_content .aligncenter {
        width: auto;
        max-width: 100%;
    }

    .single01_content .alignleft {
        float: left;
        margin: 10px 30px 10px 0;
    }

    .single01_content .alignright {
        float: right;
        margin: 10px 0 10px 30px;
    }

    .single01_content .aligncenter {
        margin: 0 auto 10px;
        text-align: center;
    }

    .single01_content h2 {
        margin: 30px 0 18px;
        padding: 10px 15px;
        font-size: 2.8rem;
    }

    .single01_content h3 {
        margin: 18px 0 1px;
        padding-left: 20px;
        font-size: 2.6rem;
    }

    .single01_content h3:before {
        width: 15px;
    }

    .single01_content ul,
    .single01_content ol {
        margin: 18px 0;
    }

    .single01_content ul li:before {
        top: 15px;
    }

    .single01_content ol li:before {
        top: 1px;
    }

    .single01_content p+p {
        margin-top: 20px;
    }

    .single01_content blockquote {
        margin-top: 45px;
        padding: 28px 40px;
    }
}

/* 追従バナー本体 */
.floating-movie {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #0b2a6b;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
    transition: opacity .3s ease, transform .3s ease;
}

/* 非表示 */
.floating-movie.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
}

/* アイコン */
.floating-movie__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

/* テキスト */
.floating-movie__text {
    font-size: 13px;
    text-align: center;
    line-height: 1.3;
}

/* ×ボタン（右上） */
.floating-movie__close {
    position: absolute;
    top: -4px;
    right: 0px;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #0b2a6b;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .2);
}

/* hover */
.floating-movie:hover {
    transform: translateY(-3px);
}

@media (max-width: 768px) {
    .floating-movie {
        display: none !important;
    }
}


/*-------------------------------------------
404
404.php
---------------------------------------------*/

#notfound .sub-img_area-img {
    background-image: url("../img/404/404_BG-sp.jpg");
    background-image: image-set(url("../img/404/404_BG-sp.webp") type("image/webp"),
            url("../img/404/404_BG-sp.jpg") type("image/jpeg"));
}

#notfound .sub-img_head {
    font-size: 2.4rem;
}

.notfound-intro_inner {
    padding-top: 60px;
    padding-bottom: 60px;
    text-align: center;
}

.notfound-sitemap {
    margin-top: 30px;
}

.notfound-intro_txt {
    margin-top: 20px;
}

@media all and (min-width: 600px) {
    #notfound .sub-img_area-img {
        background-image: url("../img/404/404_BG.jpg");
        background-image: image-set(url("../img/404/404_BG.webp") type("image/webp"),
                url("../img/404/404_BG.jpg") type("image/jpeg"));
    }
    
    #notfound .sub-img_head {
        font-size: 4rem;
    }
    
    .notfound-intro_inner {
        padding-top: 80px;
        padding-bottom: 100px;
    }
    
    #notfound .btn01 {
        margin-top: 38px;
    }

    .notfound-intro_txt {
        font-size: 2rem;
    }
    
    .notfound-sitemap_list {
        display: flex;
        gap: 30px;
        justify-content: center;
    }
}