html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
section,
article,
aside,
hgroup,
header,
footer,
nav,
dialog,
figure,
menu,
video,
audio,
mark,
time,
canvas,
details {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: transparent;
    letter-spacing: 0.05em
}

@media screen and (max-width: 767px) {

    html,
    body,
    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    a,
    abbr,
    acronym,
    address,
    big,
    cite,
    code,
    del,
    dfn,
    em,
    font,
    img,
    ins,
    kbd,
    q,
    s,
    samp,
    small,
    strike,
    strong,
    sub,
    sup,
    tt,
    var,
    b,
    u,
    i,
    center,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    section,
    article,
    aside,
    hgroup,
    header,
    footer,
    nav,
    dialog,
    figure,
    menu,
    video,
    audio,
    mark,
    time,
    canvas,
    details {
        letter-spacing: 0.04em
    }
}

section,
article,
aside,
hgroup,
header,
footer,
main,
nav,
dialog,
figure,
figcaption {
    display: block
}

html {
    font-size: 62.5%
}

body {
    line-height: 1;
    -webkit-text-size-adjust: 100%;
    -webkit-print-color-adjust: exact;
    line-break: strict;
    overflow-wrap: break-word;
    word-wrap: break-word
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

:focus {
    outline-color: #aaa
}

ins {
    text-decoration: none
}

del {
    text-decoration: line-through
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img {
    -webkit-backface-visibility: hidden;
    vertical-align: bottom
}

b,
strong,
em {
    font-weight: inherit;
    font-style: inherit
}

html {
    font-size: 10px
}

@media screen and (max-width: 374px) {
    html {
        font-size: 2.66667vw
    }
}

body {
    width: 100%;
    color: #585b5e;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400
}

@media screen and (max-width: 767px) {
    body.is-locked {
        position: fixed;
        width: 100%;
        height: 100%
    }
}

@media print,
screen and (min-width: 768px) {
    body {
        min-width: 1240px
    }
}

@media screen and (max-width: 767px) {
    body {
        min-width: 320px
    }
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-break: break-all
}

a {
    text-decoration: none;
    color: inherit;
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

a img,
a .c-ico {
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

img {
    max-width: 100%;
    vertical-align: bottom
}

@media screen and (max-width: 767px) {
    img {
        width: 100%;
        height: auto
    }
}

iframe {
    vertical-align: bottom
}

.hover-alpha a:hover img {
    opacity: 0.7
}

::-webkit-input-placeholder {
    color: #ccc;
    padding-top: 0.2em
}

:-moz-placeholder {
    color: #ccc;
    opacity: 1
}

::-moz-placeholder {
    color: #ccc;
    opacity: 1
}

:-ms-input-placeholder {
    color: #ccc
}

select,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0;
    line-height: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    outline: none;
    border-radius: 0;
    border: none;
    background: none;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", sans-serif
}

input[type="number"] {
    -moz-appearance: textfield
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=text],
input[type=email],
input[type=tel] {
    width: 100%;
    border: 1px solid #dedede;
    background: #fff;
    padding: 0 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 44px;
    line-height: 44px;
    font-size: 1.6rem
}

select {
    cursor: pointer;
    width: 100%;
    padding: 0 40px 0 15px;
    border: 1px solid #dedede;
    background: #fff;
    height: 44px;
    font-size: 1.6rem
}

select::-ms-expand {
    display: none
}

textarea {
    resize: none;
    width: 100%;
    line-height: 1.5;
    border: 1px solid #dedede;
    background: #fff;
    font-size: 1.6rem;
    padding: 15px;
    font: inherit
}

input[type="button"],
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    border-radius: 0;
    line-height: 1;
    cursor: pointer
}

button {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer
}

@media screen and (max-width: 767px) {

    select,
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="number"],
    input[type="tel"] {
        font-size: 1.6rem
    }
}

.l-inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1320px;
    position: relative;
    z-index: 3
}

@media print,
screen and (min-width: 768px) {
    .l-container {
        padding: 60px 0
    }
}

@media screen and (max-width: 767px) {
    .l-container {
        padding: 30px 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-container:last-child {
        padding-bottom: 150px
    }
}

@media screen and (max-width: 767px) {
    .l-container:last-child {
        padding-bottom: 80px
    }
}

.l-container.l-container--gray {
    background: #f8f8f8
}

.l-container.l-container--gray02 {
    background: #F5F7F8
}

.l-page {
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh
}

@media screen and (max-width: 767px) {
    .l-page {
        position: relative
    }
}

.l-page__heading {
    position: absolute;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0
}

@media all and (-ms-high-contrast: none) {
    .l-page {
        display: block
    }
}

#particles-01 {
    position: fixed;
    top: 150px;
    left: 50px;
    width: 180px;
    height: 180px;
    z-index: 0
}

@media screen and (max-width: 767px) {
    #particles-01 {
        width: 120px;
        height: 120px;
        top: 60px;
        left: inherit;
        right: -30px
    }
}

#particles-02 {
    position: fixed;
    top: 130px;
    right: 20px;
    width: 200px;
    height: 200px;
    z-index: 0
}

@media screen and (max-width: 767px) {
    #particles-02 {
        width: 100px;
        height: 100px;
        top: 70vh;
        right: inherit;
        left: 0
    }
}

#particles-03 {
    position: fixed;
    bottom: 50px;
    left: 10px;
    width: 240px;
    height: 240px;
    z-index: 0
}

@media screen and (max-width: 767px) {
    #particles-03 {
        display: none
    }
}

.l-header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9000
}

@media screen and (max-width: 767px) {
    .l-header {
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header {
        min-width: 1240px
    }
}

@media screen and (max-width: 767px) {
    .l-header.is-active {
        background: #fff
    }
}

.l-header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 130px;
    padding: 0 20px;
    -webkit-transition: background 0.3s;
    transition: background 0.3s
}

@media screen and (max-width: 767px) {
    .l-header__inner {
        height: 60px;
        padding: 0 10px;
        z-index: 8500;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header__inner {
        -webkit-transition: height 0.3s;
        transition: height 0.3s
    }
}

.l-header.is-fixed .l-header__inner {
    background: rgba(255, 255, 255, 0.95)
}

@media print,
screen and (min-width: 768px) {
    .l-header.is-fixed .l-header__inner {
        height: 100px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-logo {
        width: 180px;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
}

@media screen and (max-width: 767px) {
    .l-header-logo {
        width: 100px
    }
}

@media screen and (min-width: 768px) and (max-width: 1480px) {
    .l-header-logo {
        width: 150px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header.is-fixed .l-header-logo {
        width: 150px
    }
}

.l-header-nav {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

@media print,
screen and (min-width: 768px) {
    .l-header-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        height: 130px !important
    }
}

@media screen and (max-width: 767px) {
    .l-header-nav {
        position: absolute;
        top: 59px;
        left: 0;
        width: 100%;
        height: 100vh;
        padding: 50px 20px 50px;
        background: #fff url(/common/img/symbol.png) no-repeat center center;
        background-size: 180%;
        pointer-events: none;
        opacity: 0;
        overflow-y: scroll
    }
}

.l-header-nav.is-active {
    pointer-events: auto;
    opacity: 1
}

@media print,
screen and (min-width: 768px) {
    .l-header.is-fixed .l-header-nav {
        height: 100px !important
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 0 10px 0 0;
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav>li+li {
        padding-top: 15px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav__item {
        height: 130px;
        padding: 0 20px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav__item {
        width: 100%;
        display: block;
        text-align: left;
        padding: 5px 0;
        height: 38px
    }
}

@media screen and (min-width: 768px) and (max-width: 1520px) {
    .l-header-gnav__item {
        padding: 0 15px
    }
}

.l-header-gnav__item span {
    color: #1a1a1a;
    font-family: "Red Hat Display", sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    position: relative
}

@media screen and (max-width: 767px) {
    .l-header-gnav__item span {
        font-size: 2.6rem;
        font-weight: 400
    }
}

@media screen and (min-width: 768px) and (max-width: 1520px) {
    .l-header-gnav__item span {
        font-size: 1.6rem
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav__item span::after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background: #333;
        position: absolute;
        bottom: -10px;
        left: 0;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s
    }
}

.l-header-gnav__toggle {
    position: relative
}

@media screen and (max-width: 767px) {

    .l-header-gnav__toggle::before,
    .l-header-gnav__toggle::after {
        content: "";
        display: block;
        width: 16px;
        height: 2px;
        position: absolute;
        top: calc(50% - 1px);
        right: 0;
        background: #1a1a1a
    }
}

.l-header-gnav__toggle::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: 0.2s;
    transition: 0.2s
}

.l-header-gnav__toggle.is-open::after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media print,
screen and (min-width: 768px) {

    .l-header-gnav li:hover a span::after,
    .l-header-gnav li:hover button span::after {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: left top;
        transform-origin: left top
    }
}

@media print,
screen and (min-width: 768px) {
    .is-search-open .l-header-gnav {
        opacity: 0;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        pointer-events: none
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header.is-fixed .l-header-gnav__item {
        height: 100px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--about>a {}
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--services>a {}
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--news>a {}
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--recruit>a {}
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--ir>a {}
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav--ir .l-header-gnav-sub-left {
        width: 220px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 100px;
        right: 50px;
        background: #fff;
        -webkit-transition: opacity 0.3s, top 0.3s;
        transition: opacity 0.3s, top 0.3s;
        z-index: 1
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub {
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub-left {
        width: 285px;
        padding: 35px 10px 40px 35px;
        background: #f8f8f8
    }
}

.l-header-gnav-sub__ttl {
    margin: 20px 30px 0 0
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub__ttl {
        display: none
    }
}

.l-header-gnav-sub__ttl .l-header-gnav-sub__wrap {
    position: relative;
    padding-left: 75px
}

.l-header-gnav-sub__ttl .l-header-gnav-sub__wrap span {
    color: #1e449a;
    font-size: 1.8rem;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 500
}

.l-header-gnav-sub__ico {
    left: 0
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub ul {
        margin: 0 0 0 10px;
        padding: 15px 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 40px 40px 40px 40px
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub ul+ul {
        padding: 0
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub li {
        width: 100%;
        margin: 0 0 15px;
        display: block
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub li {
        width: 160px;
        margin: 0 10px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub__list-wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 40px 40px 40px 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub__list {
        display: block !important;
        padding: 0 !important
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub__list li {
        width: 180px;
        text-align: left;
        margin: 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub__list li+li {
        margin: 25px 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub__list li.is-first {
        margin: 0
    }
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub a {
        font-size: 1.6rem
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub a {
        font-size: 1.3rem;
        display: block;
        position: relative
    }
}

.l-header-gnav-sub a p {
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub a p {
        min-width: 170px;
        padding-left: 12px;
        font-weight: 600;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub a p::before {
        content: "";
        display: block;
        width: 3px;
        height: 13px;
        position: absolute;
        top: 0px;
        left: 0;
        background: #ffa528
    }
}

.l-header-gnav-sub figure {
    width: 160px;
    height: 160px;
    margin: 0 0 20px;
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 767px) {
    .l-header-gnav-sub figure {
        display: none
    }
}

.l-header-gnav-sub img {
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub a:hover img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav-sub a:hover p {
        color: #ffa528
    }
}

.l-header-gnav-sub .l-header-gnav-sub__img-line::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #dedede;
    pointer-events: none
}

@media print,
screen and (min-width: 768px) {
    .l-header-gnav li:hover .l-header-gnav__toggle+.l-header-gnav-sub {
        opacity: 1;
        pointer-events: auto;
        z-index: 5
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header.is-fixed .l-header-gnav-sub {
        top: 80px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media screen and (max-width: 767px) {
    .l-header-search {
        position: fixed;
        top: 0;
        right: 60px;
        width: 45px;
        height: 60px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.l-header-search__btn {
    padding: 10px;
    width: 100%;
    height: 100%
}

.l-header-search svg {
    width: 28px;
    height: 28px
}

@media screen and (max-width: 767px) {
    .l-header-search svg {
        width: 22px;
        height: 22px
    }
}

.l-header-search .l-header-search-icon {
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media print,
screen and (min-width: 768px) {
    .l-header-search__btn:hover .l-header-search-icon {
        stroke: #000
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search__btn.is-disabled {
        pointer-events: none
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search__btn.is-disabled .l-header-search-icon {
        stroke: #000
    }
}

.l-header-search-close {
    text-align: center;
    margin: 20px 0 0
}

.l-header-search-close span {
    font-family: "Red Hat Display", sans-serif;
    font-size: 2rem;
    color: #1e449a;
    position: relative;
    cursor: pointer
}

.l-header-search-close span::before,
.l-header-search-close span::after {
    content: "";
    display: block;
    width: 12px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: -15px;
    background: #1e449a
}

.l-header-search-close span::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.l-header-search-close span::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.l-header-search--01 {
    position: relative;
    -webkit-transition: 0.5s;
    transition: 0.5s
}

@media screen and (max-width: 767px) {
    .l-header-search--01 {
        width: 100%;
        right: inherit;
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search--01.is-active {
        padding-right: 250px
    }
}

@media screen and (max-width: 767px) {
    .l-header-search--01 .l-header-search__btn {
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search--01 .l-header-keywords {
        position: absolute;
        right: 10px;
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity 0.2s;
        transition: opacity 0.2s
    }
}

@media screen and (max-width: 767px) {
    .l-header-search--01 .l-header-keywords {
        margin: 20vh 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-search--01 .l-header-keywords.is-active {
        opacity: 1;
        pointer-events: auto;
        -webkit-transition: opacity 0.2s 0.4s;
        transition: opacity 0.2s 0.4s
    }
}

@media screen and (max-width: 767px) {
    .l-header-keywords {
        position: relative
    }
}

.l-header-keywords input[type="text"] {
    line-height: 1
}

.l-header-keywords input[type="text"],
.l-header-keywords input[type="search"] {
    width: 240px;
    height: 34px;
    border-radius: 17px;
    background: #fff;
    border: 1px solid #d6d6d6
}

@media screen and (max-width: 767px) {

    .l-header-keywords input[type="text"],
    .l-header-keywords input[type="search"] {
        width: calc(100% - 50px);
        height: 50px;
        border: 2px solid #1e449a;
        border-radius: 0
    }
}

.l-header-keywords__btn {
    width: 50px;
    height: 50px;
    text-indent: -9999em;
    background: #1e449a url(/common/img/ico__search.svg) center center no-repeat;
    background-size: 20px;
    position: absolute;
    right: 0;
    top: 0
}

@media screen and (max-width: 767px) {
    .l-header-nav.is-active-search .l-header-gnav {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .l-header-nav.is-active-search .l-header-sns {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .l-header-nav.is-active-search .l-header-search--01 {
        display: block
    }
}

@media screen and (max-width: 767px) {
    .l-header-nav.is-active-search .l-header-keywords {
        opacity: 1;
        pointer-events: auto
    }
}

.l-header-nav.is-active-search .l-header-contact {
    margin-top: 20vh
}

@media all and (-ms-high-contrast: none) {
    .l-header-search--01 .l-header-keywords {
        top: 8px
    }
}

.l-header-contact {
    margin: 0 0 0 25px
}

@media screen and (max-width: 767px) {
    .l-header-contact {
        margin: 30px 0 0
    }
}

.l-header-contact a {
    font-size: 1.4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 220px;
    height: 48px;
    text-align: center;
    color: #fff;
    background: #1e449a;
    border-radius: 25px;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media screen and (max-width: 767px) {
    .l-header-contact a {
        font-size: 1.6rem;
        width: 100%;
        text-align: center
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header-contact a:hover {
        background: #333
    }
}

.l-header-sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 40px 0 0
}

.l-header-sns li {
    margin: 0 15px 0 0
}

.l-header-sns img {
    height: 22px;
    width: auto
}

@media screen and (max-width: 767px) {
    .l-header-sns--tw img {
        height: 20px
    }
}

@media screen and (max-width: 767px) {
    .l-header-sns--yt img {
        height: 24px
    }
}

.l-header-toggle {
    width: 60px;
    height: 60px;
    position: fixed;
    top: 0;
    right: 0
}

@media print,
screen and (min-width: 768px) {
    .l-header-toggle {
        display: none !important
    }
}

.l-header-toggle__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.l-header-toggle__inner {
    position: relative;
    width: 32px;
    height: 21px;
    -webkit-transition: 0.4s;
    transition: 0.4s
}

.l-header-toggle span {
    width: 100%;
    height: 2px;
    display: block;
    background: #1e449a;
    position: absolute;
    -webkit-transition: 0.4s;
    transition: 0.4s
}

.l-header-toggle span:nth-of-type(2) {
    top: calc(50% - 1px)
}

.l-header-toggle span:last-child {
    bottom: 0
}

.l-header-toggle .l-header-toggle__btn.is-active .l-header-toggle__inner {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.l-header-toggle .l-header-toggle__btn.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg)
}

.l-header-toggle .l-header-toggle__btn.is-active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg)
}

.l-header-toggle .l-header-toggle__btn.is-active span:nth-of-type(3) {
    opacity: 0
}

.l-header-bg {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

@media screen and (max-width: 767px) {
    .l-header-bg {
        background: #fff
    }
}

.l-header-bg.is-active {
    opacity: 1;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: auto
}

@media screen and (max-width: 767px) {
    .l-header-bg.is-active {
        background: #fff
    }
}

.l-header-bg.is-active02 {
    opacity: 1;
    pointer-events: auto;
    background: transparent
}

.l-footer {
    line-height: 1;
    position: relative;
    text-align: center;
    margin-top: auto;
    background: #fff
}

.l-footer-link {
    color: #fff
}

@media print,
screen and (min-width: 768px) {
    .l-footer-link__lists {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

.l-footer-link li {
    width: 50%;
    position: relative;
    overflow: hidden
}

@media screen and (max-width: 767px) {
    .l-footer-link li {
        width: 100%
    }
}

.l-footer-link li a {
    display: block;
    height: 420px;
    position: relative;
    z-index: 3
}

@media screen and (max-width: 767px) {
    .l-footer-link li a {
        height: auto;
        padding: 11.71875vw 20px
    }
}

.l-footer-link__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center center;
    -webkit-transition: .6s;
    transition: .6s
}

.l-footer-link__body {
    position: relative;
    z-index: 3;
    padding-top: 68px
}

@media screen and (max-width: 767px) {
    .l-footer-link__body {
        padding-top: 0
    }
}

.l-footer-link__ttl {
    font-size: 4.8rem;
    font-family: "Red Hat Display", sans-serif;
    margin: 0 0 45px
}

@media screen and (max-width: 767px) {
    .l-footer-link__ttl {
        font-size: 2.8rem;
        margin: 0 0 5.20833vw
    }
}

.l-footer-link__txt {
    font-size: 1.6rem;
    line-height: 2
}

@media screen and (max-width: 767px) {
    .l-footer-link__txt {
        font-size: 1.4rem
    }
}

.l-footer-link__link {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 70px 0 0;
    position: relative;
    left: 35px
}

@media screen and (max-width: 767px) {
    .l-footer-link__link {
        font-size: 1.5rem;
        margin: 9.11458vw 0 0;
        left: 0
    }
}

.l-footer-link__link-wrap {
    position: relative;
    padding-left: 75px
}

@media print,
screen and (min-width: 768px) {
    .l-footer-link__link-wrap {
        padding-right: 70px
    }
}

.l-footer-link__ico {
    position: absolute !important;
    top: 0;
    left: 0;
    display: block
}

.l-footer-link .l-footer-link__item--01 .l-footer-link__bg {
    background-image: url(/common/img/img__footer_link_01.png)
}

.l-footer-link .l-footer-link__item--02 .l-footer-link__bg {
    background-image: url(/common/img/img__footer_link_02.png)
}

@media print,
screen and (min-width: 768px) {
    .l-footer-link a:hover .l-footer-link__bg {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .l-footer-link__item--01 .l-footer-link__bg {
        background-image: url(/common/img/img__footer_link_01__@2x.png)
    }

    .l-footer-link__item--02 .l-footer-link__bg {
        background-image: url(/common/img/img__footer_link_02__@2x.png)
    }
}

.l-footer-main {
    padding: 20px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .l-footer-main {
        padding: 0 20px;
        margin-left: auto;
        margin-right: auto;
        max-width: 1320px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

@media screen and (max-width: 767px) {
    .l-footer-main {
        padding: 40px 20px 80px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-main__left {
        width: 75%;
        height: 630px;
        padding: 80px 50px 80px 0;
        border-right: 1px solid #dedede;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-gnav nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

.l-footer-gnav__item {
    width: 25%;
    text-align: left
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__item {
        width: 100%;
        margin: 0 0 15px
    }
}

.l-footer-gnav__item>li+li {
    margin: 45px 0 0
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__item>li+li {
        margin: 15px 0 0
    }
}

.l-footer-gnav__item>li>a {
    color: #1a1a1a
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__item a {
        display: block
    }
}

.l-footer-gnav__index {
    font-family: "Red Hat Display", sans-serif;
    font-size: 2.0rem
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__index {
        font-size: 2.2rem
    }
}

.l-footer-gnav__sub {
    margin: 25px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-footer-gnav__sub {
        display: block !important
    }
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__sub {
        margin: 0;
        padding: 0 0 0 20px;
        display: none
    }
}

@media screen and (max-width: 767px) {
    .l-footer-gnav__sub ul {
        padding: 15px 0
    }
}

.l-footer-gnav__sub li+li {
    margin: 15px 0 0
}

.l-footer-gnav__sub li a {
    font-size: 1.4rem
}

.l-footer-gnav__toggle {
    position: relative
}

.l-footer-gnav__toggle i {
    width: 10px;
    height: 10px;
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 0
}

@media screen and (max-width: 767px) {

    .l-footer-gnav__toggle i::before,
    .l-footer-gnav__toggle i::after {
        content: "";
        display: block;
        width: 16px;
        height: 2px;
        position: absolute;
        top: calc(50% - 1px);
        right: 0;
        background: #1a1a1a;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        -webkit-transform-origin: center;
        transform-origin: center
    }
}

.l-footer-gnav__toggle i::after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.l-footer-gnav__toggle.is-open i::after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media screen and (max-width: 767px) {
    .l-footer-nav {
        padding: 7.8125vw 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-nav {
        position: absolute;
        bottom: 48px;
        left: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        z-index: 2
    }
}

.l-footer-nav__lists {
    text-align: left
}

@media print,
screen and (min-width: 768px) {
    .l-footer-nav__lists {
        text-align: right;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists {
        text-align: center
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-nav__lists ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.l-footer-nav__lists li {
    margin: 0 0 12px
}

@media print,
screen and (min-width: 768px) {
    .l-footer-nav__lists li {
        margin: 0 24px 0 0
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists li {
        width: 50%
    }
}

.l-footer-nav__lists li a {
    font-size: 1.2rem
}

@media print,
screen and (min-width: 768px) {
    .l-footer-nav__lists li a {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists li:nth-child(1) {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists li:nth-child(2) {
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists li:nth-child(3) {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

@media screen and (max-width: 767px) {
    .l-footer-nav__lists li:nth-child(4) {
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
}

.l-footer-ertification {
    margin: 30px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-footer-ertification {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
        margin: 0 0 38px
    }
}

.l-footer-ertification ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media print,
screen and (min-width: 768px) {
    .l-footer-ertification ul {
        padding-right: 14px
    }
}

@media screen and (max-width: 767px) {
    .l-footer-ertification ul {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.l-footer-ertification li {
    margin: 0 10px 0 0
}

@media screen and (max-width: 767px) {
    .l-footer-ertification li {
        margin: 0 10px
    }
}

.l-footer-ertification li img {
    height: 54px;
    width: auto
}

@media print,
screen and (min-width: 768px) {
    .l-footer-ertification li img {
        height: 52px
    }
}

.l-footer-ertification li:last-child img {
    height: 58px
}

@media print,
screen and (min-width: 768px) {
    .l-footer-ertification li:last-child img {
        height: 62px
    }
}

.l-footer-info {
    text-align: left
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info {
        width: 25%;
        padding: 40px 0 0 60px
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info {
        border-top: 1px solid #dedede;
        padding: 6.51042vw 0 7.8125vw
    }
}

.l-footer-info__logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__logo {
        display: block;
        position: relative
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info__logo {
        margin: 0 0 20px
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info__logo--01 {
        width: 55%;
        position: relative;
        left: -4vw
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__logo--01 img {
        width: 220px;
        height: auto
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info__logo--02 {
        width: 40%;
        position: relative;
        top: 3.5vw
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__logo--02 {
        display: block;
        margin: 28px 0 0 25px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__logo--02 img {
        width: 192px;
        height: auto
    }
}

.l-footer-info__sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__sns {
        margin: 52px 0 0 22px
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info__sns {
        margin: 6.51042vw 0 0
    }
}

.l-footer-info__sns li {
    margin: 0 10px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__sns li {
        width: 21px;
        margin: 0 12px 0 0
    }
}

.l-footer-info__sns img {
    height: 26px;
    width: auto
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__sns img {
        height: 21px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__sns--tw img {
        height: 18px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__sns--yt img {
        height: 25px
    }
}

@media screen and (max-width: 767px) {
    .l-footer-info__sns--yt img {
        height: 28px
    }
}

.l-footer-info__address {
    line-height: 1.8;
    font-size: 1.3rem;
    margin: 20px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__address {
        margin: 40px 0 0 22px;
        font-size: 1.4rem
    }
}

.l-footer-info__address span {
    position: relative
}

.l-footer-info__address span::after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 14px;
    position: relative;
    top: 2px;
    left: 4px;
    background: url(/common/img/ico__map.svg) no-repeat center top;
    background-size: 100%
}

.l-footer-info__tel {
    font-size: 1.3rem;
    margin: 20px 0 0;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__tel {
        font-size: 1.4rem;
        margin: 30px 0 0 24px
    }
}

.l-footer-info__tel::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 14px;
    position: relative;
    top: 2px;
    left: 0;
    background: url(/common/img/ico__tel.svg) no-repeat center top;
    background-size: 100%
}

.l-footer-info__tel a {
    font-size: 1.3rem;
    padding-left: 5px
}

@media print,
screen and (min-width: 768px) {
    .l-footer-info__tel a {
        pointer-events: none
    }
}

.l-footer-copy {
    border-top: 1px solid #dedede;
    padding: 25px 20px;
    text-align: left;
    background: #fff;
    position: relative
}

.l-footer-copy small {
    font-size: 1.0rem
}

.l-footer-pagetop {
    display: block;
    position: absolute;
    bottom: calc(100% + 30px);
    right: 15px;
    z-index: 1000;
    outline: none;
    cursor: pointer;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop {
        bottom: 35px
    }
}

.l-footer-pagetop.is-active {
    opacity: 1;
    pointer-events: auto
}

.l-footer-pagetop.is-fixed {
    position: fixed;
    bottom: 25px
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop.is-hide {
        opacity: 0;
        pointer-events: none
    }
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop:not(.is-fixed) {
        opacity: 1;
        pointer-events: auto
    }
}

.l-footer-pagetop__inner {
    width: 128px;
    height: 128px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop__inner {
        width: 60px;
        height: 60px
    }
}

.l-footer-pagetop__inner::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(227, 227, 227, 0.8);
    border-radius: 50%;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

.l-footer-pagetop__txt {
    font-size: 1.6rem;
    font-family: "Red Hat Display", sans-serif;
    position: relative;
    top: 5px
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop__txt {
        display: none
    }
}

.l-footer-pagetop__ico {
    position: absolute;
    display: block;
    width: 1px;
    height: 15px;
    position: absolute;
    top: calc(50% - 30px);
    left: 50%;
    background: #333;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media screen and (max-width: 767px) {
    .l-footer-pagetop__ico {
        top: calc(50% - 7px)
    }
}

.l-footer-pagetop__ico::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    position: absolute;
    top: 1px;
    left: calc(50% - 5px);
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

@media print,
screen and (min-width: 768px) {
    .l-footer-pagetop:hover .l-footer-pagetop__inner::before {
        -webkit-transform: scale(0.85);
        transform: scale(0.85)
    }
}

.fixed-contact {
    width: calc(100% - 40px);
    position: absolute;
    bottom: 110px;
    left: 20px;
    z-index: 20;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s
}

.fixed-contact a {
    font-size: 1.6rem;
    width: 100%;
    height: 48px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    color: #fff;
    background: #1e449a;
    border-radius: 25px
}

.fixed-contact.is-fixed {
    position: fixed;
    bottom: 20px;
    left: 20px
}

.fixed-contact.is-fixed a {
    background: rgba(30, 68, 154, 0.8)
}

.fixed-contact.is-active {
    pointer-events: auto;
    opacity: 1
}

.fixed-contact.is-hide {
    pointer-events: none;
    opacity: 0
}

@media screen and (max-width: 767px) {
    .fixed-contact:not(.is-fixed) {
        opacity: 1;
        pointer-events: auto
    }
}

.l-main {
    display: block;
    font-size: 1.5rem;
    line-height: 2.0
}

@media print,
screen and (min-width: 768px) {
    .l-main {
        font-size: 1.5rem;
        padding-top: 0
    }
}

@media screen and (max-width: 767px) {
    .l-main {
        line-height: 1.9
    }
}

.l-main p+p {
    margin-top: 1.5em
}

@media print,
screen and (min-width: 768px) {
    .c-btn-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-02 {
        margin-left: -20px;
        margin-right: -20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-02 .c-btn {
        width: calc((100% / 2) - 40px);
        margin: 0 20px 0;
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small-col-02 {
        margin-left: -20px;
        margin-right: -20px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small-col-02 .c-btn {
        width: 320px;
        margin: 0 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-03 {
        margin-left: -8px;
        margin-right: -8px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-03 .c-btn {
        width: calc((100% / 3) - 16px);
        margin: 0 8px 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-04 {
        margin-left: -7px;
        margin-right: -7px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-04 .c-btn {
        width: calc((100% / 4) - 14px);
        margin: 0 7px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-05 {
        margin-left: -7px;
        margin-right: -7px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--col-05 .c-btn {
        width: calc((100% / 5) - 14px);
        margin: 0 7px
    }
}

.c-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 80px;
    text-align: center;
    font-weight: 700;
    cursor: pointer;
    position: relative
}

.c-btn__txt {
    display: inline-block;
    position: relative;
    z-index: 2
}

.c-btn__txt--en {
    font-family: "Red Hat Display", sans-serif
}

@media screen and (max-width: 767px) {
    .c-btn+.c-btn {
        margin-top: 3.125vw
    }
}

.c-btn--center {
    margin-left: auto;
    margin-right: auto
}

.c-btn--general {
    background: #000;
    font-weight: 700;
    padding: 0 40px;
    font-size: 1.5rem;
    position: relative;
    -webkit-transition: background 0.2s;
    transition: background 0.2s
}

@media screen and (max-width: 767px) {
    .c-btn--general {
        max-width: 100%
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--general {
        height: 100px
    }
}

.c-btn--general::before {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    background: #fff
}

@media print,
screen and (min-width: 768px) {
    .c-btn--general::before {
        width: 22px
    }
}

.c-btn--general .c-btn__txt--en {
    color: #fff;
    display: block;
    font-weight: 500;
    line-height: 1;
    font-size: 2.1rem;
    letter-spacing: 0.09em
}

@media print,
screen and (min-width: 768px) {
    .c-btn--general .c-btn__txt--en {
        font-size: 2.6rem
    }
}

.c-btn--general .c-btn__txt--ja {
    color: #fff;
    display: block;
    font-size: 1.2rem;
    font-weight: 500
}

@media print,
screen and (min-width: 768px) {
    .c-btn--general .c-btn__txt--ja {
        font-size: 1.4rem
    }
}

.c-btn--general:hover {
    background: #1e449a
}

.c-btn--white {
    background: #fff;
    font-weight: 700;
    padding: 0 20px;
    font-size: 1.5rem;
    position: relative;
    -webkit-transition: background 0.2s;
    transition: background 0.2s
}

@media screen and (max-width: 767px) {
    .c-btn--white {
        max-width: 100%;
        height: 80px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--white {
        height: 110px
    }
}

.c-btn--white::before {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    background: #1e449a;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media print,
screen and (min-width: 768px) {
    .c-btn--white::before {
        width: 20px
    }
}

.c-btn--white .c-btn__txt {
    font-size: 2.0rem;
    line-height: 1.4;
    color: #1a1a1a;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

@media screen and (max-width: 767px) {
    .c-btn--white .c-btn__txt {
        font-size: 1.5rem
    }
}

.c-btn--white:hover,
.c-btn--white.is-current {
    background: #1e449a
}

.c-btn--white:hover::before,
.c-btn--white.is-current::before {
    background: #fff
}

.c-btn--white:hover .c-btn__txt,
.c-btn--white.is-current .c-btn__txt {
    color: #fff
}

.c-btn--small {
    background: #000;
    font-weight: 700;
    padding: 0 30px;
    font-size: 1.5rem;
    position: relative;
    -webkit-transition: background 0.2s;
    transition: background 0.2s
}

@media screen and (max-width: 767px) {
    .c-btn--small {
        max-width: 100%;
        height: 60px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small {
        width: 320px;
        height: 56px
    }
}

.c-btn--small::before {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    background: #fff
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small::before {
        width: 16px
    }
}

.c-btn--small .c-btn__txt--en {
    color: #fff;
    display: block;
    font-weight: 500;
    line-height: 1;
    font-size: 2.1rem;
    letter-spacing: 0.09em
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small .c-btn__txt--en {
        font-size: 2.6rem
    }
}

.c-btn--small .c-btn__txt--ja {
    color: #fff;
    display: block;
    font-size: 1.2rem;
    font-weight: 500
}

@media print,
screen and (min-width: 768px) {
    .c-btn--small .c-btn__txt--ja {
        font-size: 1.4rem
    }
}

.c-btn--small:hover {
    background: #1e449a
}

.c-btn--nav {
    background: #B5B5B5;
    font-weight: 700;
    padding: 0 15px;
    font-size: 1.5rem;
    position: relative;
    -webkit-transition: background 0.2s;
    transition: background 0.2s
}

@media screen and (max-width: 767px) {
    .c-btn--nav {
        max-width: 100%;
        height: 70px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--nav {
        height: 80px
    }
}

.c-btn--nav.c-btn--nav-black {
    background: #707070
}

.c-btn--nav.is-current {
    background: #ffa528
}

.c-btn--nav::before {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    background: #fff
}

@media print,
screen and (min-width: 768px) {
    .c-btn--nav::before {
        width: 18px
    }
}

.c-btn--nav .c-btn__txt--en {
    font-family: "Red Hat Display", sans-serif;
    color: #fff;
    display: block;
    font-weight: 500;
    line-height: 1;
    font-size: 1.6rem;
    letter-spacing: 0.09em
}

@media print,
screen and (min-width: 768px) {
    .c-btn--nav .c-btn__txt--en {
        font-size: 2.2rem
    }
}

.c-btn--nav .c-btn__txt--ja {
    color: #fff;
    display: block;
    font-size: 1.2rem;
    font-weight: 500
}

@media print,
screen and (min-width: 768px) {
    .c-btn--nav .c-btn__txt--ja {
        font-size: 1.4rem
    }
}

@media screen and (max-width: 767px) {
    .c-btn--nav+.c-btn {
        margin-top: 7px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-btn--nav:hover {
        background: #ffa528
    }
}

.c-btn--back .c-btn__ico {
    right: inherit;
    left: 14px;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}

@media print,
screen and (min-width: 768px) {
    .is-view-pc .c-btn--back:hover .c-btn__ico {
        left: 11px
    }
}

.c-btn--download .c-btn__inner {
    position: relative
}

.c-btn--download .c-btn__inner::after {
    content: "";
    display: block;
    width: 10px;
    height: 13px;
    position: absolute;
    top: calc(50% + 2px);
    right: -18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(/common/img/ico__download.svg) no-repeat center top;
    background-size: 100%
}

.c-btn--anker .c-btn__ico {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.c-btn--blank .c-btn__ico {
    height: 10px
}

@media print,
screen and (min-width: 768px) {
    .c-card-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width: 767px) {
    .c-card-wrapper--wide {
        margin: 0 -20px;
        border-bottom: 1px solid #dedede
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-02 {
        margin-left: -14px;
        margin-right: -14px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-02 .c-card {
        width: calc((100% / 2) - 28px);
        margin: 0 14px 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03 {
        margin-left: -41px;
        margin-right: -41px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03 .c-card {
        width: calc((100% / 3) - 82px);
        margin: 0 41px 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-02 {
        margin-left: -55px;
        margin-right: -55px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-02 .c-card {
        width: calc((100% / 3) - 110px);
        margin: 0 55px 60px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-04 {
        margin-left: -14px;
        margin-right: -14px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-04 .c-card {
        width: calc((100% / 4) - 28px);
        margin: 0 14px 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 767px) {
    .c-card+.c-card {
        margin: 10.41667vw 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card__wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin: -30px -15px 0
    }
}

.c-card a {
    display: block
}

.c-card__img {
    margin: 0 auto 4vw;
    position: relative;
    overflow: hidden
}

@media print,
screen and (min-width: 768px) {
    .c-card__img {
        margin: 0 auto 20px
    }
}

.c-card__img img {
    width: 100%
}

.c-card__ico {
    width: 56px;
    height: 56px;
    background: #1a1a1a;
    border-radius: 50%;
    font-family: "Red Hat Display", sans-serif;
    font-size: 1.0rem;
    font-weight: 600;
    color: #fff;
    display: block;
    position: absolute;
    bottom: 10px;
    right: 10px;
    line-height: 1.2;
    padding: 12px 0;
    text-align: center;
    -webkit-box-shadow: 1px 1px 6px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 6px 1px rgba(0, 0, 0, 0.2)
}

.c-card__ico b {
    font-family: "Red Hat Display", sans-serif;
    font-size: 1.5rem;
    display: block
}

.c-card__ttl {
    color: #1a1a1a;
    font-size: 1.7rem;
    margin: 0 auto 3vw !important;
    line-height: 1.7;
    -webkit-transition: color 0.2s;
    transition: color 0.2s
}

@media print,
screen and (min-width: 768px) {
    .c-card__ttl {
        font-size: 1.8rem;
        margin: 0 auto 12px !important
    }
}

.c-card__txt {
    font-size: 1.4rem;
    line-height: 1.8
}

.c-card__data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 10px
}

.c-card__date {
    font-size: 1.6rem;
    color: #7c7c7c;
    margin: 0 15px 0 0;
    line-height: 1.7
}

@media screen and (max-width: 767px) {
    .c-card__date {
        font-size: 1.4rem
    }
}

.c-card__tag {
    font-size: 1.6rem;
    color: #ffa528;
    margin: 0 !important;
    line-height: 1.7
}

@media screen and (max-width: 767px) {
    .c-card__tag {
        font-size: 1.4rem
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card a:hover .c-card__ttl {
        color: #ffa528
    }
}

.c-card.is-accepting .c-card__img {
    position: relative
}

.c-card.is-accepting .c-card__img::after {
    content: "\53D7\4ED8\4E2D";
    font-size: 2.0rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    display: block;
    width: 100px;
    padding: 1px 0;
    position: absolute;
    bottom: 0;
    right: 0;
    background: #E30000
}

@media screen and (max-width: 767px) {
    .c-card.is-accepting .c-card__img::after {
        font-size: 1.4rem;
        line-height: 1;
        width: 70px;
        padding: 10px 0
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-02 .c-card__ttl {
        font-size: 2rem;
        font-weight: 600;
        margin: 0 auto 20px !important
    }
}

.c-card--col-03-02 .c-card__ttl::before {
    top: 13px
}

.c-card--col-03-02 .c-card__txt {
    font-size: 1.5rem;
    line-height: 2.0
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-03 .c-card__ttl {
        font-size: 2.0rem;
        font-weight: 600;
        margin: 0 auto 20px !important
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-04 {
        margin: 0 -20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-04 .c-card {
        width: calc((100% / 3) - 40px);
        margin: 0 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-card--col-03-04 .c-card__ttl {
        font-size: 2.0rem;
        font-weight: 600;
        margin: 0 auto 20px !important
    }
}

.c-card--col-03-04 .c-card__txt {
    font-size: 1.4rem
}

@media screen and (max-width: 767px) {
    .c-card--02 {
        border-top: 1px solid #dedede
    }
}

@media screen and (max-width: 767px) {
    .c-card--02 a {
        display: block;
        padding: 20px 85px 20px 20px;
        position: relative
    }
}

@media screen and (max-width: 767px) {
    .c-card--02 a::before {
        content: "";
        display: block;
        width: 34px;
        height: 34px;
        position: absolute;
        top: calc(50% - 17px);
        right: 27px;
        border: 1px solid #ffa528;
        border-radius: 50%
    }
}

@media screen and (max-width: 767px) {
    .c-card--02 a::after {
        content: "";
        display: block;
        width: 16px;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 20px;
        background: #ffa528
    }
}

.c-card--02+.c-card--02 {
    margin-top: 0
}

.c-form-input {
    display: inline-block;
    width: 100%
}

.c-form-radio {
    display: inline-block;
    cursor: pointer;
    min-height: 22px
}

.c-form-radio span {
    display: block;
    padding: 1px 0 0 30px;
    position: relative;
    line-height: 1.3
}

.c-form-radio span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    border: 1px solid #dedede;
    background: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-form-radio span:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 6px;
    z-index: 1;
    background: #ffa528;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-form-radio input[type=radio] {
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute
}

.c-form-radio input[type=radio]:focus+span:before {
    border: 1px solid #aaa
}

.c-form-radio input[type=radio]:checked+span:after {
    visibility: visible
}

.c-form-checkbox {
    display: inline-block;
    cursor: pointer;
    min-height: 22px
}

.c-form-checkbox span {
    display: block;
    padding: 1px 0 0 30px;
    position: relative;
    line-height: 1.3
}

.c-form-checkbox span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    border: 1px solid #dedede;
    background: #fff;
    width: 22px;
    height: 22px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-form-checkbox span:after {
    content: "";
    display: block;
    width: 11px;
    height: 6px;
    border-top: 2px solid #ffa528;
    border-right: 2px solid #ffa528;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 6px;
    left: 6px;
    z-index: 1;
    visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-form-checkbox input[type=checkbox] {
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute
}

.c-form-checkbox input[type=checkbox]:focus+span:before {
    border: 1px solid #aaa
}

.c-form-checkbox input[type=checkbox]:checked+span:after {
    visibility: visible
}

.c-form-select {
    position: relative
}

.c-form-select:after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    pointer-events: none
}

.c-form-textarea {
    display: inline-block;
    width: 100%;
    vertical-align: bottom
}

.c-ico {
    display: inline-block
}

.c-ico svg {
    display: inline-block;
    vertical-align: top
}

.c-ico--arrow01 {
    width: 8px;
    height: 16px
}

.c-ico--arrow01 svg {
    width: 8px;
    height: 16px;
    fill: #ffa528
}

.c-ico--blank01 svg {
    width: 10px;
    height: 10px;
    fill: #ffa528
}

@media print,
screen and (min-width: 768px) {
    .c-ico--plus01 {
        width: 25px;
        height: 25px
    }
}

@media screen and (max-width: 767px) {
    .c-ico--plus01 {
        width: 15px;
        height: 15px
    }
}

.c-ico--plus01:before,
.c-ico--plus01:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: "";
    background: #ffa528;
    width: 100%;
    height: 1px;
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.c-ico--plus01:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.c-ico--close {
    width: 16px;
    height: 2px;
    position: relative
}

.c-ico--close:after,
.c-ico--close:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffa528
}

.c-ico--close:before {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg)
}

.c-ico--close:after {
    -webkit-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg)
}

.c-ico--reverse {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.c-ico--white svg {
    fill: #fff
}

.c-ico-link {
    position: absolute;
    width: 48px;
    height: 48px;
    top: calc(50% - 24px)
}

.c-ico-link::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    position: absolute;
    top: calc(50% - 24px);
    right: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    -webkit-transition: background 0.3s, -webkit-transform 0.3s;
    transition: background 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, background 0.3s;
    transition: transform 0.3s, background 0.3s, -webkit-transform 0.3s;
    -webkit-transform-origin: left center;
    transform-origin: left center
}

.c-ico-link::after {
    content: "";
    display: block;
    width: 22px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -10px;
    background: #fff;
    -webkit-transition: width 0.3s, -webkit-transform 0.3s;
    transition: width 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, width 0.3s;
    transition: transform 0.3s, width 0.3s, -webkit-transform 0.3s;
    -webkit-transform-origin: right;
    transform-origin: right;
    opacity: 0
}

@media print,
screen and (min-width: 768px) {
    .c-ico-link__circle {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@media print,
screen and (min-width: 768px) {
    .c-ico-link__circle::after {
        content: "";
        display: block;
        width: 9px;
        height: 1px;
        position: absolute;
        top: 50%;
        right: 0px;
        background: #333;
        opacity: 0
    }
}

.c-ico-link__line {
    display: block;
    width: 22px;
    height: 1px;
    position: absolute;
    top: 50%;
    right: -10px;
    z-index: 1;
    overflow: hidden
}

.c-ico-link__line::before {
    content: "";
    display: block;
    width: 22px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    -webkit-animation: icoLineAnim 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
    animation: icoLineAnim 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite
}

@media print,
screen and (min-width: 768px) {
    .c-ico-link__txt {
        display: inline-block;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s
    }
}

.c-ico-link--blue::before {
    border: 1px solid #1e449a
}

.c-ico-link--blue::after {
    background: #1e449a
}

.c-ico-link--blue .c-ico-link__circle::after {
    background: #fff
}

.c-ico-link--blue .c-ico-link__line::before {
    background: #1e449a
}

.c-ico-link--yellow::before {
    border: 1px solid #ffa528
}

.c-ico-link--yellow::after {
    background: #ffa528;
    opacity: 1 !important
}

.c-ico-link--yellow .c-ico-link__circle::after {
    background: #fff
}

.c-ico-link--yellow .c-ico-link__line::before {
    background: #ffa528
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link::before {
        background: rgba(255, 255, 255, 0.5);
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link::after {
        width: 11px;
        -webkit-transform-origin: left center;
        transform-origin: left center;
        -webkit-transform: translateX(25px);
        transform: translateX(25px);
        opacity: 1
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link .c-ico-link__circle {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link .c-ico-link__circle::after {
        opacity: 1
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link .c-ico-link__line {
        opacity: 0
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link--blue::before {
        background: #1e449a
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-ico-link__txt {
        -webkit-transform: translateX(20px);
        transform: translateX(20px)
    }
}

@-webkit-keyframes icoLineAnim {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@keyframes icoLineAnim {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

.c-img-wrap {
    overflow: hidden
}

.c-img-wrap--scale {
    opacity: 0;
    -webkit-transition: 0.7s cubic-bezier(0.22, 0.63, 0.38, 0.98);
    transition: 0.7s cubic-bezier(0.22, 0.63, 0.38, 0.98)
}

.is-anim .c-img-wrap--scale {
    opacity: 1
}

.c-img--scale {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.5, 1, 0.89, 1);
    transition: -webkit-transform 1s cubic-bezier(0.5, 1, 0.89, 1);
    transition: transform 1s cubic-bezier(0.5, 1, 0.89, 1);
    transition: transform 1s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 1s cubic-bezier(0.5, 1, 0.89, 1)
}

@media screen and (max-width: 767px) {
    .c-img--scale {
        -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.5, 1, 0.89, 1);
        transition: -webkit-transform 0.6s cubic-bezier(0.5, 1, 0.89, 1);
        transition: transform 0.6s cubic-bezier(0.5, 1, 0.89, 1);
        transition: transform 0.6s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.6s cubic-bezier(0.5, 1, 0.89, 1)
    }
}

.is-anim .c-img--scale {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.c-img--hover {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s
}

.c-img--hover.c-img--scale {
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-img--hover {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }
}

.c-lead {
    color: #1a1a1a;
    font-size: 2.5rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .c-lead {
        font-size: 2rem
    }
}

.c-lead--bold {
    font-size: 1.6rem;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .c-lead--bold {
        font-size: 1.6rem
    }
}

.c-link--ico {
    position: relative;
    display: inline-block
}

.c-link--ico a {
    display: block;
    padding-left: 80px
}

@media screen and (max-width: 767px) {
    .c-link--ico a {
        padding-left: 72px
    }
}

.c-link--ico .c-link__txt {
    color: #1e449a;
    font-size: 2.4rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .c-link--ico .c-link__txt {
        font-size: 1.8rem
    }
}

.c-link--ico .c-link__txt--en {
    font-weight: 400;
    font-family: "Red Hat Display", sans-serif
}

.c-link--ico .c-link__txt--sm {
    font-size: 1.8rem
}

.c-link--ico .c-link__ico {
    left: 0
}

.c-link--ico-small>span {
    font-family: "Red Hat Display", sans-serif;
    color: #1e449a;
    position: relative
}

.c-link--ico-small>span::before {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: -25px;
    margin-top: -1px;
    background: #1e449a;
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.c-link--ico-small span {
    display: inline-block;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-link--ico-small span::before {
        -webkit-transform: scaleX(1.5);
        transform: scaleX(1.5)
    }
}

@media print,
screen and (min-width: 768px) {
    a:hover .c-link--ico-small span span {
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }
}

.c-link--line {
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-link--line:not(.c-link--blank)::after,
    .c-link--line.c-link--blank::before {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background: #333;
        position: absolute;
        bottom: -4px;
        left: 0;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        overflow: hidden
    }
}

.c-link--line:not(.c-link--blank):hover::after,
.c-link--line.c-link--blank:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.c-link {
    color: #1e449a;
    text-decoration: underline
}

.c-link--blank {
    position: relative;
    color: #1e449a;
    text-decoration: underline
}

.c-link--blank::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    position: relative;
    top: 0;
    right: 0;
    margin-left: 5px;
    background: url(/common/img/ico__blank.svg) no-repeat center top;
    background-size: 100%
}

.c-link--blank:hover {
    text-decoration: none
}

.c-link--pdf {
    position: relative
}

.c-link--pdf::after {
    content: "PDF";
    font-size: 1.0rem;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 2px;
    position: relative;
    top: -2px;
    right: 0;
    margin-left: 5px;
    background: #e50000
}

@media print,
screen and (min-width: 768px) {
    .c-link--pdf:hover {
        text-decoration: underline
    }
}

.c-link--excel {
    position: relative
}

.c-link--excel::after {
    content: "Excel";
    font-size: 1.0rem;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 2px;
    position: relative;
    top: -2px;
    right: 0;
    margin-left: 5px;
    background: #107F43
}

@media print,
screen and (min-width: 768px) {
    .c-link--excel:hover {
        text-decoration: underline
    }
}

.c-link--word {
    position: relative
}

.c-link--word::after {
    content: "Word";
    font-size: 1.0rem;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 2px;
    position: relative;
    top: -2px;
    right: 0;
    margin-left: 5px;
    background: #1858BA
}

@media print,
screen and (min-width: 768px) {
    .c-link--word:hover {
        text-decoration: underline
    }
}

.c-list li {
    line-height: 1.7
}

.c-list--notes li {
    text-indent: -1em;
    margin-left: 1em
}

.c-list--dot li {
    font-size: 1.5rem;
    position: relative;
    padding-left: calc(1em + 5px);
    margin: 0 0 5px;
    line-height: 1.7
}

@media print,
screen and (min-width: 768px) {
    .c-list--dot li {
        font-size: 1.5rem;
        padding-left: calc(1em + 10px)
    }
}

.c-list--dot li::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 3px;
    left: 0;
    background: #1a1a1a;
    border-radius: 50%;
    padding-right: 5px
}

@media screen and (max-width: 767px) {
    .c-list--dot li::before {
        top: 6px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-list--dot li::before {
        top: 10px;
        width: 10px;
        height: 10px
    }
}

.c-list--number>li {
    font-size: 1.5rem;
    padding-left: 1.2em;
    counter-increment: number;
    margin: 0 0 5px;
    position: relative;
    line-height: 1.7
}

@media print,
screen and (min-width: 768px) {
    .c-list--number>li {
        font-size: 1.5rem
    }
}

.c-list--number>li::before {
    content: counter(number) ".";
    padding-right: 0.4em;
    position: absolute;
    top: 0;
    left: 0;
    padding-right: 5px
}

@media print,
screen and (min-width: 768px) {
    .c-list-border li {
        padding: 9px 10px
    }
}

@media screen and (max-width: 767px) {
    .c-list-border li {
        font-size: 1.5rem;
        padding: 3.38542vw 10px
    }
}

.c-list-border li+li {
    border-top: 1px solid #dedede
}

.c-list-border--link li {
    padding: 0;
    background: #fff
}

.c-list-border--link li a {
    display: block;
    padding: 3.38542vw 10px
}

@media print,
screen and (min-width: 768px) {
    .c-list-border--link li a {
        padding: 11px 10px
    }
}

@media screen and (max-width: 767px) {
    .c-list-border--link li a {
        font-size: 1.5rem
    }
}

@media print,
screen and (min-width: 768px) {
    .c-list-border--link li a:hover {
        color: #ffa528
    }
}

.c-media-wrapper--wide {
    border-top: 1px solid #dedede
}

@media screen and (max-width: 767px) {
    .c-media-wrapper--wide {
        margin: 0 -20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width: 767px) {
    .c-media {
        padding: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media .c-media__img {
        width: calc(45% - 30px)
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media .c-media__img img {
        max-width: 500px;
        width: 100%
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media .c-media__body {
        width: calc(55% - 30px);
        margin: 0 15px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media--reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-flow: row-reverse;
        -ms-flex-flow: row-reverse;
        flex-flow: row-reverse
    }
}

@media screen and (max-width: 767px) {
    .c-media--02 {
        padding: 30px 20px 10px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media--02 {
        padding: 50px 20px 60px 40px
    }
}

.c-movie {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%
}

.c-movie iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.c-property__item {
    padding: 20px 0
}

@media print,
screen and (min-width: 768px) {
    .c-property__item {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

.c-property__item+.c-property__item {
    border-top: 1px solid #dedede
}

.c-property__item dt {
    color: #1a1a1a;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 0 0 5px
}

@media print,
screen and (min-width: 768px) {
    .c-property__item dt {
        font-size: 1.8rem;
        width: 180px;
        position: relative;
        top: -1px
    }
}

.c-property__item dd {
    font-size: 1.5rem;
    line-height: 1.8
}

@media print,
screen and (min-width: 768px) {
    .c-property__item dd {
        font-size: 1.5rem;
        width: calc(100% - 180px)
    }
}

@media print,
screen and (min-width: 768px) {
    .c-property--wide .c-property__item dt {
        width: 380px;
        padding: 0 10px 0 40px
    }
}

.c-scroll-box {
    -ms-overflow-style: none;
    scrollbar-width: none
}

@media screen and (max-width: 767px) {
    ::-webkit-scrollbar {
        display: none;
        -webkit-appearance: none
    }
}

.simplebar-track {
    right: 4px
}

.simplebar-track.simplebar-vertical {
    width: 10px;
    top: 10px;
    bottom: 10px;
    border-radius: 7px;
    background: #e3e3e3
}

.simplebar-track.simplebar-horizontal {
    background: #e3e3e3;
    height: 5px
}

.simplebar-scrollbar:before {
    left: 0;
    right: 0;
    background: #000;
    opacity: 1
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0;
    height: 5px;
    background: #000
}

.c-sect--xl+.c-sect--xl {
    margin-top: 100px
}

@media screen and (max-width: 767px) {
    .c-sect--xl+.c-sect--xl {
        margin-top: 50px
    }
}

.c-sect--lg+.c-sect--lg {
    margin-top: 80px
}

@media screen and (max-width: 767px) {
    .c-sect--lg+.c-sect--lg {
        margin-top: 40px
    }
}

.c-sect--md+.c-sect--md {
    margin-top: 60px
}

@media screen and (max-width: 767px) {
    .c-sect--md+.c-sect--md {
        margin-top: 30px
    }
}

.c-sect--sm+.c-sect--sm {
    margin-top: 40px
}

@media screen and (max-width: 767px) {
    .c-sect--sm+.c-sect--sm {
        margin-top: 20px
    }
}

.c-sect--xs+.c-sect--xs {
    margin-top: 20px
}

@media screen and (max-width: 767px) {
    .c-sect--xs+.c-sect--xs {
        margin-top: 10px
    }
}

.c-tag {
    display: inline-block;
    min-width: 100px;
    margin-right: 5px;
    margin-bottom: 8px
}

@media screen and (max-width: 767px) {
    .c-tag {
        min-width: 90px
    }
}

.c-tag a {
    color: #585b5e;
    padding: 1px 20px;
    font-size: 1.4rem;
    background-color: #fff;
    border: 1px solid #585b5e;
    border-radius: 20px;
    text-align: center;
    display: block;
    -webkit-transition: 0.2s;
    transition: 0.2s
}

@media screen and (max-width: 767px) {
    .c-tag a {
        font-size: 1.3rem;
        padding: 1px 15px
    }
}

.c-tag.is-active a {
    background: #585b5e;
    color: #fff
}

@media print,
screen and (min-width: 768px) {
    .c-tag:hover a {
        background: #585b5e;
        color: #fff
    }
}

@media screen and (max-width: 767px) {
    .c-table-wrapper {
        overflow-x: scroll;
        padding-bottom: 20px;
        margin-right: -20px
    }
}

@media screen and (max-width: 767px) {
    .c-table-wrapper .c-table {
        width: 960px
    }
}

.c-table-wrapper .c-table__note {
    font-size: 1.4rem;
    margin: 0 0 15px;
    text-align: right
}

@media screen and (max-width: 767px) {
    .c-table-wrapper .c-table__note {
        margin-right: 20px
    }
}

.c-table {
    border-collapse: collapse;
    background: #fff;
    border-top: 1px solid #dedede
}

@media print,
screen and (min-width: 768px) {
    .c-table {
        width: 100%
    }
}

.c-table th,
.c-table td {
    padding: 17px 20px
}

@media screen and (max-width: 767px) {

    .c-table th,
    .c-table td {
        padding: 15px
    }
}

.c-table th {
    vertical-align: middle;
    background-color: #1a1a1a;
    font-weight: 700;
    text-align: left;
    color: #fff;
    border-left: 1px solid #dedede;
    border-right: 1px solid #dedede
}

@media screen and (max-width: 767px) {
    .c-table th {
        width: 120px
    }
}

.c-table td {
    border: 1px solid #dedede
}

.c-table td:first-child {
    border-left: none
}

.c-table td:last-child {
    border-right: none
}

.c-table tr:nth-child(odd) td {
    background: #f5f5f5
}

.c-tile-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -5px;
    margin-right: -5px
}

@media print,
screen and (min-width: 768px) {
    .c-tile-wrapper {
        margin-left: -16px;
        margin-right: -16px
    }
}

.c-tile {
    width: calc(50% - 10px);
    margin: 10px 5px 0
}

@media print,
screen and (min-width: 768px) {
    .c-tile {
        width: calc(25% - 42px);
        margin: 32px 21px 0
    }
}

.c-tile img {
    width: 100%;
    height: auto
}

.c-ttl--01 {
    text-align: center;
    font-weight: 700;
    line-height: 1.4;
    padding-bottom: 10px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--01 {
        margin: 0 0 50px
    }
}

.c-ttl--01 .c-ttl__txt {
    color: #1a1a1a;
    font-size: 4.2rem;
    font-weight: 500;
    font-family: "Red Hat Display", sans-serif;
    letter-spacing: 0.05em;
    position: relative;
    z-index: 2
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--01 .c-ttl__txt {
        font-size: 8rem
    }
}

.c-ttl--01 .c-ttl__bg {
    font-family: "Red Hat Display", sans-serif;
    font-size: 7.5rem;
    color: #eaeaea;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    width: 200%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0.25
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--01 .c-ttl__bg {
        font-size: 24rem;
        line-height: 1
    }
}

.c-ttl--02 {
    position: relative;
    padding-left: 26px;
    margin: 35px 0 20px
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02 {
        padding-left: 20px;
        ;
        margin: 35px 0 20px
    }
}

.c-ttl--02::before {
    content: "";
    display: block;
    width: 16px;
    height: 3px;
    position: absolute;
    top: 24px;
    left: 0;
    background: #ffa528
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02::before {
        width: 5px;
        height: 29px;
        top: 14px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--02::before {
        top: 21px
    }
}

.c-ttl--02 .c-ttl--main {
    color: #1a1a1a;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.07em
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02 .c-ttl--main {
        font-size: 3.8rem;
        ;
        margin: 35px 0 20px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--02 .c-ttl--main {
        font-size: 2.3rem;
        letter-spacing: 0.15rem;
        display: block
    }
}

.c-ttl--02 .c-ttl--sub {
    font-weight: 500;
    line-height: 1.4;
    font-size: 1.2rem;
    color: #ffa528;
    display: block
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02.c-ttl--en {
        font-size: 3.0rem
    }
}

.c-ttl--02.c-ttl--ja::before {
    top: calc(50% - 1px)
}

@media screen and (max-width: 767px) {
    .c-ttl--02-small::before {
        top: 14px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02-small::before {
        top: 22px
    }
}

.c-ttl--02-small .c-ttl--main {
    font-size: 3.0rem
}

@media screen and (max-width: 767px) {
    .c-ttl--02-small .c-ttl--main {
        font-size: 2.0rem
    }
}

.c-ttl--03 {
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.4;
    position: relative;
    padding-left: 22px;
    letter-spacing: 0.05em
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--03 {
        font-size: 2.0rem;
        margin: 35px 0 20px;
        padding-left: 32px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--03 {
        font-size: 1.9rem;
        margin: 35px 0 20px
    }
}

.c-ttl--03::before {
    content: "";
    display: block;
    width: 13px;
    height: 3px;
    position: absolute;
    top: 15px;
    left: 0;
    background: #ffa528
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--03::before {
        width: 16px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--03::before {
        top: 10px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--03.c-ttl--en {
        font-size: 2.2rem
    }
}

.c-ttl--04 {
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.4;
    position: relative;
    border-bottom: 2px solid #dedede;
    padding: 12px 0 16px;
    letter-spacing: 0.05em
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--04 {
        font-size: 1.8rem;
        margin-bottom: 40px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--04 {
        font-size: 1.6rem;
        margin-bottom: 4.6875vw
    }
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--04.c-ttl--en {
        font-size: 2.0rem
    }
}

.c-ttl--05 {
    color: #1a1a1a;
    font-size: 2.2rem;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--05 {
        margin: 0 0 40px
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--05 {
        font-size: 1.6rem;
        margin: 0 0 7.8125vw
    }
}

.c-ttl--05::after {
    content: "";
    display: block;
    width: 54px;
    height: 2px;
    position: absolute;
    bottom: -8px;
    left: 0;
    background: #ffa528
}

@media screen and (max-width: 767px) {
    .c-ttl--05::after {
        width: 20px
    }
}

.c-ttl--06 {
    text-align: center
}

.c-ttl--07 {
    text-align: center
}

.c-ttl--07 .c-ttl--main {
    font-size: 3.0rem;
    color: #1a1a1a
}

@media screen and (max-width: 767px) {
    .c-ttl--07 .c-ttl--main {
        font-size: 2.2rem;
        display: block;
        line-height: 1.6
    }
}

.c-ttl--07 .c-ttl--sub {
    display: block;
    font-size: 1.6rem;
    color: #888
}

@media screen and (max-width: 767px) {
    .c-ttl--07 .c-ttl--sub {
        font-size: 1.5rem;
        margin-top: 5px
    }
}

.c-ttl--en {
    font-family: "Red Hat Display", sans-serif;
    font-weight: 600;
    letter-spacing: 0.07em
}

.c-ttl--ja {
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 600 !important
}

.c-ttl--sect .c-ttl--en {
    color: #1a1a1a;
    font-size: 9.0rem;
    font-weight: 500;
    font-family: "Red Hat Display", sans-serif;
    line-height: 1;
    letter-spacing: 0.04em;
    display: block
}

@media screen and (max-width: 767px) {
    .c-ttl--sect .c-ttl--en {
        font-size: 13.02083vw
    }
}

.c-ttl--sect .c-ttl--ja {
    font-size: 1.4rem;
    color: #ffa528;
    display: block
}

@media screen and (max-width: 767px) {
    .c-ttl--sect .c-ttl--ja {
        font-size: 3.38542vw;
        font-weight: 500;
        margin: 1.30208vw 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion {
        width: 240px;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__wrap {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__ttl {
        margin-right: 15px
    }
}

@media screen and (max-width: 767px) {
    .p-accordion__ttl {
        text-align: center;
        margin: 0 0 10px
    }
}

.p-accordion__head button {
    width: 100%;
    color: #fff;
    background: #ffa528;
    border: 1px solid #ffa528;
    text-align: center;
    position: relative;
    font-size: 1.6rem;
    padding: 16px 10px;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media screen and (max-width: 767px) {
    .p-accordion__head button {
        font-size: 1.5rem;
        padding: 4.6875vw 10px
    }
}

.p-accordion__head button::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__head button::after {
        width: 9px;
        height: 9px;
        top: calc(50% - 4px)
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__head button:hover {
        background: #fff;
        border: 1px solid #ffa528;
        color: #ffa528
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__head button:hover::after {
        border-right: 2px solid #ffa528;
        border-bottom: 2px solid #ffa528
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__head button.is-open {
        background: #fff;
        border: 1px solid #ffa528;
        color: #ffa528
    }
}

.p-accordion__head button.is-open::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__head button.is-open::after {
        border-right: 2px solid #ffa528;
        border-bottom: 2px solid #ffa528
    }
}

.p-accordion__body {
    display: none;
    border-top: none;
    text-align: center;
    font-size: 1.6rem
}

@media screen and (max-width: 767px) {
    .p-accordion__body {
        border-bottom: 1px solid #dedede
    }
}

@media print,
screen and (min-width: 768px) {
    .p-accordion__body {
        width: 100%;
        background: #fff;
        -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
        position: absolute;
        top: 58px;
        left: 0;
        z-index: 2
    }
}

@media print,
screen and (min-width: 768px) {
    .p-anchor-link ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: -10px -5px 0
    }
}

.p-anchor-link ul li {
    text-align: center;
    line-height: 1.3
}

@media print,
screen and (min-width: 768px) {
    .p-anchor-link ul li {
        width: calc(100% - 10px);
        padding: 0 5px;
        margin: 10px 0 0
    }
}

@media screen and (max-width: 767px) {
    .p-anchor-link ul li:nth-child(n+2) {
        margin-top: 10px
    }
}

.p-anchor-link ul li a {
    max-width: none
}

@media print,
screen and (min-width: 768px) {
    .p-anchor-link--wrap ul {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media print,
screen and (min-width: 768px) {
    .p-anchor-link--wrap ul li {
        width: calc((100% / 4) - 10px)
    }
}

.p-article {
    clear: both
}

.p-article b,
.p-article strong {
    font-weight: bold
}

.p-article p,
.p-article ul,
.p-article ol,
.p-article table,
.p-article div {
    margin-top: 1.5em
}

.p-article a {
    text-decoration: underline
}

.p-article a:hover {
    text-decoration: none
}

.p-article img {
    height: auto
}

@media screen and (max-width: 767px) {
    .p-article img {
        width: 100%
    }
}

.p-article .left {
    margin-bottom: 40px
}

@media print,
screen and (min-width: 768px) {
    .p-article .left {
        float: left;
        margin-right: 30px
    }
}

.p-article .right {
    margin-bottom: 40px
}

@media print,
screen and (min-width: 768px) {
    .p-article .right {
        float: right;
        margin-left: 30px
    }
}

.p-article .p-article-data {
    margin: 0 0 60px
}

@media screen and (max-width: 767px) {
    .p-article .p-article-data {
        margin: 0 0 40px
    }
}

.p-breadcrumb {
    font-size: 1.3rem;
    line-height: 1
}

.p-breadcrumb ul li {
    float: left;
    position: relative
}

.p-breadcrumb ul li+li {
    padding: 0 0 0 15px;
    margin: 0 0 0 10px
}

.p-breadcrumb ul li+li:before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    left: -4px
}

@media print,
screen and (min-width: 768px) {
    .is-view-pc .p-breadcrumb ul li a:hover {
        text-decoration: underline
    }
}

.p-form-step {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 50px
}

@media screen and (max-width: 767px) {
    .p-form-step {
        font-size: 1.6rem;
        margin: 0 0 20px
    }
}

.p-form-step ul {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: center;
    margin: -3px 0;
    overflow: hidden
}

.p-form-step ul li {
    position: relative;
    padding: 0;
    margin: 3px 3px 3px 0;
    width: 100%
}

.p-form-step ul li div {
    position: relative;
    padding: 0 .8em 0 1.6em;
    background-color: #f2f3f6;
    border-color: #f2f3f6;
    display: block;
    height: 60px;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .p-form-step ul li div {
        padding: 0 .2em 0 1em;
        height: 50px
    }
}

.p-form-step ul li:after,
.p-form-step ul li div:after {
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    content: '';
    height: 0;
    width: 0;
    border: 30px solid transparent;
    border-right-width: 0;
    border-left-width: 20px;
    z-index: 2;
    border-left-color: inherit
}

@media screen and (max-width: 767px) {

    .p-form-step ul li:after,
    .p-form-step ul li div:after {
        border-width: 25px;
        border-right-width: 0;
        border-left-width: 10px
    }
}

.p-form-step ul li:after {
    z-index: 1;
    -webkit-transform: translateX(3px);
    transform: translateX(3px);
    border-left-color: #fff;
    margin: 0
}

.p-form-step ul li:first-of-type div {
    padding-left: 1.6em
}

@media screen and (max-width: 767px) {
    .p-form-step ul li:first-of-type div {
        padding-left: 1em
    }
}

.p-form-step ul li:last-of-type {
    margin-right: 0
}

.p-form-step ul li.is-current div {
    color: #fff;
    background-color: #ffa528;
    border-color: #ffa528
}

.p-form-step ul li.is-finished div {
    color: #fff;
    background-color: #a1a1a1;
    border-color: #a1a1a1
}

.p-form-table {
    border-top: 1px solid #dedede;
    word-break: break-all;
    font-size: 1.6rem
}

.p-form-table__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #dedede
}

@media screen and (max-width: 1023px) {
    .p-form-table__item {
        display: block
    }
}

.p-form-table__required {
    display: inline-block;
    width: 42px;
    font-size: 1.4rem;
    text-align: center;
    background: #ffa528;
    color: #fff;
    font-weight: 700;
    margin-left: 10px;
    vertical-align: middle
}

.p-form-table__head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 320px;
    background: #f2f3f6;
    padding: 30px;
    font-size: 1.6rem;
    position: relative;
    font-weight: bold
}

@media screen and (max-width: 1023px) {
    .p-form-table__head {
        width: auto;
        padding: 20px 15px;
        font-size: 1.7rem
    }
}

.p-form-table__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(100% - 320px);
    padding: 25px 30px
}

@media screen and (max-width: 1023px) {
    .p-form-table__body {
        width: auto;
        padding: 25px 15px
    }
}

.p-form-table__body input {
    max-width: 700px
}

.p-form-table__body textarea {
    max-width: 700px;
    min-height: 170px
}

.p-form-table__body-inner {
    width: 100%
}

.p-form-table .is-error .c-form-input,
.p-form-table .is-error .c-form-radio span:before,
.p-form-table .is-error .c-form-checkbox span:before,
.p-form-table .is-error .c-form-select select,
.p-form-table .is-error .c-form-textarea {
    background-color: #ffeeee
}

.p-form-input-small {
    max-width: 200px !important
}

@media print,
screen and (min-width: 768px) {
    .p-form-name {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

.p-form-name li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media print,
screen and (min-width: 768px) {
    .p-form-name li:nth-child(n+2) {
        margin-left: 7%
    }
}

@media screen and (max-width: 767px) {
    .p-form-name li:nth-child(n+2) {
        margin-top: 20px
    }
}

.p-form-name li span {
    display: inline-block;
    min-width: 45px;
    padding-right: 5px
}

@media print,
screen and (min-width: 768px) {
    .p-form-name li input {
        max-width: 240px
    }
}

.p-form-postcode {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-form-postcode {
        position: relative;
        padding-bottom: 65px
    }
}

.p-form-postcode__zip1 {
    max-width: 100px !important
}

.p-form-postcode__zip2 {
    max-width: 120px !important
}

.p-form-postcode__symbol {
    display: inline-block;
    min-width: 45px;
    padding-right: 5px
}

@media screen and (max-width: 767px) {
    .p-form-postcode__symbol {
        min-width: 30px
    }
}

.p-form-postcode__bar {
    padding: 0 13px;
    text-align: center;
    min-width: 43px
}

@media screen and (max-width: 767px) {
    .p-form-postcode__bar {
        padding: 0 10px;
        min-width: 35px
    }
}

.p-form-postcode__btn {
    width: 100%;
    max-width: 140px;
    min-width: 100px;
    height: 50px;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center;
    color: #fff;
    margin-left: 20px;
    background: #ffa528;
    border-radius: 50px
}

@media screen and (max-width: 767px) {
    .p-form-postcode__btn {
        max-width: 155px;
        height: 45px;
        position: absolute;
        bottom: 0;
        left: 0;
        margin: 0
    }
}

.p-form-address *+* {
    margin-top: 10px
}

@media screen and (max-width: 767px) {
    .p-form-address *+* {
        margin-top: 20px
    }
}

.p-form-address__pref {
    width: 240px
}

@media screen and (max-width: 767px) {
    .p-form-address__pref {
        width: 210px
    }
}

.p-form-address__txt {
    font-size: 1.5rem
}

@media screen and (max-width: 767px) {
    .p-form-address__txt {
        font-size: 1.4rem
    }
}

@media print,
screen and (min-width: 768px) {
    .p-form-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

@media print,
screen and (min-width: 768px) {
    .p-form-list li:nth-child(n+2) {
        margin-left: 50px
    }
}

@media screen and (max-width: 767px) {
    .p-form-list li:nth-child(n+2) {
        margin-top: 20px
    }
}

.p-form-privacy {
    margin-top: 50px;
    border: 1px solid #dedede;
    padding: 30px;
    text-align: center;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .p-form-privacy {
        margin-top: 30px;
        padding: 15px
    }
}

.p-form-privacy__check {
    font-size: 1.6rem
}

@media screen and (max-width: 767px) {
    .p-form-privacy__check {
        font-size: 1.5rem
    }
}

@media print,
screen and (min-width: 768px) {
    .p-form-btn {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        margin-top: 50px
    }
}

@media screen and (max-width: 767px) {
    .p-form-btn {
        max-width: 300px;
        margin: 30px auto 0
    }
}

.p-form-btn__item {
    width: 100%
}

@media print,
screen and (min-width: 768px) {
    .p-form-btn__item {
        width: 300px
    }
}

@media screen and (max-width: 767px) {
    .p-form-btn__item {
        margin-left: auto;
        margin-right: auto
    }
}

@media print,
screen and (min-width: 768px) {
    .p-form-btn__item:nth-child(n+2) {
        margin-right: 30px
    }
}

@media screen and (max-width: 767px) {
    .p-form-btn__item:nth-child(n+2) {
        margin-top: 20px
    }
}

@media screen and (max-width: 767px) {
    .p-form-btn__submit {
        max-width: 345px;
        height: 55px
    }
}

.p-form-thanks {
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-form-thanks {
        text-align: left
    }
}

.p-form-thanks__lead {
    font-weight: 700;
    font-size: 3rem;
    margin-bottom: 30px
}

@media screen and (max-width: 767px) {
    .p-form-thanks__lead {
        font-size: 2.6rem;
        text-align: center;
        margin-bottom: 20px
    }
}

.p-form-thanks__notes {
    margin-top: 20px
}

@media screen and (max-width: 767px) {
    .p-form-thanks__notes {
        margin-top: 15px
    }
}

.p-form-error-txt {
    color: #cc0000;
    margin-top: 10px
}

.p-form-error-txt+.p-form-error-txt {
    margin-top: 0
}

.p-news-list a {
    display: block;
    position: relative;
    border-bottom: 1px solid #dedede;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media print,
screen and (min-width: 768px) {
    .p-news-list a {
        padding: 20px 0 32px
    }
}

@media screen and (max-width: 767px) {
    .p-news-list a {
        padding: 20px 25px 20px 0
    }
}

@media print,
screen and (min-width: 768px) {
    .p-news-list a:hover {
        border-bottom: 1px solid #ffa528
    }
}

.p-news-list .is-nolink {
    display: block;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .p-news-list .is-nolink {
        padding: 20px 0 32px
    }
}

@media screen and (max-width: 767px) {
    .p-news-list .is-nolink {
        padding: 20px 25px 20px 0
    }
}

.p-news-list__data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 5px
}

.p-news-list__date {
    font-size: 1.4rem;
    color: #7c7c7c;
    margin: 0 15px 0 0
}

.p-news-list__tag {
    font-size: 1.4rem;
    color: #ffa528;
    margin: 0 !important
}

.p-news-list__txt {
    color: #1a1a1a;
    font-size: 1.6rem;
    font-weight: 600;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

@media print,
screen and (min-width: 768px) {
    .p-news-list a:hover .p-news-list__txt {
        color: #ffa528
    }
}

.p-news-list .is-nolink .p-news-list__txt {
    font-weight: 400
}

.p-page-header {
    color: #000
}

.p-page-header__inner {
    position: relative;
    padding: 0 20px;
    height: 520px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    max-width: 1320px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-page-header__inner {
        height: 65.10417vw
    }
}

.p-page-header__ttl {
    font-weight: 500;
    line-height: 10;
    position: relative;
    z-index: 2
}

@media print,
screen and (min-width: 768px) {
    .p-page-header__ttl {
        font-size: 7.0rem
    }
}

@media screen and (max-width: 767px) {
    .p-page-header__ttl {
        font-size: 4.0rem;
        top: 10vw
    }
}

.p-page-header__ttl--main {
    font-size: 4.5rem;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    display: block;
    line-height: 1
}

.p-page-header__ttl--main02 {
    font-size: 7rem;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    display: block;
    line-height: 1
}

@media screen and (max-width: 767px) {

    .p-page-header__ttl--main,
    .p-page-header__ttl--main02 {
        font-size: 4.5rem
    }
}

.p-page-header__ttl--main::after,
.p-page-header__ttl--main02::after {
    bottom: -6px
}

.p-page-header__ttl--main02 {
    font-size: 4.5rem
}

@media screen and (max-width: 767px) {
    .p-page-header__ttl--main02 {
        font-size: 4.3rem;
        line-height: 1.4
    }
}

@media screen and (max-width: 767px) {
    .p-page-header__ttl--main-line2 {
        font-size: 4.6rem
    }
}

.p-page-header__ttl--sub {
    font-size: 1.6rem;
    color: #ffa528;
    display: block;
    line-height: 1;
    margin: 10px 0 10px
}

.p-page-header__breadcrumbs {
    position: absolute;
    bottom: 75px;
    right: 20px;
    z-index: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 767px) {
    .p-page-header__breadcrumbs {
        display: none
    }
}

.p-page-header__breadcrumbs li {
    position: relative;
    font-size: 1.3rem
}

.p-page-header__breadcrumbs li+li::before {
    content: "/";
    margin: 0 5px
}

.p-page-header__breadcrumbs a {
    font-size: 1.3rem
}

.p-page-header__img {
    position: absolute;
    z-index: 0
}

@media screen and (max-width: 767px) {
    .p-page-header__img {
        width: 100vw;
        top: -4vw;
        right: -20vw
    }
}

@media print,
screen and (min-width: 768px) {
    .p-page-header__img {
        top: -110px;
        right: -255px
    }
}

@media print,
screen and (min-width: 768px) {
    .p-page-header__img img {
        width: 960px
    }
}

@media print,
screen and (min-width: 768px) {
    .p-page-header+.l-container {
        padding-top: 0
    }
}

@media print,
screen and (min-width: 768px) {
    .p-page-header--mid .p-page-header__inner {
        height: 600px
    }
}

.p-pager {
    text-align: center;
    font-size: 0;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .p-pager {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 30px 0 0
    }
}

.p-pager .is-disabled {
    opacity: 0.5;
    pointer-events: none
}

.p-pager__first span,
.p-pager__first a,
.p-pager__last span,
.p-pager__last a {
    display: block;
    width: 48px;
    height: 48px;
    border: 1px solid #b5b5b5;
    position: relative
}

@media screen and (max-width: 767px) {

    .p-pager__first span,
    .p-pager__first a,
    .p-pager__last span,
    .p-pager__last a {
        width: 35px;
        height: 35px
    }
}

.p-pager__first span i,
.p-pager__first a i,
.p-pager__last span i,
.p-pager__last a i {
    position: absolute;
    top: 50%;
    left: 52%;
    width: 8px;
    height: 8px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.p-pager__first span i::before,
.p-pager__first a i::before,
.p-pager__last span i::before,
.p-pager__last a i::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0px;
    left: 0px;
    border-right: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5
}

.p-pager__first span i::after,
.p-pager__first a i::after,
.p-pager__last span i::after,
.p-pager__last a i::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: -4px;
    left: -4px;
    border-right: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5
}

@media print,
screen and (min-width: 768px) {

    .p-pager__first a:hover,
    .p-pager__last a:hover {
        background: #b5b5b5
    }
}

@media print,
screen and (min-width: 768px) {

    .p-pager__first a:hover i,
    .p-pager__last a:hover i {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

@media print,
screen and (min-width: 768px) {

    .p-pager__first a:hover i::before,
    .p-pager__last a:hover i::before {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

@media print,
screen and (min-width: 768px) {

    .p-pager__first a:hover i::after,
    .p-pager__last a:hover i::after {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

.p-pager__first span i,
.p-pager__first a i {
    left: 48%;
    -webkit-transform: translate(-50%, -50%) rotate(135deg);
    transform: translate(-50%, -50%) rotate(135deg)
}

.p-pager__main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media print,
screen and (min-width: 768px) {
    .p-pager__main {
        margin: 0 50px
    }
}

.p-pager li {
    margin: 0 8px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-pager li {
        margin: 0 2px
    }
}

.p-pager li a,
.p-pager li span {
    width: 48px;
    height: 48px;
    line-height: 46px;
    display: block;
    font-size: 1.8rem
}

@media screen and (max-width: 767px) {

    .p-pager li a,
    .p-pager li span {
        width: 35px;
        height: 35px;
        line-height: 33px;
        font-size: 1.5rem
    }
}

.p-pager li a {
    font-weight: 500;
    display: block;
    color: #ffa528;
    border: 1px solid #ffa528
}

@media print,
screen and (min-width: 768px) {
    .is-view-pc .p-pager li a:hover {
        color: #fff;
        background: #ffa528
    }
}

.p-pager li span {
    display: block;
    font-weight: 500;
    border: 1px solid #ffa528;
    background: #ffa528;
    color: #fff
}

@media screen and (max-width: 767px) {

    .p-pager li.p-pager__prev,
    .p-pager li.p-pager__next {
        display: none
    }
}

.p-pager li.p-pager__prev a,
.p-pager li.p-pager__prev span,
.p-pager li.p-pager__next a,
.p-pager li.p-pager__next span {
    display: block;
    border: 1px solid #b5b5b5;
    background: #fff;
    position: relative
}

.p-pager li.p-pager__prev a i,
.p-pager li.p-pager__prev span i,
.p-pager li.p-pager__next a i,
.p-pager li.p-pager__next span i {
    position: absolute;
    top: 50%;
    left: 48%;
    width: 8px;
    height: 8px;
    border-right: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

@media print,
screen and (min-width: 768px) {

    .is-view-pc .p-pager li.p-pager__prev a:hover,
    .is-view-pc .p-pager li.p-pager__next a:hover {
        background: #b5b5b5
    }

    .is-view-pc .p-pager li.p-pager__prev a:hover i,
    .is-view-pc .p-pager li.p-pager__next a:hover i {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

.p-pager li.p-pager__prev a i,
.p-pager li.p-pager__prev span i {
    left: 52%;
    -webkit-transform: translate(-50%, -50%) rotate(135deg);
    transform: translate(-50%, -50%) rotate(135deg)
}

.p-slider * {
    outline: none !important
}

.p-slider .slick-slide {
    margin-bottom: 0
}

.p-slider .slick-slide+.slick-slide {
    margin-top: 0 !important
}

.p-slider .slick-arrow {
    width: 60px;
    height: 60px;
    border: 1px solid #ffa528;
    border-radius: 50%;
    position: absolute;
    top: -90px;
    text-indent: -9999em;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 3
}

.p-slider .slick-arrow::before {
    content: "";
    display: block;
    width: 16px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: #ffa528;
    margin-left: -8px;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.p-slider .slick-arrow::after {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    position: absolute;
    top: 50%;
    left: 50%;
    border-right: 1px solid #ffa528;
    border-bottom: 1px solid #ffa528;
    margin: -4px 0 0 -4px;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.p-slider .slick-arrow.slick-disabled {
    opacity: 0.4;
    pointer-events: none
}

@media print,
screen and (min-width: 768px) {
    .p-slider .slick-arrow:hover {
        background: #ffa528
    }
}

@media print,
screen and (min-width: 768px) {
    .p-slider .slick-arrow:hover::before {
        background: #fff
    }
}

@media print,
screen and (min-width: 768px) {
    .p-slider .slick-arrow:hover::after {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }
}

.p-slider .slick-prev {
    left: 1400px
}

.p-slider .slick-prev::after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-left: -6px
}

@media screen and (min-width: 1481px) and (max-width: 1850px) {
    .p-slider .slick-prev {
        left: 1230px
    }
}

@media screen and (min-width: 768px) and (max-width: 1480px) {
    .p-slider .slick-prev {
        left: 1120px
    }
}

.is-view-tab .p-slider .slick-prev {
    left: 1020px
}

.p-slider .slick-next {
    left: 1480px
}

.p-slider .slick-next::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-left: -2px
}

@media screen and (min-width: 1481px) and (max-width: 1850px) {
    .p-slider .slick-next {
        left: 1310px
    }
}

@media screen and (min-width: 768px) and (max-width: 1480px) {
    .p-slider .slick-next {
        left: 1200px
    }
}

.is-view-tab .p-slider .slick-next {
    left: 1100px
}

.p-slider .slick-dots {
    margin: 10px 0 0
}

@media screen and (max-width: 767px) {
    .p-slider .slick-dots {
        margin: 30px 0 0
    }
}

.p-slider .slick-dots li {
    display: inline-block;
    padding: 0;
    margin: 0 10px 0 0;
    font-size: 0
}

@media print,
screen and (min-width: 768px) {
    .p-slider .slick-dots li {
        width: auto !important
    }
}

@media screen and (max-width: 767px) {
    .p-slider .slick-dots li {
        margin: 0
    }
}

.p-slider .slick-dots button {
    text-indent: -9999em;
    width: 12px;
    height: 12px;
    background: #dedede;
    border-radius: 50%
}

@media screen and (max-width: 767px) {
    .p-slider .slick-dots button {
        width: 100%;
        height: 4px;
        border-radius: 0
    }
}

.p-slider .slick-dots li.slick-active button {
    background: #ffa528
}

.p-services-search__ttl {
    margin: 0 0 25px
}

.p-services-search__toggle-head {
    position: relative
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-head::before {
        content: none
    }
}

.p-services-search__toggle-head::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 20px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

.p-services-search__toggle-head.is-open::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-head .c-btn__txt--en {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body {
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .p-services-search__toggle-body {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body .c-btn--nav {
        background: #fff;
        border-bottom: 1px solid #dedede;
        margin: 0
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body .c-btn--nav.is-current {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body .c-btn--nav .c-btn__txt--en {
        color: #585B5E
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body .c-btn--nav .c-btn__txt--en {
        font-size: 2.2rem
    }
}

@media screen and (max-width: 767px) {
    .p-services-search__toggle-body .c-btn--nav .c-btn__txt--ja {
        color: #585B5E
    }
}

.p-tab__head button {
    position: relative
}

@media screen and (max-width: 767px) {
    .p-tab__head button {
        margin: 0;
        width: 100%;
        text-align: center;
        font-size: 1.5rem;
        border-bottom: 1px solid #dedede;
        padding: 4.6875vw 10px
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__head button {
        margin: 0 50px 0 0;
        font-weight: 700
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__head button::after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background: #333;
        position: absolute;
        bottom: -10px;
        left: 0;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s
    }
}

@media screen and (max-width: 767px) {
    .p-tab__head button {
        background: #000;
        color: #fff
    }
}

@media screen and (max-width: 767px) {
    .p-tab__head button::after {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: calc(50% - 4px);
        left: inherit;
        right: 20px;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__head button::after {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@media screen and (max-width: 767px) {
    .p-tab__head.is-open button::after {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important
    }
}

@media screen and (max-width: 767px) {
    .p-tab__nav {
        display: none
    }
}

.p-tab__nav li {
    position: relative;
    padding: 0
}

.p-tab__nav li button {
    position: relative
}

@media screen and (max-width: 767px) {
    .p-tab__nav li button {
        margin: 0;
        width: 100%;
        text-align: center;
        font-size: 1.5rem;
        border-bottom: 1px solid #dedede;
        padding: 4.55729vw 10px
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li button {
        color: #a8a8a8;
        margin: 0 54px 0 0;
        font-weight: 600;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li button::after {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background: #333;
        position: absolute;
        bottom: -10px;
        left: 0;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s
    }
}

@media screen and (max-width: 767px) {
    .p-tab__nav li.is-active {
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li.is-active button {
        color: #333
    }
}

@media screen and (max-width: 767px) {
    .p-tab__nav li.is-active button {
        background: #000;
        color: #fff
    }
}

@media screen and (max-width: 767px) {
    .p-tab__nav li.is-active button::after {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: calc(50% - 4px);
        left: inherit;
        right: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li.is-active button::after {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li:hover button {
        color: #333
    }
}

@media print,
screen and (min-width: 768px) {
    .p-tab__nav li:hover button::after {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }
}

.p-tab__body {
    padding-top: 13.02083vw
}

@media print,
screen and (min-width: 768px) {
    .p-tab__body {
        padding-top: 50px
    }
}

.p-tab__item {
    display: none
}

.p-tab__item.is-active {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media print,
screen and (min-width: 768px) {
    .p-img-list ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -11px
    }
}

.p-img-list ul li {
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .p-img-list ul li {
        width: calc((100% / 3) - 22px);
        margin: 0 11px;
        -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
        transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
        overflow: hidden
    }
}

@media screen and (max-width: 767px) {
    .p-img-list ul li {
        width: 100%
    }

    .p-img-list ul li+li {
        margin-top: 10px
    }
}

.p-img-list ul li:before {
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.5)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 25%, rgba(0, 0, 0, 0.5) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 25%, rgba(0, 0, 0, 0.5) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
    z-index: 2;
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

@media print,
screen and (min-width: 768px) {
    .p-img-list ul li:hover:before {
        height: 250%
    }
}

.p-img-list ul li a {
    display: block
}

@media print,
screen and (min-width: 768px) {
    .p-img-list ul li a {
        width: 412px;
        height: 240px
    }
}

.p-img-list ul li:nth-child(3n) {
    margin-right: 0
}

.p-img-list__txt {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    color: #fff;
    width: 100%;
    padding: 0 40px 25px;
    z-index: 3
}

@media screen and (max-width: 767px) {
    .p-img-list__txt {
        padding: 0 30px 15px
    }
}

.p-img-list__txt .p-img-list__sttl {
    font-size: 2rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .p-img-list__txt .p-img-list__sttl {
        font-size: 1.7rem
    }
}

.p-img-list__txt .p-img-list__stxt {
    font-size: 1.4rem
}

@media screen and (max-width: 767px) {
    .p-img-list__txt .p-img-list__stxt {
        font-size: 1.3rem
    }
}

.u-clr:after {
    content: '';
    display: block;
    clear: both;
    height: 0
}

@media screen and (max-width: 374px) {
    .u-xs-min {
        display: none !important
    }
}

@media print,
screen and (min-width: 375px) {
    .u-xs-max {
        display: none !important
    }
}

@media screen and (max-width: 767px) {
    .u-sm-min {
        display: none !important
    }
}

@media print,
screen and (min-width: 768px) {
    .u-sm-max {
        display: none !important
    }
}

@media screen and (max-width: 1023px) {
    .u-md-min {
        display: none !important
    }
}

@media print,
screen and (min-width: 1024px) {
    .u-md-max {
        display: none !important
    }
}

@media screen and (max-width: 1239px) {
    .u-lg-min {
        display: none !important
    }
}

@media print,
screen and (min-width: 1240px) {
    .u-lg-max {
        display: none !important
    }
}

.u-ff-jp {
    font-family: "Noto Sans JP", sans-serif
}

.u-ff-en {
    font-family: "Red Hat Display", sans-serif
}

.u-fz-20 {
    font-size: 2rem !important
}

.u-fz-19 {
    font-size: 1.9rem !important
}

.u-fz-18 {
    font-size: 1.8rem !important
}

.u-fz-17 {
    font-size: 1.7rem !important
}

.u-fz-16 {
    font-size: 1.6rem !important
}

.u-fz-15 {
    font-size: 1.5rem !important
}

.u-fz-14 {
    font-size: 1.4rem !important
}

.u-fz-13 {
    font-size: 1.3rem !important
}

.u-fz-12 {
    font-size: 1.2rem !important
}

.u-fz-11 {
    font-size: 1.1rem !important
}

.u-fz-10 {
    font-size: 1rem !important
}

.u-fw-400 {
    font-weight: 400 !important
}

.u-fw-700 {
    font-weight: 700 !important
}

.u-td-ul {
    text-decoration: underline !important
}

.u-td-none {
    text-decoration: none !important
}

.u-ta-l {
    text-align: left !important
}

.u-ta-r {
    text-align: right !important
}

.u-ta-c {
    text-align: center !important
}

.u-va-t {
    vertical-align: top !important
}

.u-va-m {
    vertical-align: middle !important
}

.u-va-b {
    vertical-align: bottom !important
}

.u-c-main {
    color: #ffa528 !important
}

.u-c-plain {
    color: #585b5e !important
}

.u-c-white {
    color: #fff !important
}

.u-bg-alpha {
    background-color: transparent !important
}

.u-bg-main {
    background-color: #ffa528 !important
}

.u-bg-plain {
    background-color: #585b5e !important
}

.u-bg-focus {
    background-color: #aaa !important
}

.u-bg-border {
    background-color: #dedede !important
}

.u-bg-white {
    background-color: #fff !important
}

.u-bg-gray01 {
    background-color: #eee !important
}

.u-bg-gray02 {
    background-color: #ccc !important
}

.u-bd {
    border: 1px solid #dedede !important
}

.u-bd-t {
    border-top: 1px solid #dedede !important
}

.u-bd-l {
    border-left: 1px solid #dedede !important
}

.u-bd-b {
    border-bottom: 1px solid #dedede !important
}

.u-bd-r {
    border-right: 1px solid #dedede !important
}

.u-bd-main {
    border-color: #ffa528 !important
}

.u-bd-white {
    border-color: #fff !important
}

.u-w-100 {
    width: 100% !important
}

.u-w-90 {
    width: 90% !important
}

.u-w-80 {
    width: 80% !important
}

.u-w-70 {
    width: 70% !important
}

.u-w-60 {
    width: 60% !important
}

.u-w-50 {
    width: 50% !important
}

.u-w-40 {
    width: 40% !important
}

.u-w-30 {
    width: 30% !important
}

.u-w-20 {
    width: 20% !important
}

.u-w-10 {
    width: 10% !important
}

.u-m-0 {
    margin: 0 !important
}

.u-m-auto {
    margin: auto !important
}

.u-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.u-my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.u-mt-0 {
    margin-top: 0 !important
}

.u-mt-5 {
    margin-top: 5px !important
}

.u-mt-10 {
    margin-top: 10px !important
}

.u-mt-15 {
    margin-top: 15px !important
}

.u-mt-20 {
    margin-top: 20px !important
}

.u-mt-25 {
    margin-top: 25px !important
}

.u-mt-30 {
    margin-top: 30px !important
}

.u-mt-35 {
    margin-top: 35px !important
}

.u-mt-40 {
    margin-top: 40px !important
}

.u-mt-45 {
    margin-top: 45px !important
}

.u-mt-50 {
    margin-top: 50px !important
}

.u-mt-xs {
    margin-top: 20px !important
}

@media screen and (max-width: 767px) {
    .u-mt-xs {
        margin-top: 10px !important
    }
}

.u-mt-sm {
    margin-top: 40px !important
}

@media screen and (max-width: 767px) {
    .u-mt-sm {
        margin-top: 20px !important
    }
}

.u-mt-md {
    margin-top: 60px !important
}

@media screen and (max-width: 767px) {
    .u-mt-md {
        margin-top: 30px !important
    }
}

.u-mt-lg {
    margin-top: 80px !important
}

@media screen and (max-width: 767px) {
    .u-mt-lg {
        margin-top: 40px !important
    }
}

.u-mt-xl {
    margin-top: 100px !important
}

@media screen and (max-width: 767px) {
    .u-mt-xl {
        margin-top: 50px !important
    }
}

.u-mb-0 {
    margin-bottom: 0 !important
}

.u-mb-5 {
    margin-bottom: 5px !important
}

.u-mb-10 {
    margin-bottom: 10px !important
}

.u-mb-15 {
    margin-bottom: 15px !important
}

.u-mb-20 {
    margin-bottom: 20px !important
}

.u-mb-25 {
    margin-bottom: 25px !important
}

.u-mb-30 {
    margin-bottom: 30px !important
}

.u-mb-35 {
    margin-bottom: 35px !important
}

.u-mb-40 {
    margin-bottom: 40px !important
}

.u-mb-45 {
    margin-bottom: 45px !important
}

.u-mb-50 {
    margin-bottom: 50px !important
}

.u-mb-xs {
    margin-bottom: 20px !important
}

@media screen and (max-width: 767px) {
    .u-mb-xs {
        margin-bottom: 10px !important
    }
}

.u-mb-sm {
    margin-bottom: 40px !important
}

@media screen and (max-width: 767px) {
    .u-mb-sm {
        margin-bottom: 20px !important
    }
}

.u-mb-md {
    margin-bottom: 60px !important
}

@media screen and (max-width: 767px) {
    .u-mb-md {
        margin-bottom: 30px !important
    }
}

.u-mb-lg {
    margin-bottom: 80px !important
}

@media screen and (max-width: 767px) {
    .u-mb-lg {
        margin-bottom: 40px !important
    }
}

.u-mb-xl {
    margin-bottom: 100px !important
}

@media screen and (max-width: 767px) {
    .u-mb-xl {
        margin-bottom: 50px !important
    }
}

.u-p-0 {
    padding: 0 !important
}

.u-p-5 {
    padding: 5px !important
}

.u-p-10 {
    padding: 10px !important
}

.u-p-15 {
    padding: 15px !important
}

.u-p-20 {
    padding: 20px !important
}

.u-p-25 {
    padding: 25px !important
}

.u-p-30 {
    padding: 30px !important
}

.u-p-35 {
    padding: 35px !important
}

.u-p-40 {
    padding: 40px !important
}

.u-p-45 {
    padding: 45px !important
}

.u-p-50 {
    padding: 50px !important
}

.u-pt-0 {
    padding-top: 0 !important
}

.u-pt-5 {
    padding-top: 5px !important
}

.u-pt-10 {
    padding-top: 10px !important
}

.u-pt-15 {
    padding-top: 15px !important
}

.u-pt-20 {
    padding-top: 20px !important
}

.u-pt-25 {
    padding-top: 25px !important
}

.u-pt-30 {
    padding-top: 30px !important
}

.u-pt-35 {
    padding-top: 35px !important
}

.u-pt-40 {
    padding-top: 40px !important
}

.u-pt-45 {
    padding-top: 45px !important
}

.u-pt-50 {
    padding-top: 50px !important
}

.u-pt-xs {
    padding-top: 20px !important
}

@media screen and (max-width: 767px) {
    .u-pt-xs {
        padding-top: 10px !important
    }
}

.u-pt-sm {
    padding-top: 40px !important
}

@media screen and (max-width: 767px) {
    .u-pt-sm {
        padding-top: 20px !important
    }
}

.u-pt-md {
    padding-top: 60px !important
}

@media screen and (max-width: 767px) {
    .u-pt-md {
        padding-top: 30px !important
    }
}

.u-pt-lg {
    padding-top: 80px !important
}

@media screen and (max-width: 767px) {
    .u-pt-lg {
        padding-top: 40px !important
    }
}

.u-pt-xl {
    padding-top: 100px !important
}

@media screen and (max-width: 767px) {
    .u-pt-xl {
        padding-top: 50px !important
    }
}

.u-pb-0 {
    padding-bottom: 0 !important
}

.u-pb-5 {
    padding-bottom: 5px !important
}

.u-pb-10 {
    padding-bottom: 10px !important
}

.u-pb-15 {
    padding-bottom: 15px !important
}

.u-pb-20 {
    padding-bottom: 20px !important
}

.u-pb-25 {
    padding-bottom: 25px !important
}

.u-pb-30 {
    padding-bottom: 30px !important
}

.u-pb-35 {
    padding-bottom: 35px !important
}

.u-pb-40 {
    padding-bottom: 40px !important
}

.u-pb-45 {
    padding-bottom: 45px !important
}

.u-pb-50 {
    padding-bottom: 50px !important
}

.u-pb-xs {
    padding-bottom: 20px !important
}

@media screen and (max-width: 767px) {
    .u-pb-xs {
        padding-bottom: 10px !important
    }
}

.u-pb-sm {
    padding-bottom: 40px !important
}

@media screen and (max-width: 767px) {
    .u-pb-sm {
        padding-bottom: 20px !important
    }
}

.u-pb-md {
    padding-bottom: 60px !important
}

@media screen and (max-width: 767px) {
    .u-pb-md {
        padding-bottom: 30px !important
    }
}

.u-pb-lg {
    padding-bottom: 80px !important
}

@media screen and (max-width: 767px) {
    .u-pb-lg {
        padding-bottom: 40px !important
    }
}

.u-pb-xl {
    padding-bottom: 100px !important
}

@media screen and (max-width: 767px) {
    .u-pb-xl {
        padding-bottom: 50px !important
    }
}

.p-article-header {
    border-bottom: 2px solid #ffa528
}

@media print,
screen and (min-width: 768px) {
    .p-article-header {
        padding-bottom: 30px;
        margin-bottom: 40px
    }
}

@media screen and (max-width: 767px) {
    .p-article-header {
        padding-bottom: 20px;
        margin-bottom: 30px
    }
}

.p-article-header__meta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print,
screen and (min-width: 768px) {
    .p-article-header__meta {
        margin-bottom: 20px
    }
}

@media screen and (max-width: 767px) {
    .p-article-header__meta {
        margin-bottom: 15px
    }
}

.p-article-header__time {
    color: #999;
    font-size: 1.4rem
}

.p-article-header__tag {
    margin-left: 20px
}

.p-article-header__ttl {
    font-weight: 700;
    line-height: 1.4
}

@media print,
screen and (min-width: 768px) {
    .p-article-header__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width: 767px) {
    .p-article-header__ttl {
        font-size: 2.5rem
    }
}

.p-article-body>*+* {
    margin-top: 20px
}

.p-article-body img {
    width: auto;
    max-width: 100%
}

/* ifv style */
.c-cl-blue {
    color: #0000cd;
}

.c-cl-orange {
    color: #ff7302;
}

.c-ttl--02 .c-ttl--main {
    font-family: "Noto Sans JP", sans-serif;
}

.c-ttl--02 .c-ttl--en {
    color: #1a1a1a;
    font-family: "Red Hat Display", sans-serif;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.07em;
}

.c-img {
    margin: 1.5em auto 0;
    text-align: center;
}

.c-movie--center {
    margin: 1.5em auto 0;
}

.c-list--number>li:nth-child(n + 10) {
    padding-left: 1.8em;
}

.c-list--check li {
    background: #EDEDED url('/common/img/ico__check-orange.png') no-repeat 10px center;
    padding: 1px 0 1px 32px;
    margin: 0 0 5px 0;
}

.c-btn__bg--01 {
    display: block;
    padding: 4px 0;
    border: 1px solid #FF981A;
    background: #FFF1D4;
    color: #FF6600;
    text-align: center;
    text-decoration: underline;
}

.contactus h2 {
    font-size: 120%;
}

.contactus p {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.contactus .c-btn-contact {
    width: 172px;
    margin: 0px auto;
    padding: 4px 0;
    display: block;
    background-color: #FF991A;
    font-size: 16px;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
}

.c-btn-contact span {
    display: block;
    background: url('/assets/ico__mail-white.png') no-repeat 22px center;
    background-size: 12px 10px;
    -webkit-background-size: 12px 10px;
}

.c-greybox {
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    border: 1px solid #CCCCCC;
    background-color: #EDEDED;
    text-align: center;
}

.c-inquiries {
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    background: #F9F9F9;
    border: 1px #ccc solid;
    box-shadow: 0 2px 3px 0 #ddd;
    -moz-box-shadow: 0 2px 3px 0 #ddd;
    -webkit-box-shadow: 0 2px 3px 0 #ddd;
}

.c-inquiries>h2 {
    font-size: 100%;
    margin-bottom: 0.5em;
}

.c-inquiries>p {
    margin-top: 0;
}

.c-inquiries>p+p {
    margin-top: 0;
}

.c-service__group--col2 .c-service__item {
    display: flex;
}

.c-service__group--col2 .c-service__item .c-service__icon {
    flex-basis: 50px;
    flex-shrink: 0;
    margin-right: 10px;
    margin-bottom: 10px;
}

.c-service__icon._heart {
    background: url('/assets/heart-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._weixin {
    background: url('/assets/weixin-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._envelope {
    background: url('/assets/envelope-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._child {
    background: url('/assets/child-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._cubes {
    background: url('/assets/cubes-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._user {
    background: url('/assets/user-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._comments {
    background: url('/assets/comments-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._street {
    background: url('/assets/street-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._refresh {
    background: url('/assets/refresh-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._font {
    background: url('/assets/font-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._gear {
    background: url('/assets/gear-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._signal {
    background: url('/assets/signal-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._graduation {
    background: url('/assets/graduation-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._male {
    background: url('/assets/male-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._edit {
    background: url('/assets/edit-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._leaf {
    background: url('/assets/leaf-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._database {
    background: url('/assets/database-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._laptop {
    background: url('/assets/laptop-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._cart {
    background: url('/assets/cart-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._mobile {
    background: url('/assets/mobile-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._gift {
    background: url('/assets/gift-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._sellsy {
    background: url('/assets/sellsy-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._building {
    background: url('/assets/building-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._pie-chart {
    background: url('/assets/chart-pie-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._line-chart {
    background: url('/assets/chart-line-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._bar-chart {
    background: url('/assets/chart-bar-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._desktop {
    background: url('/assets/desktop-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._bullseye {
    background: url('/assets/bullseye-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._image {
    background: url('/assets/image-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._pencil {
    background: url('/assets/pencil-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._lightbulb {
    background: url('/assets/lightbulb-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._sitemap {
    background: url('/assets/sitemap-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._bullhorn {
    background: url('/assets/bullhorn-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._cogs {
    background: url('/assets/cogs-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service__icon._users {
    background: url('/assets/users-solid.svg') no-repeat top left;
    background-size: 36px 36px;
}

.c-service--ttl {
    margin-bottom: 2rem;
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.4;
    font-size: 2rem;
}

.c-service--ttl a {
    text-decoration: none !important;
    border-bottom: 1px solid #000;
}

.c-service--txt {
    margin: 0 !important;
}

.c-service--link {
    margin: 0 !important;
}

.c-service--link a {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
    text-decoration: none !important;
}

/* c-table--cookie */
.c-table--cookie div,
.c-table--cookie table {
    margin-top: 0 !important;
}

.c-table--cookie td {
    word-break: break-word;
}

/* c-accordion */
.c-accordion__head span {
    position: relative;
    padding-right: 2em;
    transition: ease-in-out 0.3s all;
}

.c-accordion__head span:after {
    content: '';
    position: absolute;
    width: 0.8em;
    height: 0.8em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    top: 10%;
    right: 0.2em;
    transform: rotate(135deg);
    transition: ease-in-out 0.3s all;
}

.c-accordion__head.is-open span {
    color: #ff981a;
}

.c-accordion__head.is-open span:after {
    transform: rotate(-45deg);
    top: 35%;
    border-top: 2px solid #ff981a;
    border-right: 2px solid #ff981a;
}

.c-accordion__section {
    border: 1px solid #000;
}

.c-accordion__section {
    padding: 1.5rem;
}

.c-property--post .c-property__item dt span {
    display: inline-block;
    width: 60px;
}

.js-accordion--body {
    display: none;
}

/* news page */
.c-section+.c-section {
    margin-top: 40px;
}

/* footer */
.l-footer {
    z-index: 1;
}

/* .c-border__ttl */
.c-border__ttl {
    border: 2px solid #e98300;
    padding: 10px;
    margin-bottom: 20px;
    text-align: center;
}

.c-border__ttl ._orange {
    color: #e98300;
}

.c-section__boder--top {
    border-top: 1px solid #dedede;
}

.c-property--hadena {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

/* pagination */
.p-pager li.p-pager__prev a,
.p-pager li.p-pager__prev span,
.p-pager li.p-pager__next a,
.p-pager li.p-pager__next span {
    border: 1px solid #ffa528;
}

.p-pager li.p-pager__prev a i,
.p-pager li.p-pager__prev span i,
.p-pager li.p-pager__next a i,
.p-pager li.p-pager__next span i {
    border-right: 1px solid #ffa528;
    border-bottom: 1px solid #ffa528;
}

.is-view-pc .p-pager li.p-pager__prev a:hover,
.is-view-pc .p-pager li.p-pager__next a:hover {
    color: #fff;
    background: #ffa528;
}

@media screen and (min-width: 768px) {
    .u-only-sp {
        display: none !important;
    }

    .c-img--center {
        max-width: 650px;
    }

    .c-movie--center {
        max-width: 650px;
    }

    .c-btn__bg--01 {
        max-width: 220px;
    }

    .c-property--custom .c-property__item dt {
        padding: 0 40px;
        width: 340px;
        flex-shrink: 0;
    }

    .c-property--custom .c-property__item dd *:first-child,
    .c-property--post .c-property__item dd *:first-child,
    .c-property--cookie .c-property__item dd *:first-child {
        margin-top: 0;
    }

    .c-property--cookie .c-property__item dt {
        padding: 0 40px;
        width: 400px;
        flex-shrink: 0;
    }

    .c-property--post .c-property__item dt {
        padding: 0 40px;
        width: 500px;
        flex-shrink: 0;
    }

    .contactus a:hover {
        opacity: 0.6;
    }

    .c-greybox,
    .c-inquiries {
        max-width: 650px;
    }

    .c-group {
        margin-top: 0 !important;
    }

    .c-group>* {
        margin-top: 1.5em;
    }

    .c-group,
    .c-service__group {
        display: flex;
        flex-wrap: wrap;
    }

    .c-group--col2,
    .c-service__group--col2 {
        justify-content: space-between;
    }

    .c-group--between {
        justify-content: space-between;
    }

    .c-group--center {
        justify-content: center;
    }

    .c-group--col2.c-group--center>*:nth-child(even) {
        margin-left: 2%;
    }

    .c-group--col2.c-group--center>*:nth-child(odd) {
        margin-right: 2%;
    }

    .c-group--col2>* {
        flex-basis: 48%;
    }

    .c-service__group--col2 .c-service__item {
        flex-basis: 48%;
        display: flex;
    }

    .c-accordion__head:hover,
    .c-accordion__end:hover {
        cursor: pointer;
    }

    /* news page */
    .news .p-news-bottom {
        display: flex;
        justify-content: space-between;
    }

    .news .p-news-bottom .news-year {
        margin-bottom: 0;
        margin-top: 40px;
    }

    .news .p-news-bottom .p-pager {
        /* margin-bottom: 0; */
        margin-top: 40px;
    }

    .p-pager .p-pager__prev {
        margin-right: 30px;
    }

    .p-pager .p-pager__next {
        margin-left: 30px;
    }

    /* seminar page */
    .seminar.news .news-sect__link {
        margin: 0;
    }

    /* ikeda */
    .p-page-header__ttl--main._small {
        font-size: 4.5rem;
        font-weight: 500;
    }

    .c-img--col2>img {
        margin: 0 15px 30px;
        max-width: 290px;
    }

    .p-article .c-section__boder--top,
    .c-section__boder--top {
        margin-top: 60px;
    }

    .c-property--hadena dt {
        margin-bottom: 0;
    }

    .c-property--hadena dl {
        align-items: center;
    }

    /* pagination */
    .p-pager li a,
    .p-pager li span {
        width: 56px;
        height: 56px;
        line-height: 54px;
    }
}

@media screen and (max-width: 767px) {
    .u-only-pc {
        display: none !important;
    }

    .c-img {
        max-width: 300px;
    }

    .c-img--center {
        max-width: 300px;
    }

    .c-greybox,
    .c-inquiries {
        max-width: 300px;
    }

    .contactus .c-btn-contact {
        max-width: 300px;
    }

    .c-img--sizeS {
        margin-right: auto;
        margin-left: auto;
        max-width: 175px;
        text-align: center;
    }

    .c-table-wrapper.c-table--cookie {
        margin-right: 0;
    }

    .c-property--post .c-property__item dt {
        display: flex;
    }

    .c-property--post .c-property__item dt span {
        flex-shrink: 0;
        width: 70px;
    }

    /* news page */
    .news .p-news-bottom .p-pager {
        margin: 30px 0;
    }

    .news .p-news-bottom .p-pager__main {
        margin: 0 auto;
    }

    .news .p-news-bottom .p-pager .p-pager__prev {
        display: inline-block;
        margin-right: 20px;
    }

    .news .p-news-bottom .p-pager .p-pager__next {
        display: inline-block;
        margin-left: 20px;
    }

    /* ikeda */
    .p-page-header__ttl--main._small {
        font-size: 2rem;
        font-weight: 500;
    }

    .c-group--col2>*+* {
        margin-top: 20px;
    }

    .c-img--col2>img {
        margin: 0 0 20px;
    }

    .p-article .c-section__boder--top,
    .c-section__boder--top {
        margin-top: 40px;
    }

    /* pagination */
    .p-pager li a,
    .p-pager li span {
        width: 40px;
        height: 40px;
        line-height: 38px;
    }

    .p-new-bottom--reverse .news-year {
        margin-top: 30px;
    }
}

.index-lead__ttl {
    font-size: 4.4rem;
    letter-spacing: 0;
    color: #1A1A1A;
    line-height: 1.7;
    font-family: "Noto Sans JP", sans-serif;
}

.index-lead__txt {
    margin-top: 65px;
    font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
    .index-lead__ttl {
        font-size: 2.2rem;
        letter-spacing: -0.05em;
    }

    .index-lead__txt {
        margin-top: 30px;
        font-size: 1.5rem;
    }
}

.p-page-header__breadcrumbs {
    width: calc(100% - 40px);
    text-align: right;
    justify-content: flex-end;
}

.p-page-header__breadcrumbs li {
    flex-shrink: 0;
}

.p-page-header__breadcrumbs li:last-child {
    flex-shrink: 1;
    display: flex;
}

@media screen and (min-width: 768px) {
    button.mt-site-search-form__button {
        display: none;
    }
}

/*header input saerch*/
@media screen and (max-width: 767px) {
    .mt-site-search-form__button {
        width: 50px;
        height: 50px;
        text-indent: -9999em;
        background: #1e449a url(/common/img/ico__search.svg) center center no-repeat;
        background-size: 20px;
        position: absolute;
        right: 0;
        top: 0;
    }
}

.mt-site-search-form__query {
    font-family: "Noto Sans JP", sans-serif;
    padding: 0px 15px;
    font-size: 1.6rem;
}

/* Element Blog About */
.index-reason__item .index-reason__sttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 50px;
}

.index-reason__item .index-reason__sttl--main {
    font-size: 1.6rem;
    color: #888;
    line-height: 1;
    padding-left: 20px;
    display: block;
}

.index-reason__item .index-reason__sttl--main b {
    font-size: 3.8rem;
    display: block;
    color: #1a1a1a;
    line-height: 1;
    margin: 7px 0 0;
}

.index-reason__item--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    position: relative;
}

.index-reason__item {
    position: relative;
}

.index-reason__item .index-reason__txt {
    width: calc(100% - 700px);
    background: #fff;
}

@media print,
screen and (min-width: 768px) {
    .index-reason__item figure {
        width: 700px;
        overflow: hidden;
    }

    .index-reason__item {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 0 0 150px;
    }

    .index-reason__item--01 .index-reason__txt {
        width: calc(100% - 640px);
        background: #fff;
        position: relative;
        top: 0;
        left: 0;
        padding: 10px 70px 60px 0
    }
}

@media screen and (max-width: 767px) {
    .index-reason__item .index-reason__sttl {
        margin: 0 0 9.11458vw;
    }

    .index-reason__item .index-reason__sttl--main b {
        font-size: 3.0rem;
    }

    .index-reason__item--01 .index-reason__txt {
        margin-top: -60px
    }

    .index-reason__item .index-reason__txt {
        width: calc(100% + 20px);
        padding: 10.41667vw 20px;
        z-index: 2;
        position: relative;
        left: 0;
    }
}

.index-reason__item--01 figure {
    top: 40px;
    position: relative
}

@media screen and (max-width: 767px) {
    .index-reason__item--01 figure {
        top: 0;
        left: -20px
    }
}

/* contents list*/
.index-contents__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 95px 0 0
}

@media screen and (max-width: 767px) {
    .index-contents__list {
        margin: 9.11458vw 0 0
    }
}

.index-contents__item {
    width: 33.3333333%;
    position: relative
}

@media screen and (max-width: 767px) {
    .index-contents__item {
        width: 100%
    }
}

.index-contents__item a {
    display: block;
    text-align: center;
    padding: 30px 0;
    text-decoration: none;
}

.index-contents__ttl {
    font-size: 2.2rem;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.7;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

@media screen and (max-width: 767px) {
    .index-contents__ttl {
        font-size: 2rem
    }
}

.index-contents__txt {
    margin: 20px 0 0
}

@media screen and (max-width: 767px) {
    .index-contents__txt {
        font-size: 1.5rem;
        margin: 2.60417vw 0 0
    }
}

.index-contents__link {
    margin-top: 30px !important
}

@media print,
screen and (min-width: 768px) {
    .index-contents__list {
        margin: 0px -2rem;
    }
}

@media screen and (max-width: 767px) {
    .index-contents__link {
        margin-top: 7.8125vw !important
    }
}

@media print,
screen and (min-width: 768px) {
    .index-contents__item {
        padding: 0px 2rem;
        box-sizing: border-box;
    }
}

/* 2025/1/31 サービスページリニューアルに伴いコメントアウト
   該当箇所は services/css/index.css 868~ に移動

    .index-contents__item:nth-child(1)::after,
    .index-contents__item:nth-child(2)::after,
    .index-contents__item:nth-child(3)::after {
        content: "";
        display: block;
        width: calc(100% - 46px);
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 23px;
        background: #dedede;
    }
}

@media print,
screen and (min-width: 768px) {

    .index-contents__item:nth-child(2),
    .index-contents__item:nth-child(5) {
        border-left: 1px solid #dedede;
        border-right: 1px solid #dedede
    }
}

@media print,
screen and (min-width: 768px) {

    .index-contents__item:nth-child(4) a,
    .index-contents__item:nth-child(5) a,
    .index-contents__item:nth-child(6) a {
        padding-top: 52px
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(1) {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(2) {
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(3) {
        -webkit-box-ordinal-group: 6;
        -webkit-order: 5;
        -ms-flex-order: 5;
        order: 5
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(4) {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(5) {
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
        -ms-flex-order: 4;
        order: 4
    }
}

@media screen and (max-width: 767px) {
    .index-contents__item:nth-child(6) {
        -webkit-box-ordinal-group: 7;
        -webkit-order: 6;
        -ms-flex-order: 6;
        order: 6
    }
} */

.c-btn-wrapper a {
    text-decoration: none;
}

/* sitemap*/
.p-article .l-footer-gnav__sub {
    margin-top: 45px;
}

/*table highlight */
.ir_highlight_table thead th {
    background-color: #6E6E6E;
    color: #FFFFFF;
}

.ir_highlight_table tbody td {
    text-align: right;
}

.bs_tbl_section02 table th {
    vertical-align: top;
}

.ir_highlight_table tbody tr:nth-child(even) {
    background-color: #F5F5F5;
}

table tr th,
table tr td {
    padding: 20px;
    text-align: left;
    font-weight: bold;
    border-bottom: 1px solid #e1e1e1;
}

@media screen and (max-width: 767px) {
    .ir_highlight_table {
        display: block;
    }

    .ir_highlight_table thead {
        display: none;
    }

    .ir_highlight_table tbody {
        display: block;
    }

    .ir_highlight_table span.mr25 {
        display: inline-block;
        padding-right: 20px;
    }

    .ir_highlight_table tbody tr {
        display: block;
        margin-bottom: 1.5em;
    }

    .ir_highlight_table tbody th,
    .ir_highlight_table tbody td {
        display: list-item;
        border: none;
    }

    .ir_highlight_table tbody th {
        margin-bottom: 5px;
        list-style-type: none;
        color: #fff;
        background: #6E6E6E;
    }

    .ir_highlight_table tbody td {
        text-align: left;
        margin-left: 20px;
        padding: 0;
    }

    .ir_highlight_table tbody td span {
        display: inline-block;
    }

    .tanni {
        text-align: right;
        width: auto;
    }
}

@media screen and (min-width: 960px) {
    .ir_highlight_table span.mr25 {
        display: none;
    }

    .ir_highlight_table {
        display: table;
    }

    .ir_highlight_table thead {
        display: inline;
    }

    .ir_highlight_table thead tr {
        display: table-row;
    }

    .ir_highlight_table thead th,
    .ir_highlight_table thead td {
        display: table-cell;
    }

    .ir_highlight_table tbody {
        display: inline;
    }

    .ir_highlight_table tbody tr {
        display: table-row;
    }

    .ir_highlight_table tbody th,
    .ir_highlight_table tbody td {
        display: table-cell;
        padding: 20px;
        text-align: left;
        font-weight: bold;
        border-bottom: 1px solid #e1e1e1;
        width: 120px;
    }

    .ir_highlight_table thead th {
        width: 120px;
    }

    .ir_highlight_table tbody td {
        text-align: right;
    }

    .ir_highlight_table thead .ir_highlight_th01,
    .ir_highlight_table tbody th {
        width: 360px;
    }

    .tanni {
        text-align: right;
        width: 960px;
    }
}

.contactus.contactus-full-w {
    border: 1px solid #CCCCCC;
    background-color: #EDEDED;
    padding: 20px;
    text-align: center;
}

.contactus.contactus-full-w h2 {
    font-size: 120%;
}

.contactus.contactus-full-w p {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.contactus.contactus-full-w a {
    width: 172px;
    background-color: #FF991A;
    margin: 0px auto;
    display: block;
    text-decoration: none;
    color: white;
    padding: 6px;
    font-size: 16px;
    font-weight: bold;
}

.contactus.contactus-full-w a:hover {
    opacity: 0.6;
}

/*ir library*/
.ir_ul01 li {
    float: left;
    display: inline;
    background: url(/assets/list_icon02.gif) no-repeat left center;
    padding-left: 20px;
    margin: 0em 1em 1em 0;
}

.clear {
    clear: both;
}

dl.c-property__item_2 {
    border-bottom: 1px solid #dedede;
    clear: both;
}

.c-property__item_2 dt {
    float: left;
    font-size: 1em;
}

table.c-property__item_2 tr {
    border-bottom: 1px solid #dedede;
}

table.c-property__item_2 tr:last-child {
    border-bottom: none;
}

table.c-property__item_2 th,
table.c-property__item_2 td {
    padding: 5px 1em;
    border-bottom: none;
}

table.c-property__item_2 {
    width: 100%;
}

table.c-property__item_2 th {
    text-align: left;
    width: 78%;
}

table.c-property__item_2 td {
    text-align: right;
    width: 20%;
    font-weight: normal;
}

@media screen and (max-width: 767px) {

    table.c-property__item_2 th,
    table.c-property__item_2 td {
        width: 100%;
        display: block;
    }
}

/* ir_calendar */
.ir_calendar_table tr {
    border-bottom: 1px solid #e1e1e1;
}

.ir_calendar_table tr th,
.ir_calendar_table tr td {
    border-bottom: 0px;
}

@media screen and (max-width: 767px) {

    .ir_calendar_table tr th,
    .ir_calendar_table tr td {
        display: block;
        width: 100%;
    }
}

/**/
.u-fw-b {
    font-weight: bold;
}

.vision-list.u-c-main li::before {
    background: #ffa528 !important;
}

/* pager topics */
.p-news-bottom .p-pager__main li a,
.p-news-bottom .p-pager__main li span {
    color: #fff;
    background: #ffa528;
}

.p-news-bottom .p-pager__main li a i,
.p-news-bottom .p-pager__main li span i {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.is-view-pc .p-news-bottom .p-pager__main li a:hover {
    color: #ffa528;
    background: #fff;
}

.is-view-pc .p-news-bottom .p-pager__main li a:hover i {
    border-right: 1px solid #ffa528;
    border-bottom: 1px solid #ffa528;
}

@media print,
screen and (min-width: 768px) {
    .p-news-bottom.d-initial {
        display: initial;
    }
}

/* 2021/06/09 add start */
.c-ttl--02 {
    color: #1a1a1a;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.07em;
    line-height: 1.4;
}

.c-ttl--02.c-ttl--en {
    font-family: "Red Hat Display", sans-serif;
}

@media print,
screen and (min-width: 768px) {
    .c-ttl--02 {
        font-size: 3.8rem;
        margin: 35px 0 20px;
    }
}

@media screen and (max-width: 767px) {
    .c-ttl--02 {
        font-size: 2.3rem;
        letter-spacing: 0.15rem;
        display: block;
    }

    .c-lead {
        line-height: 1.7;
    }

    .c-list--dot li {
        padding-left: calc(0.7em + 5px);
    }

    .c-list--dot li::before {
        height: 10px;
        top: 8px;
        width: 10px;
    }

    .p-article .u-clr .left {
        width: 50%;
    }
}

/* 2021/06/09 add end */

/* 2022/08/17 add */
.is-search-open .l-header-gnav {
    opacity: 0;
}

/* 2022/08/17 add end */

@media screen and (max-width: 767px) {
    .sp-webttl {
        font-size: 2.5rem !important;
    }
}