@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&subset=japanese");

.fa {
    width: 2rem;
    text-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: inherit
}

.linkPdf, .linkExternal {
    margin-left: .25em;
    vertical-align: middle
}

@media screen and (max-width: 767px) {
    .linkPdf, .linkExternal {
        display: inline-block;
        width: .75em
    }
}

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

:focus {
    outline: 0
}

html {
    overflow-y: scroll;
    font-size: 10px
}

body {
    font-family: 'Noto Sans JP', serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 2;
    color: #333;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden
}

@media screen and (max-width: 767px) {
    body {
        min-width: auto;
        font-size: 4vw !important;
        font-size: 15px;
        overflow: hidden
    }
}

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

input, select, textarea, button {
    margin: 0;
    padding: 0;
    vertical-align: middle;
    font-family: 'Noto Sans JP', serif;
    font-size: 100%
}

input[type="password"] {
    font-family: 'Noto Sans JP', serif
}

img {
    border: 0
}

strong {
    font-weight: bold
}

em {
    font-style: normal
}

table {
    border-collapse: collapse
}

th, td {
    vertical-align: top
}

caption, th, td {
    text-align: left
}

ul, ol {
    list-style: none
}

address {
    font-style: normal
}

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

:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.guidance {
    height: 0;
    overflow: hidden;
    position: absolute;
    margin: -1px;
    padding: 0;
    border: 0;
    width: 1px;
    height: 1px
}

.bold {
    font-weight: 700
}

.red {
    color: #f15050
}

.boldRed {
    color: #f15050;
    font-weight: 700
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.caution {
    font-size: 1.2rem
}

.pc {
    display: block !important
}

.pc-none {
    display: none !important
}

.sp {
    display: none !important
}

.liquid-none {
    display: block !important
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    img {
        height: auto;
        max-width: 100%
    }

    .pc-none {
        display: block !important
    }

    .liquid-none {
        display: none !important
    }
}

@media screen and (max-width: 767px) {
    img {
        display: block;
        height: auto;
        width: 100%;
        max-width: 100%
    }

    .pc-none {
        display: block !important
    }

    .pc {
        display: none !important
    }

    .sp {
        display: block !important
    }
}

header {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100
}

.header-inner {
    margin: 0 auto;
    width: 1024px;
    height: 80px
}

.header-logo {
    margin-top: 15px;
    display: inline-block;
    width: 123px
}

.header-logo img {
    display: block;
    width: 100%
}

.header-nav {
    margin-left: 25px;
    display: inline-block;
    vertical-align: top
}

.header-nav .header-nav-toggle {
    display: none
}

.header-nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.3rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header-nav-link > li {
    padding: 15px 0
}

.header-nav-link > li > a {
    margin: 0 15px;
    padding: 15px 0;
    display: block;
    color: #333;
    line-height: 1;
    text-decoration: none;
    position: relative
}

.header-nav-link > li > a::before {
    content: "";
    height: 3px;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    background: #f03;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .3s all;
    transition: .3s all
}

.header-nav-link > li:hover > a {
    color: #f03
}

.header-nav-link > li:hover > a::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.header-nav-link > li:hover > div {
    visibility: visible
}

.header-nav-link-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 0;
    background: #fff;
    line-height: 1;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 3;
    overflow: hidden;
    visibility: hidden;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition: .3s all;
    transition: .3s all
}

.header-nav-link-child span {
    margin-top: 16px;
    padding: 60px 0;
    width: 120px;
    font-size: 1.7rem
}

.header-nav-link-child span a {
    text-decoration: none
}

.header-nav-link-child ul {
    padding: 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 904px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.header-nav-link-child ul li {
    width: 225px
}

.header-nav-link-child ul li a {
    padding: 20px;
    display: block;
    font-size: 1.3rem;
    text-decoration: none
}

.header-nav-link-child ul li a::after {
    font-family: FontAwesome;
    content: "\f054";
    float: right
}

#pageTop .header-nav-link > li:first-child > a, #pageService .header-nav-link > li:nth-child(2) > a, #pageServiceDetail .header-nav-link > li:nth-child(2) > a, #pageInvestors .header-nav-link > li:nth-child(3) > a, #pageAboutus .header-nav-link > li:nth-child(4) > a, #pageNews .header-nav-link > li:nth-child(5) > a, #pageContact .header-nav-link > li:nth-child(6) > a {
    color: #f03
}

#pageTop .header-nav-link > li:first-child > a::before, #pageService .header-nav-link > li:nth-child(2) > a::before, #pageServiceDetail .header-nav-link > li:nth-child(2) > a::before, #pageInvestors .header-nav-link > li:nth-child(3) > a::before, #pageAboutus .header-nav-link > li:nth-child(4) > a::before, #pageNews .header-nav-link > li:nth-child(5) > a::before, #pageContact .header-nav-link > li:nth-child(6) > a::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.header-external {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header-english {
    margin-right: 25px;
    color: #666;
    font-size: 1.2rem;
    font-weight: 500;
    text-decoration: none
}

.header-english:visited {
    color: #666
}

.header-english:hover {
    color: #666;
    text-decoration: none
}

.header-recruit {
    padding: 15px;
    display: block;
    height: 100%;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: .15em;
    text-align: center;
    text-decoration: none;
    background: #f03;
    -webkit-transition: .3s all;
    transition: .3s all
}

.header-recruit:visited {
    color: #fff
}

.header-recruit:hover {
    color: #fff;
    text-decoration: none;
    background: #ff4f4f
}

.header-recruit span {
    display: block;
    font-size: 1.3rem;
    letter-spacing: .1em;
    -webkit-transform: skew(-10deg);
    transform: skew(-10deg)
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .header-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%
    }

    .header-logo {
        margin-top: 0;
        margin-left: 15px
    }

    .header-nav {
        margin-left: 0
    }

    .header-nav-link > li > a {
        margin: 0 10px
    }

    .header-nav-link > li > div {
        visibility: hidden
    }

    .header-nav-link > li > div span {
        text-align: center
    }

    .header-nav-link > li.active > a {
        color: #f03
    }

    .header-nav-link > li.active > a::before {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    .header-nav-link > li.active > div {
        visibility: visible
    }
}

@media screen and (max-width: 767px) {
    header {
        height: 13.33vw
    }

    .header-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 100%;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .header-logo {
        margin: 0;
        padding-left: 4%;
        display: block;
        width: 19.85%
    }

    .header-nav {
        margin: 0;
        padding: 4.26% 4.26% 4.26% 4.26%;
        display: block;
        width: 13.33%;
        height: 100%;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .header-nav.active {
        background: #f03
    }

    .header-nav .header-nav-toggle {
        padding: 0;
        border: 0;
        display: block;
        width: 100%;
        height: 100%;
        background: transparent;
        position: relative
    }

    .header-nav .header-nav-toggle span, .header-nav .header-nav-toggle::before, .header-nav .header-nav-toggle::after {
        display: block;
        width: 100%;
        height: 2px;
        background: #f03;
        position: absolute;
        left: 0;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .header-nav .header-nav-toggle span {
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

    .header-nav .header-nav-toggle::before {
        content: "";
        top: 15%
    }

    .header-nav .header-nav-toggle::after {
        content: "";
        bottom: 15%
    }

    .header-nav.active .header-nav-toggle span, .header-nav.active .header-nav-toggle::before, .header-nav.active .header-nav-toggle::after {
        background: #fff
    }

    .header-nav.active .header-nav-toggle span {
        opacity: 0
    }

    .header-nav.active .header-nav-toggle::before {
        content: "";
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transform-origin: 0;
        transform-origin: 0;
        width: calc(141% - 2px)
    }

    .header-nav.active .header-nav-toggle::after {
        content: "";
        bottom: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 0;
        transform-origin: 0;
        width: calc(141% - 2px)
    }

    .header-nav.active .header-nav-link {
        height: calc(100% - 13.33vw);
        overflow: auto
    }

    .header-nav-link {
        display: block;
        width: 100%;
        height: 0;
        position: fixed;
        top: 13.33vw;
        left: 0;
        z-index: 3;
        background: rgba(0, 0, 0, 0.7);
        overflow: hidden;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .header-nav-link > li {
        padding: 0;
        background: #f03
    }

    .header-nav-link > li a {
        margin: 0;
        padding: 5.33% 5.33% 5.33% 5.33%;
        border-bottom: 1px solid #cc1539;
        display: block;
        color: #fff !important;
        line-height: 1;
        text-decoration: none;
        font-size: 14px;
        font-size: 3.73333vw;
        position: static
    }

    .header-nav-link > li a::before {
        content: none
    }

    .header-nav-link > li a::after {
        font-family: FontAwesome;
        content: "\f105";
        float: right;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .header-nav-link > li[data-link] > a::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .header-nav-link > li.active > a::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg)
    }

    .header-nav-link-child {
        padding: 0;
        display: block;
        position: static;
        background: #de0531;
        visibility: visible
    }

    .header-nav-link-child > span {
        margin: 0;
        padding: 0;
        display: block;
        width: 100%;
        font-size: 14px;
        font-size: 3.73333vw
    }

    .header-nav-link-child > span a {
        padding: 5.33% 5.33% 5.33% 10.66%
    }

    .header-nav-link-child ul {
        padding: 0;
        width: 100%
    }

    .header-nav-link-child ul li {
        display: block;
        width: 100%
    }

    .header-nav-link-child ul li a {
        padding: 5.33% 5.33% 5.33% 10.66%;
        width: 100%;
        font-size: 14px;
        font-size: 3.73333vw
    }

    .header-nav-link-child ul li a::after {
        font-family: FontAwesome;
        content: "\f105";
        float: right;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .active .header-nav-link-child ul {
        display: block
    }

    .header-external {
        display: none
    }
}

main {
    margin-top: 80px;
    padding-bottom: 150px;
    position: relative
}

main > section {
    margin: 0 auto;
    padding: 100px 0;
    border-bottom: 1px dotted #ccc;
    width: 1024px
}

main > section:last-child {
    padding-bottom: 0;
    border-bottom: none
}

main > section.full {
    width: 100%
}

main .section-inner {
    margin: 0 auto;
    width: 1280px;
    max-width: 100%;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    main > section {
        padding: 100px 5%;
        width: 100%
    }

    main .section-inner {
        margin: 0 auto;
        width: 100%;
        max-width: 800px
    }
}

@media screen and (max-width: 767px) {
    main {
        margin-top: 13.33vw;
        padding-bottom: 20%
    }

    main > section {
        margin: 13.33% 0% 20% 0%;
        padding: 0% 5.33% 0% 5.33%;
        border-bottom: 0;
        width: 100%
    }

    main > section:last-child {
        margin-bottom: 0
    }

    main .section-inner {
        width: 100%
    }

    main .section-inner-full_content-sp {
        margin: 0% -5.34% 0% -5.34%
    }
}

footer {
    color: #fff;
    position: relative
}

.footer-link {
    padding: 40px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #031a31
}

.footer-link > li {
    margin-right: 115px
}

.footer-link > li > a {
    margin-bottom: 20px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    -webkit-transition: .3s opacity;
    transition: .3s opacity
}

.footer-link > li > a:hover {
    opacity: .8
}

.footer-link > li:nth-child(3) .footer-link-child {
    -webkit-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 25px;
    column-gap: 25px
}

.footer-link-child span {
    display: none
}

.footer-link-child a {
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    -webkit-transition: .3s opacity;
    transition: .3s opacity
}

.footer-link-child a:hover {
    opacity: .8
}

.footer-bottom {
    margin: 0 auto;
    padding: 15px 0 15px 165px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 1024px;
    height: 100px;
    line-height: 1
}

.footer-bottom li {
    margin-right: 20px;
    display: inline-block
}

.footer-bottom li a {
    color: #333;
    font-size: 1.2rem;
    text-decoration: none;
    -webkit-transition: .3s opacity;
    transition: .3s opacity
}

.footer-bottom li a:hover {
    opacity: .8
}

.footer-logo {
    margin: -15px auto 15px;
    width: 1024px;
    position: relative
}

.footer-logo .footer-logo-corporate {
    width: 90px;
    position: absolute;
    bottom: 0;
    left: 0
}

.footer-logo .footer-logo-corporate img {
    display: block;
    width: 100%
}

.footer-logo .footer-logo-other {
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: 1
}

.footer-logo .footer-logo-other a {
    margin-left: 15px;
    display: inline-block
}

.footer-logo .footer-logo-other a img {
    height: 70px
}

.footer-copyright {
    padding: 10px;
    display: block;
    background: #f03;
    font-size: 1.1rem;
    text-align: center
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .footer-link {
        width: 100%;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .footer-link li {
        margin-right: 0
    }

    .footer-bottom {
        padding-left: 20%;
        width: 100%
    }

    .footer-logo {
        width: 100%
    }

    .footer-logo .footer-logo-corporate {
        left: 5%
    }

    .footer-logo .footer-logo-other {
        right: 3%
    }
}

@media screen and (max-width: 767px) {
    footer {
        background: #031a31
    }

    .footer-link {
        margin: 0;
        padding: 0;
        display: block;
        width: auto
    }

    .footer-link li {
        margin: 0
    }

    .footer-link li a {
        margin: 0;
        padding: 5.3%;
        border-bottom: 1px solid #3a5066;
        display: block;
        color: #fff;
        line-height: 1;
        text-decoration: none;
        font-size: 14px;
        font-size: 3.73333vw
    }

    .footer-link li a::after {
        font-family: FontAwesome;
        content: "\f105";
        float: right;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .footer-link li[data-link] > a::after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .footer-link li.active > a::after {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg)
    }

    .footer-link li .footer-link-child {
        height: 0;
        background: #02101e;
        -webkit-transition: .3s all;
        transition: .3s all;
        overflow: hidden
    }

    .footer-link li .footer-link-child span {
        display: block
    }

    .footer-link li .footer-link-child a {
        padding: 5.33% 5.33% 5.33% 10.66%
    }

    .footer-link li:nth-child(3) .footer-link-child {
        -webkit-column-count: auto;
        column-count: auto
    }

    .footer-bottom {
        margin: 0;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        height: auto
    }

    .footer-bottom li {
        margin: 0;
        display: block;
        width: 50%
    }

    .footer-bottom li a {
        padding: 10.6%;
        border-bottom: 1px solid #3a5066;
        display: block;
        color: #fff;
        font-size: 13px;
        font-size: 3.46667vw;
        line-height: 1;
        text-decoration: none
    }

    .footer-bottom li a:nth-child(2n+1) {
        border-right: 1px solid #3a5066
    }

    .footer-bottom li a::after {
        font-family: FontAwesome;
        font-size: 14px;
        font-size: 3.73333vw;
        content: "\f105";
        float: right
    }

    .footer-logo {
        margin: 0;
        padding: 2.6% 0;
        width: 100%;
        background: #fff
    }

    .footer-logo .footer-logo-other {
        position: static;
        text-align: center
    }

    .footer-logo .footer-logo-other a {
        margin: 0 2.6%;
        height: 14.8vw
    }

    .footer-logo .footer-logo-other a img {
        width: auto;
        height: 100%
    }

    .footer-copyright {
        padding: 2.6% 0;
        font-size: 11px;
        font-size: 2.93333vw
    }
}

.tab {
    margin: 0 auto 40px;
    width: 800px
}

.tab-category {
    margin-bottom: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.tab-category span {
    display: none
}

.tab-category h2 {
    margin-right: 2px;
    width: 100%;
    position: relative;
    cursor: pointer
}

.tab-category h2:last-child {
    margin: 0
}

.tab-category h2::after {
    content: "";
    border-top: 0 solid transparent;
    -webkit-transition: .3s border-top;
    transition: .3s border-top
}

.tab-category h2 a {
    padding: 20px 0;
    border: 3px solid #f03;
    display: block;
    width: 100%;
    background: #FFF;
    color: #f03;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    -webkit-transition: .3s background;
    transition: .3s background
}

.tab-category h2 a:hover {
    color: #fff;
    background: #f03
}

.tab-category h2.active::after {
    content: "";
    border-top: 15px solid #f03;
    border-right: 12px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 12px solid transparent;
    position: absolute;
    top: 100%;
    left: calc(50% - 12px)
}

.tab-category h2.active a {
    color: #fff;
    background: #f03
}

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

.tab-year li {
    margin-right: 2px;
    width: 100%;
    position: relative;
    cursor: pointer
}

.tab-year li:last-child {
    margin: 0
}

.tab-year li::after {
    content: "";
    border-top: 0 solid transparent;
    -webkit-transition: .3s border-top;
    transition: .3s border-top
}

.tab-year li a {
    padding: 5px;
    border: 3px solid #ccc;
    display: block;
    color: #ccc;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    text-decoration: none;
    width: 100%;
    -webkit-transition: .3s all;
    transition: .3s all
}

.tab-year li a:hover {
    border: 3px solid #333;
    color: #fff;
    background: #333
}

.tab-year li.active::after {
    content: "";
    border-top: 15px solid #333;
    border-right: 12px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 12px solid transparent;
    position: absolute;
    top: 100%;
    left: calc(50% - 12px)
}

.tab-year li.active a {
    border: 3px solid #333;
    color: #fff;
    background: #333
}

.tab-contents {
    margin: 0 auto;
    width: 800px
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .tab {
        width: 100%;
        max-width: 800px
    }

    .tab-contents {
        width: 100%;
        max-width: 800px
    }
}

@media screen and (max-width: 767px) {
    .tab {
        margin-bottom: 0;
        width: 100%
    }

    .tab-category {
        margin-bottom: 1.49%;
        border: none;
        display: block;
        overflow: hidden;
        -webkit-transition: .3s display;
        transition: .3s display
    }

    .tab-category span {
        padding: 4.47% 4.47% 4.47% 4.47%;
        color: #fff;
        line-height: 1;
        display: block;
        background: #f03
    }

    .tab-category span::after {
        font-family: FontAwesome;
        content: "\f107";
        background: #fff;
        width: 1em;
        height: 1em;
        color: #f03;
        text-align: center;
        float: right
    }

    .tab-category span.active::after {
        content: "\f106"
    }

    .tab-category h2 {
        width: 100%;
        display: none
    }

    .tab-category h2.active {
        background: #de0531
    }

    .tab-category h2.active a {
        color: #fff;
        background: #de0531
    }

    .tab-category h2.active::after {
        content: none
    }

    .tab-category h2 a {
        padding: 4.47% 4.47% 4.47% 4.47%;
        border: 0;
        border-top: 1px solid #cc1539;
        color: #fff;
        font-weight: 400;
        text-align: left;
        line-height: 1;
        background: #de0531
    }

    .tab-category.active h2 {
        display: block
    }

    .tab-year li {
        font-size: 14px;
        font-size: 3.73333vw;
        font-weight: 400;
        -webkit-transition: .3s all;
        transition: .3s all
    }

    .tab-year li.active a {
        border: 3px solid #333;
        color: #fff;
        background: #333
    }

    .tab-year li.active::after {
        border-top: 2vw solid #333;
        border-right: 1.3vw solid transparent;
        border-bottom: 2vw solid transparent;
        border-left: 1.3vw solid transparent;
        left: calc(50% - 1.3vw)
    }

    .tab-contents {
        width: 100%
    }
}

.table1 {
    width: 100%
}

.table1 th, .table1 td {
    padding: .25em .75em;
    border: 1px solid #ccc
}

.table1 th {
    background: #f2f4f4
}

.table2 {
    width: 100%;
    line-height: 1.8
}

.table2 th {
    padding: .25em .75em;
    font-weight: 700;
    vertical-align: top
}

.table2 td {
    padding: .25em .75em;
    vertical-align: top
}

#toTop {
    display: none;
    position: fixed;
    bottom: 15px;
    right: 15px;
    font-size: 0;
    cursor: pointer;
    z-index: 10
}

.button {
    margin: 0 auto;
    padding: 15px;
    border-radius: 100px;
    display: block;
    width: 320px;
    background: #f03;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    -webkit-transition: .3s all;
    transition: .3s all
}

.button::after {
    font-family: FontAwesome;
    content: "\f105";
    float: right
}

.button:visited {
    color: #fff
}

.button:hover {
    color: #fff;
    text-decoration: none;
    background: #ff4f4f
}

.button[target="_blank"]::after {
    content: none
}

.button.back::after {
    content: "\f104";
    float: left
}

.entryBack {
    margin: 0 auto;
    padding: 10px 15px;
    width: 250px;
    background: #999;
    border-radius: 100px;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    -webkit-transition: .3s all;
    transition: .3s all
}

.entryBack:visited {
    color: #fff
}

.entryBack:hover {
    color: #fff;
    text-decoration: none;
    background: #666
}

.entryBack::after {
    font-family: FontAwesome;
    content: "\f104";
    float: left
}

@media screen and (max-width: 767px) {
    #toTop {
        display: none !important
    }

    .button {
        padding: 4.47% 4.47% 4.47% 4.47%;
        width: 100%;
        font-size: 16px;
        font-size: 4.26667vw
    }

    .button:hover {
        background: #f03
    }

    .entryBack {
        padding: 2.98% 4.47% 2.98% 4.47%;
        width: 50%;
        font-size: 16px;
        font-size: 4.26667vw
    }

    .entryBack:hover {
        background: #999
    }
}

.btn-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 45px -10px
}

.btn-group > .button {
    margin: 0 10px
}

@media screen and (max-width: 767px) {
    .btn-group {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 12% 0% 0% 0%
    }

    .btn-group > .button {
        margin: 5.33% 0% 0% 0%
    }

    .btn-group > .button:first-child {
        margin-top: 0
    }
}

.breadcrumbs {
    margin: 0 auto;
    width: 1024px;
    color: #fff;
    font-size: 1.2rem;
    position: absolute;
    top: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.breadcrumbs a {
    margin: 0 .5em;
    color: #fff;
    text-decoration: none
}

.breadcrumbs a:first-child {
    margin-left: 0
}

.breadcrumbs span {
    margin-left: .5em
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .breadcrumbs {
        padding: 0 5%;
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        display: none
    }
}

.card {
    text-align: center
}

.card a {
    display: block;
    font-size: 1.4rem;
    position: relative
}

.card a > img:not(.linkExternal) {
    display: block;
    width: 100%
}

.card a::before, .card a::after {
    content: "";
    display: block;
    background: #f03;
    height: 2px;
    width: 0;
    position: absolute;
    z-index: -1;
    opacity: 0;
    -webkit-transition: .2s width 0s, .2s height .2s;
    transition: .2s width 0s, .2s height .2s
}

.card a:before {
    top: -2px;
    left: 0px
}

.card a::after {
    bottom: -2px;
    right: 0px
}

.card a:hover::before, .card a:hover::after {
    width: calc(100% + 2px);
    height: calc(100% + 4px);
    opacity: 1
}

.card a + p {
    margin-top: 10px
}

.card h3 {
    font-weight: 500;
    font-size: 1.9rem
}

.card div a {
    padding: 0;
    background: none
}

.card div a::before, .card div a::after {
    content: none
}

.card.card-left {
    text-align: left
}

.card.card-preBorder a {
    padding: 1px;
    background: #ccc;
    z-index: 1
}

.card.card-preBorder a > img {
    position: relative;
    z-index: 2
}

.card.card-preBorder a:before {
    top: -1px;
    left: 1px
}

.card.card-preBorder a::after {
    bottom: -1px;
    right: 1px
}

.card.card-preBorder a:hover::before, .card.card-preBorder a:hover::after {
    width: 100%;
    height: calc(100% + 2px)
}

.card.card-preBorder div a {
    padding: 0;
    background: none
}

@media screen and (max-width: 767px) {
    .card a {
        border: none;
        font-size: 14px;
        font-size: 3.73333vw
    }

    .card a:hover {
        border: none
    }

    .card h3 {
        font-size: 19px;
        font-size: 5.06667vw
    }
}

.item_card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: #333;
    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
    -webkit-transition: 0.3s -webkit-box-shadow;
    transition: 0.3s -webkit-box-shadow;
    transition: 0.3s box-shadow;
    transition: 0.3s box-shadow, 0.3s -webkit-box-shadow
}

.item_card:hover {
    text-decoration: none;
    color: #333;
    -webkit-box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.12)
}

.item_card .item_card-image {
    width: 100%;
    height: auto;
    vertical-align: top
}

.item_card .item_card-body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0.5em 1em 0.8em
}

.item_card .item_card-sub {
    font-size: 12px;
    color: #999
}

.item_card .item_card-description {
    font-size: 13px;
    line-height: 1.53
}

@media screen and (max-width: 767px) {
    .item_card .item_card-body {
        padding: 4% 5.33% 4% 5.33%
    }

    .item_card .item_card-sub {
        font-size: 12px;
        font-size: 3.2vw
    }

    .item_card .item_card-description {
        font-size: 15px;
        font-size: 4vw
    }
}

.column2, .column3 {
    margin: 0 -10px -20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.column2 > *, .column3 > * {
    margin-bottom: 20px;
    padding: 0 10px;
    width: calc(100% / 2)
}

.column3 > * {
    width: calc(100% / 3)
}

@media screen and (max-width: 767px) {
    .column2, .column3 {
        margin: 0;
        display: block
    }

    .column2 > *, .column3 > * {
        margin-bottom: 7.46%;
        padding: 0;
        width: 100%
    }

    .column2 > *:last-child, .column3 > *:last-child {
        margin-bottom: 0
    }
}

.media_column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.media_column .text_col {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.media_column .image_col {
    margin-right: 40px;
    padding-top: 8px;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.media_column + .media_column {
    margin-top: 45px
}

@media screen and (max-width: 767px) {
    .media_column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }

    .media_column .text_col {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }

    .media_column .image_col {
        margin-right: 0;
        padding-top: 0;
        margin-bottom: 5.33%
    }

    .media_column .image_col.image_col-logo img {
        width: 45%;
        margin-top: 5.33%;
        margin-bottom: 5.33%;
        margin-left: auto;
        margin-right: auto
    }
}

.list-group.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 -0.9em -6%
}

.list-group.horizontal > li {
    width: 19%;
    margin: 0 0 0.9em 6%;
    line-height: 1.4
}

.list-group.horizontal > li a {
    text-decoration: none
}

.list-disc > li {
    padding-left: 1em;
    text-indent: -1em
}

.list-disc > li::before {
    content: "・"
}

.list-decimal {
    counter-reset: count 0
}

.list-decimal > li {
    padding-left: 1.5em;
    text-indent: -1.5em
}

.list-decimal > li::before {
    margin-right: 0.5em;
    counter-increment: count;
    content: counter(count) ".";
    font-weight: bold
}

@media screen and (max-width: 767px) {
    .list-group.horizontal {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: unset;
        flex-wrap: unset;
        margin: 0 0 -1em 0
    }

    .list-group.horizontal > li {
        width: 100%;
        margin: 0 0 1.4em 0
    }
}

.indent10 > li {
    padding-left: 1em;
    text-indent: -1em
}

.indent10 > li *:not(li) {
    text-indent: 0
}

.indent11 > li {
    padding-left: 1.1em;
    text-indent: -1.1em
}

.indent11 > li *:not(li) {
    text-indent: 0
}

.indent18 > li {
    padding-left: 1.8em;
    text-indent: -1.8em
}

.indent18 > li *:not(li) {
    text-indent: 0
}

.boxList > li {
    margin-bottom: 1em
}

.article-list {
    margin: 0 auto 40px;
    width: 800px
}

.article-list li {
    margin-bottom: 15px;
    font-size: 1.4rem
}

.article-list li .date {
    width: 4.5em
}

.article-list li .icon {
    margin: 0 .5em;
    padding: 0 5px;
    display: inline-block;
    width: 7em;
    background: #0488b3;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center
}

.article-list li .new {
    margin-right: .5em;
    color: #f03;
    font-weight: 700
}

.article-list li .title {
    padding-right: 1.5em;
    display: inline-block;
    max-width: calc(100% - 13em);
    vertical-align: middle;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative
}

.article-list li .title .size {
    margin-left: .5em;
    color: #333
}

.article-list li .title .linkPdf, .article-list li .title .linkExternal {
    position: absolute;
    right: 0;
    top: .5em
}

#xj-mainlist li .icon {
    background: #124456
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .article-list {
        width: 100%;
        max-width: 800px
    }
}

@media screen and (max-width: 767px) {
    .article-list {
        margin-top: -1px;
        margin-bottom: 2%;
        width: 100%
    }

    .article-list li {
        margin: 0;
        padding: 4.47% 0% 4.47% 0%;
        border-top: 1px dotted #ccc;
        width: 100%
    }

    .article-list li .date {
        font-size: 14px;
        font-size: 3.73333vw
    }

    .article-list li .icon {
        padding: 0;
        font-size: 12px;
        font-size: 3.2vw
    }

    .article-list li .title {
        width: 100%;
        max-width: none;
        font-size: 14px;
        font-size: 3.73333vw;
        line-height: 1.8;
        white-space: normal
    }

    .article-list li .title .linkPdf, .article-list li .title .linkExternal {
        position: static
    }
}

.graph-list li {
    margin-bottom: 80px
}

.graph-list li h3 {
    margin-bottom: 10px;
    font-size: 1.9rem;
    font-weight: 500;
    text-align: center
}

.graph-list li .graph {
    text-align: center
}

.graph-list li .graph span {
    margin: 0 auto;
    display: block;
    width: 250px;
    font-size: 1.3rem;
    line-height: 1;
    text-align: left
}

.xj_chart_table {
    width: 100%;
    font-size: 1.3rem
}

.xj_chart_table + br {
    display: none
}

.xj_chart_table tr td {
    border: 1px solid #dbdbdb;
    text-align: center
}

.xj_chart_table_caption_title {
    display: none
}

.xj_chart_table_caption_unit {
    font-size: 1.3rem
}

.xj_chart_header, .xj_chart_header_first, .xj_chart_q, .xj_chart_q_last {
    background: #f2f4f4
}

@media screen and (max-width: 767px) {
    .graph-list {
        width: 100%
    }

    .graph-list li {
        margin-bottom: 11.94%
    }

    .graph-list li h3 {
        margin-bottom: 1.49%;
        font-size: 19px;
        font-size: 5.06667vw
    }

    .graph-list li .graph span {
        width: 100%;
        font-size: 13px;
        font-size: 3.46667vw
    }

    .graph-list li .graph img {
        display: block;
        width: 100%
    }

    .xj_chart_table {
        font-size: 13px;
        font-size: 3.46667vw
    }

    .xj_chart_table_caption_unit {
        font-size: 13px;
        font-size: 3.46667vw
    }
}

.description-list > div {
    margin-bottom: 40px
}

.description-list > div:last-child {
    margin-bottom: 0
}

.description-list > div dt {
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .description-list > div {
        margin-bottom: 5.97%
    }

    .description-list > div:last-child {
        margin-bottom: 0
    }
}

.description-toggle_list > dt {
    margin-top: 10px;
    position: relative
}

.description-toggle_list > dt::before, .description-toggle_list > dt::after {
    content: "";
    width: 1px;
    height: 2em;
    position: absolute;
    top: 50%;
    right: 2.5em;
    background: #fff;
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    -webkit-transition: .3s transform;
    transition: .3s transform
}

.description-toggle_list > dt::after {
    -webkit-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0)
}

.description-toggle_list > dt > .label {
    padding: 1em 1.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #f03;
    color: #fff;
    text-decoration: none;
    cursor: pointer
}

.description-toggle_list > dt.active::before {
    -webkit-transform: translateY(-50%) rotate(270deg);
    transform: translateY(-50%) rotate(270deg)
}

.description-toggle_list > dt.active::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.description-toggle_list > dd {
    padding: 1.5em;
    display: none
}

.description-toggle_list.within_icon > dt {
    border-bottom: solid 2px #ccc
}

.description-toggle_list.within_icon > dt::before, .description-toggle_list.within_icon > dt::after {
    background: #ff0333
}

.description-toggle_list.within_icon > dt > .label {
    padding: 0.3em 0.5em;
    font-size: 2rem;
    color: #031a31;
    background: #f2f4f4
}

.description-toggle_list.within_icon > dt > .label > .icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50px;
    height: 50px;
    margin-right: .2em
}

@media screen and (max-width: 767px) {
    .description-toggle_list > dt {
        margin-top: .74%
    }

    .description-toggle_list > dt::before, .description-toggle_list > dt::after {
        height: 1em;
        right: 1.5em
    }

    .description-toggle_list > dt:hover {
        background: #f03
    }

    .description-toggle_list > dt > .label {
        padding: .5em 3em .5em 1em
    }

    .description-toggle_list > dd {
        padding: 1em;
        display: none
    }

    .description-toggle_list.within_icon > dt {
        border-bottom: solid 2px #ccc
    }

    .description-toggle_list.within_icon > dt::before, .description-toggle_list.within_icon > dt::after {
        background: #ff0333
    }

    .description-toggle_list.within_icon > dt > .label {
        padding: .5em 3em .5em 1em;
        font-size: 15px;
        font-size: 4vw
    }

    .description-toggle_list.within_icon > dt > .label > .icon {
        width: 6.66667vw;
        height: 6.66667vw;
        margin-right: .5em
    }
}

.number-list > li {
    margin-bottom: 2em
}

.number-list > li:last-child {
    margin-bottom: 0
}

.number-list .number-list_title {
    display: block;
    margin-bottom: 0.3em;
    padding-left: 1em;
    text-indent: -1em;
    font-weight: 500;
    font-size: 1.9rem;
    line-height: 1.4
}

@media screen and (max-width: 767px) {
    .number-list .number-list_title {
        font-size: 19px;
        font-size: 5.06667vw
    }
}

.square-icon-list > li {
    position: relative;
    padding-left: 1.2em
}

.square-icon-list > li > em {
    color: #d00
}

.square-icon-list > li::before {
    position: absolute;
    content: "\025a0";
    display: block;
    top: 0;
    left: 0;
    color: #d00
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 5%;
    background: rgba(0, 0, 0, 0.8);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1000;
    line-height: 2
}

.modal-overlay::before, .modal-overlay::after {
    content: "";
    width: 1px;
    height: 2em;
    position: absolute;
    top: 2em;
    right: 2em;
    background: #fff;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg)
}

.modal-overlay::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg)
}

.modal-container {
    background-color: #fff;
    width: 100%;
    max-width: 700px;
    max-height: calc(100vh - 7em);
    padding: 60px 30px 40px;
    overflow-y: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.modal-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 40px
}

.modal-header > *:last-child {
    margin-bottom: 0
}

@-webkit-keyframes mmfadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes mmfadeIn {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes mmfadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes mmslideIn {
    from {
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes mmslideIn {
    from {
        -webkit-transform: translateY(15%);
        transform: translateY(15%)
    }
    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes mmslideOut {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
}

@keyframes mmslideOut {
    from {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    to {
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%)
    }
}

.micromodal-slide {
    display: none
}

.micromodal-slide.is-open {
    display: block
}

.micromodal-slide[aria-hidden="false"] .modal-overlay {
    -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden="false"] .modal-container {
    -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden="true"] .modal-overlay {
    -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden="true"] .modal-container {
    -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
    animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide .modal-container, .micromodal-slide .modal-overlay {
    will-change: transform
}

@media screen and (max-width: 767px) {
    .modal-overlay {
        padding: 0% 5.33% 0% 5.33%
    }

    .modal-container {
        max-width: unset;
        padding: 8% 4% 5.33% 4%
    }

    .modal-header {
        margin-bottom: 5.33%
    }
}

.slide-gallery {
    margin-top: 30px
}

.slide-gallery .slide-gallery-stage {
    width: 800px;
    margin: 0 auto;
    text-align: center;
    line-height: 1
}

.slide-gallery .slide-gallery-main {
    position: relative
}

.slide-gallery .slide-gallery-arrow {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2
}

.slide-gallery .slide-gallery-arrow::before, .slide-gallery .slide-gallery-arrow::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    height: 25px;
    width: 7px;
    display: block;
    content: "";
    background: #ccc
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-next {
    right: 0
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-next::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: top left;
    transform-origin: top left
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-next::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-prev {
    left: 0
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-prev::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: top right;
    transform-origin: top right
}

.slide-gallery .slide-gallery-arrow.slide-gallery-arrow-prev::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right
}

.slide-gallery .slide-gallery-arrow:hover::before, .slide-gallery .slide-gallery-arrow:hover::after, .slide-gallery .slide-gallery-arrow:focus::before, .slide-gallery .slide-gallery-arrow:focus::after {
    background: #ff0333
}

.slide-gallery .slide-gallery-thumbs {
    width: 800px;
    margin: 20px auto 0;
    line-height: 1;
    font-size: 0
}

.slide-gallery .slide-gallery-thumbs .slide-gallery-thumbs-active {
    position: relative
}

.slide-gallery .slide-gallery-thumbs .slide-gallery-thumbs-active::before {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    background: transparent;
    -webkit-box-shadow: inset 0 0 0 2px #ff0333;
    box-shadow: inset 0 0 0 2px #ff0333;
    z-index: 1
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .slide-gallery {
        max-width: 800px;
        margin-right: auto;
        margin-left: auto
    }

    .slide-gallery .slide-gallery-stage {
        width: 100%
    }

    .slide-gallery .slide-gallery-arrow {
        width: 44px;
        height: 44px;
        background: rgba(0, 0, 0, 0.2)
    }

    .slide-gallery .slide-gallery-arrow::before, .slide-gallery .slide-gallery-arrow::after {
        height: 16px;
        width: 5px;
        background: #fff
    }

    .slide-gallery .slide-gallery-thumbs {
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    .slide-gallery {
        max-width: unset;
        margin: 4% -5.34% 0% -5.34%
    }

    .slide-gallery .slide-gallery-stage {
        width: 100%
    }

    .slide-gallery .slide-gallery-arrow {
        width: 10.66667vw;
        height: 10.66667vw;
        background: rgba(0, 0, 0, 0.2)
    }

    .slide-gallery .slide-gallery-arrow::before, .slide-gallery .slide-gallery-arrow::after {
        height: 3.33333vw;
        width: .93333vw;
        background: #fff
    }

    .slide-gallery .slide-gallery-thumbs {
        width: 100%;
        margin-top: 5.33333vw;
        padding: 0% 5.33% 0% 5.33%
    }
}

.pdf {
    margin-top: 50px;
    padding: 10px;
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #333;
    text-decoration: none
}

.pdf img {
    display: block;
    width: 158px;
    height: 100%
}

.pdf span {
    margin-left: 10px;
    font-size: 1.4rem;
    line-height: 1.4
}

@media screen and (max-width: 767px) {
    .pdf {
        display: none
    }
}

.coming_soon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 6em;
    font-size: 20px
}

@media screen and (max-width: 767px) {
    .coming_soon {
        font-size: 20px;
        font-size: 5.33333vw
    }
}

.main-title {
    background: #ff0033;
    background: linear-gradient(135deg, #FF1D0D 0%, #FF1D0D 60%, #fce5e4 60%, #fce5e4 100%)
}

.main-title h1, .main-title div {
    max-width: 600px;
    margin: 0 calc((100vw - 1024px) / 2);
    padding: 50px 0;
    width: 1024px;
    color: #fff;
    font-size: 2.7rem;
    line-height: 1.5
}

.main-title h1 span, .main-title div span {
    font-size: 2rem;
    vertical-align: text-bottom
}

.main-title h1 span::after, .main-title div span::after {
    content: "|";
    margin: 0 1em;
    color: #f8c5c5
}

section > h2, .heading01 {
    margin: 0 auto 50px;
    text-align: center
}

section > h2 span, .heading01 span {
    padding: 0 .5em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fce5e4));
    background: linear-gradient(transparent 60%, #fce5e4 60%);
    font-size: 2.5rem
}

section > h2 span br:not(.always), .heading01 span br:not(.always) {
    display: none
}

h3 {
    font-weight: 500
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .main-title {
        background: #ff0033;
        background: linear-gradient(135deg, #f03 0%, #f03 66.6%, #fce5e4 66.6%, #fce5e4 100%)
    }

    .main-title h1, .main-title div {
        margin: 0;
        padding: 30px 5%;
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    .main-title {
        background: linear-gradient(135deg, #f03 0%, #f03 75%, #fce5e4 75%, #fce5e4 100%)
    }

    .main-title h1, .main-title div {
        padding: 4% 5.33% 4% 5.33%;
        font-size: 20px;
        font-size: 5.33333vw;
        margin: 0 auto 0 0;
        width: 80%;
        line-height: 1
    }

    .main-title h1 span, .main-title div span {
        display: none
    }

    section > h2, .heading01 {
        margin: 0 auto 6.6%;
        text-align: center
    }

    section > h2 span, .heading01 span {
        padding: 0;
        display: inline;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fce5e4));
        background: linear-gradient(transparent 60%, #fce5e4 60%);
        font-size: 25px;
        font-size: 6.66667vw;
        line-height: 1.4
    }

    section > h2 span br:not(.always), .heading01 span br:not(.always) {
        display: block
    }
}

.box {
    margin-bottom: 30px
}

.box:last-child {
    margin-bottom: 0
}

.frameBox {
    padding: 1em;
    border: 1px solid #ccc;
    line-height: 1.8
}

.point {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid #f15050;
    line-height: 1.8
}

.point .point-title {
    color: #f15050;
    font-weight: 700
}

.point dt {
    margin-top: .5em;
    font-weight: 700;
    padding-left: 1em;
    text-indent: -1em
}

@media screen and (max-width: 767px) {
    .box {
        margin-bottom: 4.47%
    }
}

#pageAboutus .aboutus-message {
    margin: 0;
    padding: 125px 0;
    border: 0;
    width: 100%;
    background: #f2f5f7 url("/images/aboutus/message_main.jpg") no-repeat center center;
    background-size: auto 100%
}

#pageAboutus .aboutus-message h2 {
    margin-bottom: 20px;
    font-size: 2.9rem;
    line-height: 1.8
}

#pageAboutus .aboutus-message span {
    margin-bottom: 10px;
    display: block;
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .1em
}

#pageAboutus .aboutus-message img {
    display: block
}

#pageAboutus .section-inner {
    overflow: hidden
}

#pageAboutus .aboutus-profile table {
    float: left
}

#pageAboutus .aboutus-profile table th {
    padding: 0 2em 2em 0;
    font-weight: 500
}

#pageAboutus .aboutus-profile table td {
    padding: 0 2em 2em 0
}

#pageAboutus .aboutus-profile-logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#pageAboutus .aboutus-profile-logos a {
    margin-right: 20px;
    margin-bottom: 10px
}

#pageAboutus .aboutus-map {
    width: 100%
}

#pageAboutus .aboutus-map #map_canvas {
    height: 510px;
    text-align: center
}

#pageAboutus .aboutus-history {
    width: 100%
}

#pageAboutus .aboutus-history table {
    width: 100%
}

#pageAboutus .aboutus-history table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#pageAboutus .aboutus-history table tr:first-child th::after {
    top: 57px;
    height: calc(100% - 57px)
}

#pageAboutus .aboutus-history table tr:last-child th::after {
    height: calc(100% - 57px)
}

#pageAboutus .aboutus-history table tr:nth-child(2n) {
    background: #f4f4f4
}

#pageAboutus .aboutus-history table th {
    padding: 35px 0;
    display: block;
    width: 180px;
    position: relative
}

#pageAboutus .aboutus-history table th::after {
    content: "";
    display: block;
    height: 100%;
    width: 1px;
    background: #f03;
    position: absolute;
    top: 0;
    right: 0
}

#pageAboutus .aboutus-history table th img {
    display: block
}

#pageAboutus .aboutus-history table td {
    display: block;
    width: 620px
}

#pageAboutus .aboutus-history table td ul {
    padding: 35px 0
}

#pageAboutus .aboutus-history table td ul li {
    margin-bottom: 20px;
    padding-left: 40px;
    line-height: 37.5px;
    position: relative
}

#pageAboutus .aboutus-history table td ul li:last-child {
    margin-bottom: 0
}

#pageAboutus .aboutus-history table td ul li span {
    border-radius: 50%;
    display: inline-block;
    background: #f03;
    width: 44px;
    height: 44px;
    color: #fff;
    font-weight: 700;
    line-height: 44px;
    text-align: center;
    position: absolute;
    top: calc(50% - 22px);
    left: -22px
}

#pageAboutus .aboutus-history table td ul li span::after {
    content: "";
    border-top: 3px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 6px solid #f03;
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    left: calc(100% - 1px)
}

#pageAboutus .aboutus-mission {
    margin: 0;
    border: 0;
    width: 100%;
    background: #f2f5f7 url("/images/aboutus/mission_main.jpg") no-repeat center top;
    background-size: cover
}

#pageAboutus .aboutus-mission p {
    margin: 0 auto;
    width: 500px
}

#pageAboutus .aboutus-csr {
    padding-bottom: 0;
    border: 0;
    font-size: 2.5rem;
    line-height: 1.8
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageAboutus .aboutus-message {
        padding: 125px 5%
    }

    #pageAboutus .aboutus-history {
        padding: 100px 0
    }

    #pageAboutus .aboutus-history table tr {
        padding: 0 5%
    }

    #pageAboutus .aboutus-history table th {
        width: 22.5%
    }

    #pageAboutus .aboutus-history table td {
        width: 77.5%
    }

    #pageAboutus .aboutus-mission {
        background: none
    }

    #pageAboutus .aboutus-mission p {
        padding-bottom: 100px;
        border-bottom: 1px dotted #ccc;
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    #pageAboutus .aboutus-message {
        padding: 5.33% 5.33% 5.33% 5.33%;
        background: #f2f5f7 url("/images/aboutus/message_main.jpg") no-repeat 10vw center;
        background-size: auto 100%
    }

    #pageAboutus .aboutus-message h2 {
        margin-bottom: 2.98%;
        font-size: 17px;
        font-size: 4.53333vw
    }

    #pageAboutus .aboutus-message span {
        margin-bottom: 1.49%;
        font-size: 12px;
        font-size: 3.2vw
    }

    #pageAboutus .aboutus-message img {
        width: 25%
    }

    #pageAboutus .aboutus-profile table th {
        padding: 0 1em 2em 0;
        white-space: nowrap
    }

    #pageAboutus .aboutus-profile table td {
        padding: 0 1em 2em 0
    }

    #pageAboutus .aboutus-profile .aboutus-profile-logos a {
        width: 25%;
        margin-right: 8.16%
    }

    #pageAboutus .aboutus-profile .aboutus-profile-logos a img {
        width: auto
    }

    #pageAboutus .aboutus-map #map_canvas {
        height: 100vw
    }

    #pageAboutus .aboutus-history table {
        display: block
    }

    #pageAboutus .aboutus-history table tr {
        display: block
    }

    #pageAboutus .aboutus-history table tr:nth-child(2n) {
        background: #fff
    }

    #pageAboutus .aboutus-history table tr:first-child th::after, #pageAboutus .aboutus-history table tr:last-child th::after {
        top: 50%;
        height: 1px
    }

    #pageAboutus .aboutus-history table th {
        padding: 0;
        width: 100%;
        position: relative;
        overflow: hidden
    }

    #pageAboutus .aboutus-history table th::after {
        content: "";
        height: 1px;
        width: 100%;
        background: #f03;
        position: absolute;
        top: 50%;
        left: 12vw
    }

    #pageAboutus .aboutus-history table th img {
        display: block;
        width: 11.94%
    }

    #pageAboutus .aboutus-history table td {
        width: 100%
    }

    #pageAboutus .aboutus-history table td ul {
        padding: 7.46% 0% 7.46% 0%
    }

    #pageAboutus .aboutus-history table td ul li {
        margin-bottom: 7.46%;
        padding-left: 14.92%;
        line-height: 1.8
    }

    #pageAboutus .aboutus-history table td ul li:last-child {
        margin-bottom: 0
    }

    #pageAboutus .aboutus-history table td ul li span {
        width: 10vw;
        height: 10vw;
        line-height: 10vw;
        left: 0;
        top: calc(50% - 5vw)
    }

    #pageAboutus .aboutus-mission {
        padding: 5.33% 5.33% 0% 5.33%;
        background: none
    }

    #pageAboutus .aboutus-mission p {
        padding-bottom: 14.92%;
        border-bottom: 1px dotted #ccc;
        width: 100%
    }

    #pageAboutus .aboutus-csr {
        font-size: 25px;
        font-size: 6.66667vw
    }
}

#pageContact table {
    margin-bottom: 30px;
    width: 100%
}

#pageContact table tr th {
    padding: 5px 0
}

#pageContact table tr th label {
    padding-left: 3em;
    display: block;
    height: 40px;
    line-height: 40px;
    width: 235px;
    position: relative;
    cursor: pointer
}

#pageContact table tr td {
    padding: 5px 0;
    width: 565px;
    vertical-align: middle
}

#pageContact table tr td .radio-list {
    margin: 0 -5px -5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

#pageContact table tr td .radio-list label {
    margin: 0 5px 5px 0;
    padding: 1em 0 1em 35px;
    border: 1px solid #dbdbdb;
    border-radius: 3px;
    font-size: 1.4rem;
    line-height: 1;
    width: calc(100% / 3 - 5px);
    position: relative;
    cursor: pointer
}

#pageContact table tr td .radio-list label input {
    display: none
}

#pageContact table tr td .radio-list label input + span::before {
    content: '';
    display: block;
    border: 2px solid #ccc;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    position: absolute;
    top: calc(50% - 8px);
    left: 10px
}

#pageContact table tr td .radio-list label input:checked + span::after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    left: 14px;
    background: #0187e5
}

#pageContact table tr td input[type="text"], #pageContact table tr td input[type="email"], #pageContact table tr td textarea {
    padding: .6em 1em;
    border: none;
    width: 100%;
    background: #f2f4f4
}

#pageContact table tr.required th label::before {
    content: "必須";
    padding: .3em .5em;
    border-radius: 3px;
    background: #f03;
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#pageContact table tr.error input[type="text"], #pageContact table tr.error input[type="email"], #pageContact table tr.error textarea {
    border: 1px solid #f03;
    background: #fce5e4
}

#pageContact .errorText {
    margin-top: 5px;
    padding: 5px 10px;
    color: #fff;
    font-size: 1.2rem;
    background: #f03
}

#pageContact .contact-individual {
    margin-bottom: 30px
}

#pageContact .contact-individual div {
    font-size: 1.9rem;
    font-weight: 500
}

#pageContact .contact-individual textarea {
    margin-bottom: 10px;
    padding: 20px;
    border: 1px solid #ccc;
    width: 100%;
    height: 230px;
    font-size: 1.4rem
}

#pageContact .contact-individual a {
    text-decoration: none
}

#pageContact .contact-agree {
    margin: 5px 0;
    text-align: center
}

#pageContact .contact-submit input {
    display: none
}

#pageContact .contact-submit input + .button {
    cursor: pointer
}

#pageContact .contact-submit input[disabled] + .button, #pageContact .contact-submit input[disabled] + .button:hover {
    background: #ccc;
    cursor: default
}

#pageContact .contact-confirm tr {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

#pageContact .contact-confirm tr th {
    padding: .75em .5em;
    width: 235px;
    vertical-align: middle
}

#pageContact .contact-confirm tr td {
    padding: .75em .5em;
    width: 565px;
    vertical-align: middle
}

#pageContact .contact-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#pageContact .contact-buttons input {
    display: none
}

#pageContact .contact-buttons label {
    margin: 0 20px
}

#pageContact .contact-thanks h2 {
    margin-bottom: 1em;
    text-align: center;
    font-size: 2.5rem
}

#pageContact .contact-thanks h2 br {
    display: none
}

@media screen and (max-width: 767px) {
    #pageContact table {
        margin-bottom: 7.46%;
        display: block
    }

    #pageContact table tbody {
        display: block
    }

    #pageContact table tr {
        margin-bottom: 4.47%;
        display: block
    }

    #pageContact table tr th {
        padding: 0;
        display: block
    }

    #pageContact table tr th label {
        padding: 0;
        display: block;
        height: auto;
        line-height: 2;
        width: 100%;
        position: static
    }

    #pageContact table tr td {
        padding: 0;
        display: block;
        width: 100%;
        vertical-align: middle
    }

    #pageContact table tr td .radio-list {
        margin: 0 -10px -10px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #pageContact table tr td .radio-list label {
        margin: 0 10px 10px 0;
        padding: 1em 0 1em 2.4em;
        border: 1px solid #dbdbdb;
        font-size: 14px;
        font-size: 3.73333vw;
        width: calc(100% / 2 - 10px)
    }

    #pageContact table tr td .radio-list label input + span::before {
        border: 2px solid #ccc;
        width: 1em;
        height: 1em;
        top: calc(50% - .5em);
        left: .7em
    }

    #pageContact table tr td .radio-list label input:checked + span::after {
        width: calc(1em - 8px);
        height: calc(1em - 8px);
        top: calc(50% - .5em + 4px);
        left: calc(.7em + 4px)
    }

    #pageContact table tr.required th label::before {
        padding: 0 .5em;
        margin-right: .5em;
        position: static;
        font-size: 11px;
        font-size: 2.93333vw
    }

    #pageContact .errorText {
        padding: .5em 1em;
        font-size: 12px;
        font-size: 3.2vw
    }

    #pageContact .contact-individual {
        margin-bottom: 4.47%
    }

    #pageContact .contact-individual div {
        font-size: 1.9rem;
        font-weight: 500
    }

    #pageContact .contact-individual textarea {
        margin-bottom: 1.49%;
        padding: 2.98% 2.98% 2.98% 2.98%;
        height: 50vw;
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageContact .contact-individual a {
        text-decoration: none
    }

    #pageContact .contact-agree {
        margin: .74% 0% .74% 0%;
        margin: 5px 0;
        text-align: center
    }

    #pageContact .contact-submit input {
        display: none
    }

    #pageContact .contact-submit input[disabled] + .button, #pageContact .contact-submit input[disabled] + .button:hover {
        background: #ccc
    }

    #pageContact .contact-confirm tr {
        border-top: none
    }

    #pageContact .contact-confirm tr:last-child {
        border-bottom: none
    }

    #pageContact .contact-confirm tr th {
        padding: 0;
        width: 100%
    }

    #pageContact .contact-confirm tr td {
        padding: 0;
        width: 100%
    }

    #pageContact .contact-buttons {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #pageContact .contact-buttons input {
        display: none
    }

    #pageContact .contact-buttons label {
        margin-bottom: 7.46%
    }

    #pageContact .contact-thanks h2 {
        font-size: 25px;
        font-size: 6.66667vw;
        line-height: 1.8
    }

    #pageContact .contact-thanks h2 br {
        display: block
    }
}

#pageCookiedelete h3 {
    font-size: 1.8rem;
    font-weight: 700
}

#pageCookiedelete h4 {
    font-weight: 700
}

#pageCookiedelete .browserList > ul > li {
    margin-bottom: 20px
}

#pageCookiedelete .howtoDelete [id] {
    margin-top: -80px;
    padding-top: 80px
}

#pageCookiedelete .howtoDelete > ul > li:not(:last-child) {
    margin-bottom: 30px
}

@media screen and (max-width: 767px) {
    #pageCookiedelete .howtoDelete [id] {
        margin-top: -13.33vw;
        padding-top: 13.33vw
    }
}

#pageEn h3 {
    font-size: 1.9rem;
    text-align: center
}

#pageEn .en-ekiten .en-ekiten-service {
    margin: 100px auto 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#pageEn .en-ekiten .en-ekiten-service .service_value {
    margin: 0 10px;
    position: relative
}

#pageEn .en-ekiten .en-ekiten-service .service_value > img {
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#pageEn .en-ekiten .en-ekiten-service .service_value > .note {
    position: absolute;
    bottom: -2em;
    font-size: 1.4rem
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul {
    padding: 20px;
    border-radius: 4px;
    background: #d00
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul li {
    margin-bottom: 5px;
    padding: 10px;
    border-radius: 4px;
    width: 250px;
    background: #fff;
    line-height: 1;
    text-align: center;
    font-size: 1.4rem
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul li:last-child {
    margin-bottom: 0
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul li div {
    color: #d00;
    font-weight: bold;
    font-size: 2.5rem
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul li div em {
    font-weight: bold;
    font-size: 4rem;
    vertical-align: text-bottom
}

#pageEn .en-ekiten .en-ekiten-service .service_value ul li div .note {
    color: #333;
    font-size: 1.5rem;
    vertical-align: text-top
}

#pageEn .en-history th {
    padding: 15px 20px 15px 0;
    vertical-align: middle
}

#pageEn .en-history th img {
    display: block
}

#pageEn .en-history td {
    vertical-align: middle
}

#pageEn .en-ceo h3 {
    text-align: left;
    line-height: 1
}

#pageEn .en-ceo div {
    margin-bottom: 10px
}

#pageEn .en-ceo img {
    margin-right: 20px;
    float: left
}

#pageEn .en-profile table {
    width: 100%
}

#pageEn .en-profile table tr {
    border-bottom: 1px solid #ccc
}

#pageEn .en-profile table tr th {
    padding: 10px;
    font-weight: 500;
    line-height: 1.4
}

#pageEn .en-profile table tr td {
    padding: 10px;
    line-height: 1.4
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageEn .en-ekiten .en-ekiten-service > img {
        width: calc((100% - 310px) / 2)
    }
}

@media screen and (max-width: 767px) {
    #pageEn .header-external {
        padding: 4.26% 4.26% 4.26% 4.26%;
        display: block;
        font-size: 12px;
        font-size: 3.2vw
    }

    #pageEn .header-english {
        margin: 0;
        display: block
    }

    #pageEn h3 {
        font-size: 19px;
        font-size: 5.06667vw
    }

    #pageEn .en-ekiten .en-ekiten-service {
        margin: 0% 5.97% 4.47% 5.97%;
        display: block
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value > img {
        margin: 0 auto;
        padding: 5.04% 0% 5.04% 0%;
        width: 53.5%;
        position: static;
        -webkit-transform: none;
        transform: none
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value > .note {
        font-size: 11px;
        font-size: 2.93333vw
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul {
        padding: 6.72% 6.72% 6.72% 6.72%;
        margin-bottom: 1em;
        border-radius: 4px;
        background: #d00
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li {
        margin-bottom: 1.94%;
        padding: 3.88% 3.88% 3.88% 3.88%;
        border-radius: 4px;
        background: #fff;
        width: 100%;
        line-height: 1;
        text-align: center;
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li:last-child {
        margin-bottom: 0
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li div {
        font-weight: bold;
        font-size: 25px;
        font-size: 6.66667vw
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li div em {
        color: #d00;
        font-weight: bold;
        font-size: 40px;
        font-size: 10.66667vw
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li div .unit {
        color: #d00;
        font-weight: bold
    }

    #pageEn .en-ekiten .en-ekiten-service .service_value ul li div .note {
        font-size: 15px;
        font-size: 4vw;
        vertical-align: super
    }

    #pageEn .en-history tr {
        margin-bottom: 7.46%;
        display: block
    }

    #pageEn .en-history tr th {
        padding: 0;
        display: block;
        width: 20%
    }

    #pageEn .en-ceo div {
        margin-bottom: 1.49%
    }

    #pageEn .en-ceo img {
        margin-right: 2.98%;
        width: 25%
    }

    #pageEn .en-ceo h3 {
        padding-top: 5.97%
    }

    #pageEn .en-ceo p {
        clear: both
    }

    #pageEn .en-profile table {
        width: 100%
    }

    #pageEn .en-profile table tr th {
        padding: 1.49% 1.49% 1.49% 1.49%
    }

    #pageEn .en-profile table tr td {
        padding: 1.49% 1.49% 1.49% 1.49%
    }
}

#pageError section {
    text-align: center
}

#pageError .main-title {
    min-height: 154px
}

#pageError h1 {
    margin-bottom: 25px;
    color: #f03;
    font-size: 10rem;
    line-height: 1
}

#pageError h1 span {
    display: block;
    font-size: 3rem
}

#pageError .state {
    margin: 0;
    font-size: 2.5rem
}

#pageError p {
    margin-bottom: 50px
}

@media screen and (max-width: 767px) {
    #pageError .main-title {
        min-height: 13.33vw
    }

    #pageError h1 {
        margin-bottom: 3.73%;
        font-size: 100px;
        font-size: 26.66667vw
    }

    #pageError h1 span {
        font-size: 30px;
        font-size: 8vw
    }

    #pageError .maintenance {
        margin: 0 auto;
        margin-bottom: 3.73%;
        width: 33%
    }

    #pageError .state {
        font-size: 20px;
        font-size: 5.33333vw
    }

    #pageError p {
        margin-bottom: 7.46%
    }

    #pageError p br {
        display: none
    }
}

#pageInvestors .section-inner figure {
    text-align: center
}

#pageInvestors .section-inner figure figcaption {
    margin-bottom: 15px;
    font-size: 1.9rem
}

#pageInvestors .section-inner .date {
    margin-right: .5em
}

#pageInvestors .vision-midterm .vision-midterm-lead {
    margin-bottom: 0.5em;
    padding: 1em;
    background-color: #fce5e4;
    font-size: 2.5rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.8
}

#pageInvestors .vision-midterm .vision-midterm-lead > span {
    color: #d00
}

#pageInvestors .vision-enlargement .vision-enlargement-image {
    margin-top: 1.5em
}

#pageInvestors .business-ekiten .business-ekiten-service {
    margin: 100px auto 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value {
    margin: 0 10px;
    position: relative
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value > img {
    position: absolute;
    top: -75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value > .note {
    position: absolute;
    bottom: -2em;
    font-size: 1.4rem
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul {
    padding: 20px;
    border-radius: 4px;
    background: #d00
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li {
    margin-bottom: 5px;
    padding: 10px;
    border-radius: 4px;
    background: #fff;
    width: 250px;
    line-height: 1;
    text-align: center;
    font-size: 1.4rem
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li:last-child {
    margin-bottom: 0
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div {
    font-weight: bold;
    font-size: 1.5rem
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div em {
    margin: 0 .1em;
    color: #d00;
    font-weight: bold;
    font-size: 4.3rem
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div .unit {
    color: #d00;
    font-weight: bold
}

#pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div .note {
    font-size: .9rem;
    vertical-align: super
}

#pageInvestors .business-development .logo {
    margin-top: 15px
}

#pageInvestors .strength-service .service_value {
    position: relative
}

#pageInvestors .strength-service .service_value > .note {
    font-size: 1.4rem
}

#pageInvestors .strength-service .service_value ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px;
    border-radius: 4px;
    background: #d00
}

#pageInvestors .strength-service .service_value ul li {
    width: 100%;
    margin-right: 10px;
    padding: 10px;
    border-radius: 4px;
    background: #fff;
    line-height: 1;
    text-align: center;
    font-size: 1.4rem
}

#pageInvestors .strength-service .service_value ul li:last-child {
    margin-right: 0
}

#pageInvestors .strength-service .service_value ul li div {
    font-weight: bold;
    font-size: 1.5rem
}

#pageInvestors .strength-service .service_value ul li div em {
    margin: 0 .1em;
    color: #d00;
    font-weight: bold;
    font-size: 4.3rem
}

#pageInvestors .strength-service .service_value ul li div .unit {
    color: #d00;
    font-weight: bold
}

#pageInvestors .strength-service .service_value ul li div .note {
    font-size: .9rem;
    vertical-align: super
}

#pageInvestors .strength-variety .genre_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#pageInvestors .strength-variety .genre_list > li {
    position: relative;
    width: calc((100% + 25px) / 5 - 25px);
    margin-bottom: 2.5%
}

#pageInvestors .strength-variety .genre_list > li .genre_list_img {
    position: relative;
    width: 100%;
    height: auto;
    vertical-align: top
}

#pageInvestors .strength-variety .genre_list > li .genre_list_txt {
    position: absolute;
    display: block;
    width: 100%;
    right: 0;
    left: 0;
    bottom: 12%;
    color: #fff;
    text-align: center
}

#pageInvestors .strength-free .strength-free_heading {
    font-size: 1.9rem;
    font-weight: 500
}

#pageInvestors .strength-free .note {
    font-size: 1.4rem;
    padding-left: 1em;
    text-indent: -1em
}

#pageInvestors .strength-free .free_point {
    position: relative;
    margin-bottom: 3.75%
}

#pageInvestors .strength-free .free_point .free_point_lead {
    position: absolute;
    width: 40.625%;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto
}

#pageInvestors .strength-free .free_point .free_point_lead .free_point_lead_main {
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.57;
    color: #d00;
    text-align: center
}

#pageInvestors .strength-free .free_point .free_point_lead img {
    width: 100%;
    height: auto
}

#pageInvestors .strength-free .free_point .free_point_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#pageInvestors .strength-free .free_point .free_point_list > ul {
    width: 26.25%
}

#pageInvestors .strength-free .free_point .free_point_list > ul > li {
    margin-bottom: 15px;
    padding: 8px 10px 10px;
    border: solid 1px #ccc;
    border-radius: 10px;
    background-color: #f2f4f4
}

#pageInvestors .strength-free .free_point .free_point_list > ul > li .free_point_list_head {
    display: block;
    text-align: center;
    color: #d00
}

#pageInvestors .strength-free .free_point .free_point_list > ul > li p {
    font-size: 1.4rem;
    line-height: 1.6
}

#pageInvestors .strength-free .plan_table {
    width: 100%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc
}

#pageInvestors .strength-free .plan_table br {
    display: none
}

#pageInvestors .strength-free .plan_table th, #pageInvestors .strength-free .plan_table td {
    padding: .5em;
    text-align: center;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc
}

#pageInvestors .strength-free .plan_table tbody th {
    padding: .5em 1em;
    white-space: nowrap;
    text-align: left
}

#pageInvestors .strength-free .plan_table .plan_table_paid th, #pageInvestors .strength-free .plan_table .plan_table_paid td {
    color: #d00;
    background-color: #fce5e4
}

#pageInvestors .strength-free .option_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    justify-self: center;
    width: 87.5%;
    margin-top: 1.87%;
    margin-left: auto;
    margin-right: auto
}

#pageInvestors .strength-free .option_list > li {
    width: 30%
}

#pageInvestors .strength-free .option_list > li .option_list_name {
    position: relative;
    width: 100%;
    height: 0;
    padding: 50%;
    border: 3px solid #d00;
    border-radius: 50%;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.421;
    text-align: center;
    color: #d00
}

#pageInvestors .strength-free .option_list > li .option_list_name > span {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#pageInvestors .strength-free .option_list > li .option_list_caption {
    margin-top: 10px;
    text-align: center
}

#pageInvestors .investors_banner {
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #f2f4f4
}

#pageInvestors .investors_banner li {
    margin: 0 5px
}

#pageInvestors .investors_banner li img {
    display: block
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageInvestors .business-ekiten .business-ekiten-service > img {
        width: calc((100% - 310px) / 2)
    }
}

@media screen and (max-width: 767px) {
    #pageInvestors .section-inner figure figcaption {
        margin-bottom: 2.23%;
        font-size: 19px;
        font-size: 5.06667vw
    }

    #pageInvestors .section-inner figure img {
        width: 100%
    }

    #pageInvestors .vision-midterm .vision-midterm-lead {
        padding: 0.5em;
        font-size: 22.5px;
        font-size: 6vw;
        line-height: 1.6
    }

    #pageInvestors .vision-midterm .vision-midterm-lead > span {
        color: #d00
    }

    #pageInvestors .business-ekiten .business-ekiten-service {
        margin: 0% 5.97% 4.47% 5.97%;
        display: block
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value > img {
        margin: 0 auto;
        padding: 5.04% 0% 5.04% 0%;
        width: 53.5%;
        position: static;
        -webkit-transform: none;
        transform: none
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value > .note {
        font-size: 11px;
        font-size: 2.93333vw
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul {
        padding: 6.72% 6.72% 6.72% 6.72%;
        margin-bottom: 1em;
        border-radius: 4px;
        background: #d00
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul li {
        margin-bottom: 1.94%;
        padding: 3.88% 3.88% 3.88% 3.88%;
        border-radius: 4px;
        background: #fff;
        width: 100%;
        line-height: 1;
        text-align: center;
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul li:last-child {
        margin-bottom: 0
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div {
        font-weight: bold;
        font-size: 15px;
        font-size: 4vw
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div em {
        color: #d00;
        font-weight: bold;
        font-size: 40px;
        font-size: 10.66667vw
    }

    #pageInvestors .business-ekiten .business-ekiten-service .service_value ul li div .note {
        font-size: 10px;
        font-size: 2.66667vw;
        vertical-align: super
    }

    #pageInvestors .business-development .logo {
        width: 41.333%;
        margin-top: 5.33%;
        margin-left: auto;
        margin-right: auto
    }

    #pageInvestors .strength-service .service_value > .note {
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageInvestors .strength-service .service_value ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 5.97% 5.97% 5.97% 5.97%
    }

    #pageInvestors .strength-service .service_value ul li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 1.94%;
        padding: 3.88% 3.88% 3.88% 3.88%;
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageInvestors .strength-service .service_value ul li:last-child {
        margin-bottom: 0
    }

    #pageInvestors .strength-service .service_value ul li div {
        font-size: 15px;
        font-size: 4vw
    }

    #pageInvestors .strength-service .service_value ul li div em {
        font-size: 40px;
        font-size: 10.66667vw
    }

    #pageInvestors .strength-service .service_value ul li div .note {
        font-size: 10px;
        font-size: 2.66667vw
    }

    #pageInvestors .strength-variety .genre_list > li {
        width: 29.85%;
        margin-bottom: 5.2%
    }

    #pageInvestors .strength-variety .genre_list > li .genre_list_txt {
        font-size: 11px;
        font-size: 2.93333vw
    }

    #pageInvestors .strength-variety .genre_list > li.genre_list_pc_only {
        display: none
    }

    #pageInvestors .strength-free .free_point .free_point_lead {
        position: static;
        width: 100%
    }

    #pageInvestors .strength-free .free_point .free_point_lead .free_point_lead_main {
        font-size: 19px;
        font-size: 5.06667vw;
        font-weight: 500;
        line-height: 1.57;
        color: #d00;
        text-align: center
    }

    #pageInvestors .strength-free .free_point .free_point_lead img {
        margin-top: 4.68%
    }

    #pageInvestors .strength-free .free_point .free_point_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    #pageInvestors .strength-free .free_point .free_point_list > ul {
        width: 48.5%
    }

    #pageInvestors .strength-free .free_point .free_point_list > ul > li {
        margin-bottom: 2.34%;
        padding: 4.61% 6.15% 4.61% 6.15%
    }

    #pageInvestors .strength-free .free_point .free_point_list > ul > li .free_point_list_head {
        font-size: 15px;
        font-size: 4vw
    }

    #pageInvestors .strength-free .free_point .free_point_list > ul > li p {
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageInvestors .strength-free .plan_table {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    #pageInvestors .strength-free .plan_table br {
        display: block
    }

    #pageInvestors .strength-free .plan_table thead {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1
    }

    #pageInvestors .strength-free .plan_table thead tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #pageInvestors .strength-free .plan_table thead th, #pageInvestors .strength-free .plan_table thead td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 2.5em;
        padding: .5em 0.8em;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: left
    }

    #pageInvestors .strength-free .plan_table tbody {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    #pageInvestors .strength-free .plan_table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #pageInvestors .strength-free .plan_table tbody th, #pageInvestors .strength-free .plan_table tbody td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 2.5em;
        padding: .5em;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    #pageInvestors .strength-free .plan_table tbody td {
        white-space: nowrap
    }

    #pageInvestors .strength-free .plan_table .plan_table_wrap_cell {
        height: 4.5em
    }

    #pageInvestors .strength-free .option_list {
        width: 100%
    }

    #pageInvestors .strength-free .option_list > li {
        width: 30%
    }

    #pageInvestors .strength-free .option_list > li .option_list_name {
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageInvestors .strength-free .option_list > li .option_list_caption {
        margin-top: 2.34%;
        line-height: 1.2
    }

    #pageInvestors .investors_banner {
        padding: 5.33% 5.33% 5.33% 5.33%;
        display: block
    }

    #pageInvestors .investors_banner li {
        margin: 0% 0% 2.98% 0%
    }

    #pageInvestors .investors_banner li:last-child {
        margin-bottom: 0
    }
}

#pageNews .section-inner h1 {
    margin: 0 auto 15px;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.5
}

#pageNews .section-inner .tag {
    margin-bottom: 50px
}

#pageNews .section-inner .tag .category {
    margin: 0 .5em;
    padding: 0 5px;
    display: inline-block;
    width: 80px;
    background: #0488b3;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center
}

#pageNews .section-inner .tag .date {
    font-size: 1.4rem
}

#pageNews #contents {
    margin-bottom: 30px
}

#pageNews #contents h2 {
    font-weight: 700
}

#pageNews #contents h2::before {
    content: "■"
}

#pageNews #contents p {
    margin-bottom: 30px
}

#pageNews #contents img {
    margin: 0 auto 30px;
    display: block;
    max-width: 100%
}

#pageNews #contents .table1, #pageNews #contents .table2 {
    margin-bottom: 30px
}

#pageNews #contents ul {
    margin-bottom: 30px;
    margin-left: 1.5em;
    list-style-type: disc
}

#pageNews #contents ol {
    margin-bottom: 30px;
    margin-left: 1.5em;
    list-style-type: decimal
}

#pageNews #contents a[target="_blank"]::after {
    content: "";
    margin-left: .25em;
    display: inline-block;
    height: 1em;
    width: 1em;
    background: url("/images/common/icon_external.png") no-repeat center center;
    background-size: 100% auto;
    vertical-align: middle
}

@media screen and (max-width: 767px) {
    #pageNews .section-inner h1 {
        font-size: 19px;
        font-size: 5.06667vw
    }

    #pageNews .section-inner h1 br {
        display: none
    }

    #pageNews .section-inner .tag {
        margin-bottom: 7.46%
    }

    #pageNews .section-inner .tag .category {
        padding: 0;
        width: 5.5em;
        font-size: 12px;
        font-size: 3.2vw
    }

    #pageNews .section-inner .tag .date {
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pageNews #contents {
        margin-bottom: 4.47%
    }

    #pageNews #contents p {
        margin-bottom: 4.47%
    }

    #pageNews #contents img {
        margin-bottom: 4.47%
    }

    #pageNews #contents .table1, #pageNews #contents .table2 {
        margin-bottom: 4.47%
    }

    #pageNews #contents ul, #pageNews #contents ol {
        margin-bottom: 4.47%
    }
}

#pagePrivacy .privacyBox {
    padding: 1em;
    border: 1px solid #ccc;
    display: table
}

#pagePrivacy .privacyBox > a {
    padding: 0 1em;
    display: table-cell;
    vertical-align: middle
}

#pagePrivacy .privacyBox > div {
    padding-left: 1em;
    display: table-cell;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: 1.6
}

#pagePrivacy .privacyBox > div p {
    margin-bottom: 1em
}

#pagePrivacy .privacyTable {
    margin-bottom: 30px
}

#pagePrivacy .privacyTable th {
    min-width: 15em
}

@media screen and (max-width: 767px) {
    #pagePrivacy .privacyBox {
        display: block
    }

    #pagePrivacy .privacyBox > a {
        margin: 0 auto 1em;
        display: block;
        width: 50%
    }

    #pagePrivacy .privacyBox > div {
        padding: 0;
        font-size: 14px;
        font-size: 3.73333vw
    }

    #pagePrivacy .privacyTable {
        margin-bottom: 4.47%
    }

    #pagePrivacy .privacyTable th {
        min-width: 5em
    }
}

#pageRecruit .top-message {
    position: relative;
    width: 100%;
    padding: 0;
    border-bottom: none
}

#pageRecruit .top-message::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    width: 100%;
    height: 0;
    max-width: 1024px;
    margin: auto;
    border-bottom: 1px dotted #ccc
}

#pageRecruit .top-message .top-message-main {
    padding-top: 185px;
    height: 470px;
    background: url("/images/recruit/top/main.png?CORPREC-10") no-repeat top center, -webkit-gradient(linear, left top, left bottom, color-stop(35%, #d9ffff), to(#d1eeff));
    background: url("/images/recruit/top/main.png?CORPREC-10") no-repeat top center, linear-gradient(180deg, #d9ffff 35%, #d1eeff 100%);
    background-size: auto 100%
}

#pageRecruit .top-message .top-message-main > p {
    display: table;
    margin: 0 auto;
    font-size: 5rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    -webkit-transform: translateX(-35%);
    transform: translateX(-35%);
    color: #333
}

#pageRecruit .top-message .top-message-lead {
    margin: 0 auto;
    padding: 40px 0;
    font-size: 1.8rem
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageRecruit .top-message .top-message-main {
        padding-top: 16%;
        height: 53.86667vw;
        background: url("/images/recruit/top/sp_main.png?CORPREC-10") no-repeat top center;
        background-size: cover
    }

    #pageRecruit .top-message .top-message-main > p {
        font-size: 22.5px;
        font-size: 6vw;
        line-height: 1.3;
        -webkit-transform: translateX(-45%);
        transform: translateX(-45%)
    }

    #pageRecruit .top-message .section-inner {
        max-width: unset;
        padding: 0 5%
    }

    #pageRecruit .top-message .top-message-lead {
        max-width: 800px
    }
}

@media screen and (max-width: 767px) {
    #pageRecruit .top-message {
        margin-top: 0
    }

    #pageRecruit .top-message::after {
        content: unset
    }

    #pageRecruit .top-message .top-message-main {
        padding-top: 16%;
        height: 53.86667vw;
        background: url("/images/recruit/top/sp_main.png?CORPREC-10") no-repeat top center;
        background-size: cover
    }

    #pageRecruit .top-message .top-message-main > p {
        font-size: 22.5px;
        font-size: 6vw;
        line-height: 1.3;
        -webkit-transform: translateX(-45%);
        transform: translateX(-45%)
    }

    #pageRecruit .top-message .top-message-lead {
        margin: 5.33% 5.33% 5.33% 5.33%;
        padding: 0;
        font-size: 15px;
        font-size: 4vw
    }
}

#pageService section {
    padding-bottom: 0;
    border-bottom: 0;
    position: relative
}

#pageService section > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 400px;
    height: 400px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

#pageService section > div .service-logo {
    margin: 0 auto 15px;
    display: block
}

#pageService section > div .service-title {
    margin: 0 auto 15px;
    text-align: center
}

#pageService section > div .service-title span {
    padding: .2em .4em;
    display: inline-block;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fce5e4));
    background: linear-gradient(transparent 60%, #fce5e4 60%);
    font-size: 2.5rem;
    line-height: 1
}

#pageService section > div p {
    margin: 0 auto 15px;
    max-width: 320px
}

#pageService .lead_section {
    padding: 100px 45px 0
}

#pageService .lead_section .lead_text {
    font-size: 2.5rem;
    line-height: 1.8
}

#pageService .lead_section::before {
    content: none;
    display: none
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageService section {
        width: 100%
    }

    #pageService section > div {
        width: 50%;
        background: #fff;
        position: relative;
        z-index: 1
    }

    #pageService .service-ekiten::before {
        background: url("/images/service/service_bg_01.jpg") no-repeat 60% center;
        background-size: cover;
        left: 50%
    }

    #pageService .service-offshore::before {
        background: url("/images/service/service_bg_03.jpg?CSDEV-90") no-repeat 70% center;
        background-size: cover;
        right: 50%
    }

    #pageService .service-hiru::before {
        background: url("/images/service/service_bg_04.jpg?FBBQ-132") no-repeat left center;
        background-size: cover;
        left: 50%
    }

    #pageService .service-zeno::before {
        background: url("/images/service/service_bg_05.jpg?FBBQ-132") no-repeat right center;
        background-size: cover;
        right: 50%
    }
}

@media screen and (max-width: 767px) {
    #pageService main {
        padding-bottom: 20%
    }

    #pageService section {
        margin-top: 0
    }

    #pageService section > div {
        padding-top: 60%;
        display: block;
        width: 100%;
        height: auto
    }

    #pageService section > div .service-logo {
        margin-top: 5.97%;
        margin-bottom: 5.97%;
        width: 58%
    }

    #pageService section > div p {
        padding: 0% 5.33% 0% 5.33%;
        max-width: none
    }

    #pageService section > div .service-title {
        margin-bottom: 2.23%
    }

    #pageService section > div .service-title span {
        padding: 0;
        display: inline;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fce5e4));
        background: linear-gradient(transparent 60%, #fce5e4 60%);
        font-size: 25px;
        font-size: 6.66667vw;
        line-height: 1.4
    }

    #pageService section > div .button {
        margin: 0% 5.33% 0% 5.33%;
        width: 89.33%
    }

    #pageService .service-ekiten::before {
        width: 100%;
        background: url("/images/service/service_bg_01.jpg") no-repeat center top;
        background-size: 175% auto;
        top: 0;
        left: 0;
        z-index: -1
    }

    #pageService .service-offshore .service-logo {
        width: 40%
    }

    #pageService .service-offshore::before {
        width: 100%;
        background: url("/images/service/service_bg_03.jpg?CSDEV-90") no-repeat right top;
        background-size: 175% auto;
        top: 0;
        right: 0;
        z-index: -1
    }

    #pageService .service-hiru .service-logo {
        width: 30%
    }

    #pageService .service-hiru::before {
        width: 100%;
        background: url("/images/service/service_bg_04.jpg?FBBQ-132") no-repeat left top;
        background-size: 175% auto;
        top: 0;
        left: 0;
        z-index: -1
    }

    #pageService .service-zeno::before {
        width: 100%;
        background: url("/images/service/service_bg_05.jpg?FBBQ-132") no-repeat right top;
        background-size: 175% auto;
        top: 0;
        right: 0;
        z-index: -1
    }

    #pageService .lead_section {
        margin-bottom: 0;
        padding: 9.33% 5.33% 9.33% 5.33%
    }

    #pageService .lead_section .lead_text {
        font-size: 25px;
        font-size: 6.66667vw
    }
}

#pageServiceDetail main {
    padding-bottom: 0
}

#pageServiceDetail section {
    border-bottom: 0
}

#pageServiceDetail .service-main {
    margin: 100px auto;
    padding: 0 25px;
    border-bottom: 0;
    position: relative;
    min-height: 328px
}

#pageServiceDetail .service-main .service-mock {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#pageServiceDetail .service-main h2 {
    margin-bottom: 20px;
    font-size: 2.9rem;
    line-height: 1.8;
    text-align: left
}

#pageServiceDetail .service-main .service-logo {
    max-width: 410px
}

#pageServiceDetail .service-main p {
    max-width: 410px
}

#pageServiceDetail .section-inner h3 {
    margin-bottom: 25px;
    font-size: 2.5rem;
    text-align: center
}

#pageServiceDetail .service-illust {
    margin: 0 auto;
    display: block
}

#pageServiceDetail .service-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #f2f4f4;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#pageServiceDetail .service-links div {
    padding: 40px 10px
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    #pageServiceDetail .service-main {
        text-shadow: 2px 2px 2px #fff, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff
    }

    #pageServiceDetail .service-main .service-mock {
        width: calc(100% - 535px);
        min-width: 370px;
        right: 5%;
        z-index: -1
    }
}

@media screen and (max-width: 767px) {
    #pageServiceDetail .service-main {
        margin: 13.33% 0% 20% 0%;
        padding: 0% 5.33% 0% 5.33%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #pageServiceDetail .service-main .service-mock, #pageServiceDetail .service-main h2, #pageServiceDetail .service-main .service-logo, #pageServiceDetail .service-main p {
        margin-bottom: 2.23%;
        width: 100%;
        max-width: none
    }

    #pageServiceDetail .service-main .service-mock {
        position: static;
        -webkit-transform: none;
        transform: none;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3
    }

    #pageServiceDetail .service-main h2 {
        font-size: 20px;
        font-size: 5.33333vw;
        text-align: left
    }

    #pageServiceDetail .service-main h2 br {
        display: none
    }

    #pageServiceDetail .service-main .service-logo {
        margin: 0 auto;
        width: 75%;
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4
    }

    #pageServiceDetail .service-main p {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    #pageServiceDetail .section-inner h3 {
        text-align: left;
        font-size: 20px;
        font-size: 5.33333vw
    }

    #pageServiceDetail .section-inner h3 br {
        display: none
    }

    #pageServiceDetail .section-inner p {
        margin-bottom: 7.46%
    }

    #pageServiceDetail .service-links {
        display: block;
        padding: 13.33% 5.33% 13.33% 5.33%
    }

    #pageServiceDetail .service-links div {
        padding: 0
    }

    #pageServiceDetail .service-links div:first-child {
        margin-bottom: 4.47%
    }
}

#pageSitemap section > ul > li {
    margin-bottom: 60px
}

#pageSitemap section > ul > li:last-child {
    margin-bottom: 0
}

#pageSitemap section > ul > li > a, #pageSitemap section > ul > li > span {
    color: #f03;
    font-weight: 500;
    text-decoration: none
}

#pageSitemap section > ul > li ul li {
    margin-right: 2em;
    display: inline-block
}

#pageSitemap section > ul > li ul li a {
    text-decoration: none
}

#pageSitemap section > ul > li ul li a::before {
    margin-right: .2em;
    content: "\f0da";
    color: #666;
    font-family: FontAwesome
}

@media screen and (max-width: 767px) {
    #pageSitemap section > ul > li {
        margin-bottom: 7.46%;
        padding-bottom: 7.46%;
        border-bottom: 1px dotted #ccc
    }

    #pageSitemap section > ul > li ul li {
        display: block
    }
}

.top-main {
    height: 600px;
    background: url("/images/top/main_bg.jpg") center center no-repeat;
    background-size: cover;
    position: relative;
    z-index: 2
}

.top-main-inner {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) skew(-10deg);
    transform: translate(-50%, -50%) skew(-10deg);
    color: #fff;
    text-align: center
}

.top-main-inner h1 {
    font-size: 5.5rem;
    line-height: 1;
    letter-spacing: 0.15em
}

.top-main-inner span {
    font-size: 2.3rem;
    font-weight: 500;
    letter-spacing: 0.13em
}

.top-vision {
    margin-top: -120px;
    height: 720px;
    position: relative;
    overflow: hidden;
    -webkit-transform: skewY(-5deg);
    transform: skewY(-5deg)
}

.top-vision::before {
    content: "";
    background: url("/images/top/mission_bg.jpg") center center no-repeat;
    background-size: cover;
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: 1;
    -webkit-transform: skewY(5deg);
    transform: skewY(5deg);
    height: 100%;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
}

.top-vision-inner {
    position: absolute;
    top: calc(50% + 70px);
    left: 50%;
    -webkit-transform: skewY(5deg) translate(-50%, -50%);
    transform: skewY(5deg) translate(-50%, -50%);
    text-align: center;
    z-index: 1
}

.top-vision-inner h2 {
    margin-bottom: 30px;
    font-size: 3.5rem;
    line-height: 1.5
}

.top-vision-inner p {
    margin-bottom: 50px;
    max-width: 500px
}

.top-service {
    margin: -100px 0 100px;
    padding-top: 300px;
    height: 700px;
    background: url("/images/top/service_bg.jpg") center center no-repeat;
    background-size: cover
}

.top-service-inner {
    margin: 0 auto;
    width: 1024px
}

.top-service-inner h2 {
    margin-bottom: 30px;
    font-size: 3.5rem;
    line-height: 1.5
}

.top-service-inner p {
    margin-bottom: 50px;
    max-width: 500px
}

.top-service-inner .button {
    display: inline-block
}

.top-info {
    margin: 0 auto;
    padding-bottom: 100px;
    border-bottom: 1px dotted #ccc;
    width: 1024px
}

.top-info section h2 {
    margin-bottom: 15px
}

.top-info section p {
    margin-bottom: 25px;
    text-align: center
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .top-vision-inner p br {
        display: none
    }

    .top-service-inner {
        padding: 0 5%;
        width: 100%
    }

    .top-info {
        padding: 0 5% 100px;
        width: 100%
    }

    .top-info section p {
        height: 4em
    }
}

@media screen and (max-width: 767px) {
    .top-main {
        height: 77.3vw
    }

    .top-main-inner h1 {
        font-size: 32px;
        font-size: 8.53333vw
    }

    .top-main-inner span {
        font-size: 14px;
        font-size: 3.73333vw
    }

    .top-vision {
        margin-top: -5vw;
        height: 100vw;
        z-index: 1
    }

    .top-vision::before {
        -webkit-filter: brightness(75%);
        filter: brightness(75%)
    }

    .top-vision-inner {
        padding: 5.33% 5.33% 5.33% 5.33%;
        width: 100%;
        top: calc(50% + 2.5vw)
    }

    .top-vision-inner h2 {
        margin-bottom: 4%;
        color: #fff;
        font-size: 25px;
        font-size: 6.66667vw
    }

    .top-vision-inner p {
        margin-bottom: 4%;
        max-width: none;
        color: #fff
    }

    .top-vision-inner p br {
        display: none
    }

    .top-service {
        margin: -5vw 0 20%;
        padding: 0;
        height: 100vw;
        background-position: 90% top;
        position: relative
    }

    .top-service::before {
        content: "";
        background: rgba(0, 0, 0, 0.25);
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 0
    }

    .top-service-inner {
        padding: 5.33% 5.33% 16% 5.33%;
        width: 100%;
        text-align: center;
        position: absolute;
        bottom: 0
    }

    .top-service-inner h2 {
        margin-bottom: 4%;
        color: #fff;
        font-size: 25px;
        font-size: 6.66667vw;
        line-height: 1.5
    }

    .top-service-inner p {
        margin-bottom: 4%;
        width: 100%;
        max-width: none;
        color: #fff;
        line-height: 1.8
    }

    .top-info {
        margin: 0 auto 20%;
        padding: 0% 5.33% 0% 5.33%;
        border-bottom: none;
        display: block;
        width: 100%
    }

    .top-info section {
        margin-bottom: 16%
    }

    .top-info section h2 {
        margin-bottom: 6.66%
    }

    .top-info section p {
        margin-bottom: 5.33%;
        text-align: left
    }

    .top-notice {
        margin-bottom: 20%
    }
}
