@charset "UTF-8";

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

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

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

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

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

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

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

_:-ms-lang(x)::-ms-backdrop,
ol:not([class]) {
    padding-left: 1.6em;
}

span {
    font-weight: inherit;
}

blockquote,
q {
    quotes: none;
}

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

a {
    color: inherit;
}

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

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

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

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

del {
    text-decoration: line-through;
}

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

address {
    font-style: normal;
}

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

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgba(51, 51, 51, 0.15);
    margin: 1em 0;
    padding: 0;
}

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


/*=============================================
    BASE
=================================================*/

html {
    overflow: auto;
}

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

@media all and (min-width: 768px) {
    body {
        min-width: 1120px;
        padding-top: 166px;
        font-size: 1.5rem;
    }
}

::-moz-selection {
    background: #21A4E2;
    color: #fff;
}

::selection {
    background: #21A4E2;
    color: #fff;
}

::-moz-selection {
    background: #21A4E2;
    color: #fff;
}

.l-wrapper {
    position: relative;
}

@media all and (min-width: 768px) {
    .container.is-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: 1080px;
        margin: 0 auto;
    }

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

    .container.is-col2 .l-sidebar {
        width: 250px;
    }
}

/*=============================================
    汎用
=================================================*/

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

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

@media all and (min-width: 1120px) {
    .media-query {
        font-family: 'pc';
    }
}

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

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

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

@media all and (max-width: 320px) {
    .view-sp.is-none-tiny {
        display: none !important;
    }
}

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

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

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

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

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

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

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

    a.alpha:hover {
        opacity: .7;
    }
}

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

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

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

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

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

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

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

.inner02 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 25px;
    padding-right: 25px;
}

@media all and (min-width: 768px) {
    .inner02 {
        width: 100%;
        max-width: 1450px;
        margin: auto;
        -webkit-transition: max-width 0.3s ease;
        transition: max-width 0.3s ease;
    }
}

@media all and (min-width: 768px) and (max-width: 1440px) {
    .inner02 {
        max-width: 1080px;
        padding-left: 0;
        padding-right: 0;
    }
}

/* font
---------------------------------------- */
.font-en {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
}

/* component
================================================ */
/*  .archive01.is-col1
================================================== */
@media all and (min-width: 768px) {
    .archive01.is-col1 {
        display: block;
    }

    .archive01.is-col1 .archive01_item {
        margin-right: 0;
    }

    .archive01.is-col1 .archive01_item-tit {
        -webkit-box-flex: 2;
        -ms-flex: 2 0 50%;
        flex: 2 0 50%;
        margin: 0 0 0 30px;
    }
}

/*  .archive01
================================================== */
.archive01_item {
    border-bottom: 1px solid rgba(51, 51, 51, 0.15);
}

.archive01_item-in {
    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: 18px 0 20px;
}

.archive01_item-in[target="_blank"] .archive01_item-tit::after {
    margin-left: 7px;
    width: 10px;
    height: 10px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23929BA2%22%20d%3D%22M3.000%2C-0.000%20L3.000%2C3.000%20L1.000%2C3.000%20L-0.000%2C3.000%20L-0.000%2C10.000%20L7.000%2C10.000%20L7.000%2C7.000%20L10.000%2C7.000%20L10.000%2C-0.000%20L3.000%2C-0.000%20ZM6.000%2C9.000%20L1.000%2C9.000%20L1.000%2C4.000%20L3.000%2C4.000%20L3.000%2C7.000%20L6.000%2C7.000%20L6.000%2C9.000%20ZM9.000%2C6.000%20L4.000%2C6.000%20L4.000%2C1.000%20L9.000%2C1.000%20L9.000%2C6.000%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.archive01_item-date {
    color: #929BA2;
}

.archive01_item-cat {
    color: #929BA2;
    font-size: 1.2rem;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height: 1.4;
    margin-left: 15px;
    padding-left: 13px;
    border-left: 1px solid rgba(51, 51, 51, 0.15);
}


.archive01_item-tit {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 10px;
    font-weight: 700;
    line-height: 1.5;
}

.archive01_nothing {
    padding: 18px 0 20px;
}

@media all and (min-width: 768px) {
    .archive01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .archive01_item {
        -ms-flex-preferred-size: 520px;
        flex-basis: 520px;
        margin-right: 40px;
    }

    .archive01_item:nth-of-type(2n) {
        margin-right: 0;
    }

    .archive01_item-in {
        padding: 26px 0;
    }

    .archive01_item-cat {
        font-size: 1.3rem;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        padding-left: 15px;
    }

    .archive01_item-tit {
        margin-top: 20px;
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .archive01_item-in:hover .archive01_item-tit {
        color: #929BA2;
    }

    .archive01_nothing {
        padding: 26px 0;
    }
}


/*  .btn01.is-center-pc
================================================== */
@media all and (min-width: 768px) {

    .btn01.is-center-pc .btn01_txt,
    .btn01.is-center-pc .btn01_link {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: auto;
    }
}

/*  .btn01.is-center
================================================== */
.btn01.is-center .btn01_txt,
.btn01.is-center .btn01_link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/*  .btn01.is-justify
================================================== */
.btn01.is-justify .btn01_txt,
.btn01.is-justify .btn01_link {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/*  .btn01.is-left-pc
================================================== */
@media all and (min-width: 768px) {

    .btn01.is-left-pc .btn01_txt,
    .btn01.is-left-pc .btn01_link {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

/*  .btn01
================================================== */
.btn01 {
    margin-top: 20px;
    text-align: right;
}

.btn01_list {
    margin-top: 20px;
    border-top: 1px solid rgba(51, 51, 51, 0.15);
}

.btn01_list .btn01 {
    margin-top: 0;
    padding: 9px 0;
    border-bottom: 1px solid rgba(51, 51, 51, 0.15);
}

.btn01_txt,
.btn01_link {
    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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.btn01_ico {
    position: relative;
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 42px;
    flex: 0 0 42px;
    height: 42px;
    margin-left: 15px;
    border-radius: 50%;
    background-image: linear-gradient(90deg, rgb(44, 62, 80) 10%, rgb(189, 195, 199) 90%);
}

.btn01_ico::before,
.btn01_ico::after {
    position: absolute;
    content: '';
    display: block;
}

.btn01_ico::before {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #2c3e50;
    -webkit-transform: scale(0);
    transform: scale(0);
}

.btn01_ico::after {
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    margin: 2px 0 0 -5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg) translate(-50%, -50%);
    transform: rotate(45deg) translate(-50%, -50%);
}

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

    .btn01_list .btn01 {
        padding: 15px 0;
    }

    .btn01_txt,
    .btn01_link {
        max-width: 400px;
        margin: 0 0 0 auto;
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .btn01_wrap:hover .btn01_ico::before,
    .btn01_link:hover .btn01_ico::before {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    .btn01_wrap:hover .btn01_txt,
    .btn01_link:hover {
        color: #bdc3c7;
    }

    .btn01_ico {
        -ms-flex-preferred-size: 48px;
        flex-basis: 48px;
        height: 48px;
        margin-left: 20px;
    }

    .btn01_ico::before {
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    }
}


/*  .btn02
================================================== */
.btn02 {
    margin-top: 30px;
}

.btn02_link {
    display: block;
    max-width: 220px;
    margin: auto;
    color: #fff;
    background-color: #21A4E2;
    text-align: center;
    border-radius: 50px;
    padding: 20px 0 21px;
}

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

    .btn02_link {
        max-width: 300px;
        padding: 23px 0 22px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .btn02_link:hover {
        background-color: #50C2FF;
    }
}


/*  .head01
================================================== */
.head01 {
    margin-bottom: 40px;
}

.head01_en {
    font-size: 4rem;
}

.head01_ja {
    margin-top: 2px;
    font-size: 1.5rem;
    font-weight: 400;
}

@media all and (min-width: 768px) {
    .head01_en {
        font-size: 9rem;
    }

    .head01_ja {
        font-size: 2rem;
    }
}

/*  .head02.is-center
================================================== */
.head02.is-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/*  .head02
================================================== */
.head02 {
    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: 30px;
}

.head02_en {
    margin-right: 15px;
    font-size: 2.4rem;
}

.head02_ja {
    font-size: 1.2rem;
    font-weight: 400;
}

@media all and (min-width: 768px) {
    .head02_en {
        margin-right: 19px;
        font-size: 3rem;
    }

    .head02_ja {
        font-size: 1.4rem;
    }
}

/*  .head03
================================================== */
.head03 {
    text-align: center;
    margin-bottom: 30px;
}

.head03_en {
    font-size: 3.6rem;
}

.head03_ja {
    font-size: 1.4rem;
}

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

    .head03_en {
        font-size: 6rem;
    }

    .head03_ja {
        margin-top: 7px;
        font-size: 1.5rem;
    }
}


/*  .head04
================================================== */
.head04 {
    position: relative;
    text-align: center;
    margin-bottom: 36px;
}

.head04__read {
    position: relative;
    z-index: 1;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}

.head04__main {
    position: relative;
    z-index: 1;
    font-size: 2.4rem;
    letter-spacing: 0.01em;
    margin-bottom: 14px;
}

.head04_txt+.head04_txt {
    margin-top: 28px;
}

.head04_area-txt {
    position: relative;
}

.head04_en {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    text-align: center;
    width: 300%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin-top: -5px;
    font-size: 6rem;
    line-height: 1;
}

.head04_en.is-white {
    -webkit-text-stroke: 1px rgba(51, 51, 51, 0.15);
    text-stroke: 1px rgba(51, 51, 51, 0.15);
    color: transparent;
}

_:-ms-lang(x)::-ms-backdrop,
.head04_en.is-white {
    text-shadow: 1px 0 0 rgba(51, 51, 51, 0.15), 0 1px 0 rgba(51, 51, 51, 0.15), -1px 0 0 rgba(51, 51, 51, 0.15), 0 -1px 0 rgba(51, 51, 51, 0.15), 1px 1px 0 rgba(51, 51, 51, 0.15);
    color: #fff;
}

.head04_en.is-gray {
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    color: transparent;
}

_:-ms-lang(x)::-ms-backdrop,
.head04_en.is-gray {
    text-shadow: 1px 0 0 #fff, 0 1px 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff, 1px 1px 0 #fff;
    color: #F0F3F5;
}

@media all and (max-width: 767px) {
    .head04_txt {
        text-align: left;
    }
}

@media all and (max-width: 320px) {
    .head04_en {
        font-size: 5rem;
    }
}

@media all and (min-width: 768px) {
    .head04 {
        margin-bottom: 76px;
    }

    .head04__read {
        font-size: 1.8rem;
    }

    .head04__main {
        font-size: 3.4rem;
        line-height: 1.5;
        letter-spacing: 0.06em;
        margin-bottom: 35px;
    }

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

    .head04_en {
        font-size: 12rem;
    }
}

/*=============================================
    pagenavi
=================================================*/

.pager01 {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    margin: 36px -5px -10px;
}

.pager01 li {
    margin: 0 5px 10px;
}

.pager01 li a,
.pager01 li span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 45px;
    height: 45px;
    line-height: 1;
    text-decoration: none;
    background-color: #fff;
    color: #21A4E2;
    border-radius: 50%;
}

.pager01 li.pages,
.pager01 li.first,
.pager01 li.last,
.pager01 li.extend {
    display: none;
}

.pager01 li.current span {
    color: #fff;
    background-image: linear-gradient(90deg, rgb(44, 62, 80) 10%, rgb(189, 195, 199) 90%);
}

.pager01 li.previous a,
.pager01 li.next a {
    background-color: transparent;
    text-indent: -9999px;
    position: relative;
    display: block;
}

.pager01 li.previous a::before,
.pager01 li.next a::before {
    width: 7px;
    height: 10px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.708%22%20height%3D%229.584%22%20viewBox%3D%220%200%206.708%209.584%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2154%22%20data-name%3D%22%E3%83%91%E3%82%B9%202154%22%20d%3D%22M357.683%2C450.692l1.368-1.367-3.844-3.425%2C3.844-3.425-1.368-1.367-5.34%2C4.792%2C5.34%2C4.792Z%22%20transform%3D%22translate(-352.343%20-441.108)%22%20fill%3D%22%23333%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.pager01 li.next a::before {
    -webkit-transform: scale(-1, 1) translate(-50%, -50%);
    transform: scale(-1, 1) translate(-50%, -50%);
    margin-left: -7px;
}

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

    .pager01 li a,
    .pager01 li span {
        width: 35px;
        height: 35px;
    }
}

@media all and (min-width: 768px) {
    .pager01 {
        margin-top: 66px;
    }

    .pager01 li a {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .pager01 li a:hover {
        text-decoration: none;
        background-color: #21A4E2;
        color: #fff;
    }

    .pager01 li.previous a:hover::before,
    .pager01 li.next a:hover::before {
        width: 7px;
        height: 10px;
        content: "";
        display: inline-block;
        vertical-align: middle;
        background: no-repeat center/contain;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226.708%22%20height%3D%229.584%22%20viewBox%3D%220%200%206.708%209.584%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_2154%22%20data-name%3D%22%E3%83%91%E3%82%B9%202154%22%20d%3D%22M357.683%2C450.692l1.368-1.367-3.844-3.425%2C3.844-3.425-1.368-1.367-5.34%2C4.792%2C5.34%2C4.792Z%22%20transform%3D%22translate(-352.343%20-441.108)%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
}


/*=============================================
    会社概要
    about.html
=================================================*/
/*  .introduction01
================================================== */
.introduction01 {
    position: relative;
}

.introduction01::before,
.introduction01::after {
    position: absolute;
    content: '';
    z-index: -2;
    display: block;
    width: 180px;
    height: 250px;
    background: rgba(189, 195, 199, 0.2);
}

.introduction01::before {
    top: 0;
    left: 0;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.introduction01::after {
    bottom: 60px;
    right: 0;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.introduction01_in {
    position: relative;
    padding-top: 70px;
    padding-bottom: 120px;
}

.introduction01_in::before,
.introduction01_in::after {
    position: absolute;
    content: '';
    display: block;
    background: no-repeat 50% 50% / cover;
}

.introduction01_in::before {
    width: 76px;
    height: 78px;
    top: -30px;
    left: 15px;
    background-image: url(../img/about-03.png);
}

.introduction01_in::after {
    width: 62px;
    height: 83px;
    bottom: 35px;
    right: 15px;
    background-image: url(../img/about-04.png);
}

.c-info_tbl {
    background-color: #fff;
    border-radius: 20px;
    padding: 60px 40px;
}

.map_area {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.map-btn_link {
    display: block;
    width: 200px;
    padding: 5px 0;
    font-size: 1.4rem;
    text-align: center;
    border-radius: 50px;
    color: #fff !important;
    background-image: linear-gradient(90deg, rgb(44, 62, 80) 10%, rgb(189, 195, 199) 90%);
    text-decoration: none !important;
}

.map-btn_link:hover {
    opacity: 0.7;
    transition: 0.2s;
}

.c-info_tbl a[target=_blank]::after {
    margin-left: 10px;
    background-image: url(../img/link-ico.png) !important;
}

@media screen and (min-width: 769px) {
    .map-btn_link {
        width: 150px;
    }
}

@media all and (max-width: 767px) {
    .introduction01_item+.introduction01_item {
        margin-top: 30px;
    }
}

.introduction01_item-link {
    display: block;
    text-align: center;
}

.introduction01_item-img {
    border-radius: 10px;
    overflow: hidden;
}

.introduction01_item-head {
    margin-top: 20px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.8;
}

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

    .introduction01::before,
    .introduction01::after {
        width: 650px;
        height: 350px;
    }

    .introduction01::before {
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-960px);
        transform: translateX(-960px);
    }

    .introduction01::after {
        right: auto;
        left: 50%;
        bottom: 40px;
        -webkit-transform: translateX(310px);
        transform: translateX(310px);
    }

    .introduction01_in {
        padding-top: 120px;
        padding-bottom: 115px;
    }

    .introduction01_in::before {
        left: 50%;
        top: 60px;
        width: 128px;
        height: 132px;
        -webkit-transform: translateX(-600px);
        transform: translateX(-600px);
    }

    .introduction01_in::after {
        right: auto;
        bottom: 20px;
        left: 50%;
        width: 94px;
        height: 128px;
        -webkit-transform: translateX(520px);
        transform: translateX(520px);
    }

    .introduction01__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .introduction01_item {
        -ms-flex-preferred-size: 346px;
        flex-basis: 346px;
    }

    .introduction01_item-link:hover .introduction01_item-img img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    .introduction01_item-img img {
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    }

    .introduction01_item-head {
        margin-top: 22px;
        font-size: 2.2rem;
    }

    .introduction01_item-txt {
        margin-top: 5px;
    }

    .introduction01__list.is-col2 .introduction01_item {
        -ms-flex-preferred-size: 530px;
        flex-basis: 530px;
    }
}


/*=============================================
    会社概要・企業沿革
    about.html / history.html
=================================================*/
/*  .set01
================================================== */
.set01_in {
    min-height: 180px;
    padding-bottom: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.set01_sub {
    margin-top: 23px;
}

.set01_sub-marker {
    display: inline-block;
    margin-top: 5px;
    padding: 0 10px;
    color: #fff;
    font-weight: 700;
    background: #21A4E2;
}

.set01_area-txt {
    margin-top: 40px;
}

.set01_copy {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

.set01_txt {
    margin-top: 25px;
}

@media all and (min-width: 768px) {
    .set01_in {
        padding-bottom: 170px;
        min-height: 330px;
    }

    .set01_sub {
        margin-top: 34px;
        font-size: 1.5rem;
    }

    .set01_sub-marker {
        padding: 2px 18px;
    }

    .set01_sub-marker:nth-of-type(2) {
        padding-left: 0;
    }

    .set01_area-txt {
        margin-top: 80px;
    }

    .set01_copy {
        font-size: 3.4rem;
    }

    .set01_txt {
        margin-top: 35px;
    }
}

/*=============================================
    使用ページ
   contact.html / history.html / item.html /
   privacy.html / security.html / post.html
=================================================*/
/* .single
================================================== */
.single {
    background-color: #fff;
    border-radius: 10px;
    padding: 28px 25px 26px;
}

.single-header {
    border-bottom: 2px solid #E0E0E0;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 30px;
}

.single-header::before {
    content: "";
    display: block;
    height: 2px;
    width: 90px;
    position: absolute;
    left: 0;
    bottom: -2px;
    background-color: #929BA2;
}

.single-header_head {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
}

.single__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: 6px;
}

.single__meta-data {
    color: #929BA2;
    letter-spacing: 0.001em;
}

.single__meta-cat {
    font-size: 1.2rem;
    color: #929BA2;
    border-left: 1px solid rgba(51, 51, 51, 0.15);
    padding-left: 10px;
    margin-left: 15px;
}

.single__content {
    overflow: hidden;
}

.single__content *:first-child {
    margin-top: 0;
}

.single__content *:last-child {
    margin-bottom: 0;
}

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

.single__content h2 {
    border-left: 4px solid #21A4E2;
    background: #F0F3F5;
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 40px 0 14px;
    padding: 10px;
}

.single__content h3 {
    border-bottom: 1px solid #21A4E2;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 16px 0 10px;
    padding-bottom: 10px;
}

.single__content h4 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 17px 0 7px;
    padding-left: 12px;
    position: relative;
}

.single__content h4::before {
    content: '';
    width: 4px;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #D2EDF8), color-stop(50%, #21A4E2));
    background: linear-gradient(#D2EDF8 50%, #21A4E2 50%);
    position: absolute;
    left: 0;
    top: 0;
}

.single__content p {
    margin: 7px 0;
}

.single__content a {
    text-decoration: underline;
    color: #21A4E2;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

.single__content a:hover {
    color: #50C2FF;
}

.single__content ul {
    clear: both;
    list-style-type: none;
    padding-left: 0;
    margin: 10px 0;
}

.single__content ul li {
    line-height: 1.5;
    padding-left: 10px;
    margin-bottom: 7px;
    position: relative;
}

.single__content ul li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    background: #21A4E2;
    width: 5px;
    height: 5px;
    border-radius: 50%;
}

.single__content ol {
    clear: both;
    list-style-type: none;
    padding-left: 0;
    margin: 10px 0;
    counter-reset: number 0;
}

.single__content ol li {
    line-height: 1.5;
    padding-left: 18px;
    margin-bottom: 7px;
    counter-increment: number 1;
    position: relative;
}

.single__content ol li:before {
    content: counter(number) ".";
    position: absolute;
    top: 0;
    left: 0;
    color: #21A4E2;
    font-weight: 700;
}

.single__content img,
.single__content .alignleft,
.single__content .alignright,
.single__content .aligncenter {
    margin: 0 0 10px;
}

.p-news_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    text-decoration: none;
    width: 300px;
    margin: auto;
    padding: 1rem 4rem;
    font-weight: bold;
    background: #eee;
    color: #21A4E2;
    border-radius: 100vh;
    position: relative;
    transition: 0.5s;
    margin-top: 20px;
}

.p-news_btn::before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: 1em;
    transform: translateY(calc(-50% - 2px)) rotate(45deg);
    width: 10px;
    height: 1px;
    background: #21A4E2;
}

.p-news_btn::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 50px;
    height: 1px;
    background-color: #21A4E2;
}

.p-news_btn:hover {
    background: #fff;
    color: #171c61!important;
    border: solid  1px #171c61;
}

.p-news_btn::before,
.p-news_btn::after {
    background: #171c61;
}

@media all and (min-width: 768px) {
    .single {
        padding: 77px 80px 76px;
        border-radius: 20px;
    }

    .single-header {
        padding-bottom: 20px;
        margin-bottom: 50px;
    }

    .single-header::before {
        width: 120px;
    }

    .single-header_head {
        font-size: 3rem;
    }

    .single__meta {
        margin-bottom: 13px;
    }

    .single__meta-data {
        font-size: 1.5rem;
    }

    .single__meta-cat {
        padding-left: 17px;
        font-size: 1.3rem;
    }

    .single__content h2 {
        border-width: 8px;
        margin: 60px 0 20px;
        font-size: 2.2rem;
        padding-left: 16px;
    }

    .single__content h3 {
        font-size: 1.8rem;
        margin: 47px 0 16px;
        padding-bottom: 12px;
    }

    .single__content h4 {
        font-size: 1.6rem;
        margin: 37px 0 10px;
        padding-left: 16px;
    }

    .single__content p:first-child {
        margin-top: 0;
    }

    .single__content p+p {
        margin-top: 20px;
    }

    .single__content a {
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .single__content a:hover {
        color: #50C2FF;
    }

    .single__content ul {
        margin: 16px 0;
    }

    .single__content ul li {
        padding-left: 12px;
        margin-bottom: 8px;
    }

    .single__content ol {
        margin: 16px 0;
    }

    .single__content ol li {
        padding-left: 20px;
        margin-bottom: 8px;
    }

    .single__content p picture {
        display: block;
        text-align: center;
    }

    .single__content img {
        margin-top: 30px;
        margin-bottom: 30px !important;
        width: 50%;
    }

    .single__content img.alignleft {
        float: left;
        margin: 30px 40px 36px 0;
    }

    .single__content img.alignright {
        float: right;
        margin: 30px 0 36px 40px;
    }

    .single__content img.aligncenter {
        display: block;
        margin: 36px auto;
    }

    .single__content img+p {
        margin-top: 32px;
    }

    .single__content .alignleft {
        float: left;
        width: calc(50% - 20px);
        margin-right: 20px;
    }

    .single__content .alignleft img {
        width: 100%;
        margin-bottom: 30px;
        display: block;
    }

    .single__content .alignright {
        float: right;
        width: calc(50% - 20px);
        margin-left: 20px;
    }

    .single__content .alignright img {
        width: 100%;
        margin-bottom: 30px;
        display: block;
    }

    .single__content .aligncenter {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

/*=============================================
    使用ページ
    recruit.html / recruit2.html / recruit.html
=================================================*/
/*  .tab01.is-bottom
================================================== */
.tab01.is-bottom .tab01_item::after {
    top: 0;
    bottom: auto !important;
    border-width: 0 8px 8px 8px;
    border-color: transparent transparent #21A4E2 transparent;
}

.tab01.is-bottom .tab01_item.is-active::after {
    top: -8px;
}

@media all and (min-width: 768px) {
    .tab01.is-bottom .tab01_item::after {
        border-width: 0 10px 10px 10px;
    }

    .tab01.is-bottom .tab01_item.is-active::after {
        top: -10px;
    }
}

/*  .tab01.is-clm2
================================================== */
.tab01.is-clm2 .tab01_item {
    width: calc(50% - 5px);
}

@media all and (min-width: 768px) {
    .tab01.is-clm2 .tab01_item {
        width: calc(50% - 10px);
    }
}

/*  .tab01
================================================== */
.tab01 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -2.5px;
    z-index: 1;
}

.tab01_item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(33.33% - 5px);
    margin: 0 2.5px;
    padding: 11px 0;
    border-radius: 5px;
    border: 1px solid #2c3e50;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    color: #2c3e50;
    text-align: center;
    line-height: 1.5;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.tab01_item:not(.is-active) {
    border: 1px solid #acacac;
    color: #acacac;
}

.tab01_item::after {
    position: absolute;
    content: '';
    display: block;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 8px 0 8px;
    border-color: #2c3e50 transparent transparent transparent;
    z-index: -1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.tab01_item.is-active {
    background: #2c3e50;
    border: 1px solid #2c3e50;
    color: #fff;
}

.tab01_item.is-active:after {
    bottom: -8px;
}

@media all and (min-width: 768px) {
    .tab01 {
        margin: 0 -5px;
    }

    .tab01_item {
        width: calc(33.33% - 10px);
        margin: 0 5px;
        padding: 15.5px 0;
        border-radius: 10px;
    }

    .tab01_item:after {
        border-width: 10px 10px 0 10px;
    }

    .tab01_item:hover {
        background: #2c3e50;
        color: #fff;
    }

    .tab01_item.is-active:after {
        bottom: -10px;
    }
}


/*=============================================
    使用ページ
    about.html / recruit.html / recruit2.html / recruit3.html
=================================================*/
/*  .table01
================================================== */
.table01 tr:first-of-type th,
.table01 tr:first-of-type td {
    border-top: none;
}

.table01 td p+p {
    margin-top: 2em;
}

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

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

    .table01 table {
        border-bottom: 1px solid rgba(51, 51, 51, 0.15);
    }

    .table01 th {
        padding: 13px 0 5px;
        font-weight: 700;
        text-align: left;
        border-top: 1px solid rgba(51, 51, 51, 0.15);
    }

    .table01 td {
        padding-bottom: 15px;
    }
}

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

    .table01 th,
    .table01 td {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .table01 th {
        width: 200px;
        padding: 18px 30px;
        text-align: left;
        border-top: 1px solid rgba(51, 51, 51, 0.5);
    }

    .table01 th:last-of-type {
        border-bottom: 1px solid rgba(51, 51, 51, 0.5);
    }

    .table01 td {
        padding: 18px 30px;
        border-top: 1px solid rgba(51, 51, 51, 0.15);
    }

    .table01 td:last-of-type {
        border-bottom: 1px solid rgba(51, 51, 51, 0.15);
    }
}

.table01 a {
    text-decoration: underline;
    color: #21A4E2;
}

.table01 a[target=_blank]::after {
    position: relative;
    top: -2px;
    margin-left: 5px;
    width: 10px;
    height: 10px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23929BA2%22%20d%3D%22M3.000%2C-0.000%20L3.000%2C3.000%20L1.000%2C3.000%20L-0.000%2C3.000%20L-0.000%2C10.000%20L7.000%2C10.000%20L7.000%2C7.000%20L10.000%2C7.000%20L10.000%2C-0.000%20L3.000%2C-0.000%20ZM6.000%2C9.000%20L1.000%2C9.000%20L1.000%2C4.000%20L3.000%2C4.000%20L3.000%2C7.000%20L6.000%2C7.000%20L6.000%2C9.000%20ZM9.000%2C6.000%20L4.000%2C6.000%20L4.000%2C1.000%20L9.000%2C1.000%20L9.000%2C6.000%20Z%22%2F%3E%3C%2Fsvg%3E);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}


/* .breadcrumb
================================================ */
.breadcrumb.has-bg {
    background: #F0F3F5;
}

.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;
    padding-bottom: 20px;
}

.breadcrumb-list_item {
    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;
}

.breadcrumb-list_item+.breadcrumb-list_item {
    position: relative;
    margin-left: 8px;
}

.breadcrumb-list_item+.breadcrumb-list_item:before {
    display: inline-block;
    content: "";
    margin-right: 10px;
    width: 10px;
    height: 1px;
    background: #929BA2;
}

.breadcrumb-list_link {
    color: #0555a4;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

.breadcrumb-list_link:hover {
    color: #5c7894;
}

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

@media all and (min-width: 768px) {
    .header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        min-width: 1120px;
        padding: 50px 0 80px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: padding 0.3s ease;
        transition: padding 0.3s ease;
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(65%, #fff), to(rgba(255, 255, 255, 0)));
        background-image: linear-gradient(#fff 65%, rgba(255, 255, 255, 0) 100%);
    }

    .header.is-fixed {
        background: #fff;
        padding: 15px 0;
    }
}

/* .hdr-img
================================================== */
.hdr-img_logo {
    position: absolute;
    top: 20px;
    left: 25px;
    width: 178px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.hdr-img_logo-link {
    display: block;
}

.hdr-img_logo-txt {
    display: block;
    margin-top: 7px;
    color: #9FD9F5;
    font-size: 1.1rem;
}

@media all and (max-width: 767px) {
    .header.is-open .hdr-img_logo {
        opacity: .3;
    }
}

@media all and (min-width: 768px) {
    .hdr-img {
        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;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .hdr-img_logo {
        position: static;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 2;
        -ms-flex: 2 0 50%;
        flex: 2 0 50%;
        width: auto;
    }

    .hdr-img_logo-link[class] {
        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;
    }

    .hdr-img_logo-link[class] img {
        width: 350px;
        -webkit-transition: width 0.3s ease;
        transition: width 0.3s ease;
    }

    .header.is-fixed .hdr-img_logo-link[class] img {
        width: 246px;
    }

    .hdr-img_logo-txt {
        margin-top: 12px;
        margin-left: 36px;
        font-size: 1.4rem;
        -webkit-transition: margin 0.3s ease;
        transition: margin 0.3s ease;
    }

    .header.is-fixed .hdr-img_logo-txt {
        margin-top: 0;
    }

    .hdr-img_btn-contact {
        margin: 0;
    }
}

/* .nav-contact-btn
================================================== */
#btnContact a {
    text-decoration: unset;
}

.nav-contact-btn {
    width: 120px;
    height: 44px;
    border-radius: 22px;
    background: #171c61;
    font-size: 1.4rem;
    color: #fff;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 0;
}

@media all and (max-width: 767px) {
    .nav-contact-btn {
        position: fixed;
        z-index: 3;
        bottom: 30px;
        right: 80px;
    }
}

@media all and (min-width: 768px) {
    .nav-contact-btn {
        position: relative;
        width: 160px;
        height: 50px;
        border-radius: 25px;
        font-size: 1.5rem;
        -webkit-transition: background 0.3s ease;
        transition: background 0.3s ease;
    }

    .nav-contact-btn.is-open,
    .nav-contact-btn:hover {
        background: #50C2FF;
    }

    .nav-contact-btn.is-open::after {
        opacity: 1;
    }

    .nav-contact-btn::after {
        position: absolute;
        content: '';
        display: block;
        top: 100%;
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -10px;
        border: solid transparent;
        border-width: 20px 13px;
        border-bottom-color: #21A4E2;
        opacity: 0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        -webkit-transition-property: opacity, margin;
        transition-property: opacity, margin;
    }

    .header.is-fixed .nav-contact-btn::after {
        margin-top: -20px;
    }
}

/* .nav-btn
================================================== */
.nav-btn {
    width: 44px;
    height: 44px;
    border: 1px solid #333;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: border 0.3s ease;
    transition: border 0.3s ease;
    overflow: visible;
}

.nav-btn_line {
    position: absolute;
    left: 11px;
    width: 22px;
    height: 2px;
    background: #333;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

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

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

.nav-btn_line::before {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.nav-btn_line:nth-child(2)::before {
    -webkit-transition-delay: .1s;
    transition-delay: .1s;
}

.nav-btn.is-open {
    border-color: transparent;
}

.nav-btn.is-open .nav-btn_line::before {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

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

.nav-btn.is-open .nav-btn_line:nth-child(2) {
    top: 20px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media all and (max-width: 767px) {
    .nav-btn {
        position: fixed;
        z-index: 3;
        bottom: 30px;
        right: 25px;
    }
}

@media all and (min-width: 768px) {
    .nav-btn {
        position: relative;
        margin-left: 104px;
        width: 50px;
        height: 50px;
    }

    .nav-btn:hover .nav-btn_line::before {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    .nav-btn_line {
        width: 24px;
        left: 13px;
    }

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

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

    .nav-btn.is-open .nav-btn_line {
        left: 4px;
        width: 40px;
    }

    .nav-btn.is-open .nav-btn_line:nth-child(1) {
        top: 24px;
    }

    .nav-btn.is-open .nav-btn_line:nth-child(2) {
        top: 24px;
    }

    .nav-btn_chara {
        position: absolute;
        z-index: 1;
        display: inline-block;
        top: 50%;
        right: 100%;
        width: 50px;
        margin-right: 10px;
        font-size: 1.5rem;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

/* .nav
================================================ */
.nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    max-height: 100vh;
    min-width: 320px;
    padding: 20px 25px 160px;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
    overflow: auto;
}

@media all and (max-width: 767px) {
    .nav__logo {
        width: 178px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .nav__logo-link {
        display: block;
    }

    .nav__logo-txt {
        display: block;
        margin-top: 7px;
        color: #9FD9F5;
        font-size: 1.1rem;
    }
}

.nav.is-open {
    opacity: 1;
    visibility: visible;
}

@media all and (max-width: 767px) {
    .nav::-webkit-scrollbar {
        display: none;
    }
}

@media all and (min-width: 768px) {
    .nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        top: 166px;
        height: calc(100vh - 166px);
        padding: 0;
        -webkit-transition-property: opacity, visibility, margin, height;
        transition-property: opacity, visibility, margin, height;
    }

    .header.is-fixed .nav {
        margin-top: -86px;
        height: calc(100vh - 80px);
    }
}

/* .nav-list
================================================== */
.nav-list_item {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    -webkit-transition-duration: .9s;
    transition-duration: .9s;
}

.nav.is-open .nav-list_item {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.nav.is-open .nav-list_item:nth-of-type(1) {
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}

.nav.is-open .nav-list_item:nth-of-type(2) {
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
}

.nav.is-open .nav-list_item:nth-of-type(3) {
    -webkit-transition-delay: .4s;
    transition-delay: .4s;
}

.nav.is-open .nav-list_item:nth-of-type(4) {
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
}

.nav.is-open .nav-list_item:nth-of-type(5) {
    -webkit-transition-delay: .6s;
    transition-delay: .6s;
}

.nav-list_item-txt {
    position: relative;
    padding: 36px 50px 15px 0;
    border-bottom: 1px solid rgba(51, 51, 51, 0.15);
}

.nav-list_item-en {
    font-size: 2.6rem;
}

.nav-list_item-ja {
    margin-top: 2px;
    font-weight: 700;
}

.nav-list_child {
    padding-top: 13px;
}

.nav-list_child-item-link {
    position: relative;
    display: block;
    padding-left: 12px;
    line-height: 2.5;
}

.nav-list_child-item-link::before {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 0;
    width: 6px;
    border-top: 1px solid #171c61;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media all and (max-width: 767px) {
    .nav-list_item-ico {
        position: absolute;
        right: 0;
        top: 42px;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: #F0F3F5;
    }

    .nav-list_item-ico::before,
    .nav-list_item-ico::after {
        position: absolute;
        content: '';
        display: block;
        top: 50%;
        left: 12px;
        width: 18px;
        height: 2px;
        background: #929BA2;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .nav-list_item-ico::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .nav-list_item-txt.is-active .nav-list_item-ico::after {
        -webkit-transform: rotate(90deg) scale(0, 1);
        transform: rotate(90deg) scale(0, 1);
        opacity: 0;
    }
}

@media all and (min-width: 768px) {
    .nav-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .nav-list_item {
        min-width: 285px;
    }

    .nav-list_item+.nav-list_item {
        margin-left: 39px;
    }

    .nav-list_item-txt {
        pointer-events: none;
        padding-right: 0;
        padding-bottom: 20px;
    }

    .nav-list_item-en {
        font-size: 2.8rem;
    }

    .nav-list_item-ja {
        margin-top: 4px;
    }

    .nav-list_child {
        padding-top: 17px;
    }

    .nav-list_child-wrap.js-toggle-content {
        display: block;
    }

    .nav-list_child-item-link {
        padding: 4px 0 4px 12px;
        line-height: 1.8;
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .nav-list_child-item-link:hover {
        color: #929BA2;
    }
}

/* .nav-sub-list
---------------------------------------- */
.nav-sub-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 15px;
}

.nav-sub-list_item+.nav-sub-list_item {
    margin-left: 37px;
}

.nav-sub-list_item:last-of-type .nav-sub-list_item-link {
    position: relative;
}

.nav-sub-list_item:last-of-type .nav-sub-list_item-link::after {
    width: 10px;
    height: 10px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23929BA2%22%20d%3D%22M3.000%2C-0.000%20L3.000%2C3.000%20L1.000%2C3.000%20L-0.000%2C3.000%20L-0.000%2C10.000%20L7.000%2C10.000%20L7.000%2C7.000%20L10.000%2C7.000%20L10.000%2C-0.000%20L3.000%2C-0.000%20ZM6.000%2C9.000%20L1.000%2C9.000%20L1.000%2C4.000%20L3.000%2C4.000%20L3.000%2C7.000%20L6.000%2C7.000%20L6.000%2C9.000%20ZM9.000%2C6.000%20L4.000%2C6.000%20L4.000%2C1.000%20L9.000%2C1.000%20L9.000%2C6.000%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-left: 3px;
    margin-top: -4px;
}

.nav-sub-list_item-link {
    display: block;
    padding: 10px 0;
    font-size: 1.2rem;
}

@media all and (min-width: 768px) {
    .nav-sub-list {
        position: fixed;
        bottom: 60px;
        right: 57px;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .nav-sub-list_item+.nav-sub-list_item {
        margin-left: 30px;
    }

    .nav-sub-list_item-link {
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .nav-sub-list_item-link:hover {
        color: #929BA2;
    }
}

/* .nav-overlay
================================================ */
.nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1000;
}

/*=============================================
    フッター
=================================================*/
/* .footer
================================================ */
.footer {
    border-top: 1px solid rgba(51, 51, 51, 0.15);
}

@media all and (max-width: 767px) {
    .footer_in {
        padding: 40px 0;
    }
}

.ftr-img_logo {
    margin: 0 auto;
    width: 240px;
}

.ftr-img_logo-link {
    display: block;
    text-align: center;
}

.footer-corporate {
    margin-top: 24px;
    text-align: center;
}

.footer-corporate_link {
    display: inline-block;
    padding: 10px 0;
}

.footer-corporate_link::after {
    position: relative;
    top: -2px;
    margin-left: 5px;
    width: 10px;
    height: 10px;
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2210px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23929BA2%22%20d%3D%22M3.000%2C-0.000%20L3.000%2C3.000%20L1.000%2C3.000%20L-0.000%2C3.000%20L-0.000%2C10.000%20L7.000%2C10.000%20L7.000%2C7.000%20L10.000%2C7.000%20L10.000%2C-0.000%20L3.000%2C-0.000%20ZM6.000%2C9.000%20L1.000%2C9.000%20L1.000%2C4.000%20L3.000%2C4.000%20L3.000%2C7.000%20L6.000%2C7.000%20L6.000%2C9.000%20ZM9.000%2C6.000%20L4.000%2C6.000%20L4.000%2C1.000%20L9.000%2C1.000%20L9.000%2C6.000%20Z%22%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.ftr_copy {
    text-align: center;
    font-size: 1.1rem;
    color: #929BA2;
}

@media all and (min-width: 768px) {
    .footer_in {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-top: 40px;
        padding-bottom: 30px;
    }

    .footer__info {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    }

    .ftr-img_logo {
        margin: 0 auto 0 0;
        width: auto;
    }

    .ftr-img_logo-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;
    }

    .ftr-img_logo-link img {
        width: 266px;
    }

    .footer-corporate {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        text-align: right;
        margin-top: 50px;
    }

    .footer-corporate_link {
        font-size: 1.5rem;
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .footer-corporate_link:hover {
        color: #50C2FF;
    }

    .ftr_copy {
        margin-top: 20px;
        font-size: 1.2rem;
    }
}

/*=============================================
    TOPページ
    index.html
=================================================*/
/* .l-key-img HOME
================================================ */
.l-key-img [data-anim="keyv"] {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition-duration: 1.2s;
    transition-duration: 1.2s;
}

.l-key-img.is-active [data-anim="keyv"] {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.l-key-img_in {
    padding-bottom: 80px;
}

.l-key-img_illust {
    position: relative;
    margin: 0 30px;
}


.l-key-img_illust-main video {
    width: 100%;
}

.l-key-img_intext {
    width: 300px;
    margin: auto;
}

.key-txt_bg {
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 50px;
}

.l-key-img_text {
    margin-top: -10px;
    line-height: 2.28571;
}

.l-key-img_text p {
    margin-top: 25px;
}

.l-key-img-bnr {
    position: absolute;
    z-index: 2;
    top: 35px;
    right: 6px;
    width: 142px;
}

.l-key-img-bnr_link.alpha {
    display: inline-block;
}

@media all and (min-width: 769px) {
    .l-key-img_illust-main {
        padding: 60px;
        padding-right: 0;
        padding-bottom: 0;
    }
}

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

    .js-top-keyv .l-key-img_in {
        padding-bottom: 0px;
    }

    .l-key-img.is-active .l-key-img_intext,
    .l-key-img.is-active .l-key-img_text,
    .l-key-img.is-active .l-key-img-bnr {
        -webkit-transition-delay: 5.7s;
        transition-delay: 5.7s;
    }

    .l-key-img.is-active .l-key-img_illust-main {
        -webkit-transition-delay: 4.8s;
        transition-delay: 4.8s;
    }

    .l-key-img.is-visited .l-key-img_intext,
    .l-key-img.is-visited .l-key-img_text,
    .l-key-img.is-visited .l-key-img-bnr {
        -webkit-transition-delay: 1.7s;
        transition-delay: 1.7s;
    }

    .l-key-img.is-visited .l-key-img_illust-main {
        -webkit-transition-delay: .8s;
        transition-delay: .8s;
    }

    .l-key-img_illust-main {
        position: relative;
    }

    .l-key-img_illust-main::after {
        position: absolute;
        content: '';
        z-index: 0;
        display: block;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 250px;
        background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(20%, rgba(255, 255, 255, 0.3)), to(#fff));
        background-image: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 20%, #fff 100%);
    }

    .l-key-img_intext {
        margin-top: -100px;
    }
}

@media all and (max-width: 320px) {
    .l-key-img_intext {
        width: 220px;
    }

    .l-key-img-bnr {
        width: 100px;
    }
}

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

    .l-key-img.is-active .l-key-img_intext {
        -webkit-transition-delay: 4.8s;
        transition-delay: 4.8s;
    }

    .l-key-img.is-active .l-key-img_illust-main,
    .l-key-img.is-active .l-key-img_text,
    .l-key-img.is-active .l-key-img-bnr {
        -webkit-transition-delay: 5.7s;
        transition-delay: 5.7s;
    }

    .l-key-img.is-visited .l-key-img_intext {
        -webkit-transition-delay: .8s;
        transition-delay: .8s;
    }

    .l-key-img.is-visited .l-key-img_illust-main,
    .l-key-img.is-visited .l-key-img_text,
    .l-key-img.is-visited .l-key-img-bnr {
        -webkit-transition-delay: 1.7s;
        transition-delay: 1.7s;
    }

    .l-key-img_in {
        position: relative;
        padding-bottom: 15vh;
        padding-bottom: calc(var(--vh, 1vh) * 15);
    }

    .l-key-img_illust {
        position: absolute;
        top: 30px;
        right: 0;
        margin-right: -2vw;
        margin-right: calc(var(--vw, 1vw) * -2);
    }

    .l-key-img_intext {
        position: relative;
        width: auto;
        margin: 0 56% 0 0;
        padding-top: 20%;
    }

    .l-key-img_intext svg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .l-key-img_textarea {
        position: relative;
        z-index: 1;
        min-width: 630px;
    }

    .l-key-img_text {
        margin-top: 35px;
        font-size: 1.9rem;
        line-height: 2.35294;
    }

    .l-key-img_text p {
        margin-top: 32px;
    }

    .l-key-img-bnr {
        top: -12px;
        right: 5px;
        width: 260px;
    }

    .l-key-img-bnr_in {
        max-width: 1450px;
        margin: auto;
        text-align: right;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .l-key-img-bnr_link {
        display: inline-block;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .l-key-img-bnr_link:hover {
        opacity: 0.7;
    }

    .l-key-img-bnr img {
        width: 260px;
    }
}

@media all and (min-width: 768px) and (max-width: 1440px) {
    .l-key-img_illust {
        margin-right: 0;
        /*width: 49vw;*/
        /*width: calc(var(--vw, 1vw) * 49);*/
    }

    .l-key-img-bnr_in {
        max-width: 1080px;
        padding: 0;
    }
}

@media (min-width: 768px) and (orientation: portrait) {
    .l-key-img_in {
        position: relative;
        /*padding-top: 15vw;*/
        /*padding-top: calc(var(--vw, 1vw) * 15);*/
        padding-bottom: 18vw;
        padding-bottom: calc(var(--vw, 1vw) * 18);
    }

    .l-key-img_in::after {
        position: absolute;
        content: '';
        z-index: -1;
        display: block;
        top: 0;
        left: 0;
        bottom: 0;
        width: 80%;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #fff), to(rgba(255, 255, 255, 0)));
        background-image: linear-gradient(90deg, #fff 50%, rgba(255, 255, 255, 0) 100%);
    }

    .l-key-img_illust {
        z-index: -2;
        /*width: 42vh;*/
        /*width: calc(var(--vh, 1vh) * 42);*/
        margin-right: -6vw;
        margin-right: calc(var(--vw, 1vw) * -6);
    }

    .l-key-img-bnr {
        right: 7vw;
        right: calc(var(--vw, 1vw) * 7);
    }
}

/* .sub-img
================================================ */
.sub-img_in {
    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: 220px;
}

.sub-img_head {
    margin-top: -10px;
}

.sub-img_head-en {
    font-size: 5rem;
    text-transform: capitalize;
}

.sub-img_head-ja {
    font-size: 1.6rem;
    font-weight: normal;
}

@media all and (max-width: 767px) {
    .sub-img_head-en.is-small {
        font-size: 4.2rem;
    }
}

@media all and (max-width: 360px) {
    .sub-img_head-en.is-small {
        font-size: 3.9rem;
    }
}

@media all and (min-width: 768px) {
    .sub-img_in {
        height: 350px;
    }

    .sub-img_head {
        margin-top: -25px;
    }

    .sub-img_head-en {
        font-size: 9rem;
    }

    .sub-img_head-ja {
        margin-top: 5px;
        font-size: 1.8rem;
    }
}

@media all and (min-width: 768px) and (max-width: 1440px) {
    .sub-img_in {
        height: 200px;
    }
}


/* .sub-img.has-img
---------------------------------------- */
.sub-img.has-img .sub-img_in {
    position: relative;
    height: auto;
    padding-bottom: 0;
}

.sub-img.has-img .sub-img_illust {
    margin: auto;
}

.sub-img.has-img .sub-img_text {
    margin-top: 20px;
}

.sub-img.has-img .sub-img_en {
    font-size: 5rem;
    text-transform: capitalize;
}

.sub-img.has-img .sub-img_ja {
    margin-top: 5px;
    font-size: 1.6rem;
    font-weight: 400;
}

.sub-img.has-img .sub-img_bg {
    position: absolute;
    z-index: -2;
    bottom: 15px;
    left: 15px;
    width: 300%;
    font-size: 10rem;
    -webkit-text-stroke: 1px #eef0f0;
    text-stroke: 1px #eef0f0;
    color: transparent;
}

_:-ms-lang(x)::-ms-backdrop,
.sub-img.has-img .sub-img_bg {
    text-shadow: 1px 0 0 #eef0f0, 0 1px 0 #eef0f0, -1px 0 0 #eef0f0, 0 -1px 0 #eef0f0, 1px 1px 0 #eef0f0;
    color: #fff;
}

@media all and (min-width: 768px) {
    .sub-img.has-img .sub-img_in {
        padding-top: 110px;
    }

    .sub-img.has-img .sub-img_illust {
        position: absolute;
        z-index: -1;
        top: 20px;
        left: 0;
        width: 100%;
        text-align: right;
    }

    .sub-img.has-img .sub-img_illust img {
        width: auto;
    }

    .sub-img.has-img .sub-img_text {
        margin-top: 0;
    }

    .sub-img.has-img .sub-img_en {
        font-size: 9rem;
    }

    .sub-img.has-img .sub-img_ja {
        font-size: 1.8rem;
    }

    .sub-img.has-img .sub-img_bg {
        top: 50px;
        left: -110px;
        font-size: 20rem;
    }
}

/*=============================================
    js-animation
=================================================*/

.js-anime-elem[data-anime="fadein-up"] {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-anime-elem[data-anime="fadein-up"].is-animated {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime="fadein-up"] {
        -webkit-transition-delay: .3s;
        transition-delay: .3s;
    }
}

.js-anime-elem[data-anime="fadein-left"] {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.js-anime-elem[data-anime="fadein-left"].is-animated {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.js-anime-elem[data-anime="fadein-right"] {
    opacity: 0;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.js-anime-elem[data-anime="fadein-right"].is-animated {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

@-webkit-keyframes bounce {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    15% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }

    30% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
    }

    45% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes bounce {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    15% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }

    30% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
    }

    45% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@media all and (max-width: 767px) {
    .js-anime-elem[data-anime="bounce"] {
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.1"] {
        -webkit-animation-delay: 0.1s;
        animation-delay: 0.1s;
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.2"] {
        -webkit-animation-delay: 0.2s;
        animation-delay: 0.2s;
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.3"] {
        -webkit-animation-delay: 0.3s;
        animation-delay: 0.3s;
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.4"] {
        -webkit-animation-delay: 0.4s;
        animation-delay: 0.4s;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.5"] {
        -webkit-animation-delay: 0.5s;
        animation-delay: 0.5s;
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.6"] {
        -webkit-animation-delay: 0.6s;
        animation-delay: 0.6s;
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.7"] {
        -webkit-animation-delay: 0.7s;
        animation-delay: 0.7s;
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.8"] {
        -webkit-animation-delay: 0.8s;
        animation-delay: 0.8s;
        -webkit-transition-delay: 0.8s;
        transition-delay: 0.8s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="0.9"] {
        -webkit-animation-delay: 0.9s;
        animation-delay: 0.9s;
        -webkit-transition-delay: 0.9s;
        transition-delay: 0.9s;
    }

    .js-anime-elem[data-anime="bounce"][data-sp-delay="1"] {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }

    .js-anime-elem[data-anime="bounce"].is-animated {
        opacity: 1;
        -webkit-animation-duration: 0.5s;
        animation-duration: 0.5s;
        -webkit-animation-name: bounce;
        animation-name: bounce;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem [data-anime="bounce"] {
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.1"] {
        -webkit-animation-delay: 0.1s;
        animation-delay: 0.1s;
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.2"] {
        -webkit-animation-delay: 0.2s;
        animation-delay: 0.2s;
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.3"] {
        -webkit-animation-delay: 0.3s;
        animation-delay: 0.3s;
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.4"] {
        -webkit-animation-delay: 0.4s;
        animation-delay: 0.4s;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.5"] {
        -webkit-animation-delay: 0.5s;
        animation-delay: 0.5s;
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.6"] {
        -webkit-animation-delay: 0.6s;
        animation-delay: 0.6s;
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.7"] {
        -webkit-animation-delay: 0.7s;
        animation-delay: 0.7s;
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.8"] {
        -webkit-animation-delay: 0.8s;
        animation-delay: 0.8s;
        -webkit-transition-delay: 0.8s;
        transition-delay: 0.8s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="0.9"] {
        -webkit-animation-delay: 0.9s;
        animation-delay: 0.9s;
        -webkit-transition-delay: 0.9s;
        transition-delay: 0.9s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1"] {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.1"] {
        -webkit-animation-delay: 1.1s;
        animation-delay: 1.1s;
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.2"] {
        -webkit-animation-delay: 1.2s;
        animation-delay: 1.2s;
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.3"] {
        -webkit-animation-delay: 1.3s;
        animation-delay: 1.3s;
        -webkit-transition-delay: 1.3s;
        transition-delay: 1.3s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.4"] {
        -webkit-animation-delay: 1.4s;
        animation-delay: 1.4s;
        -webkit-transition-delay: 1.4s;
        transition-delay: 1.4s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.5"] {
        -webkit-animation-delay: 1.5s;
        animation-delay: 1.5s;
        -webkit-transition-delay: 1.5s;
        transition-delay: 1.5s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.6"] {
        -webkit-animation-delay: 1.6s;
        animation-delay: 1.6s;
        -webkit-transition-delay: 1.6s;
        transition-delay: 1.6s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.7"] {
        -webkit-animation-delay: 1.7s;
        animation-delay: 1.7s;
        -webkit-transition-delay: 1.7s;
        transition-delay: 1.7s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.8"] {
        -webkit-animation-delay: 1.8s;
        animation-delay: 1.8s;
        -webkit-transition-delay: 1.8s;
        transition-delay: 1.8s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="1.9"] {
        -webkit-animation-delay: 1.9s;
        animation-delay: 1.9s;
        -webkit-transition-delay: 1.9s;
        transition-delay: 1.9s;
    }

    .js-anime-elem [data-anime="bounce"][data-pc-delay="2"] {
        -webkit-animation-delay: 2s;
        animation-delay: 2s;
        -webkit-transition-delay: 2s;
        transition-delay: 2s;
    }

    .js-anime-elem.is-animated [data-anime="bounce"] {
        opacity: 1;
        -webkit-animation-duration: 0.5s;
        animation-duration: 0.5s;
        -webkit-animation-name: bounce;
        animation-name: bounce;
    }
}

.js-anime-elem[data-anime-delay="0.1"] {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.js-anime-elem[data-anime-delay="0.2"] {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.js-anime-elem[data-anime-delay="0.3"] {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.js-anime-elem[data-anime-delay="0.4"] {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.js-anime-elem[data-anime-delay="0.5"] {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.js-anime-elem[data-anime-delay="0.6"] {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.js-anime-elem[data-anime-delay="0.7"] {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s;
}

.js-anime-elem[data-anime-delay="0.8"] {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.js-anime-elem[data-anime-delay="0.9"] {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
}

.js-anime-elem[data-anime-delay="1"] {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.js-anime-elem[data-anime-delay="1.1"] {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
}

.js-anime-elem[data-anime-delay="1.2"] {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
}

.js-anime-elem[data-anime-delay="1.3"] {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
}

.js-anime-elem[data-anime-delay="1.4"] {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
}

.js-anime-elem[data-anime-delay="1.5"] {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

.js-anime-elem[data-anime-delay="1.6"] {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}

.js-anime-elem[data-anime-delay="1.7"] {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
}

.js-anime-elem[data-anime-delay="1.8"] {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
}

.js-anime-elem[data-anime-delay="1.9"] {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
}

.js-anime-elem[data-anime-delay="2"] {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.1"] {
        -webkit-transition-delay: 0.1s;
        transition-delay: 0.1s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.2"] {
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.3"] {
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.4"] {
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.5"] {
        -webkit-transition-delay: 0.5s;
        transition-delay: 0.5s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.6"] {
        -webkit-transition-delay: 0.6s;
        transition-delay: 0.6s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.7"] {
        -webkit-transition-delay: 0.7s;
        transition-delay: 0.7s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.8"] {
        -webkit-transition-delay: 0.8s;
        transition-delay: 0.8s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="0.9"] {
        -webkit-transition-delay: 0.9s;
        transition-delay: 0.9s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1"] {
        -webkit-transition-delay: 1s;
        transition-delay: 1s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.1"] {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.2"] {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.3"] {
        -webkit-transition-delay: 1.3s;
        transition-delay: 1.3s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.4"] {
        -webkit-transition-delay: 1.4s;
        transition-delay: 1.4s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.5"] {
        -webkit-transition-delay: 1.5s;
        transition-delay: 1.5s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.6"] {
        -webkit-transition-delay: 1.6s;
        transition-delay: 1.6s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.7"] {
        -webkit-transition-delay: 1.7s;
        transition-delay: 1.7s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.8"] {
        -webkit-transition-delay: 1.8s;
        transition-delay: 1.8s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="1.9"] {
        -webkit-transition-delay: 1.9s;
        transition-delay: 1.9s;
    }
}

@media all and (min-width: 768px) {
    .js-anime-elem[data-anime-delay-pc="2"] {
        -webkit-transition-delay: 2s;
        transition-delay: 2s;
    }
}

.js-switch-tab {
    cursor: pointer;
}

.js-toggle-trigger {
    cursor: pointer;
}

.js-toggle-content {
    display: none;
}


/*=============================================
    情報セキュリティ方針
    security.html
=================================================*/

.policy-container {
    background: #F0F3F5;
}

.policy-container_in {
    padding-top: 70px;
    padding-bottom: 60px;
}

.policy-list {
    margin: 20px 0;
}

.policy-list li {
    list-style: none;
}

@media all and (min-width: 768px) {
    .policy-container {
        margin-bottom: -50px;
    }

    .policy-container_in {
        padding-top: 120px;
        padding-bottom: 170px;
    }

}


/* .error-page404
================================================== */
/*.error-page404_in {*/
/*    text-align: center;*/
/*    padding-bottom: 120px;*/
/*}*/

/* #home .header
================================================== */
@media all and (min-width: 768px) {
    #home .header {
        opacity: 0;
    }

    #home .header.is-visited {
        opacity: 1;
        -webkit-transition: padding .3s ease,
            opacity 0s ease;
        transition: padding .3s ease,
            opacity 0s ease;
    }

    #home .header.is-unvisited.is-active {
        opacity: 1;
        -webkit-transition: padding .3s ease,
            opacity 1.2s ease 5.7s;
        transition: padding .3s ease,
            opacity 1.2s ease 5.7s;
    }
}

/* .home-loading
================================================== */
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.home-loading {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100%;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.home-loading.is-visited {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.9s ease-in-out;
    transition: all 0.9s ease-in-out;
    -webkit-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
}

.home-loading.is-visited .home-loading-ico {
    display: none;
}

.home-loading-ico {
    position: absolute;
    top: 50vh;
    left: 50vw;
    width: 250px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    margin-top: -15px;
}

.home-loading-ico__wrap {
    opacity: 0;
}

.home-loading-ico__logo {
    width: 190px;
    margin: auto;
}

.home-loading-ico__bar {
    position: relative;
    margin-top: 25px;
    width: 100%;
    height: 5px;
    background: #F0F3F5;
    border-radius: 3px;
    overflow: hidden;
}

.home-loading-ico__bar::before {
    position: absolute;
    content: '';
    display: block;
    top: -3%;
    left: -3%;
    width: 0;
    height: 106%;
    background: #171c61;
    -webkit-transition: width 2.1s cubic-bezier(1, 0, 1, 1);
    transition: width 2.1s cubic-bezier(1, 0, 1, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}

.home-loading.is-active {
    opacity: 0;
    visibility: hidden;
}

.home-loading.is-active .home-loading-ico__bar::before {
    width: 106%;
}

.home-loading.is-unvisited {
    -webkit-transition: opacity 1.2s cubic-bezier(0.6, 0.14, 0.15, 0.9) 4.5s, visibility 1.2s cubic-bezier(0.6, 0.14, 0.15, 0.9) 4.5s;
    transition: opacity 1.2s cubic-bezier(0.6, 0.14, 0.15, 0.9) 4.5s, visibility 1.2s cubic-bezier(0.6, 0.14, 0.15, 0.9) 4.5s;
}

.home-loading.is-unvisited .home-loading-ico__wrap {
    -webkit-animation: fadeIn .3s linear 0s forwards;
    animation: fadeIn .3s linear 0s forwards;
}

.home-loading.is-unvisited .home-loading-ico,
.home-loading.is-unvisited .home-loading-bar {
    opacity: 0;
    -webkit-transition: opacity 0.6s cubic-bezier(0.6, 0.14, 0.15, 0.9) 3.6s;
    transition: opacity 0.6s cubic-bezier(0.6, 0.14, 0.15, 0.9) 3.6s;
}

@media all and (min-width: 768px) {
    .home-loading-ico {
        width: 420px;
    }

    .home-loading-ico__logo {
        width: 352px;
    }

    .home-loading-ico__bar {
        margin-top: 50px;
    }
}

/* .top-about
================================================== */
.top-about_in {
    padding-bottom: 60px;
}

.top-about-set {
    display: block;
    position: relative;
    margin-top: 40px;
}

.top-about-set:nth-of-type(1) {
    z-index: 2;
}

.top-about-set:nth-of-type(2) {
    z-index: 1;
}

.top-about-set:nth-of-type(3) {
    z-index: 0;
}

.top-about-set_link {
    display: block;
}

.top-about-set_img {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    padding-top: 50.6%;
}

.top-about-set_img img {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.top-about-set_area-text {
    position: relative;
    margin-top: 20px;
}

.top-about-set_num {
    position: absolute;
    display: inline-block;
    top: -75px;
    right: 5px;
    color: #D2EDF8;
    font-size: 8rem;
    background-image: linear-gradient(90deg, rgb(44, 62, 80) 10%, rgb(189, 195, 199) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.top-about-set_head {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
}

.top-about-set_bg {
    position: absolute;
    z-index: -1;
    background: #F0F3F5;
}

.top-about-set:nth-of-type(odd) .top-about-set_bg {
    top: -30px;
    right: -25px;
    width: 180px;
    height: 154px;
    border-top-left-radius: 20px;
}

.top-about-set:nth-of-type(even) .top-about-set_bg {
    top: -20px;
    left: -25px;
    width: 150px;
    height: 120px;
    border-top-right-radius: 20px;
}

@media all and (min-width: 768px) {
    .top-about_in {
        padding-bottom: 20vh;
        padding-bottom: calc(var(--vh, 1vh)* 20);
    }

    .top-about-set {
        margin-top: 60px;
    }

    .top-about-set+.top-about-set {
        margin-top: 100px;
    }

    .top-about-set_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .top-about-set_link:hover .top-about-set_img img {
        -webkit-transform: scale(1.1) translate(-50%, -50%);
        transform: scale(1.1) translate(-50%, -50%);
    }

    .top-about-set:nth-of-type(odd) .top-about-set_link {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }

    .top-about-set:nth-of-type(odd) .top-about-set_area-text {
        margin-right: 60px;
    }

    .top-about-set:nth-of-type(even) .top-about-set_area-text {
        -ms-flex-preferred-size: 370px;
        flex-basis: 370px;
        margin-left: 80px;
    }

    .top-about-set_img {
        position: relative;
        max-width: 790px;
        -webkit-box-flex: 2;
        -ms-flex: 2 0 395px;
        flex: 2 0 395px;
        border-radius: 20px;
        padding-top: 28.4%;
    }

    .top-about-set_img img {
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    }

    .top-about-set_area-text {
        margin-top: 5px;
        -ms-flex-preferred-size: 390px;
        flex-basis: 390px;
    }

    .top-about-set_num {
        position: static;
        font-size: 14rem;
    }

    .top-about-set_head {
        margin-top: 15px;
        font-size: 2.8rem;
    }

    .top-about-set_bg {
        border-radius: 20px;
    }

    .top-about-set:nth-of-type(1) .top-about-set_bg {
        top: -160px;
        right: -145px;
        width: 420px;
        height: 400px;
    }

    .top-about-set:nth-of-type(2) .top-about-set_bg {
        top: -63px;
        left: -93px;
        width: 380px;
        height: 273px;
    }

    .top-about-set:nth-of-type(3) .top-about-set_bg {
        top: 153px;
        left: 50%;
        width: 350px;
        height: 311px;
        -webkit-transform: translateX(-250px);
        transform: translateX(-250px);
    }
}


/*=============================================
    制作パターンについて
    Item Pattern
=================================================*/

.sec-item {
    position: relative;
    margin: 12px 0 83px;
}

@media screen and (max-width: 768px) {
    .sec-item {
        margin: 138px 0 75px;
    }
}

.sec-item_top {
    margin: 175px 0 70px;
}

@media screen and (max-width: 768px) {
    .sec-item_top {
        margin: 90px 0 10px;
    }
}

.sec-item::before {
    content: "";
    position: absolute;
    z-index: -2;
    display: block;
    background: rgba(221, 221, 221, 0.2);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    width: 650px;
    height: 350px;
    right: 50px;
    left: auto;
    top: 28px;
    transform: translateX(310px);
}

@media screen and (max-width: 768px) {
    .sec-item::before {
        width: 173px;
        height: 241px;
        top: -60px;
        right: 0;
        transform: translateX(0);
    }
}

.sec-item_top::before {
    top: 50px;
    left: 50%;
    right: auto;
    width: 1410px;
    height: 830px;
    margin-left: -960px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    transform: translateX(0px);
}

@media screen and (min-width: 1281px) {
    .sec-item_top::before {
        height: 780px;
    }
}

@media screen and (max-width: 768px) {
    .sec-item_top::before {
        top: 20px;
        left: -25px;
        right: -25px;
        bottom: 0;
        height: 980px;
        background: rgba(221, 221, 221, 0.3);
    }
}

.sec-item::after {
    content: "";
    display: block;
    background: no-repeat 50% 50% / cover;
    background-image: url(../img/about-item02.png);
    position: absolute;
    right: 50%;
    top: -130px;
    width: 269px;
    height: 295px;
    transform: translateX(652px);
}

@media screen and (max-width: 768px) {
    .sec-item::after {
        width: 150px;
        height: 164px;
        top: -145px;
        right: -12px;
        transform: translateX(0);
    }
}

.sec-item_top::after {
    right: 55%;
    top: -130px;
    width: 308px;
    height: 337px;
    transform: translateX(380px);
}

@media screen and (max-width: 768px) {
    .sec-item_top::after {
        width: 167px;
        height: 183px;
        top: -50px;
        right: -55px;
        transform: translateX(0px);
    }
}

.sec-item_block {
    display: flex;
}

@media screen and (max-width: 768px) {
    .sec-item_block {
        flex-direction: column;
    }
}

.sec-item_top .sec-item_block {
    margin: 40px 0 0 0;
}

@media screen and (max-width: 768px) {
    .sec-item_top .sec-item_block {
        margin: 0;
        padding: 0;
    }
}

.sec-item_block .sec-item_blockin {
    padding: 0 70px 0 0;
    flex: 1;
}

@media screen and (max-width: 768px) {
    .sec-item_block .sec-item_blockin {
        padding: 0;
    }
}

.sec-item_block .sec-item_blockin .title {
    font-weight: 900;
    font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
    .sec-item_block .sec-item_blockin .title {
        font-size: 1.9rem;
        margin: 6px 0 0;
    }
}

.sec-item_block .sec-item_blockin .text {
    font-size: 1.5rem;
    line-height: 2.3;
}

.sec-item_block .sec-item_blockin .text:first-child {
    margin-bottom: 20px;
}

.sec-item_block .sec-item_blockin .border-tb .text {
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .sec-item_block .sec-item_blockin .text {
        font-size: 1.4rem;
        line-height: 2.0;
        margin: 12px 0 0;
    }
}


.sec-item .item-img {
    width: 530px;
}

@media screen and (max-width: 768px) {
    .sec-item .item-img {
        width: 100%;
        margin-top: 100px;
    }
}

.sec-item .item-img img {
    border-radius: 20px;
}



/*=============================================
    制作例
    Example
=================================================*/

@media (min-width: 768px) and (orientation: portrait) {
    #example .l-key-img_in {
        padding-top: 15vh;
        padding-top: calc(var(--vh, 1vh)* 15);
        padding-bottom: 20vh;
        padding-bottom: calc(var(--vh, 1vh)* 20);
    }
}

.top-example {
    position: relative;
}

@media screen and (max-width: 768px) {
    #example .l-key-img_in {
        padding-top: 0vh;
        padding-top: calc(var(--vh, 1vh)* 0);
        padding-bottom: 0vh;
        padding-bottom: calc(var(--vh, 1vh)* 0);
    }

    .top-example {
        margin: 138px 0 75px;
    }
}


@media screen and (max-width: 768px) {
    .sec-example_top {
        margin: 90px 0 10px;
    }
}

.top-example_in .head01 {
    text-align: right;
}

.top-example::before {
    content: "";
    position: absolute;
    z-index: -2;
    display: block;
    background: rgba(221, 221, 221, 0.2);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    width: 650px;
    height: 350px;
    right: 50px;
    left: auto;
    top: 28px;
    transform: translateX(310px);
}

@media screen and (max-width: 768px) {
    .top-example::before {
        width: 173px;
        height: 241px;
        top: -60px;
        right: 0;
        transform: translateX(0);
    }
}

.sec-example_top::before {
    top: 50px;
    left: auto;
    right: 50%;
    width: 1410px;
    height: 830px;
    margin-right: -960px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    transform: translateX(0px);
}

@media screen and (min-width: 1281px) {
    .sec-example_top::before {
        height: 780px;
    }
}

@media screen and (max-width: 768px) {
    .sec-example_top::before {
        top: 20px;
        left: -25px;
        right: -25px;
        bottom: 0;
        height: 980px;
        background: rgba(221, 221, 221, 0.3);
    }
}

.top-example::after {
    content: "";
    display: block;
    background: no-repeat 50% 50% / cover;
    background-image: url(../img/about-item02.png);
    position: absolute;
    right: 50%;
    top: -130px;
    width: 269px;
    height: 295px;
    transform: translateX(652px);
}

@media screen and (max-width: 768px) {
    .top-example::after {
        width: 150px;
        height: 164px;
        top: -145px;
        right: -12px;
        transform: translateX(0);
    }
}

.sec-example_top::after {
    left: -10%;
    top: -130px;
    width: 308px;
    height: 337px;
    transform: translateX(380px);
}

@media screen and (max-width: 768px) {
    .sec-example_top::after {
        width: 167px;
        height: 183px;
        top: -55px;
        right: -26px;
        transform: translateX(0px);
    }
}

.top-example_block {
    display: flex;
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .top-example_block {
        flex-direction: column;
    }
}

.sec-example_top .top-example_block {
    margin: 40px 0 0 0;
}

@media screen and (max-width: 768px) {
    .sec-example_top .top-example_block {
        margin: 0;
        padding: 0;
    }
}

.top-example_block .top-example_block_in {
    padding: 0 0 0 70px;
    flex: 1;
}

@media screen and (max-width: 768px) {
    .top-example_block .top-example_block_in {
        padding: 0;
    }
}


.top-example_block .top-example_block_in .title {
    font-weight: 900;
    font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
    .top-example_block .top-example_block_in .title {
        font-size: 1.9rem;
        margin: 6px 0 0;
    }
}

.top-example_block .top-example_block_in .text {
    font-size: 1.5rem;
    line-height: 2.3;
}

.top-example_block .top-example_block_in .text:first-child {
    margin-bottom: 20px;
}

.top-example_block .top-example_block_in .border-tb .text {
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .top-example_block .top-example_block_in .text {
        font-size: 1.4rem;
        line-height: 2.0;
        margin: 12px 0 0;
    }
}

.top-example .item-img {
    width: 530px;
}

@media screen and (max-width: 768px) {
    .top-example .item-img {
        width: 100%;
        margin-top: 100px;
    }
}


.top-example .item-img img {
    border-radius: 20px;
}

.example-btn_area .btn01 {
    width: 100%;
}

.example-btn_area .btn01 .btn01_txt,
.example-btn_area .btn01 .btn01_link {
    margin: 0;
}


/* .top-news
================================================== */
.top-news_in {
    padding-top: 65px;
    padding-bottom: 60px;
}

.top-news_content {
    margin-top: 12px;
}

.news-maincontainer {
    display: flex;
}

.news-left,
.news-right {
    width: 50%;
}

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

.news-snap_logo img {
    width: 50%;
}

.news-snap {
    overflow-y: scroll;
    height: 600px;
}

.news-left_btn {
    display: flex;
}

.news-left_btn .btn01 {
    width: 50%;
}

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

    .top-news_content {
        margin-top: 10px;
    }

    #top-news .btn01_txt,
    #top-news .btn01_link {
        margin: 0;
    }

    #top-news .btn01_txt,
    #top-news .btn01_link {
        justify-content: flex-start;
    }
}

@media all and (max-width: 540px) {
    .news-maincontainer {
        flex-direction: column;
    }

    .news-left,
    .news-right {
        width: 100%;
    }

    .news-left {
        margin-bottom: 30px;
    }

    .news-left_btn {
        flex-direction: column;
    }

    .news-left_btn .btn01 {
        width: 100%;
    }

    #top-news .btn01_txt,
    #top-news .btn01_link {
        justify-content: center;
    }
}

.img_center {
    text-align: center;
    width: 100%;
}

.link a {
    color: #fff;
    padding: 5px 20px;
    background-color: #171c61;
    border-radius: 5px;
    font-weight: bold;
    text-decoration: none;
}

/*=============================================
    CTA ボタン
=================================================*/

.cta-area {
    margin: 0 auto;
}

.cta-head {
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 4px;
    border-bottom: 2px solid #1157a3;
    color: #1157a3;
    font-size: 1.8rem;
    text-align: center;
}

@media (min-width: 768px) {
    .cta-head {
        font-size: 2rem;
    }
}

.cta-list {
    display: flex;
    margin-top: 12px;
}

@media (min-width: 768px) {
    .cta-list {
        display: flex;
        justify-content: center;
        margin-top: 20px;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 767px) {
    .cta-list {
        display: flex;
        flex-direction: column;
    }
}

.cta-item {
    flex: 1;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.cta-item::before {
    content: none !important;
}

@media (max-width: 767px) {
    .cta-item {
        padding-left: 0 !important;
        width: 90%;
    }
}

@media (min-width: 768px) {
    .cta-item {
        width: 50%;
        min-width: .00000001%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .cta-item:not(:first-of-type) {
        margin-top: 12px;
    }

    .cta-item:not(:first-of-type) {
        margin-top: 0;
        border-left: 1px solid #b0babe;
    }
}

@media (max-width: 767px) {
    .cta-box {
        position: relative;
        display: inline-block;
        padding-left: 44px;
        text-align: left;
    }

    .cta-tel .cta-box::before {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 28px;
        height: 28px;
        background-image: url(../img/icon-tel_blue.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        vertical-align: middle;
    }

    .cta-form .cta-box::before {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        content: "";
        width: 28px;
        height: 28px;
        background-image: url(../img/icon-mail.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.cta-tel {
    display: inline-block;
}

@media (max-width: 767px) {
    .cta-tel {
        width: 100%;
        padding: 12px;
        border-radius: 4px;
        background-color: #fff;
        border: 1px solid #0082c3;
        /*min-height: 70px;*/
    }
}

@media (min-width: 768px) {
    .cta-tel {
        position: relative;
        padding-left: 44px;
    }

    .cta-tel::before {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 28px;
        height: 28px;
        background-image: url(../img/icon-tel.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        vertical-align: middle;
    }

    .cta-tel:hover {
        text-decoration: none;
    }
}

.cta-tel-txt {
    margin-top: 2px;
    font-weight: 700;
}

@media (min-width: 768px) {
    .cta-tel-txt {
        margin-right: 12px;
    }
}

@media (max-width: 767px) {
    .cta-tel-txt {
        text-align: left;
    }
}

.cta-tel-txt--sp {
    font-size: 1.4rem;
}

@media (min-width: 768px) {
    .cta-tel-txt--sp {
        display: none;
    }
}

.cta-tel-txt--pc {
    font-size: 2rem;
    color: #373d3f;
}

@media (max-width: 767px) {
    .cta-tel-txt--pc {
        display: none;
    }
}

.cta-tel-txt-note--sp {
    margin-top: 8px;
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    .cta-tel-txt-note--sp {
        display: none;
    }
}

.cta-tel-txt--title {
    font-size: 1.4rem;
}

@media (max-width: 767px) {
    .cta-tel-txt--title {
        font-size: 1.2rem;
    }
}

.cta-tel-info {
    font-size: 1.2rem;
    color: #0082c3;
}

@media (min-width: 768px) {
    .cta-tel-info {
        color: #373d3f;
    }
}

.cta-form {
    display: inline-block;
}

@media (max-width: 767px) {
    .cta-form {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        /*min-height: 70px;*/
        padding: 12px;
        border-radius: 4px;
        border: 1px solid #0082c3;
        background-color: #fff;
    }
}

@media (min-width: 768px) {
    .cta-form {
        position: relative;
        padding-left: 44px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .cta-form::before {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        content: "";
        width: 28px;
        height: 28px;
        background-image: url(../img/icon-mail.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.cta-form-txt {
    font-weight: 700;
    font-size: 1.8rem;
}

@media (max-width: 767px) {
    .cta-form-txt {
        font-size: 1.4rem;
    }
}
