@charset "UTF-8";

html {
    font-size: 10px
}

@media screen and (min-width:93.8125em) {
    html {
        font-size: 12.5px
    }
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
button,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
input,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
textarea,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    color: #333;
    outline: 0;
    -webkit-font-smoothing: antialiased;
    font-size: 16;
    vertical-align: baseline;
    background: transparent;
    font-family:  "Microsoft YaHei", "PingFang SC", "Calibri", "opensans", "GothicArial", "Arial", "San Francisco", 'Hiragino Sans GB', "Helvetica Neue", Helvetica, sans-serif;    -webkit-font-feature-settings: "palt"1;
    font-feature-settings: "palt"1
}

@media screen\0 {

    abbr,
    address,
    article,
    aside,
    audio,
    b,
    blockquote,
    body,
    button,
    canvas,
    caption,
    cite,
    code,
    dd,
    del,
    details,
    dfn,
    div,
    dl,
    dt,
    em,
    fieldset,
    figcaption,
    figure,
    footer,
    form,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    header,
    hgroup,
    html,
    i,
    iframe,
    img,
    input,
    ins,
    kbd,
    label,
    legend,
    li,
    mark,
    menu,
    nav,
    object,
    ol,
    p,
    pre,
    q,
    samp,
    section,
    small,
    span,
    strong,
    sub,
    summary,
    sup,
    table,
    tbody,
    td,
    textarea,
    tfoot,
    th,
    thead,
    time,
    tr,
    ul,
    var,
    video {
    font-family:  "Microsoft YaHei", "PingFang SC", "Calibri", "opensans", "GothicArial", "Arial", "San Francisco", 'Hiragino Sans GB', "Helvetica Neue", Helvetica, sans-serif;    }
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
button,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
img,
input,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
textarea,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    font-size: 1.6rem
}

@media screen and (max-width:48em) {

    abbr,
    address,
    article,
    aside,
    audio,
    blockquote,
    body,
    b,
    button,
    canvas,
    caption,
    cite,
    code,
    dd,
    del,
    details,
    dfn,
    div,
    dl,
    dt,
    em,
    fieldset,
    figcaption,
    figure,
    footer,
    form,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    header,
    hgroup,
    i,
    iframe,
    img,
    input,
    ins,
    kbd,
    label,
    legend,
    li,
    mark,
    menu,
    nav,
    object,
    ol,
    p,
    pre,
    q,
    samp,
    section,
    small,
    span,
    strong,
    sub,
    summary,
    sup,
    table,
    tbody,
    td,
    textarea,
    tfoot,
    th,
    thead,
    time,
    tr,
    ul,
    var,
    video {
        font-size: 1.4rem
    }
}

body {
    line-height: 1;
    letter-spacing: 0.05em
}

p {
    line-height: 1.75em;
    color: #666
}

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

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

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

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

del {
    text-decoration: line-through
}

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

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

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

input,
select {
    vertical-align: middle
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

li {
    list-style: none
}

img {
    vertical-align: bottom
}

button,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

select::-ms-expand {
    display: none
}

.l-header {
    width: 100%;
    height: 8rem;
    line-height: 8rem;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100
}

@media screen and (max-width:48em) {
    .l-header {
        height: 6rem;
        line-height: 6rem
    }
}

.l-header-inner {
    width: 92.2%;
    height: 100%;
    margin: 0 auto
}

.l-header-logo {
    float: left;
    width: 150px;
    display: block;
}

@media screen and (max-width:48em) {
    .l-header-logo {
        height: 3rem;
        width: auto;
    }
}

@media screen and (min-width:1024px) and (max-width:1269px) {
    .l-header-logo {
        height: 3.5rem;
        width: 24.13rem;
    }
}

.l-header-logo img {
    height: 100%;
    width: auto;
    vertical-align: middle;
}

.l-header-nav {
    float: right;
    overflow: hidden;
    display: none
}

@media screen and (min-width:1024px) {
    .l-header-nav {
        display: block
    }
}

.l-header-btn {
    float: right
}

.l-header-toggle {
    position: fixed;
    top: 22px;
    right: 10vw
}

@media screen and (max-width:48em) {
    .l-header-toggle {
        right: 3.9%
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .l-header-toggle {
        top: 31px;
        right: 3.9%
    }
}

.l-header-nav-list {
    overflow: hidden;
    float: right
}

.l-header-nav-list__item {
    float: left;
    margin-right: 3rem
}

@media screen and (min-width:1024px) and (max-width:1269px) {
    .l-header-nav-list__item {
        margin-right: 1.8rem
    }
}

.l-header-nav-list__item a {
    font-size: 20px;
    color: #5d5e61;
    line-height: 8rem;
    letter-spacing: 0.1em
}

@media screen and (min-width:1024px) and (max-width:1269px) {
    .l-header-nav-list__item a {
        font-size: 1.2rem
    }
}

.l-footer {
    width: 100%
}

.l-footer-about {
    position: absolute;
}

@media screen and (min-width:48.0625em) {
    .l-footer-about {
        right: 0
    }
}

@media screen and (max-width:48em) {
    .l-footer-about {
        left: 0
    }
}

.l-footer-btn {
    display: inline-block
}

.l-footer-copy {
    display: block;
    color: #949494;
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (max-width:48em) {
    .l-footer-copy {
        height: 5rem;
        line-height: 5rem;
        margin-bottom: 0
    }
}

.l-footer-logo {
    width: 150px;
}
.l-footer-text {
    position: absolute;
    top: 60px;
    right: 0;
}

.l-footer .heading-text {
    display: block;
    color:#fff;
}

.l-footer-text p {
    font-size:14px;
    color:#fff;
    line-height: 30px;
}

.l-footer-logo svg {
    width: auto;
    height: 100%;
    vertical-align: top
}

.l-footer--col4 {
    width: 23.5%;
    margin-right: 2%;
    position: relative
}

.l-footer--col4:last-of-type {
    margin-right: 0;
    text-align: right
}

@media screen and (max-width:48em) {
    .l-footer--col4 {
        width: 100%;
        margin-right: 0
    }
    .l-footer--col4:last-of-type {
        min-height: 150px;
        text-align: left;
    }
}

.l-footer-sitemap {
    width: 92.2%;
    padding: 7.8% 3.9%;
    background-color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:48em) {
    .l-footer-sitemap {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        padding: 4.8rem 3.9%
    }
}

.l-footer-sitemap-heading {
    border-bottom: 1px solid #636363;
    letter-spacing: 0.2em;
    margin-bottom: 2.8rem;
    padding-bottom: 2.8rem;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-heading {
        font-size: 1.2rem;
        padding-bottom: 2.4rem;
        margin-bottom: 2.4rem
    }
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-heading:after {
        content: "";
        position: absolute;
        right: 15px;
        color: #fff;
        width: 15px;
        height: 15px;
        background-image: url(../images/down.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        font-weight: 900;
        font-style: normal;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga'1;
        font-feature-settings: 'liga'1;
        -webkit-font-smoothing: antialiased;
        vertical-align: middle
    }
}

.l-footer-sitemap-heading.active:after {
    content: ""
}

.l-footer-sitemap-item {
    margin-bottom: 1.3rem
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-item {
        margin-bottom: 1.2rem
    }
}

.l-footer-sitemap-item a {
    color: #fff;
    font-size: 1.3rem;
    font-weight: 500
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-item a {
        font-size: 1.2rem
    }
}

.l-footer-sitemap-item:hover a {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-item:last-of-type {
        margin-bottom: 4.8rem
    }
}

@media screen and (max-width:48em) {
    .l-footer-sitemap-list {
        display: none
    }
}

.l-footer-group-logo {
    height: auto;
    width: auto;
    background-color: #fff;
    padding: 15px 0;
    text-align: center
}

.l-footer-group-logo svg {
    height: 100%;
    width: auto
}

@media screen and (max-width:48em) {
    .l-footer-group-logo {
        height: 3rem;
        padding: 1.5rem 0
    }
}

.l-nav-sp {
    background-color: #fff;
    border-radius: 5px 0 0 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 70vw;
    padding: 0 3.9vw 3.9vw 3.9vw;
    position: fixed;
    top: 0;
    right: 0;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    opacity: 0;
    z-index: 200;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    display: block
}

@media screen and (min-width:1024px) {
    .l-nav-sp {
        display: none
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .l-nav-sp {
        width: 50vw
    }
}

.l-nav-sp.active {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.l-nav-sp-inner {
    height: 100%;
    -webkit-overflow-scrolling: touch;
    position: relative
}

.l-nav-sp-main {
    width: 70%;
    position: absolute;
    top: 6rem;
    right: 0
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .l-nav-sp-main {
        top: 8rem
    }
}

.l-nav-sp-list__item {
    background-color: #fff;
    border-top: 1px solid #ccc;
    line-height: calc(1.5rem * 4);
    overflow: hidden;
    position: relative
}

.l-nav-sp-list__item:last-of-type {
    border-bottom: 1px solid #ccc
}

.l-nav-sp-list__item a {
    display: block;
    width: 100%;
    height: 100%;
    color: #333;
    font-size: 1.5rem;
    font-weight: 900
}

.l-nav-sp-list__item .c-btn-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #000000
}

.l-nav-sp-list__item {
    opacity: 0;
    -webkit-transform: translateX(-10%);
    -ms-transform: translateX(-10%);
    transform: translateX(-10%);
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.l-nav-sp__btn {
    width: calc(60vw - 8px);
    margin: 0 auto
}

.l-nav-sp-btn {
    border: 1px solid #ccc;
    border-radius: 4rem;
    display: inline-block;
    line-height: 1em;
    margin-top: 1.8rem;
    padding: 1.8rem;
    overflow: hidden;
    position: relative;
    opacity: 0;
    -webkit-transform: translateX(-10%);
    -ms-transform: translateX(-10%);
    transform: translateX(-10%);
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.l-nav-sp-btn a {
    color: #353535;
    font-size: 1.4rem;
    font-weight: 900
}

.l-nav-sp-baner {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    letter-spacing: -.4em;
    opacity: 0;
    -webkit-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    transition-duration: 0.7s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.l-nav-sp-baner-inner {
    border-radius: 5px;
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative
}

.l-nav-sp-baner-inner img {
    width: 100%;
    height: auto;
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    transition-duration: 0.7s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.l-nav-sp-baner__heading {
    background-color: #000000;
    letter-spacing: 0.05em;
    line-height: 1em;
    position: absolute;
    top: 50%;
    right: 2.5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 0.2em;
    z-index: 2;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 900
}

.l-nav-sp.active .l-nav-sp-list__item {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.l-nav-sp.active .l-nav-sp-list__item:first-of-type {
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s
}

.l-nav-sp.active .l-nav-sp-list__item:nth-of-type(2) {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s
}

.l-nav-sp.active .l-nav-sp-list__item:nth-of-type(3) {
    -webkit-transition-delay: 0.25s;
    -o-transition-delay: 0.25s;
    transition-delay: 0.25s
}

.l-nav-sp.active .l-nav-sp-list__item:nth-of-type(4) {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s
}

.l-nav-sp.active .l-nav-sp-list__item:nth-of-type(5) {
    -webkit-transition-delay: 0.35s;
    -o-transition-delay: 0.35s;
    transition-delay: 0.35s
}

.l-nav-sp.active .l-nav-sp-list__item:nth-of-type(6) {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s
}

.l-nav-sp.active .l-nav-sp-btn {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition-delay: 0.45s;
    -o-transition-delay: 0.45s;
    transition-delay: 0.45s
}

.l-nav-sp.active .l-nav-sp-baner,
.l-nav-sp.active .l-nav-sp-baner-inner img {
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s
}

.l-nav-sp.active .l-nav-sp-baner {
    opacity: 1
}

.l-nav-sp.active .l-nav-sp-baner-inner img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.l-nav-label {
    display: block;
    position: absolute;
    top: 50%;
    left: 3.9%;
    -webkit-transform: rotate(-90deg) translate(-50%, -50%);
    -ms-transform: rotate(-90deg) translate(-50%, -50%);
    transform: rotate(-90deg) translate(-50%, -50%);
    -webkit-transform-origin: left top 0;
    -ms-transform-origin: left top 0;
    transform-origin: left top 0;
    color: #999;
    font-size: 1.2rem;
    font-weight: 400
}

.l-nav-overlay {
    background-color: #000;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    opacity: 0;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    pointer-events: none
}

.l-nav-overlay.active {
    opacity: 0.7
}

.l-contents {
    position: relative;
    width: 100%;
    height: auto
}

.l-sub-contents {
    background-color: #efefef;
    padding-bottom: 7.8%
}

.l-page {
    opacity: 0
}

.l-page.active {
    opacity: 1
}

@media screen and (max-width:48em) {
    .c-br--pc {
        display: none
    }
}

@media screen and (min-width:48.0625em) {
    .c-br--pc {
        display: block
    }
}

@media screen and (max-width:48em) {
    .c-br--sp {
        display: block
    }
}

@media screen and (min-width:48.0625em) {
    .c-br--sp {
        display: none
    }
}

.c-icon {
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga'1;
    font-feature-settings: 'liga'1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle
}

.c-btn,
.c-btn-border {
    padding: 1.3rem;
    line-height: 1em;
    overflow: hidden;
    position: relative;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    z-index: 0;
    font-size: 1.4rem;
    font-weight: 900
}

.c-btn-border:before,
.c-btn:before {
    content: "";
    border-radius: 25px;
    background-color: #ccc;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 0;
    -webkit-transform: scale(0.5, 0.5);
    -ms-transform: scale(0.5, 0.5);
    transform: scale(0.5, 0.5);
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.c-btn-border:hover:before,
.c-btn:hover:before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}

.c-btn-border {
    border: 1px solid #333
}

.c-btn-arrow {
    width: 1.6rem;
    height: 1.6rem;
    background-color: #353535;
    border-radius: 50%
}

.c-btn-arrow-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.c-btn-arrow-inner:after,
.c-btn-arrow-inner:before {
    content: "";
    display: block;
    width: 0.5rem;
    height: 1px;
    background-color: #fff
}

.c-btn-arrow-inner:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: bottom right;
    -ms-transform-origin: bottom right;
    transform-origin: bottom right
}

.c-btn-arrow-inner:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: top right;
    -ms-transform-origin: top right;
    transform-origin: top right;
    margin-top: -1px
}

.c-btn--ico {
    display: block;
    width: 20rem;
    height: 5rem;
    line-height: 5rem;
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 5rem
}

@media screen and (max-width:48em) {
    .c-btn--ico {
        width: calc(50vw - 7.8%)
    }
}

.c-btn--ico__text {
    color: #353535;
    font-size: 1.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .c-btn--ico__text {
        font-size: 1.2rem
    }
}

.c-btn--ico .c-btn-arrow {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.c-btn--ico .c-btn-arrow-inner:after,
.c-btn--ico .c-btn-arrow-inner:before {
    background-color: #fff
}

.c-btn--ico:hover .c-btn-arrow {
    right: 1.5rem
}

.c-mouse {
    position: relative;
    width: 23px;
    height: 40px;
    margin: 0 auto;
    -webkit-transform: translateY(39px);
    -ms-transform: translateY(39px);
    transform: translateY(39px)
}

.c-mouse:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 12.5px;
    border: 1px solid #ccc
}

@media screen and (max-width:48em) {
    .c-mouse:before {
        display: none
    }
}

.c-mouse:after {
    content: "";
    height: 125px;
    width: 1px;
    background-color: #ccc;
    position: absolute;
    top: 20px;
    left: 12px
}

.c-mouse__scroll {
    position: absolute;
    bottom: 11px;
    left: 12px;
    width: 1px;
    height: 20px;
    background-color: #666;
    -webkit-animation-name: mouse;
    animation-name: mouse;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    z-index: 10
}

@-webkit-keyframes mouse {
    0% {
        height: 10px;
        opacity: 1
    }

    70% {
        height: 0;
        opacity: 1
    }

    to {
        height: 0;
        opacity: 1
    }
}

@keyframes mouse {
    0% {
        height: 10px;
        opacity: 1
    }

    70% {
        height: 0;
        opacity: 1
    }

    to {
        height: 0;
        opacity: 1
    }
}

.c-menu-line {
    position: relative;
    overflow: hidden
}

.c-menu-line:after {
    content: "";
    position: absolute;
    top: 60%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 2px;
    background-color: #000000;
    -webkit-transition-duration: 0.25s;
    -o-transition-duration: 0.25s;
    transition-duration: 0.25s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.c-menu-line:hover:after {
    width: 100%
}

.c-toggle {
    display: block;
    width: 20px;
    height: 16px;
    cursor: pointer;
    z-index: 210
}

.c-toggle-wrap {
    position: relative;
    width: 100%;
    height: 100%
}

.c-toggle__line {
    display: inline-block;
    background-color: #333;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 2px;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    position: absolute;
    left: 0;
    -webkit-animation-name: c-toggle_ani;
    animation-name: c-toggle_ani;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

@media screen and (min-width:1024px) {
    .c-toggle {
        display: none
    }
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .c-toggle {
        width: 28px;
        height: 18px
    }
}

@-webkit-keyframes c-toggle_ani {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes c-toggle_ani {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.c-toggle__line:first-of-type {
    top: 0;
    width: 30%
}

.c-toggle__line:nth-of-type(2) {
    top: 7px;
    width: 80%;
    -webkit-animation-delay: 0.25s;
    animation-delay: 0.25s
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .c-toggle__line:nth-of-type(2) {
        top: 8px
    }
}

.c-toggle__line:nth-of-type(3) {
    bottom: 0;
    width: 40%;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s
}

.c-toggle.active .c-toggle__line:first-of-type {
    -webkit-transform: translateY(7px) rotate(-45deg);
    -ms-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg)
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .c-toggle.active .c-toggle__line:first-of-type {
        -webkit-transform: translateY(8px) rotate(-45deg);
        -ms-transform: translateY(8px) rotate(-45deg);
        transform: translateY(8px) rotate(-45deg)
    }
}

.c-toggle.active .c-toggle__line:nth-of-type(2) {
    -webkit-transform: translateX(60px);
    -ms-transform: translateX(60px);
    transform: translateX(60px);
    opacity: 0
}

.c-toggle.active .c-toggle__line:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    -ms-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg)
}

@media screen and (min-width:769px) and (max-width:1024px) {
    .c-toggle.active .c-toggle__line:nth-of-type(3) {
        -webkit-transform: translateY(-8px) rotate(45deg);
        -ms-transform: translateY(-8px) rotate(45deg);
        transform: translateY(-8px) rotate(45deg)
    }
}

.fadeout {
    opacity: 0.0;
    -webkit-transform-origin: top center 0;
    -ms-transform-origin: top center 0;
    transform-origin: top center 0;
    -webkit-transform: matrix(1, 0, 0, 1, -50, 0);
    -ms-transform: matrix(1, 0, 0, 1, -50, 0);
    transform: matrix(1, 0, 0, 1, -50, 0)
}

@media screen and (max-width:48em) {
    .fadeout {
        -webkit-transform: matrix(1, 0, 0, 1, -7.8, 0);
        -ms-transform: matrix(1, 0, 0, 1, -7.8, 0);
        transform: matrix(1, 0, 0, 1, -7.8, 0)
    }
}

.fadein {
    -webkit-transform-origin: top center 0;
    -ms-transform-origin: top center 0;
    transform-origin: top center 0;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    opacity: 1.0;
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    -ms-transform: matrix(1, 0, 0, 1, 0, 0);
    transform: matrix(1, 0, 0, 1, 0, 0)
}

.c-mail-input {
    width: 100%
}

@media screen and (max-width:48em) {
    .c-mail-input {
        font-size: 1.6rem
    }
}

.c-mail-input {
    background-color: #fff;
    border: none;
    outline: 0;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #666
}

.c-mail-input:focus {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.c-mail-input:-webkit-autofill {
    -webkit-transition: background-color 9999s;
    -o-transition: background-color 9999s;
    transition: background-color 9999s
}

.c-mail-check__item {
    display: none
}

.c-mail-check__item+span {
    display: inline-block;
    padding: 1rem 0 0 6rem;
    position: relative;
    cursor: pointer
}

@media screen and (max-width:48em) {
    .c-mail-check__item+span {
        padding: 1.3rem 0 0 5.4rem
    }
}

.c-mail-check__item+span:hover:after {
    opacity: 0.2
}

.c-mail-check__item+span:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 4rem;
    height: 4rem;
    border: 1px solid #ccc;
    border-radius: 10%
}

.c-mail-check__item+span:after {
    font-weight: normal;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga'1;
    font-feature-settings: 'liga'1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
    content: "\e558";
    font-size: 2rem;
    font-weight: 900;
    display: block;
    width: 4rem;
    height: 4rem;
    text-align: center;
    margin-top: 1rem;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    color: #333
}

.c-mail-check__item:checked+span:after {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    opacity: 1
}

body {
    overflow-x: hidden;
    position: static
}

body.active {
    position: fixed
}

a {
    color: #333
}

.p-heading--24 {
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    color: #000000
}

@media screen and (max-width:48em) {
    .p-heading--24 {
        font-size: 2rem
    }
}

.p-heading-sub {
    color: #000000;
    font-size: 2rem;
    font-weight: 900;
    position: relative;
    padding-bottom: 2rem;
    border-bottom: 2px solid #ccc
}

@media screen and (max-width:48em) {
    .p-heading-sub {
        font-size: 1.6rem;
        padding-bottom: 2.5rem
    }
}

.p-heading-sub:before {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 20%;
    height: 4px;
    background-color: #000000
}

.p-p-u-b-3 {
    margin-bottom: 3rem
}

.p-p-u-b-5 {
    margin-bottom: 5rem
}

@media screen and (max-width:48em) {
    .p-p-u-b-5 {
        margin-bottom: 2.5rem
    }
}

.p-p-u-b-10 {
    margin-bottom: 10rem
}

@media screen and (max-width:48em) {
    .p-p-u-b-10 {
        margin-bottom: 5rem
    }
}

.p-kv {
    margin-top: 8rem
}

@media screen and (max-width:48em) {
    .p-kv {
        margin-top: 6rem
    }
}

.p-read {
    background-color: #efefef;
    border-radius: 5px 0 0 0;
    width: 100%;
    height: 8rem;
    line-height: 8rem;
    position: relative
}

@media screen and (max-width:48em) {
    .p-read {
        height: 6rem;
        line-height: 6rem
    }
}

.p-read__scroll {
    height: 30px;
    position: absolute;
    top: 50%;
    right: 3.9%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.p-read__scroll-inner {
    display: block;
    height: 30px;
    line-height: 30px;
    padding-right: 27px;
    position: relative;
    overflow: hidden;
    font-size: 1.3rem;
    font-weight: 400
}

@media screen and (max-width:48em) {
    .p-read__scroll-inner {
        text-indent: 100%;
        white-space: nowrap
    }
}

.p-read__scroll-inner:after,
.p-read__scroll-inner:before {
    content: "";
    background-color: #666;
    position: absolute;
    top: 0
}

.p-read__scroll-inner:before {
    width: 1px;
    height: 30px;
    right: 3px
}

.p-read__scroll-inner:after {
    width: 7px;
    height: 7px;
    right: 0;
    border-radius: 50%;
    -webkit-animation-name: mouse;
    animation-name: mouse;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@keyframes mouse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        top: 0;
        opacity: 0
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
        top: 23px;
        opacity: 1
    }

    to {
        -webkit-transform: scale(0);
        transform: scale(0);
        top: 23px;
        opacity: 1
    }
}

.p-index-label,
.p-label {
    display: block;
    position: absolute;
    top: 0;
    left: 3.9%;
    margin-top: 7.8%;
    -webkit-transform: rotate(-90deg) translate(-100%, -50%);
    -ms-transform: rotate(-90deg) translate(-100%, -50%);
    transform: rotate(-90deg) translate(-100%, -50%);
    -webkit-transform-origin: left top 0;
    -ms-transform-origin: left top 0;
    transform-origin: left top 0;
    color: #999;
    font-size: 1.3rem;
    font-weight: 400
}

@media screen and (max-width:48em) {

    .p-index-label,
    .p-label {
        display: none
    }
}

.p-color--white {
    background-color: #fff
}

.p-footer-btn,
.p-header-btn {
    letter-spacing: 0.1em
}

.p-header-btn {
    color: #353535;
    border-radius: 4rem;
    border: 1px solid #ccc;
    display: inherit;
    padding: 1.3rem
}

.p-header-btn:before {
    background-color: #353535
}

.p-header-btn:hover {
    border: 1px solid #353535;
    color: #fff
}

@media screen and (min-width:1024px) and (max-width:1269px) {
    .p-header-btn {
        font-size: 1.2rem;
        padding: 1.2rem
    }
}

.p-footer-btn {
    padding: 1.8rem;
    border-radius: 5rem;
    color: #fff;
    display: block;
    background-color: #636363;
    border: none
}

.p-footer-btn:before {
    border: none;
    background-color: #353535
}

.p-btn--ico {
    border: 2px solid #353535;
    color: #353535
}

.p-btn--ico .c-btn-arrow {
    background-color: #353535
}

.p-loader {
    position: fixed;
    top: 0;
    right: 50%;
    z-index: 9999;
    -webkit-transform: skew(15deg) translateX(50%);
    -ms-transform: skew(15deg) translateX(50%);
    transform: skew(15deg) translateX(50%);
    background-color: #efefef
}

.p-loader.active {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transform: skew(15deg) translateX(150%);
    -ms-transform: skew(15deg) translateX(150%);
    transform: skew(15deg) translateX(150%)
}

.p-transition {
    position: fixed;
    top: 0;
    right: 50%;
    z-index: 9999;
    -webkit-transform: skew(15deg) translateX(-150%);
    -ms-transform: skew(15deg) translateX(-150%);
    transform: skew(15deg) translateX(-150%);
    background-color: #efefef
}

.p-transition.active {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transform: skew(15deg) translateX(50%);
    -ms-transform: skew(15deg) translateX(50%);
    transform: skew(15deg) translateX(50%)
}

.p-img--animation {
    position: relative;
    overflow: hidden
}

.p-img--animation:after {
    content: "";
    background-color: #333;
    display: block;
    width: 150%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: skew(15deg) translateX(-150%);
    -ms-transform: skew(15deg) translateX(-150%);
    transform: skew(15deg) translateX(-150%)
}

.p-img--animation img {
    opacity: 0
}

.p-img--animation.active:after {
    -webkit-animation-name: img_anime;
    animation-name: img_anime;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.p-img--animation.active img {
    -webkit-animation-name: emergence;
    animation-name: emergence;
    -webkit-animation-duration: 0.65s;
    animation-duration: 0.65s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.p-phrase--animation span {
    position: relative;
    overflow: hidden;
    background-color: rgba(0, 104, 183, 0);
    color: rgba(255, 255, 255, 0);
    -webkit-transition-delay: 0.65s;
    -o-transition-delay: 0.65s;
    transition-delay: 0.65s;
    -webkit-transition-duration: 0.01s;
    -o-transition-duration: 0.01s;
    transition-duration: 0.01s;
    z-index: 10
}

.p-phrase--animation span:after {
    content: "";
    display: block;
    height: 100%;
    width: 150%;
    background-color: #5d5e61;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10
}

.p-phrase--animation.active span {
    color: #000;
}

.p-phrase--animation.active span:after {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-name: img_anime;
    animation-name: img_anime
}

@-webkit-keyframes img_anime {
    0% {
        -webkit-transform: skew(15deg) translateX(-150%);
        transform: skew(15deg) translateX(-150%)
    }

    42.5%,
    44.5% {
        -webkit-transform: skew(15deg) translateX(-20%);
        transform: skew(15deg) translateX(-20%)
    }

    to {
        -webkit-transform: skew(15deg) translateX(150%);
        transform: skew(15deg) translateX(150%)
    }
}

@keyframes img_anime {
    0% {
        -webkit-transform: skew(15deg) translateX(-150%);
        transform: skew(15deg) translateX(-150%)
    }

    42.5%,
    44.5% {
        -webkit-transform: skew(15deg) translateX(-20%);
        transform: skew(15deg) translateX(-20%)
    }

    to {
        -webkit-transform: skew(15deg) translateX(150%);
        transform: skew(15deg) translateX(150%)
    }
}

@-webkit-keyframes emergence {
    0% {
        opacity: 0
    }

    99.9% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes emergence {
    0% {
        opacity: 0
    }

    99.9% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.p-sub-kv {
    width: 100%;
    height: 47rem;
    position: relative
}

@media screen and (max-width:48em) {
    .p-sub-kv {
        height: calc(70.7vw + 6rem)
    }
}

.p-sub-kv__img {
    width: 100%;
    height: 100%;
    z-index: -1
}

.p-sub-kv--animation {
    position: relative;
    overflow: hidden
}

.p-sub-kv--animation:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(15deg, white 0%, rgba(255, 255, 255, 0.1) 45%, rgba(255, 255, 255, 0) 55%, white 100%);
    background: -o-linear-gradient(15deg, white 0%, rgba(255, 255, 255, 0.1) 45%, rgba(255, 255, 255, 0) 55%, white 100%);
    background: linear-gradient(75deg, white 0%, rgba(255, 255, 255, 0.1) 45%, rgba(255, 255, 255, 0) 55%, white 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 1;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-sub-kv--animation.active:before {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-name: img_anime;
    animation-name: img_anime
}

.p-sub-kv--animation.active .p-sub-kv__img {
    -webkit-animation-duration: 0.65s;
    animation-duration: 0.65s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-name: emergence;
    animation-name: emergence
}

.p-sub-read {
    width: 92.2%;
    position: absolute;
    bottom: 0;
    right: 7.8%;
    border-bottom: 5px solid #000000;
    opacity: 0;
    z-index: 2
}

@media screen and (max-width:48em) {
    .p-sub-read {
        width: 96.1%;
        right: 26.1%
    }
}

.p-sub-read.active {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    opacity: 1;
    right: 0
}

.p-sub-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center
}

.p-sub-image-wrap {
    width: 100%;
    height: 47rem
}

@media screen and (max-width:48em) {
    .p-sub-image-wrap {
        height: 70vw
    }
}

.p-sub-image-wrap {
    position: relative;
    overflow: hidden
}

.p-sub-image-wrap:after {
    content: "";
    display: block;
    width: 150%;
    height: 100%;
    background-color: #000000;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: skew(15deg) translateX(-20%);
    -ms-transform: skew(15deg) translateX(-20%);
    transform: skew(15deg) translateX(-20%);
    z-index: 10
}

.p-sub-image-wrap.active:after {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
    -webkit-transform: skew(15deg) translateX(150%);
    -ms-transform: skew(15deg) translateX(150%);
    transform: skew(15deg) translateX(150%)
}

.p-sub-heading {
    position: absolute;
    top: 50%;
    right: 15.6%;
    -webkit-transform: translateY(-50%) skew(75deg);
    -ms-transform: translateY(-50%) skew(75deg);
    transform: translateY(-50%) skew(75deg);
    text-align: right
}

@media screen and (max-width:48em) {
    .p-sub-heading {
        right: 26.1%
    }
}

.p-sub-heading__en,
.p-sub-heading__jp {
    letter-spacing: 0;
    color: #fff
}

.p-sub-heading__jp {
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-sub-heading__jp {
        font-size: 1.2rem
    }
}

.p-sub-heading__en {
    font-size: 40px;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-sub-heading__en {
        font-size: 4rem
    }
}

.p-sub-heading.active {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transform: translateY(-50%) skew(0);
    -ms-transform: translateY(-50%) skew(0);
    transform: translateY(-50%) skew(0);
    right: 7.8%
}

@media screen and (max-width:48em) {
    .p-sub-heading.active {
        right: 3.9%
    }
}

.p-sub-breadcrumb {
    margin-left: 3.9%;
    letter-spacing: -.4em
}

.p-sub-breadcrumb li {
    display: inline-block;
    margin-right: 1.5rem;
    vertical-align: middle;
    letter-spacing: normal;
    font-weight: 900;
    font-size: 1.4rem;
    position: relative;
}

@media screen and (max-width:48em) {
    .p-sub-breadcrumb li {
        margin-right: 1rem
    }
}

.p-sub-breadcrumb li a {
    color: #666;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-right: 1.5rem
}

@media screen and (max-width:48em) {
    .p-sub-breadcrumb li a {
        margin-right: 1rem
    }
}

.p-sub-breadcrumb li.c-icon a {
    font-size: 1.7rem
}

.p-sub-breadcrumb li:after {
    content: "";
    color: #666;
    position: absolute;
    width: 15px;
    height: 15px;
    top:45%;
    right: -6px;
    background-image: url(../images/right.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}


@media screen and (max-width:48em) {
    .p-sub-breadcrumb li:after {
        top:41%;
    }
}
.p-sub-breadcrumb li:last-of-type:after {
    content: "";
    background: none;
}

.p-sub-breadcrumb li:last-of-type {
    color: #000000
}

.p-sub-breadcrumb li:last-of-type:after {
    content: ""
}

.p-sub-contents {
    width: 92.2%;
    background-color: #fff;
    border-radius: 0 0 0 5px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10rem 7.8%;
    opacity: 0
}

@media screen and (max-width:48em) {
    .p-sub-contents {
        width: 96.1%;
        padding: 5rem 7.8%
    }
}

.p-sub-contents.active {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    opacity: 1;
    margin-left: 7.8%
}

@media screen and (max-width:48em) {
    .p-sub-contents.active {
        margin-left: 3.9%
    }
}

.p-company-contents,
.p-company-contents,
.p-contact-contents,
.p-network-contents {
    max-width: 84rem;
    margin: 0 auto
}

.p-common-contents {
    max-width: 63rem;
    margin: 0 auto
}

.p-common-overview__heading {
    color: #000000;
    font-size: 1.6rem;
    margin-bottom: 3rem
}

.p-common-overview__heading span {
    color: #000000;
    font-size: 1.2rem;
    font-weight: 300
}

.p-common-overview__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10rem
}

.p-common-overview__contents:last-of-type {
    margin-bottom: 0
}

.p-common-overview__description,
.p-common-overview__term {
    padding: 3.2rem 0;
    line-height: 1.75em
}

@media screen and (max-width:48em) {

    .p-common-overview__description,
    .p-common-overview__term {
        padding: 2.5rem 0
    }
}

.p-common-overview__term {
    width: 30%;
    border-top: 2px solid #333;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-common-overview__term {
        width: 100%
    }
}

.p-common-overview__term:last-of-type {
    /*border-bottom: 2px solid #333*/
    border-bottom: none
}

@media screen and (max-width:48em) {
    .p-common-overview__term:last-of-type {
        border-bottom: none
    }
}

.p-common-overview__description {
    width: 70%;
    border-top: 2px solid #ccc;
    color: #666
}

@media screen and (max-width:48em) {
    .p-common-overview__description {
        width: 100%;
        margin-bottom: 2.5rem
    }
}

.p-common-overview__description:last-of-type {
    /*border-bottom: 2px solid #ccc*/
    border-bottom: none;
}

@media screen and (max-width:48em) {
    .p-common-overview__description:last-of-type {
        /*border-bottom: 2px solid #333;*/
        border-bottom: none;
        margin-bottom: 0
    }
}

.p-common-overview__description a {
    color: #000000;
    text-decoration: underline !important
}

.p-common-overview__position {
    display: inline-block;
    width: 25%;
    margin-right: 10%
}

@media screen and (max-width:48em) {
    .p-common-overview__position {
        width: 40%
    }
}

.p-index-kv {
    width: 100%;
    overflow: hidden;
    position: relative
}

.p-index-kv.active {
    opacity: 1
}

.p-index-kv__img,
.p-index-kv__start {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.p-index-kv__img {
    opacity: 0;
    -webkit-transform: scale(1.15);
    -ms-transform: scale(1.15);
    transform: scale(1.15);
    -webkit-animation-name: kv_slider;
    animation-name: kv_slider;
    -webkit-animation-duration: 20s;
    animation-duration: 20s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

/*.p-index-kv__img:first-of-type {*/
/*    -webkit-animation-delay: 0;*/
/*    animation-delay: 0*/
/*}*/

/*.p-index-kv__img:nth-of-type(2) {*/
/*    -webkit-animation-delay: 10s;*/
/*    animation-delay: 10s*/
/*}*/

@-webkit-keyframes kv_slider {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.15);
        transform: scale(1.15)
    }

    10% {
        opacity: 1
    }

    50% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        opacity: 0
    }

    to {
        opacity: 0;
        -webkit-transform: scale(1.15);
        transform: scale(1.15)
    }
}

@keyframes kv_slider {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.15);
        transform: scale(1.15)
    }

    10% {
        opacity: 1
    }

    50% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    60% {
        opacity: 0
    }

    to {
        opacity: 0;
        -webkit-transform: scale(1.15);
        transform: scale(1.15)
    }
}

.p-index-kv-left,
.p-index-kv-right {
    width: 50%;
    height: 100%;
    -webkit-transform: skew(15deg);
    -ms-transform: skew(15deg);
    transform: skew(15deg);
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: -1
}

.p-index-kv-left__img,
.p-index-kv-right__img {
    width: 100%;
    height: 100%;
    -webkit-transform: skew(-15deg);
    -ms-transform: skew(-15deg);
    transform: skew(-15deg);
    background-size: cover
}

.p-index-kv-left {
    left: 0
}

.p-index-kv-left__img {
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
    background-position: right
}

.p-index-kv-right {
    right: 0
}

.p-index-kv-right__img {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0;
    background-position: left
}

@media screen and (min-width:48.0625em) {
    .p-index-kv__img:first-of-type .p-index-kv-left__img {
        background-image: url(../images/img_kv_01.jpg)
    }
}

@media screen and (max-width:48em) {
    .p-index-kv__img:first-of-type .p-index-kv-left__img {
        background-image: url(../images/img_kv_sp_01.jpg)
    }
}

@media screen and (min-width:48.0625em) {
    .p-index-kv__img:first-of-type .p-index-kv-right__img {
        background-image: url(../images/img_kv_02.jpg)
    }
}

@media screen and (max-width:48em) {
    .p-index-kv__img:first-of-type .p-index-kv-right__img {
        background-image: url(../images/img_kv_sp_02.jpg)
    }
}

@media screen and (min-width:48.0625em) {
    .p-index-kv__img:nth-of-type(2) .p-index-kv-left__img {
        background-image: url(../images/img_kv_03.jpg)
    }
}

@media screen and (max-width:48em) {
    .p-index-kv__img:nth-of-type(2) .p-index-kv-left__img {
        background-image: url(../images/img_kv_sp_03.jpg)
    }
}

@media screen and (min-width:48.0625em) {
    .p-index-kv__img:nth-of-type(2) .p-index-kv-right__img {
        background-image: url(../images/img_kv_04.jpg)
    }
}

@media screen and (max-width:48em) {
    .p-index-kv__img:nth-of-type(2) .p-index-kv-right__img {
        background-image: url(../images/img_kv_sp_04.jpg)
    }
}

.p-index-kv__start {
    opacity: 1;
    z-index: 9
}

.p-index-kv__start .p-index-kv-left__item,
.p-index-kv__start .p-index-kv-right__item {
    height: 100%;
    width: 100%;
    background-color: #000000;
    position: absolute;
    top: 0;
    left: 0
}

.p-index-kv__start.active .p-index-kv-left__item {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-index-kv__start.active .p-index-kv-right__item {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-index-kv-line {
    background-color: #000000;
    width: 15rem;
    height: 100%;
    opacity: 0.9;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: skew(15deg) translateX(-50%);
    -ms-transform: skew(15deg) translateX(-50%);
    transform: skew(15deg) translateX(-50%);
    z-index: 1
}

@media screen and (max-width:48em) {
    .p-index-kv-line {
        width: 25vw
    }
}

.p-index-kv-slogan {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 34rem;
    text-align: center;
}

.p-index-kv-slogan h4{
    font-size: 40px;color: #fff;
}
.p-index-kv-slogan h5{
    font-size: 24px;
    padding-top: 20px;color: #fff;
    font-weight: normal;
}
.p-index-kv__img:before {
    content: '';
    background-color: rgba(0,0,0,0.27);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width:48em) {
    .p-index-kv-slogan {
        -webkit-transform: translate(-50%, -50%) scale(0.7);
        -ms-transform: translate(-50%, -50%) scale(0.7);
        transform: translate(-50%, -50%) scale(0.7)
    }
}

.p-index-kv-slogan__content {
    display: block
}

.p-index-kv-slogan__content:first-of-type {
    width: 25.36rem;
    height: 8.1rem;
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.p-index-kv-slogan__content:nth-of-type(2) {
    width: 24.39rem;
    height: 7.84rem;
    margin-left: 9.21rem;
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.p-index-kv-slogan__content:nth-of-type(3) {
    width: 12.53rem;
    height: 1.28rem;
    margin: 2.5rem 0 0 13.3rem;
    opacity: 0
}

.p-index-kv-slogan__content.active:first-of-type,
.p-index-kv-slogan__content.active:nth-of-type(2) {
    -webkit-animation-name: matrix_copy;
    animation-name: matrix_copy;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

.p-index-kv-slogan__content.active:nth-of-type(3) {
    -webkit-transition-delay: 2.5s;
    -o-transition-delay: 2.5s;
    transition-delay: 2.5s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    opacity: 1
}

@-webkit-keyframes matrix_copy {
    0% {
        -webkit-transform: matrix3d(1, 0, 0, 0, 0, 0.87, 0.5, 0.003, 0, -0.5, 0.87, 0, 50, 50, 0, 1);
        transform: matrix3d(1, 0, 0, 0, 0, 0.87, 0.5, 0.003, 0, -0.5, 0.87, 0, 50, 50, 0, 1);
        -webkit-transform-origin: 0px 0px 0px;
        transform-origin: 0px 0px 0px;
        opacity: 0
    }

    to {
        -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        -webkit-transform-origin: 0px 0px 0px;
        transform-origin: 0px 0px 0px;
        opacity: 1
    }
}

@keyframes matrix_copy {
    0% {
        -webkit-transform: matrix3d(1, 0, 0, 0, 0, 0.87, 0.5, 0.003, 0, -0.5, 0.87, 0, 50, 50, 0, 1);
        transform: matrix3d(1, 0, 0, 0, 0, 0.87, 0.5, 0.003, 0, -0.5, 0.87, 0, 50, 50, 0, 1);
        -webkit-transform-origin: 0px 0px 0px;
        transform-origin: 0px 0px 0px;
        opacity: 0
    }

    to {
        -webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
        -webkit-transform-origin: 0px 0px 0px;
        transform-origin: 0px 0px 0px;
        opacity: 1
    }
}

.p-index-label {
    top: 80px
}

.p-index-strength {
    width: 92.2%;
    margin: -8rem 0 0 7.8%;
    background-color: #efefef;
    border-radius: 5px 0 0 5px;
    position: relative;
    z-index: 10
}

@media screen and (max-width:48em) {
    .p-index-strength {
        width: 96.1%;
        margin: -6rem 0 0 3.9%
    }
}

.p-index-strength__heading {
    margin-left: 3.9%
}

.p-index-strength__heading span {
    color: #000000;
    font-weight: 900;
    letter-spacing: 0.1em
}

.p-index-strength-menu {
    width: 100%
}

.p-index-strength-item {
    width: 25%;
    float: left;
    position: relative
}

@media screen and (max-width:48em) {
    .p-index-strength-item {
        width: 50%
    }
}

.p-index-strength-item:before {
    content: "";
    height: 5px;
    width: 100%;
    background-color: #efefef;
    position: absolute;
    top: -5px;
    left: 0
}

.p-index-strength-item:nth-of-type(2n):before {
    /*background-color: #353535*/
}

.p-index-strength-item__img img {
    width: 100%;
    height: auto
}

@media screen and (max-width:48em) {
    .p-index-strength-item__img.p-img--animation.active img {
        opacity: 1;
        -webkit-animation-duration: 0;
        animation-duration: 0
    }
}

@media screen and (max-width:48em) {
    .p-index-strength-item__img.p-img--animation:after {
        display: none
    }
}

.p-index-strength-item__heading {
    padding: 2.5rem;
    position: relative
}

.p-index-strength-item__heading h2 {
    line-height: 1.6rem;
    font-size: 1.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-index-strength-item__heading h2 {
        font-size: 1.2rem
    }
}

.p-index-strength-item__heading .c-btn-arrow {
    position: absolute;
    top: 2.5rem;
    right: 2.5rem
}

.p-index-strength-item .c-btn-arrow,
.p-index-strength-item__img img {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-index-strength-item:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

.p-index-strength-item:hover .p-img--animation:before {
    opacity: 1
}

.p-index-strength-item:hover .c-btn-arrow {
    right: 1.5rem
}

.p-index-service {
    margin-bottom: 11.8rem
}

@media screen and (max-width:48em) {
    .p-index-service {
        margin-bottom: calc(2.5rem + 1.6rem + 2.5rem)
    }
}

.p-index-service__heading {
    letter-spacing: 0.2em;
    text-align: center;
    padding: 5rem 0;
    color: #000000;
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-index-service__heading {
        font-size: 1.6rem;
        padding: 2.5rem
    }
}

.p-index-service__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative
}

@media screen and (max-width:48em) {
    .p-index-service__content {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.p-index-service__content:before {
    content: "";
    width: 9rem;
    height: 9rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 3.9rem;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    margin: 3.9% 3.9% 0 0;
    z-index: 1;
    color: #000000;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (max-width:48em) {
    .p-index-service__content:before {
        display: none
    }
}

.p-index-service__img {
    width: 60%
}

@media screen and (max-width:48em) {
    .p-index-service__img {
        width: 100%
    }
}

.p-index-service__img img {
    width: 100%;
    height: auto
}

.p-index-service__item {
    width: 40%;
    background-color: #efefef;
    position: relative
}

@media screen and (max-width:48em) {
    .p-index-service__item {
        width: 100%
    }
}

.p-index-service__item-inner {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width:48em) {
    .p-index-service__item-inner {
        position: relative;
        top: 27px;
        left: 0;
        padding-top: 20px;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        padding-bottom: 2.5rem
    }
}

.p-index-service__phrase {
    margin: 0 0 0 5rem
}

@media screen and (max-width:48em) {
    .p-index-service__phrase {
        margin: 0 0 0 3.9%;
        -webkit-transform: translateY(-25%);
        -ms-transform: translateY(-25%);
        transform: translateY(-25%)
    }
}

.p-index-service__phrase span {
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: 0.2em
}

.p-index-service__phrase span:last-child {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.3;
    padding-right: 30px;
    letter-spacing: 0.2em
}

.p-index-service__phrase span:first-of-type {
    margin-bottom: 10px;
    height: 50px;
    line-height: 50px;
    font-size: 2.6rem;
}

@media screen and (max-width:48em) {
    .p-index-service__phrase span {
        font-size: 2rem
    }
}

.p-index-service-wrap:nth-of-type(2) {
    text-align: left;
}

.p-index-service-wrap:nth-of-type(2) .p-index-service__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.p-index-service-wrap:nth-of-type(2) .p-index-service__content:before {
    content: "";
    top: 0;
    left: 0;
    margin: 3.9% 0 0 3.9%
}

@media screen and (max-width:48em) {
    .p-index-service-wrap:nth-of-type(2) .p-index-service__item-inner:after {
        content: ".";
        display: block;
        clear: both;
        height: 0;
        visibility: hidden
    }
}

.p-index-service-wrap:nth-of-type(2) .p-index-service__phrase {
    /*margin: 0 5rem 0 0*/
}

@media screen and (max-width:48em) {
    .p-index-service-wrap:nth-of-type(2) .p-index-service__phrase {
        margin: 0 3.9% 0 0;
        padding-left: 20px;
    }
}

.p-index-service-wrap:nth-of-type(2) .p-index-service__btn {
    float: left;
}

.p-index-service__btn,
.p-index-service__read {
    margin: 0 5rem
}

@media screen and (max-width:48em) {

    .p-index-service__btn,
    .p-index-service__read {
        margin: 0 3.9%
    }
    .p-index-service__btn{
        width: 130px;
        height: 40px;
        line-height: 40px;
    }
    .p-index-service__btn:nth-child(2) {
        width: 130px;
        height: 40px;
        margin: 0 6%;
        line-height: 40px;
    }
}

.p-index-service__read {
    color: #666;
    margin: 10px 5rem;
    font-size: 14px;
}

@media screen and (max-width:48em) {
    .p-index-service__read {
        margin: 0 3.9% 20px 5%;
        font-size: 14px;
    }
}

.p-index-service-wrap:nth-of-type(3) .p-index-service__content:before {
    content: ""
}

.p-index-network {
    height: auto;
    margin-top: 50px;
    width: 80%;
    margin:0 auto;
    text-align: center;
    display: flex;
    justify-content: center;
}
.p-index-network img {
    width: 30%;
    height: auto;
    padding-bottom: 30px;
}

.p-index-network-text {
    width: 33.33%;
    float: left;
    padding-bottom: 50px;
}

.p-index-network-text p {
    width: 60%;
    padding-left: 20%;
    font-size: 12px;
    padding-top: 20px;
    text-align: center;
}

@media screen and (max-width:48em) {
    .p-index-network {
        margin-bottom: calc(2.5rem + 1.6rem + 2.5rem)
    }
    .p-index-network-text {
        width: 100%;
        padding-right: 15px;
        padding-top: 20px;
    }
    .p-index-network-text p {
        width: 100%;
        padding-left: 0;
    }
    .p-index-network-text:last-child{
        padding-bottom: 50px;
    }
}

.p-index-network-img {
    width: 92.2%;
    height: auto;
    margin: 0 3.9%;
    z-index: -1
}

.p-index-network-img img {
    width: 100%;
    height: auto
}

@media screen and (max-width:48em) {
    .p-index-network-img {
        display: none
    }
}

.p-index-network-content {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: -7.8%;
    width: 100%
}

.p-index-network-content-inner {
    position: relative
}

@media screen and (max-width:48em) {
    .p-index-network-content {
        position: static;
        margin: 0 0 0 0
    }
}

.p-index-network__map {
    width: 33%;
    height: 0;
    overflow: hidden;
    margin-left: 11.7%;
    padding-bottom: 33%;
    background-color: #efefef;
    border-radius: 50%;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
    position: relative;
    -webkit-transition-duration: 0.75s;
    -o-transition-duration: 0.75s;
    transition-duration: 0.75s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

@media screen and (max-width:48em) {
    .p-index-network__map {
        width: 92.2%;
        height: 0;
        padding-bottom: 92.2%;
        margin-left: 3.9%
    }
}

.p-index-network__map svg {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.p-index-network__map.active {
    border-radius: 5px;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.p-index-network__mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto
}

.p-index-network__mask img {
    width: 100%
}

.p-index-network__item {
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 3.9%
}

@media screen and (max-width:48em) {
    .p-index-network__item {
        text-align: left;
        position: static;
        width: calc(100% - 3.9% - 3.9%);
        margin-left: 3.9%
    }
}

.p-index-network__btn {
    float: right
}

@media screen and (max-width:48em) {
    .p-index-network__btn {
        float: none
    }
}

.p-index-network__read {
    display: block;
    color: #666;
    font-size: 1.4rem;
    margin-bottom: 1.4rem
}

@media screen and (max-width:48em) {
    .p-index-network__read {
        line-height: 1.75em;
        margin: 2.5rem 0
    }
}

.p-index-network__heading {
    position: absolute;
    top: 5rem;
    left: 5rem;
    color: #000000;
    z-index: 2;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1em;
    letter-spacing: 0.2em
}

@media screen and (max-width:48em) {
    .p-index-network__heading {
        font-size: 1.8rem
    }
}

.p-index-network__heading span {
    color: #5d5e61;
    letter-spacing: 0.3em;
    font-size: 1rem;
    font-weight: 400
}

.p-index-network__btn {
    display: inline-block
}

.p-index-baner {
    width: 100%;
    letter-spacing: -.4em;
    margin-bottom: 11.8rem
}

@media screen and (max-width:48em) {
    .p-index-baner {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 3.9%;
        margin-bottom: calc(2.5rem + 1.6rem + 2.5rem)
    }
}

.p-index-baner__item {
    width: 44.15%;
    display: inline-block;
    margin: 0 3.9% 0 3.9%
}

@media screen and (max-width:48em) {
    .p-index-baner__item {
        width: 100%;
        margin: 0 0 3.9% 0
    }
}

.p-index-baner__item:nth-of-type(2n) {
    margin: 0 3.9% 0 0
}

@media screen and (max-width:48em) {
    .p-index-baner__item:nth-of-type(2n) {
        margin: 0
    }
}

.p-index-baner__item-wrap {
    position: relative;
    width: 100%;
    height: auto
}

.p-index-baner__item-wrap img {
    width: 100%;
    height: auto
}

.p-index-baner__heading {
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    position: absolute;
    top: 50%;
    right: 5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding-left: 0.2em;
    z-index: 2
}

@media screen and (max-width:48em) {
    .p-index-baner__heading {
        font-size: 1.6rem;
        right: 2.5rem
    }
}

.p-index-baner .p-img--animation:after {
    z-index: 3
}

.p-index-baner__heading,
.p-index-baner img {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-index-baner__item:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

.p-index-baner__item:hover .p-index-baner__heading {
    color: #fff
}

.p-index-baner__item:hover .p-img--animation:before {
    background: -webkit-linear-gradient(15deg, #0068b8 0%, rgba(0, 104, 184, 0.1) 45%, rgba(0, 104, 184, 0) 55%, #0068b8 100%);
    background: -o-linear-gradient(15deg, #0068b8 0%, rgba(0, 104, 184, 0.1) 45%, rgba(0, 104, 184, 0) 55%, #0068b8 100%);
    background: linear-gradient(75deg, #0068b8 0%, rgba(0, 104, 184, 0.1) 45%, rgba(0, 104, 184, 0) 55%, #0068b8 100%);
    opacity: 1
}

.p-service-heading {
    padding-bottom: 2.4rem;
    border-bottom: 2px solid #ccc;
    position: relative;
    color: #000000;
    font-size: 2.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-service-heading {
        font-size: 1.8rem;
        line-height: 1.25em
    }
}

.p-service-heading:before {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 20%;
    height: 4px;
    background-color: #000000
}

.p-service .p-sub-heading {
    top: calc(50% - 8rem)
}

@media screen and (max-width:48em) {
    .p-service .p-sub-heading {
        top: calc(50% - 6rem)
    }
}

.p-service .p-sub-contents {
    padding: 0 0 10rem 0
}

@media screen and (max-width:48em) {
    .p-service .p-sub-contents {
        padding: 0 0 5rem 0
    }
}

.p-service .p-heading-sub {
    font-size: 2.4rem
}

@media screen and (max-width:48em) {
    .p-service .p-heading-sub {
        size: 2rem
    }
}

.p-service-read {
    position: absolute;
    bottom: 13rem;
    left: 0;
    -webkit-transform: skew(75deg);
    -ms-transform: skew(75deg);
    transform: skew(75deg)
}

@media screen and (max-width:48em) {
    .p-service-read {
        left: -26.1%;
        bottom: 11rem;
        width: calc(100% - 3.9% - 3.9%)
    }
}

.p-service-read.active {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    left: 7.8%;
    -webkit-transform: skew(0);
    -ms-transform: skew(0);
    transform: skew(0)
}

@media screen and (max-width:48em) {
    .p-service-read.active {
        left: 3.9%
    }
}

.p-service-read__item {
    letter-spacing: 0.1em;
    line-height: 1.35em;
    font-size: 2.6rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-service-read__item {
        font-size: 1.4rem
    }
}

.p-service-description {
    position: relative
}

.p-service-description__item {
    border-radius: 5px 0 0 5px;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -10rem;
    padding: 10rem;
    float: right;
    background-color: #000000;
    color: #fff
}

@media screen and (max-width:48em) {
    .p-service-description__item {
        width: calc(100% - 5rem);
        padding: 4.2rem;
        margin-top: -5rem;
        font-size: 1.2rem;
        font-weight: 900
    }
}

.p-service-main {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding-right: 7.8%;
    margin-top: -10rem;
    position: relative
}

@media screen and (max-width:48em) {
    .p-service-main {
        margin-top: 5rem;
        padding-right: 0
    }
}

.p-service-main__image {
    width: 40%;
    float: left;
    border-radius: 0 5px 5px 0;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-service-main__image {
        width: 70%;
        float: none
    }
}

.p-service-main__image img {
    width: 100%
}

.p-service-main__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(60% - 7.8%);
    margin: 10rem 0 0 5rem;
    float: right
}

@media screen and (max-width:48em) {
    .p-service-main__item {
        float: none;
        width: 100%;
        margin: 5rem 0 0 0;
        padding: 0 7.8%
    }
}

.p-service-main__heading {
    width: 100%;
    margin-bottom: 5rem;
    color: #000000;
    letter-spacing: 0.1em;
    line-height: 1.35em;
    font-size: 2.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-service-main__heading {
        font-size: 1.8rem;
        letter-spacing: 0.05em;
        margin-bottom: 2.5rem
    }
}

.p-service-main__text {
    position: relative;
    overflow: hidden;
    width: 100%
}

.p-service-main__text:before {
    content: "";
    height: 2px;
    width: 0;
    position: absolute;
    top: 1.1rem;
    background-color: #000000
}

.p-service-main__text__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-left: 30%;
    max-width: 63rem;
    float: right;
    position: relative;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-service-main__text__item {
        margin-left: 20%
    }
}

.p-service-main__text__item:after {
    content: "";
    display: block;
    width: 150%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: skew(15deg) translateX(-20%);
    -ms-transform: skew(15deg) translateX(-20%);
    transform: skew(15deg) translateX(-20%);
    z-index: 10
}

.p-service-main__text.active:before {
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
    width: 25%
}

@media screen and (max-width:48em) {
    .p-service-main__text.active:before {
        width: 15%
    }
}

.p-service-main__text.active .p-service-main__text__item:after {
    -webkit-transform: skew(15deg) translateX(150%);
    -ms-transform: skew(15deg) translateX(150%);
    transform: skew(15deg) translateX(150%);
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    -webkit-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear
}

.p-service-item {
    padding: 0 7.8%
}

.android .p-service-main__heading {
    font-size: 1.7rem
}

.android .p-delivery .p-service-read__item {
    font-size: 1.3rem;
    letter-spacing: 0.05em
}

.p-delivery .p-sub-contents {
    padding: 0
}

.p-delivery-tech-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-delivery-tech-list__item {
    width: calc(50% - 2.5rem);
    margin-right: 5rem;
    margin-bottom: 0;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5rem
    }
}

.p-delivery-tech-list__image {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(50% - 2.5rem);
    margin-right: 2.5rem;
    border-radius: 5px;
    overflow: hidden;
    float: left
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__image {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2.5rem
    }
}

.p-delivery-tech-list__image img {
    width: 100%
}

.p-delivery-tech-list__content {
    width: 50%;
    float: left
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__content {
        width: 100%
    }
}

.p-delivery-tech-list__heading {
    color: #000000;
    font-weight: 900;
    margin-bottom: 1.6rem
}

.p-delivery-tech-list__text {
    font-size: 1.4rem
}

.p-delivery-tech-list__item-big {
    width: 100%;
    margin-bottom: 7.5rem;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__item-big {
        margin-bottom: 5rem
    }
}

.p-delivery-tech-list__image-big {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(50% - 2.5rem);
    margin-right: 5rem;
    border-radius: 5px;
    overflow: hidden;
    float: left
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__image-big {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2.5rem
    }
}

.p-delivery-tech-list__image-big img {
    width: 100%
}

.p-delivery-tech-list__content-big {
    width: calc(50% - 2.5rem);
    float: left;
    margin-bottom: 3.2rem
}

@media screen and (max-width:48em) {
    .p-delivery-tech-list__content-big {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2.5rem
    }
}

.p-logistics-stuffing-heading {
    color: #000000;
    letter-spacing: 0.1em;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing-heading {
        font-size: 1.8rem
    }
}

.p-logistics-stuffing__image {
    width: 100%;
    height: auto;
    border-radius: 5px
}

.p-logistics-stuffing__image img {
    width: 100%;
    height: auto
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing__image--pc {
        display: none
    }
}

.p-logistics-stuffing__image--sp {
    display: none
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing__image--sp {
        display: block
    }
}

.p-logistics-stuffing-content {
    margin-top: -5rem;
    position: relative;
    overflow: hidden
}

.p-logistics-stuffing-content__image {
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 33%;
    margin-right: 5rem;
    float: right
}

.p-logistics-stuffing-content__image img {
    width: 100%
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing-content__image {
        margin-right: 2.5rem;
        margin-bottom: 2.5rem
    }
}

.p-logistics-stuffing__logo {
    height: 4rem;
    margin-bottom: 5rem
}

.p-logistics-stuffing__logo svg {
    height: 100%
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing__logo {
        height: 3rem;
        margin-bottom: 2.5rem
    }
}

.p-logistics-stuffing__item {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% - 33% - 5rem - 5rem);
    max-width: 63rem
}

@media screen and (max-width:48em) {
    .p-logistics-stuffing__item {
        width: 100%;
        position: static;
        clear: both
    }
}

.p-staffing .c-btn--ico {
    margin-top: 5rem;
    width: 30rem
}

@media screen and (max-width:48em) {
    .p-staffing .c-btn--ico {
        margin-top: 2.5rem;
        width: 25rem
    }
}

.p-quality .p-sub-heading {
    top: calc(50% - 8rem)
}

@media screen and (max-width:48em) {
    .p-quality .p-sub-heading__en {
        font-size: 3rem
    }
}

@media screen and (max-width:48em) {
    .p-quality .p-sub-contents {
        width: 96.1%;
        padding: 5rem 3.9%
    }
}

.p-quality-heading:after {
    position: absolute;
    top: 0;
    right: -10rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0.05;
    color: #000;
    letter-spacing: 0;
    font-size: 12rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-quality-heading:after {
        right: -3.9%;
        font-size: 5rem
    }
}

.p-quality-heading:first-of-type::after {
    content: "Quality"
}

.p-quality-heading:nth-of-type(2):after {
    content: "Safety"
}

.p-quality-heading:nth-of-type(3):after {
    content: "Ecology"
}

.p-quality-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10rem
}

.p-quality-list:last-of-type {
    margin-bottom: 0
}

.p-quality-list__item {
    width: 30%;
    margin-right: 3%;
}

@media screen and (max-width:48em) {
    .p-quality-list__item {
        width: 100%;
    }
}

@media screen and (max-width:48em) {
    .p-quality-list__item:last-of-type {
        margin-bottom: 0
    }
}

@media screen and (max-width:48em) {
    .p-quality-list__item:nth-of-type(2),.p-quality-list__item:nth-of-type(4),.p-quality-list__item:nth-of-type(6) {
        margin-right: 0
    }
}

.p-quality-list__heading {
    height: 5rem;
    width: 100%;
    position: relative;
    margin-bottom: 2.5rem
}

.p-quality-list__heading__item {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #000000;
    line-height: 1.35em;
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-quality-list__heading__item {
        font-size: 1.4rem
    }
}

.p-quality-list__heading:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 5rem;
    height: 5rem;
    border: 1px solid #000000;
    border-radius: 50%;
    color: #000000;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 5rem;
    text-align: center;
    position: absolute;
    top: 0;
    right: 0
}

.p-quality-list__image {
    width: 100%;
    height: auto
}

.p-quality-list__image img {
    width: 100%
}

.p-quality-list__text {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5rem 0 0 5rem;
    width: calc(100% - 2.5rem);
    margin: -5rem 0 0 2.5rem;
    background-color: #fff;
    border-radius: 5px 0 0 0;
    position: relative
}

@media screen and (max-width:48em) {
    .p-quality-list__text {
        width: calc(100% - 1.25rem);
        margin: -5rem 0 0 1.25rem;
        padding: 2.1rem 0 0 2.1rem
    }
}

@media screen and (max-width:48em) {
    .p-network .p-read {
        background-color: #fff
    }
}

.p-network-map {
    width: 100%;
    height: 800px;
    position: relative;
    background-color: #000000
}

@media screen and (max-width:48em) {
    .p-network-map {
        display: none
    }
}

.p-network-map:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    border: 2px solid #000;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    -webkit-animation-name: circle_move;
    animation-name: circle_move;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    z-index: 1
}

.p-network-map__heading {
    position: absolute;
    left: 7.8%;
    margin-top: 7.8%
}

.p-network-map__heading h2,
.p-network-map__heading span {
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: 900
}

.p-network-map__heading h2 {
    font-size: 3.6rem;
    margin-bottom: 1.6rem
}

.p-network-map__heading span {
    font-size: 1.6rem
}

.p-network-map__place {
    position: absolute;
    height: 640px;
    margin-top: 60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2
}

@media screen and (max-width:48em) {
    .p-network-map__place {
        height: 90vw;
        width: 90vw
    }
}

.p-network-map__box {
    fill-rule: evenodd;
    clip-rule: evenodd;
    fill: #FFFFFF
}

.p-network-map__btn {
    cursor: pointer
}

.p-network-map__btn:hover .p-network-map__box {
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    fill: #353535
}

.p-network-map__btn:hover .p-network-map__circle {
    fill: #fff
}

.p-network-map__btn:hover .p-network-map__arrow {
    stroke: #353535
}

.p-network-map__btn:hover .p-network-map__name {
    fill: #fff
}

.p-network-map__name {
    fill: #333333;
    font-size: 14px;
    font-weight: 900
}

.p-network-map__circle {
    fill-rule: evenodd;
    clip-rule: evenodd;
    fill: #000000
}

.p-network-map__arrow {
    fill-rule: evenodd;
    clip-rule: evenodd;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-miterlimit: 100
}

.p-network-map__line {
    opacity: 0.5;
    fill-rule: evenodd;
    clip-rule: evenodd;
    fill: #FFFFFF;
    stroke: #FFFFFF;
    stroke-width: 1;
    stroke-miterlimit: 100
}

.p-network-map__line--polygonal {
    opacity: 0.7;
    fill-rule: evenodd;
    clip-rule: evenodd;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1;
    stroke-miterlimit: 100
}

@-webkit-keyframes circle_move {
    0% {
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
        opacity: 0
    }

    20% {
        -webkit-transform: translate(-50%, -50%) scale(1.4);
        transform: translate(-50%, -50%) scale(1.4);
        opacity: 0.1
    }

    to {
        -webkit-transform: translate(-50%, -50%) scale(3);
        transform: translate(-50%, -50%) scale(3);
        opacity: 0
    }
}

@keyframes circle_move {
    0% {
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
        opacity: 0
    }

    20% {
        -webkit-transform: translate(-50%, -50%) scale(1.4);
        transform: translate(-50%, -50%) scale(1.4);
        opacity: 0.1
    }

    to {
        -webkit-transform: translate(-50%, -50%) scale(3);
        transform: translate(-50%, -50%) scale(3);
        opacity: 0
    }
}

.p-network-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-network-list__details,
.p-network-list__name {
    padding: 5rem 0;
    line-height: 1.75em
}

@media screen and (max-width:48em) {

    .p-network-list__details,
    .p-network-list__name {
        padding: 2.5rem 0
    }
}

.p-network-list__name {
    width: 30%;
    border-top: 2px solid #333;
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-network-list__name {
        font-size: 1.6rem;
        width: 100%
    }
}

.p-network-list__name:last-of-type {
    border-bottom: 2px solid #333
}

@media screen and (max-width:48em) {
    .p-network-list__name:last-of-type {
        border-bottom: none
    }
}

.p-network-list__details {
    width: 70%;
    border-top: 2px solid #ccc;
    color: #666;
    position: relative
}

.p-network-list__details:last-of-type {
    border-bottom: 2px solid #ccc
}

@media screen and (max-width:48em) {
    .p-network-list__details:last-of-type {
        border-bottom: 2px solid #333
    }
}

@media screen and (max-width:48em) {
    .p-network-list__details {
        width: 100%;
        margin-bottom: 2.5rem
    }
}

.p-network-list__address {
    line-height: 1.75em
}

.p-network-list__address a {
    color: #666
}

@media screen and (max-width:48em) {
    .p-network-list__address {
        width: calc(100% - 7rem)
    }
}

.p-network-list__map {
    position: absolute;
    right: 0;
    text-align: center
}

@media screen and (min-width:48.0625em) {
    .p-network-list__map {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media screen and (max-width:48em) {
    .p-network-list__map {
        bottom: 2.5rem;
        font-size: 1rem;
        margin-top: 1rem
    }
}

.p-network-list__map span {
    display: block
}

.p-network-list__map__icon,
.p-network-list__map__text {
    color: #000000
}

.p-network-list__map__icon {
    border-radius: 50%;
    border: 1px solid #000000;
    width: 5rem;
    height: 5rem;
    margin: 0 auto;
    font-size: 2.5rem;
    line-height: 5rem;
    text-align: center;
    position: relative
}

.p-network-list__map__icon:before {
    content: "";
    border-radius: 50%;
    background-color: #000000;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

.p-network-list__map__text {
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1em;
    margin-top: 1.2rem
}

@media screen and (max-width:48em) {
    .p-network-list__map__text {
        font-size: 1rem;
        margin-top: 1rem
    }
}

.p-network-head {
    background-color: #efefef;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 1.95%;
    margin-bottom: 10rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative
}

@media screen and (max-width:48em) {
    .p-network-head {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        padding: 1.6rem;
        margin-bottom: 5rem
    }
}

.p-network-head:after {
    content: "HEAD OFFICE";
    position: absolute;
    right: 1.95%;
    color: #353535;
    font-size: 1.2rem;
}

@media screen and (max-width:48em) {
    .p-network-head:after {
        display: none
    }
}

.p-network-head__img {
    border-radius: 5px;
    width: 30%;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-network-head__img {
        width: 100%
    }
}

.p-network-head__img img {
    width: 100%;
    height: auto
}

.p-network-head__details {
    width: calc(70% - 3rem);
    margin-left: 3rem;
    position: relative
}

@media screen and (max-width:48em) {
    .p-network-head__details {
        width: 100%;
        margin-left: 0
    }
}

.p-network-head__details-inner {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width:48em) {
    .p-network-head__details-inner {
        position: static;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.p-network-head__name {
    margin-bottom: 1.8rem;
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-network-head__name {
        font-size: 1.6rem;
        margin: 1.6rem 0
    }
}

.p-network-head__address {
    line-height: 1.75em
}

.p-network-head__map {
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: center
}

.p-network-head__map span {
    display: block
}

.p-network-head__map:hover .p-network-list__map__icon,
.p-network-list__map:hover .p-network-list__map__icon {
    color: #fff
}

.p-network-head__map:hover .p-network-list__map__icon:before,
.p-network-list__map:hover .p-network-list__map__icon:before {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.p-network-menu {
    width: 100%;
    padding-bottom: 1.6rem;
    border-bottom: 2px solid #333;
    margin-bottom: 5rem;
    position: relative
}

@media screen and (min-width:48.0625em) {
    .p-network-menu {
        display: none
    }
}

@media screen and (max-width:48em) {
    .p-network-menu {
        display: block
    }
}

.p-network-menu:after {
    content: "\e5cf";
    position: absolute;
    top: calc(50% - 2px - 0.8rem);
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.6rem;
    font-weight: 900;
    font-style: normal;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga'1;
    font-feature-settings: 'liga'1;
    -webkit-font-smoothing: antialiased;
    vertical-align: middle
}

.p-network-menu__list {
    width: 100%;
    line-height: 1.1em;
    font-size: 1.6rem;
    font-weight: 900
}

.p-company .p-sub-heading__en,
.p-company .p-sub-heading__jp {
    color: #fff
}

.p-company-kv {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width:48em) {
    .p-company-kv {
        background-image: url(../img/company/img_company_kv_sp.jpg)
    }
}

.p-company-message {
    width: 100%;
    margin-bottom: 10rem;
    text-align: center
}

@media screen and (max-width:48em) {
    .p-company-message {
        text-align: left
    }
}

.p-company-message__read {
    margin-bottom: 5rem;
    color: #333;
    letter-spacing: 0.2em;
    line-height: 2.6em;
    font-size: 1.8rem;
    font-weight: 900
}

@media screen and (max-width:48em) {
    .p-company-message__read {
        font-size: 1.4rem;
        letter-spacing: 0.05em
    }
}

.p-company-message__item {
    letter-spacing: 0.2em;
    line-height: 2.6em
}

@media screen and (max-width:48em) {
    .p-company-message__item {
        letter-spacing: 0.05em
    }
}

@media screen and (max-width:48em) {
    .p-company-message {
        letter-spacing: 0.1em;
        margin-bottom: 5rem
    }
}

.android .p-company-message br {
    display: none
}

.p-company-overview__heading {
    color: #000000;
    font-size: 1.6rem;
    margin-bottom: 3rem
}

.p-company-overview__heading span {
    color: #000000;
    font-size: 1.2rem;
    font-weight: 300
}

.p-company-overview__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 10rem
}

.p-company-overview__contents:last-of-type {
    margin-bottom: 0
}

.p-company-overview__description,
.p-company-overview__term {
    line-height: 1.75em;
    padding: 3.2rem 0
}

.p-company-overview__term {
    width: 30%;
    border-top: 2px solid #333;
    font-weight: 900
}

.p-company-overview__term:last-of-type {
    border-bottom: 2px solid #333
}

.p-company-overview__description {
    width: 70%;
    border-top: 2px solid #ccc;
    color: #666
}

.p-company-overview__description:last-of-type {
    border-bottom: 2px solid #ccc
}

.p-company-overview__description a {
    color: #000000;
    text-decoration: underline !important
}

.p-company-overview__position {
    display: inline-block;
    width: 20%;
    margin-right: 10%
}

.p-group .p-sub-heading {
    top: calc(50% - 8rem)
}

@media screen and (max-width:48em) {
    .p-group .p-sub-heading__en {
        font-size: 3rem
    }
}

.p-group-kv {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (max-width:48em) {
    .p-group-kv {
        background-image: url(../img/group/img_group_kv_sp.jpg)
    }
}

.p-group-me {
    position: relative
}

.p-group-me:before {
    content: "OUR COMPANY";
    width: 9rem;
    height: 9rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 3.2rem;
    border: 1px solid #353535;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    color: #353535;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (max-width:48em) {
    .p-group-me:before {
        display: none
    }
}

.p-group-item {
    padding: 5rem 7.8%;
    border-radius: 0;
    margin-bottom: 2px
}

@media screen and (max-width:48em) {
    .p-group-item {
        margin-bottom: 0.5rem
    }
}

.p-group-item__heading {
    height: 5rem;
    max-width: 100%;
    font-size: 3.2rem;
    text-align: center;
}

@media screen and (max-width:48em) {
    .p-group-item__heading {
        height: 3rem;
        margin-bottom: 1.5rem
    }
}

.p-group-item__heading svg {
    height: 100%;
    max-width: 100%
}

.p-group-item__address {
    font-size: 1.2rem;
    margin-top: 1.6rem;
    z-index: 1
}

@media screen and (max-width:48em) {
    .p-group-item__address {
        margin-top: 1.4rem
    }
}

.p-group-item__address a {
    text-decoration: underline !important
}

.p-group-item:first-of-type {
    padding-top: 10rem
}

@media screen and (max-width:48em) {
    .p-group-item:first-of-type {
        padding-top: 5rem
    }
}

.p-group-item:last-of-type {
    border-radius: 0 0 0 5px;
    margin-bottom: 0;
    padding-bottom: 10rem
}

@media screen and (max-width:48em) {
    .p-group-item:last-of-type {
        padding-bottom: 5rem
    }
}

.p-group-item-core {
    position: relative
}

.p-group-item-core__header {
    margin-bottom: 5rem;
    position: relative
}

.p-group-item-core__header:before {
    content: "";
    width: 9rem;
    height: 9rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 3.2rem;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    color: #353535;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (max-width:48em) {
    .p-group-item-core__header:before {
        display: none
    }
}

.p-group-item-core__heading {
    padding: 0
}

.p-group-item-core-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 20px;
    justify-content: space-between;
}

@media screen and (max-width:48em) {
    .p-group-item-core-list {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.p-group-item-core-list__item {
    width: 47%;
    /*margin-right: 5%;*/
}

@media screen and (max-width:48em) {
    .p-group-item-core-list__item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5rem
    }
}

.p-group-item-core-list__item:last-of-type {
    margin-right: 0
}

@media screen and (max-width:48em) {
    .p-group-item-core-list__item:last-of-type {
        margin-bottom: 0
    }
}

.p-group-item-core-list__image {
    width: 100%;
    border-radius: 5px;
    overflow: hidden
}

.p-group-item-core-list__image img {
    width: 100%;
    height: auto
}

.p-group-item-core-list__heading {
    max-width: 100%;
    margin: 20px 0;
    font-size: 16px;
}

.p-group-item-core-list__item p {
    font-size: 14px;
}

@media screen and (max-width:48em) {
    .p-group-item-core-list__heading {
        height: 3rem;
        margin: 3rem 0 1.5rem 0
    }
}

.p-group-item-core-list__heading svg {
    height: 100%;
    max-width: 100%
}

.p-group-item-1row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:48em) {
    .p-group-item-1row {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.p-group-item-1row__header,
.p-group-item-1row__image {
    width: calc(50% - 2.5rem)
}

@media screen and (max-width:48em) {

    .p-group-item-1row__header,
    .p-group-item-1row__image {
        width: 100%
    }
}

.p-group-item-1row__header {
    margin-right: 5rem;
    position: relative
}

@media screen and (max-width:48em) {
    .p-group-item-1row__header {
        margin-right: 0;
        margin-bottom: 3rem
    }
}

.p-group-item-1row__image {
    border-radius: 5px;
    overflow: hidden
}

.p-group-item-1row__image img {
    width: 100%
}

.p-group-item-2row-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:48em) {
    .p-group-item-2row-list {
        display: block;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
}

.p-group-item-2row-list__item {
    width: calc(50% - 2.5rem);
    margin-right: 5rem
}

@media screen and (max-width:48em) {
    .p-group-item-2row-list__item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5rem
    }
}

.p-group-item-2row-list__item:last-of-type {
    margin-right: 0
}

@media screen and (max-width:48em) {
    .p-group-item-2row-list__item:last-of-type {
        margin-bottom: 0
    }
}

.p-group-item-2row-list__image {
    width: 100%;
    border-radius: 5px;
    overflow: hidden
}

.p-group-item-2row-list__image img {
    width: 100%;
    height: auto
}

.p-group-item-2row-list__heading {
    height: 5rem;
    max-width: 100%;
    margin: 5rem 0 2.5rem 0
}

@media screen and (max-width:48em) {
    .p-group-item-2row-list__heading {
        height: 3rem;
        margin: 3rem 0 1.5rem 0
    }
}

.p-group-item-2row-list__heading svg {
    height: 100%;
    max-width: 100%
}

@media screen and (max-width:48em) {
    .p-privacy .p-sub-heading__en {
        font-size: 3rem
    }
}

.p-privacy-contents {
    max-width: 63rem;
    margin: 0 auto
}

.p-privacy-heading {
    text-align: center
}

@media screen and (max-width:48em) {
    .p-privacy-heading {
        line-height: 1.25em
    }
}

.p-privacy-item__heading,
.p-privacy-item__list {
    position: relative;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    border-bottom: 2px solid #ccc;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.p-privacy-item__heading__no,
.p-privacy-item__list__no {
    display: block;
    width: 3.2rem
}

.p-privacy-item__heading__item,
.p-privacy-item__list__item {
    width: calc(100% - 3.2rem)
}

.p-privacy-item__heading {
    font-weight: 900;
    line-height: 1.35em
}

.p-privacy-item__description {
    line-height: 1.75em;
    margin-bottom: 5rem
}

@media screen and (max-width:48em) {
    .p-privacy-item__description {
        margin-bottom: 2.5rem
    }
}

.p-privacy-item__description li {
    list-style-type: disc;
    list-style-position: inside
}

.p-privacy-item__list {
    line-height: 1.75em
}

.p-privacy-item__list__no {
    font-weight: 900
}

.p-contact-form__required {
    background-color: #000000;
    display: inline-block;
    margin-left: 1rem;
    padding: 0.2rem;
    color: #fff;
    line-height: 1em;
    font-size: 1.4rem;
    font-weight: 900
}

.p-contact-form__privacy {
    margin-top: 5rem;
    font-weight: 900
}

.p-contact-form__privacy a {
    text-decoration: underline !important
}

.p-contact-form__error {
    display: block;
    margin-bottom: 1.4rem;
    color: #353535;
    font-size: 1.4rem;
    font-weight: 900
}

.p-contact-btn {
    margin: 10rem auto 0 auto
}

@media screen and (max-width:48em) {
    .p-contact-btn {
        margin: 6.3rem auto 0 auto
    }
}

.p-contact-btn .c-btn,
.p-contact-btn .c-btn-border {
    display: block;
    border-radius: 3.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 20rem;
    padding: 2.4rem 0;
    text-align: center
}

@media screen and (max-width:48em) {

    .p-contact-btn .c-btn,
    .p-contact-btn .c-btn-border {
        padding: 2rem 0
    }
}

.p-contact-btn .c-btn-border:before,
.p-contact-btn .c-btn:before {
    background-color: #353535;
    border-radius: 3.2rem
}

.p-contact-btn .c-btn {
    color: #fff;
    background-color: #000000
}

.p-contact-btn .c-btn-border {
    color: #000000;
    border: 1px solid #ccc;
    margin-right: 2.5rem
}

.p-contact-btn .c-btn-border:hover {
    color: #fff;
    border: 1px solid #353535
}

.p-contact-form-btn {
    width: 20rem
}

.p-contact-confirmation-btn {
    width: 42.5rem;
    overflow: hidden
}

@media screen and (max-width:48em) {
    .p-contact-confirmation-btn {
        width: 100%
    }
}

.p-contact-confirmation-btn .c-btn,
.p-contact-confirmation-btn .c-btn-border {
    float: left
}

@media screen and (max-width:48em) {

    .p-contact-confirmation-btn .c-btn,
    .p-contact-confirmation-btn .c-btn-border {
        width: calc(50% - 1.25rem)
    }
}

@media screen and (max-width:48em) {
    .p-contact-confirmation-btn .c-btn-border {
        margin-right: 2.5rem
    }
}

.p-contact-completed {
    max-width: 63rem;
    margin: 0 auto
}

.p-contact-completed p:first-of-type {
    color: #333;
    font-weight: 900;
    margin-bottom: 5rem
}

@media screen and (max-width:48em) {
    .p-contact-completed p:first-of-type {
        margin-bottom: 2.5rem
    }
}

.p-contact-completed p:nth-of-type(2) {
    font-size: 1.4rem
}

.u-clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden
}

.u-clearfix {
    display: inline-block
}

.u-clearfix {
    height: 1%
}

.u-clearfix {
    display: block
}

.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-p-60 {
    padding: 60px !important
}

.u-p-70 {
    padding: 70px !important
}

.u-p-80 {
    padding: 80px !important
}

.u-p-90 {
    padding: 90px !important
}

.u-p-100 {
    padding: 100px !important
}

.u-p-t-0 {
    padding-top: 0 !important
}

.u-p-t-5 {
    padding-top: 5px !important
}

.u-p-t-10 {
    padding-top: 10px !important
}

.u-p-t-15 {
    padding-top: 15px !important
}

.u-p-t-20 {
    padding-top: 20px !important
}

.u-p-t-25 {
    padding-top: 25px !important
}

.u-p-t-30 {
    padding-top: 30px !important
}

.u-p-t-35 {
    padding-top: 35px !important
}

.u-p-t-40 {
    padding-top: 40px !important
}

.u-p-t-45 {
    padding-top: 45px !important
}

.u-p-t-50 {
    padding-top: 50px !important
}

.u-p-t-60 {
    padding-top: 60px !important
}

.u-p-t-70 {
    padding-top: 70px !important
}

.u-p-t-80 {
    padding-top: 80px !important
}

.u-p-t-90 {
    padding-top: 90px !important
}

.u-p-t-100 {
    padding-top: 100px !important
}

.u-p-r-0 {
    padding-right: 0 !important
}

.u-p-r-5 {
    padding-right: 5px !important
}

.u-p-r-10 {
    padding-right: 10px !important
}

.u-p-r-15 {
    padding-right: 15px !important
}

.u-p-r-20 {
    padding-right: 20px !important
}

.u-p-r-25 {
    padding-right: 25px !important
}

.u-p-r-30 {
    padding-right: 30px !important
}

.u-p-r-35 {
    padding-right: 35px !important
}

.u-p-r-40 {
    padding-right: 40px !important
}

.u-p-r-45 {
    padding-right: 45px !important
}

.u-p-r-50 {
    padding-right: 50px !important
}

.u-p-r-60 {
    padding-right: 60px !important
}

.u-p-r-70 {
    padding-right: 70px !important
}

.u-p-r-80 {
    padding-right: 80px !important
}

.u-p-r-90 {
    padding-right: 90px !important
}

.u-p-r-100 {
    padding-right: 100px !important
}

.u-p-b-0 {
    padding-bottom: 0 !important
}

.u-p-b-5 {
    padding-bottom: 5px !important
}

.u-p-b-10 {
    padding-bottom: 10px !important
}

.u-p-b-15 {
    padding-bottom: 15px !important
}

.u-p-b-20 {
    padding-bottom: 20px !important
}

.u-p-b-25 {
    padding-bottom: 25px !important
}

.u-p-b-30 {
    padding-bottom: 30px !important
}

.u-p-b-35 {
    padding-bottom: 35px !important
}

.u-p-b-40 {
    padding-bottom: 40px !important
}

.u-p-b-45 {
    padding-bottom: 45px !important
}

.u-p-b-50 {
    padding-bottom: 50px !important
}

.u-p-b-60 {
    padding-bottom: 60px !important
}

.u-p-b-70 {
    padding-bottom: 70px !important
}

.u-p-b-80 {
    padding-bottom: 80px !important
}

.u-p-b-90 {
    padding-bottom: 90px !important
}

.u-p-b-100 {
    padding-bottom: 100px !important
}

.u-p-l-0 {
    padding-left: 0 !important
}

.u-p-l-5 {
    padding-left: 5px !important
}

.u-p-l-10 {
    padding-left: 10px !important
}

.u-p-l-15 {
    padding-left: 15px !important
}

.u-p-l-20 {
    padding-left: 20px !important
}

.u-p-l-25 {
    padding-left: 25px !important
}

.u-p-l-30 {
    padding-left: 30px !important
}

.u-p-l-35 {
    padding-left: 35px !important
}

.u-p-l-40 {
    padding-left: 40px !important
}

.u-p-l-45 {
    padding-left: 45px !important
}

.u-p-l-50 {
    padding-left: 50px !important
}

.u-p-l-60 {
    padding-left: 60px !important
}

.u-p-l-70 {
    padding-left: 70px !important
}

.u-p-l-80 {
    padding-left: 80px !important
}

.u-p-l-90 {
    padding-left: 90px !important
}

.u-p-l-100 {
    padding-left: 100px !important
}

.u-m-t-0 {
    margin-top: 0 !important
}

.u-m-t-5 {
    margin-top: 5px !important
}

.u-m-t-10 {
    margin-top: 10px !important
}

.u-m-t-15 {
    margin-top: 15px !important
}

.u-m-t-20 {
    margin-top: 20px !important
}

.u-m-t-25 {
    margin-top: 25px !important
}

.u-m-t-30 {
    margin-top: 30px !important
}

.u-m-t-35 {
    margin-top: 35px !important
}

.u-m-t-40 {
    margin-top: 40px !important
}

.u-m-t-45 {
    margin-top: 45px !important
}

.u-m-t-50 {
    margin-top: 50px !important
}

.u-m-t-60 {
    margin-top: 60px !important
}

.u-m-t-70 {
    margin-top: 70px !important
}

.u-m-t-80 {
    margin-top: 80px !important
}

.u-m-t-90 {
    margin-top: 90px !important
}

.u-m-t-100 {
    margin-top: 100px !important
}

.u-m-r-0 {
    margin-right: 0 !important
}

.u-m-r-5 {
    margin-right: 5px !important
}

.u-m-r-10 {
    margin-right: 10px !important
}

.u-m-r-15 {
    margin-right: 15px !important
}

.u-m-r-20 {
    margin-right: 20px !important
}

.u-m-r-25 {
    margin-right: 25px !important
}

.u-m-r-30 {
    margin-right: 30px !important
}

.u-m-r-35 {
    margin-right: 35px !important
}

.u-m-r-40 {
    margin-right: 40px !important
}

.u-m-r-45 {
    margin-right: 45px !important
}

.u-m-r-50 {
    margin-right: 50px !important
}

.u-m-r-60 {
    margin-right: 60px !important
}

.u-m-r-70 {
    margin-right: 70px !important
}

.u-m-r-80 {
    margin-right: 80px !important
}

.u-m-r-90 {
    margin-right: 90px !important
}

.u-m-r-100 {
    margin-right: 100px !important
}

.u-m-b-0 {
    margin-bottom: 0 !important
}

.u-m-b-5 {
    margin-bottom: 5px !important
}

.u-m-b-10 {
    margin-bottom: 10px !important
}

.u-m-b-15 {
    margin-bottom: 15px !important
}

.u-m-b-20 {
    margin-bottom: 20px !important
}

.u-m-b-25 {
    margin-bottom: 25px !important
}

.u-m-b-30 {
    margin-bottom: 30px !important
}

.u-m-b-35 {
    margin-bottom: 35px !important
}

.u-m-b-40 {
    margin-bottom: 40px !important
}

.u-m-b-45 {
    margin-bottom: 45px !important
}

.u-m-b-50 {
    margin-bottom: 50px !important
}

.u-m-b-60 {
    margin-bottom: 60px !important
}

.u-m-b-70 {
    margin-bottom: 70px !important
}

.u-m-b-80 {
    margin-bottom: 80px !important
}

.u-m-b-90 {
    margin-bottom: 90px !important
}

.u-m-b-100 {
    margin-bottom: 100px !important
}

.u-m-l-0 {
    margin-left: 0 !important
}

.u-m-l-5 {
    margin-left: 5px !important
}

.u-m-l-10 {
    margin-left: 10px !important
}

.u-m-l-15 {
    margin-left: 15px !important
}

.u-m-l-20 {
    margin-left: 20px !important
}

.u-m-l-25 {
    margin-left: 25px !important
}

.u-m-l-30 {
    margin-left: 30px !important
}

.u-m-l-35 {
    margin-left: 35px !important
}

.u-m-l-40 {
    margin-left: 40px !important
}

.u-m-l-45 {
    margin-left: 45px !important
}

.u-m-l-50 {
    margin-left: 50px !important
}

.u-m-l-60 {
    margin-left: 60px !important
}

.u-m-l-70 {
    margin-left: 70px !important
}

.u-m-l-80 {
    margin-left: 80px !important
}

.u-m-l-90 {
    margin-left: 90px !important
}

.u-m-l-100 {
    margin-left: 100px !important
}

.u-fontSize12 {
    font-size: 12px !important
}

.u-fontSize14 {
    font-size: 14px !important
}

.u-fontSize15 {
    font-size: 15px !important
}

.u-fontSize16 {
    font-size: 16px !important
}

.u-fontSize18 {
    font-size: 18px !important
}

.u-fontSize20 {
    font-size: 20px !important
}

.u-fontSize25 {
    font-size: 25px !important
}

a:link {
    text-decoration: none
}

a:visited {
    text-decoration: none
}

a:hover {
    text-decoration: none
}

.page-list {
    text-align: center;
    padding-top: 70px;
}
.page-list a{
	display: inline-block;
	padding: 5px 13px;
	border-radius: 3px;
	border: 1px solid #aaa;
	margin: 0 5px;
	transition: linear 0.2s all;
}
.page-list a:hover,.page-list a.on {
	background:  #000;
	color: #fff;
	border: 1px solid #000;
}
.p-group-item-core-text img {
    width: 100%;
    height: auto;
    padding-bottom: 20px;
}
.p-group-item-core-text h3 {
    font-size: 18px;
    font-weight: 400;
    padding-bottom: 20px;
}
.p-group-item-core-text p {
    line-height:20px;
    font-size:14px;
}
.p-group-item-core-btn {
    position: relative;
    margin-top: 50px;
}
.p-group-item-core-btn a:nth-child(1) {
    position: absolute;
    left: 0;
}
.p-group-item-core-btn a:nth-child(2) {
    position: absolute;
    left:50%;
    transform: translateX(-50%);
}
.p-group-item-core-btn a:nth-child(3) {
    position: absolute;
    right: 0;
}
.product-con-text {
    text-align: center;
    font-size: 20px;
    margin-bottom: 50px;
}
.p-common-overview{margin-bottom:3em;}

.p-common-overview__term:first-of-type{border-top:none;}
.p-common-overview__description:first-of-type{border-top:none;}