@charset "UTF-8";
.pcOnly {
    display: block
}

.tbOnly {
    display: none
}

.tbGt {
    display: block
}

.tbLt {
    display: none
}

.tbIg {
    display: block
}

.spOnly {
    display: none
}

@media print, screen and (max-width: 1023px) {
    .pcOnly {
        display: none
    }

    .tbOnly {
        display: block
    }

    .tbIg {
        display: none
    }

    .tbLt {
        display: block
    }
}

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

    .tbOnly {
        display: none
    }

    .tbIg {
        display: block
    }

    .tbGt {
        display: none
    }

    .spOnly {
        display: block
    }
}

@media print, screen and (max-width: 1400px) {
    body {
        max-width: 1400px
    }
}

@media print, screen and (max-width: 1023px) {
    body {
        max-width: 1023px
    }
}

@media screen and (max-width: 480px) {
    body {
        max-width: 480px;
        overflow-y: auto
    }
}

html {
    -webkit-text-size-adjust: none;
    font-size: 12px;
    color: #000;
    text-rendering: optimizeLegibility
}

body {
    overflow-x: hidden;
    overflow-y: scroll;
    letter-spacing: 1px;
    line-height: 1.8;
    font-family: "微软雅黑", Hiragino Kaku Gothic Pro, Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS P Gothic, Verdana, sans-serif;
    -webkit-backface-visibility: hidden;
    background-color: #fff
}

body.index {
    background-color: #f6f6f6
}

* {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-font-smoothing: antialiased
}

section, header, footer {
    display: block
}

p, li, dt, dd, th, td, pre {
    line-break: strict;
    word-break: break-strict
}

a {
    text-decoration: none
}

p, div, dl, dt, dd, ul, ol, li {
    margin: 0;
    padding: 0;
    list-style-type: none
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    margin: 0
}

input[type=text], textarea {
    -webkit-appearance: none
}

select:focus, button:focus, input:focus, textarea:focus {
    outline: none
}

.cl {
    clear: both;
    position: relative
}

.al a:after {
    content: '';
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/common/overlay_white_20.png) repeat;
    opacity: 0.0;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease
}

.al a:hover {
    -ms-filter: alpha(opacity=80);
    filter: alpha(opacity=80)
}

.al a:hover:after {
    opacity: 1.0
}

.al a:hover {
    opacity: .8 !important;
    filter: alpha(opacity=80)
}

.vm-outer {
    display: table
}

.vm {
    display: table-cell;
    vertical-align: middle
}

.txt-left {
    text-align: left
}

.embed-container {
    position: relative;
    padding-bottom: 31.57%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto !important
}

.embed-container > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.x-ext:after {
    margin-left: .4em;
    content: url(../images/common/ext_link.png)
}

.x-red {
    color: #bb342e
}

.vjs-control-bar {
    display: none
}

.bold {
    font-weight: 700
}

@media screen and (max-width: 480px) {
    .embed-container {
        padding-bottom: 61.91%
    }

    .x-ext {
        line-height: 1.3;
        border-bottom: solid 1px #999
    }

    .vm {
        display: block
    }
}

.noani {
    -webkit-transition: none !important;
    transition: none !important
}

@font-face {
    font-family: NotoSans-Bold;
    src: url(../fonts/NotoSans-Bold.eot);
    src: url(../fonts/NotoSans-Bold.eot?#iefix) format("embedded-opentype"), url(../fonts/NotoSans-Bold.woff) format("woff"), url(../fonts/NotoSans-Bold.otf) format("opentype")
}

@font-face {
    font-family: Noto Sans SC;
    src: url('../fonts/NotoSansSC-Light.otf') format('opentype');  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: EBGaramond08-Italic;
    src: url(../fonts/EBGaramond08-Italic.eot);
    src: url(../fonts/EBGaramond08-Italic.eot?#iefix) format("embedded-opentype"), url(../fonts/EBGaramond08-Italic.woff) format("woff"), url(../fonts/EBGaramond08-Italic.otf) format("opentype")
}

@font-face {
    font-family: aidma;
    src: url(__PUBLIC__/assets/fonts/aidma.eot?5sjqli);
    src: url(../fonts/aidma.eot?5sjqli#iefix) format("embedded-opentype"), url(../fonts/aidma.ttf?5sjqli) format("truetype"), url(../fonts/aidma.woff?5sjqli) format("woff"), url(../fonts/aidma.svg?5sjqli#aidma) format("svg")
}

[class^=icon-], [class*=" icon-"] {
    font-family: aidma;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

[class^=icon-]:before, [class*=" icon-"]:before {
    font-size: 40px
}

.icon-a:before {
    content: "\e900"
}

.icon-b:before {
    content: "\e901"
}

.icon-c:before {
    content: "\e902"
}

.icon-d:before {
    content: "\e903"
}

.icon-e:before {
    content: "\e904"
}

.icon-f:before {
    content: "\e905"
}

.icon-arss:before {
    content: "\e800";
    font-size: 42px
}

.icon-bigdata:before {
    content: "\e801";
    font-size: 42px
}

.icon-campaign:before {
    content: "\e802"
}

.icon-marketing:before {
    content: "\e803"
}

.icon-websp:before {
    content: "\e804"
}

.loader {
    z-index: 99999;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #d60d19;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.47, 0, .275, .8), opacity .4s cubic-bezier(.47, 0, .275, .8);
    transition: transform .4s cubic-bezier(.47, 0, .275, .8), opacity .4s cubic-bezier(.47, 0, .275, .8)
}

.loader_img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -113px;
    margin-left: -79px;
    text-align: center
}

.loader_progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 7px;
    background-color: #dc5d57;
    -webkit-transition: .1s ease;
    transition: .1s ease
}

.loader.hide {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0.0
}

@media screen and (max-width: 480px) {
    .loader_img {
        margin-top: -41px;
        margin-left: -37px;
        text-align: center
    }

    .loader_img img {
        width: 74px;
        height: auto
    }
}

.h_btn {
    display: none
}

.header {
    z-index: 2000;
    position: absolute;
    width: 100%
}

.header_logo {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.0;
    visibility: hidden;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    -webkit-transition: 1s cubic-bezier(.165, .84, .44, 1);
    transition: 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.header_logo.show {
    opacity: 1.0;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.header_logo h1 {
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden
}

.header_logo_img {
    display: none
}

.header_logo_img-sm {
    display: block
}

.header_inner {
    z-index: 2;
    position: relative;
    height: 100px;
    background-color: #fff;
    opacity: 0.0;
    visibility: hidden;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    -webkit-transition: 1s cubic-bezier(.165, .84, .44, 1);
    transition: 1s cubic-bezier(.165, .84, .44, 1);
    opacity: 1.0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.header_inner.show {
    opacity: 1.0;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.header--index {
    position: absolute
}

.header--index .header_logo {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
    -webkit-transition-delay: .3s;
    transition-delay: .3s
}

.header--index .header_logo_img {
    display: block
}

.header--index .header_logo_img-sm {
    display: none
}

.header--index .show.header_logo {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.header--index.sm {
    position: fixed;
    top: 0
}

.header--index.sm .header_logo_img {
    display: none
}

.header--index.sm .header_logo_img-sm {
    display: block
}

.header.sm {
    position: fixed;
    top: 0
}

.menu {
    opacity: 0.0;
    visibility: hidden;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    -webkit-transition: 1s cubic-bezier(.165, .84, .44, 1);
    transition: 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-delay: .1s;
    transition-delay: .1s;
    z-index: 2001;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-width: 950px;
    width: 100%;
    margin: 0 auto;
    text-align: center
}

.menu.show {
    opacity: 1.0;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.menu_inner {
    line-height: 100px
}

.menu_sep {
    color: #d3d3d3;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 12px
}

.menu_link {
    padding: 0 12px;
    margin: 0 12px;
    display: inline-block;
    vertical-align: middle;
    line-height: 50px;
    color: #000;
    -webkit-transition: .2s ease;
    transition: .2s ease;
    font-size: 15px
}

.menu_link.active, .menu_link:hover {
    color: #bb342e
}

.menu .search {
    display: none
}

.menu.sm {
    position: fixed
}

.search {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 100px
}

.search_box {
    margin-top: -2px;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 206px;
    height: 50px;
    line-height: 50px;
    font-size: 15px;
    background-color: #727272;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
    text-align: center;
    -webkit-transition: background-color .2s ease;
    transition: background-color .2s ease
}

.search_box:hover {
    background-color: #bb342e
}

.search_box.on {
    background-color: #2e2e2e
}

.search_box.on:hover {
    background-color: #2e2e2e
}

.search_btn {
    margin-top: -4px;
    display: inline-block;
    vertical-align: middle;
    padding: 0 42px 0 28px;
    background: url(../images/common/h_search.png) no-repeat 50%;
    -webkit-background-size: 24px, 23px;
    background-size: 24px, 23px;
    width: 24px;
    height: 23px;
    -webkit-transition: .24s ease;
    transition: .24s ease
}

.search_btn:hover, .search_btn.on {
    background: url(../images/common/h_search_on.png) no-repeat 50%;
    -webkit-background-size: 24px, 23px;
    background-size: 24px, 23px;
    width: 24px;
    height: 23px
}

.search_input {
    display: none;
    border: none;
    color: #fff;
    background-color: transparent
}

.search_input::-webkit-input-placeholder {
    color: #787878 !important
}

.search_input::-moz-placeholder {
    opacity: 1;
    color: #787878 !important
}

.search_input:-moz-placeholder {
    opacity: 1;
    color: #787878 !important
}

.search_input:-ms-input-placeholder {
    color: #787878 !important
}

.search_links {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    font-weight: 700;
    color: #fff;
    -webkit-transition: .3s cubic-bezier(.86, 0, .07, 1);
    transition: .3s cubic-bezier(.86, 0, .07, 1)
}

.search_links span {
    font-size: 12px;
    font-family: NotoSans-Bold, sans-serif
}

.on .search_input {
    display: inline
}

.on .search_links {
    opacity: 0.0;
    visibility: hidden
}

.submenu {
    visibility: hidden;
    opacity: 0.0;
    -webkit-transition: .52s cubic-bezier(.8, 0, .1, .81);
    transition: .52s cubic-bezier(.8, 0, .1, .81);
    position: absolute;
    width: 100%;
    background-color: #2e2e2e;
    color: #fff
}

.submenu.show {
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81);
    visibility: visible;
    opacity: 1.0
}

.submenu_inner {
    max-width: 690px;
    width: 100%;
    padding: 54px 0;
    margin: 0 auto;
    text-align: left
}

.submenu_ttl {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    white-space: nowrap;
    display: inline-block;
    color: #fff;
    font-size: 18px;
    font-family: NotoSans-Bold, sans-serif
}

.submenu_ttl:hover, .submenu_ttl.active {
    opacity: .65;
    filter: alpha(opacity=65)
}

.submenu_ttl p {
    font-size: 15px;
    line-height: 3.07
}

.submenu_links {
    padding-left: 100px;
    text-align: left
}

.submenu_link {
    font-size: 13px;
    line-height: 3.07;
    display: inline-block;
    vertical-align: middle;
    padding-bottom: 0.0em;
    margin-left: 36px;
    color: #fff;
    position: relative
}

.submenu_link:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: .2em;
    height: 1px;
    background-color: #6d6d6d;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81)
}

.submenu_link:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.submenu_link:after {
    bottom: .3em
}

.submenu_link.active {
    cursor: default;
    opacity: .5;
    filter: alpha(opacity=50)
}

.submenu_link.active:after {
    display: none
}

@media print, screen and (max-width: 1400px) {
    .menu {
        display: inline-block;
        width: auto;
        right: auto;
        left: 130px;
        max-width: none
    }

    .menu_link {
        margin: 0 3px;
        padding: 0 3px
    }

    .menu_link:before {
        padding: 0 12px
    }

    .index .menu {
        left: 180px
    }

    .index .menu.sm {
        left: 130px
    }

    .submenu_links {
        text-align: left;
        padding-left: 100px
    }
}

@media print, screen and (max-width: 1023px) {
    .header_inner {
        overflow: hidden;
        height: 70px
    }

    .header_logo_img-sm {
        width: auto;
        height: 70px
    }

    .search {
        z-index: 2103;
        margin-right: 50px;
        line-height: 70px
    }

    .search_btn {
        padding: 0 24px
    }

    .search_box {
        width: 191px;
        height: 44px;
        line-height: 44px;
        font-size: 12px
    }

    .h_btn {
        display: block;
        z-index: 2102;
        position: absolute;
        top: 0;
        right: 0;
        width: 70px;
        height: 70px
    }

    .h_btn_inner {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 23px;
        height: 18px;
        margin: -11px -9px
    }

    .h_btn_border {
        position: absolute;
        top: 50%;
        left: 0;
        background-color: #bb342e;
        border-radius: 1px;
        width: 100%;
        height: 3px
    }

    .h_btn_border--01 {
        margin-top: -7px;
        -webkit-transition: top .1s ease-in-out, .5s ease 0s;
        transition: top .1s ease-in-out, .5s ease 0s
    }

    .h_btn_border--02 {
        opacity: 1.0;
        -webkit-transition: .4s ease;
        transition: .4s ease
    }

    .h_btn_border--03 {
        margin-top: 7px;
        -webkit-transition: .4s ease 0s;
        transition: .4s ease 0s
    }

    .active .h_link:before, .active .h_link:after {
        background-color: #fff
    }

    .open.h_btn .h_btn_border--01 {
        top: 50%;
        margin-top: 0 !important;
        -webkit-transform: rotateZ(45deg);
        transform: rotateZ(45deg);
        -webkit-transition: .4s ease;
        transition: .4s ease
    }

    .open.h_btn .h_btn_border--02 {
        top: 50%;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        opacity: 0.0
    }

    .open.h_btn .h_btn_border--03 {
        top: 50%;
        margin-top: 0 !important;
        -webkit-transform: rotateZ(-45deg);
        transform: rotateZ(-45deg)
    }

    .menu {
        display: none;
        z-index: 1999;
        position: fixed;
        padding: 200px 0 100px;
        top: 0;
        left: auto !important;
        right: 0;
        width: 384px;
        height: 100%;
        min-height: 100%;
        background-color: #2e2e2e;
        overflow: hidden;
        overflow-y: scroll;
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-delay: 0.00s;
        transition-delay: 0.00s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    .menu.show {
        display: none;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }

    .menu_scroll {
        display: table;
        width: 100%;
        height: 101%
    }

    .menu_inner {
        line-height: 1.8;
        display: table-cell;
        vertical-align: middle
    }

    .menu_sep {
        display: none
    }

    .menu_link {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        padding: 20px 50px;
        display: block;
        color: #fff;
        text-align: left;
        font-size: 15px;
        line-height: 1.0
    }

    .menu_link:nth-child(1) {
        -webkit-transition-delay: .02s;
        transition-delay: .02s
    }

    .menu_link:nth-child(2) {
        -webkit-transition-delay: .04s;
        transition-delay: .04s
    }

    .menu_link:nth-child(3) {
        -webkit-transition-delay: .06s;
        transition-delay: .06s
    }

    .menu_link:nth-child(4) {
        -webkit-transition-delay: .08s;
        transition-delay: .08s
    }

    .menu_link:nth-child(5) {
        -webkit-transition-delay: .1s;
        transition-delay: .1s
    }

    .menu_link:nth-child(6) {
        -webkit-transition-delay: .12s;
        transition-delay: .12s
    }

    .menu_link:nth-child(7) {
        -webkit-transition-delay: .14s;
        transition-delay: .14s
    }

    .menu_link:nth-child(8) {
        -webkit-transition-delay: .16s;
        transition-delay: .16s
    }

    .menu_link:nth-child(9) {
        -webkit-transition-delay: .18s;
        transition-delay: .18s
    }

    .menu_link:nth-child(10) {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    .menu_link:nth-child(11) {
        -webkit-transition-delay: .22s;
        transition-delay: .22s
    }

    .menu_link:nth-child(12) {
        -webkit-transition-delay: .24s;
        transition-delay: .24s
    }

    .menu_link:nth-child(13) {
        -webkit-transition-delay: .26s;
        transition-delay: .26s
    }

    .menu_link:nth-child(14) {
        -webkit-transition-delay: .28s;
        transition-delay: .28s
    }

    .menu_link:nth-child(15) {
        -webkit-transition-delay: .3s;
        transition-delay: .3s
    }

    .menu_link:nth-child(16) {
        -webkit-transition-delay: .32s;
        transition-delay: .32s
    }

    .menu_link:nth-child(17) {
        -webkit-transition-delay: .34s;
        transition-delay: .34s
    }

    .menu_link:nth-child(18) {
        -webkit-transition-delay: .36s;
        transition-delay: .36s
    }

    .menu_link:nth-child(19) {
        -webkit-transition-delay: .38s;
        transition-delay: .38s
    }

    .menu_link:nth-child(20) {
        -webkit-transition-delay: .4s;
        transition-delay: .4s
    }

    .menu_link.open {
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .menu_link:before {
        display: none
    }

    .menu_link:hover {
        color: #fff
    }

    .menu.open {
        -webkit-transition-delay: 0.0s;
        transition-delay: 0.0s;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        visibility: visible;
        display: block
    }

    .menu.open .menu_link {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .submenu {
        display: none;
        margin-bottom: 36px;
        padding: 0 50px;
        position: static;
        opacity: 1.0;
        visibility: visible;
        background-color: #222;
        -webkit-transition: none;
        transition: none
    }

    .submenu_ttl {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        white-space: normal;
        -webkit-transition-delay: .1s;
        transition-delay: .1s;
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        display: block;
        margin-bottom: 30px
    }

    .submenu_ttl.open {
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .submenu_ttl p {
        line-height: 2.0
    }

    .submenu_ttl:after {
        display: none
    }

    .submenu_inner {
        display: block;
        max-width: none
    }

    .submenu_links {
        display: block;
        padding-left: 0
    }

    .submenu_link {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        margin: 16px 0 0;
        display: block;
        font-size: 15px
    }

    .submenu_link.open {
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .submenu_link:after {
        display: none
    }

    .submenu_link:nth-child(1) {
        -webkit-transition-delay: .21s;
        transition-delay: .21s
    }

    .submenu_link:nth-child(2) {
        -webkit-transition-delay: .27s;
        transition-delay: .27s
    }

    .submenu_link:nth-child(3) {
        -webkit-transition-delay: .33s;
        transition-delay: .33s
    }

    .submenu_link:nth-child(4) {
        -webkit-transition-delay: .39s;
        transition-delay: .39s
    }

    .submenu_link:nth-child(5) {
        -webkit-transition-delay: .45s;
        transition-delay: .45s
    }

    .submenu_link:nth-child(6) {
        -webkit-transition-delay: .51s;
        transition-delay: .51s
    }

    .submenu_link:nth-child(7) {
        -webkit-transition-delay: .57s;
        transition-delay: .57s
    }

    .submenu_link:nth-child(8) {
        -webkit-transition-delay: .63s;
        transition-delay: .63s
    }

    .submenu_link:nth-child(9) {
        -webkit-transition-delay: .69s;
        transition-delay: .69s
    }

    .submenu_link:nth-child(10) {
        -webkit-transition-delay: .75s;
        transition-delay: .75s
    }

    .submenu_link:nth-child(11) {
        -webkit-transition-delay: .81s;
        transition-delay: .81s
    }

    .submenu_link:nth-child(12) {
        -webkit-transition-delay: .87s;
        transition-delay: .87s
    }

    .submenu_link:nth-child(13) {
        -webkit-transition-delay: .93s;
        transition-delay: .93s
    }

    .submenu_link:nth-child(14) {
        -webkit-transition-delay: .99s;
        transition-delay: .99s
    }

    .submenu_link:nth-child(15) {
        -webkit-transition-delay: 1.05s;
        transition-delay: 1.05s
    }

    .submenu_link:nth-child(16) {
        -webkit-transition-delay: 1.11s;
        transition-delay: 1.11s
    }

    .submenu_link:nth-child(17) {
        -webkit-transition-delay: 1.17s;
        transition-delay: 1.17s
    }

    .submenu_link:nth-child(18) {
        -webkit-transition-delay: 1.23s;
        transition-delay: 1.23s
    }

    .submenu_link:nth-child(19) {
        -webkit-transition-delay: 1.29s;
        transition-delay: 1.29s
    }

    .submenu_link:nth-child(20) {
        -webkit-transition-delay: 1.35s;
        transition-delay: 1.35s
    }

    .open.submenu .submenu_ttl {
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .open.submenu .submenu_link {
        opacity: 1.0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@media screen and (max-width: 480px) {
    .header_inner {
        height: 45px
    }

    .header_logo_img-sm {
        width: auto;
        height: 45px
    }

    .h_btn {
        width: 45px;
        height: 45px
    }

    .h_btn_inner {
        width: 19px
    }

    .h_btn_border {
        width: 19px;
        margin: 0
    }

    .h_btn_border--01 {
        margin-top: -7px
    }

    .h_btn_border--03 {
        margin-top: 7px
    }

    .search {
        display: none
    }

    .menu {
        -webkit-transition-property: opacity, -webkit-transform;
        transition-property: opacity, transform;
        position: absolute !important;
        padding: 110px 0 50px;
        left: 0 !important;
        width: 100%;
        height: 120%;
        -webkit-transform: translateX(0) !important;
        transform: translateX(0) !important;
        opacity: 0.0
    }

    .menu.show {
        opacity: 0.0
    }

    .menu.open {
        opacity: 1.0
    }

    .menu_scroll {
        display: block;
        position: relative
    }

    .menu_inner {
        display: block;
        position: relative;
        vertical-align: top
    }

    .menu_link {
        padding: 0;
        margin-bottom: 28px;
        font-size: 12px;
        text-align: center;
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(0) translateY(-30px);
        transform: translateX(0) translateY(-30px)
    }

    .menu_link.open {
        opacity: 1.0;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0)
    }

    .menu.open .menu_link {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        opacity: 1.0;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    .menu .search {
        padding-top: 40px;
        display: block;
        position: relative;
        top: auto;
        bottom: auto;
        left: 0;
        right: 0;
        margin: auto;
        line-height: 45px;
        -webkit-transition-timing-function: cubic-bezier(.77, .08, .275, 1);
        transition-timing-function: cubic-bezier(.77, .08, .275, 1);
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        opacity: 0.0;
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    .menu .search_box.on {
        background-color: #000
    }

    .menu .search_input {
        width: 100%;
        height: 100%;
        padding: 0 1em;
        line-height: 44px;
        font-size: 16px
    }

    .menu .search_input::-webkit-input-placeholder {
        color: #787878 !important;
        font-size: 16px
    }

    .menu .search_input::-moz-placeholder {
        opacity: 1;
        color: #787878 !important;
        font-size: 16px
    }

    .menu .search_input:-moz-placeholder {
        opacity: 1;
        color: #787878 !important;
        font-size: 16px
    }

    .menu .search_input:-ms-input-placeholder {
        color: #787878 !important;
        font-size: 16px
    }

    .menu .search_input.on {
        display: block
    }

    .menu .search_btn {
        background: url(../images/common/h_search@sm.png) no-repeat 50%;
        -webkit-background-size: 25px 25px;
        background-size: 25px;
        width: 45px;
        height: 45px
    }

    .menu .search_btn img {
        display: none
    }

    .menu .search_btn.on {
        background: url(../images/common/h_search_on@sm.png) no-repeat 50%;
        -webkit-background-size: 25px 25px;
        background-size: 25px;
        width: 45px;
        height: 45px
    }

    .menu.open .search {
        opacity: 1.0;
        -webkit-transition-delay: .4s;
        transition-delay: .4s;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        visibility: visible
    }

    .submenu {
        padding: 0
    }

    .submenu_inner {
        padding: 40px 0;
        text-align: center
    }

    .submenu_ttl {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(0) translateY(-30px);
        transform: translateX(0) translateY(-30px);
        font-size: 15px;
        text-align: center
    }

    .submenu_ttl.open {
        opacity: 1.0;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0)
    }

    .submenu_subttl {
        font-size: 12px
    }

    .submenu_link {
        -webkit-transition-duration: .44s;
        transition-duration: .44s;
        -webkit-transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        transition-timing-function: cubic-bezier(.77, 0, .175, 1);
        opacity: 0.0;
        -webkit-transform: translateX(0) translateY(-30px);
        transform: translateX(0) translateY(-30px);
        margin-top: 0;
        font-size: 12px;
        text-align: center
    }

    .submenu_link.open {
        opacity: 1.0;
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0)
    }

    .submenu .vm {
        display: block
    }
}

.footer {
    display: block;
    padding-top: 100px;
    padding-bottom: 80px;
    background-color: #2e2e2e
}

.footer_inner {
    max-width: 1600px;
    margin: 0 auto
}

.footer_box {
    display: inline-block;
    vertical-align: top;
    width: 19%;
    padding: 0 2%
}

.footer_box_inner {
    padding-top: 1.0em;
    border-top: solid 2px #434343
}

.footer_ttl {
    display: block;
    margin-bottom: 1.8em;
    font-size: 15px;
    color: #d7d7d7;
    font-weight: 700
}

.footer_link {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    margin-bottom: 1.2em;
    display: block;
    font-size: 12px;
    line-height: 1.333;
    color: #999
}

.footer_link:hover {
    color: #fff
}

.footer_bottom {
    margin-top: 124px
}

.footer_logo {
    padding-left: 2%
}

.footer_logo_img {
    display: inline-block;
    vertical-align: top;
    margin-right: 28px
}

.footer_logo_links {
    display: inline-block;
    vertical-align: top;
    font-size: 12px
}

.footer_logo_link {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    color: #999
}

.footer_logo_link:hover {
    color: #fff
}

.footer_logo_link:before {
    content: '|';
    padding: 0 .7em;
    color: #505050
}

.footer_logo_link:first-child:before {
    display: none
}

.footer_corp {
    margin-top: 4px;
    color: #4f4f4f;
    font-size: 12px;
    white-space: nowrap;
    font-family: NotoSans-Bold, sans-serif
}

.footer_corp span {
    margin-left: 20px;
    letter-spacing: 0
}

.footer_info {
    padding-right: 2%;
    float: right
}

.footer_info_box {
    display: inline-block;
    vertical-align: top;
    padding: 0 12px;
    color: #999;
    font-size: 12px;
    line-height: 1.6
}

.footer_info_tel {
    display: block;
    color: #999;
    font-size: 18px;
    font-family: NotoSans-Bold, sans-serif;
    letter-spacing: 1px
}

.footer_info_link {
    margin-left: 20px;
    display: inline-block;
    vertical-align: top;
    width: 206px;
    height: 50px;
    line-height: 50px;
    background-color: #727272;
    color: #fff;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    border-top-right-radius: 40px;
    border-bottom-right-radius: 40px;
    text-align: center;
    -webkit-transition: background-color .2s ease;
    transition: background-color .2s ease
}

.footer_info_link:hover {
    background-color: #bb342e
}

.footer_info_link span {
    font-size: 12px;
    font-family: NotoSans-Bold, sans-serif
}

@media print, screen and (max-width: 1400px) {
    .footer {
        padding: 60px 50px
    }

    .footer_box {
        padding: 0 1.5%
    }

    .footer_bottom {
        margin-top: 54px
    }

    .footer_info {
        margin-bottom: 56px;
        float: none;
        display: block;
        text-align: center
    }

    .footer_info_box {
        text-align: left
    }

    .footer_logo {
        text-align: center
    }

    .footer_logo_img {
        margin-bottom: 20px;
        display: block
    }

    .footer_corp {
        margin-top: 14px;
        display: block
    }

    .footer_corp span {
        margin-left: 0;
        display: block
    }
}

@media print, screen and (max-width: 1023px) {
    .footer {
        padding: 60px 30px 50px
    }

    .footer_link:hover {
        color: #999
    }

    .footer_logo_link:hover {
        color: #999
    }

    .footer_info_link {
        width: 191px;
        height: 44px;
        line-height: 44px
    }

    .footer_info_link:hover {
        background-color: #727272
    }
}

@media screen and (max-width: 480px) {
    .footer {
        padding: 8px 0 50px
    }

    .footer_box {
        padding: 0 14px;
        width: 100%;
        display: block
    }

    .footer_box_inner {
        padding-top: 1.1em;
        padding-bottom: 1.1em;
        border-top: none;
        border-bottom: solid 1px #434343
    }

    .footer_box_links {
        margin-top: 1em;
        display: none
    }

    .footer_ttl {
        margin-bottom: 0;
        font-size: 12px
    }

    .footer_ttl:after {
        content: '+';
        width: 2em;
        float: right;
        color: #fff;
        text-align: center;
        -webkit-transition: .4s ease;
        transition: .4s ease;
        -webkit-transform-origin: 50%;
        transform-origin: 50%
    }

    .footer_ttl.open:after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .footer_link {
        padding: .6em 0;
        margin-bottom: 0;
        font-size: 12px
    }

    .footer_info {
        margin-bottom: 40px
    }

    .footer_info_box {
        font-size: 9px
    }

    .footer_info_tel {
        font-size: 12px
    }

    .footer_info_link {
        width: 210px;
        height: 45px;
        line-height: 45px;
        margin-top: 1.5em;
        margin-left: 0
    }

    .footer_logo_img {
        margin-right: 0
    }

    .footer_logo_links {
        padding: 0 14px
    }

    .footer_logo_link {
        word-break: keep-all;
        font-size: 9px
    }

    .footer_logo_link:before {
        display: none
    }

    .footer_logo_link:after {
        content: '|';
        padding: 0 .5em;
        color: #505050
    }

    .footer_logo_link.last:after {
        display: none
    }

    .footer_corp {
        font-size: 9px;
        letter-spacing: 0
    }

    .footer_corp span {
        margin-left: 0
    }

    .footer_bottom {
        margin-top: 44px
    }
}

.overlay {
    z-index: 1999;
    position: fixed;
    width: 100%;
    height: 100%;
    visibility: hidden;
    background: url(../images/common/overlay_black_60.png) repeat;
    opacity: 0.0;
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81) .1s;
    transition: .24s cubic-bezier(.8, 0, .1, .81) .1s
}

.overlay.show {
    -webkit-transition-delay: 0.0s;
    transition-delay: 0.0s;
    opacity: 1.0;
    visibility: visible
}

.content-wrap {
    background-color: #fff
}

.content-wrap.index {
    background-color: #f6f6f6
}

.header-dummy {
    width: 100%;
    height: 100px
}

.site-content {
    padding: 180px 0;
    overflow: hidden
}

.site-content--index {
    max-width: 1800px;
    margin: 0 auto;
    padding: 50px 100px 100px 50px
}

.page-head {
    text-align: center;
    margin-bottom: 145px
}

.subpage-head {
    text-align: center;
    margin-bottom: 190px
}

.subpage-head--vision {
    margin-bottom: 100px
}

.subpage-head--404 {
    margin-bottom: 140px
}

.subpage-head--contact {
    margin-bottom: 120px
}

.page-ttl {
    font-family: EBGaramond08-Italic, sans-serif;
    font-size: 40px;
    color: #000;
    letter-spacing: 0
}

.page-ttl:before {
    content: '“'
}

.page-ttl:after {
    content: '”'
}

.page-subttl {
    margin-top: 1em;
    font-size: 15px;
    color: #848484;
    letter-spacing: 0
}

.page-head02 {
    margin-top: 190px;
    margin-bottom: 230px;
    text-align: center
}

.page-ttl02 {
    font-family: EBGaramond08-Italic, sans-serif;
    font-size: 30px;
    color: #000;
    letter-spacing: 0;
    line-height: 1.666
}

.page-subttl02 {
    margin-top: 0;
    font-size: 15px;
    color: #848484;
    letter-spacing: 0;
    line-height: 1.6
}

.page-sep {
    margin: 62px auto 0;
    width: 100px;
    height: 2px;
    background-color: #bb342e
}

.page-lead {
    position: relative;
    margin-top: 62px;
    padding-top: 62px
}

.page-lead:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100px;
    height: 2px;
    background-color: #bb342e
}

.page-lead-ttl {
    margin-bottom: 1.8em;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7
}

.page-lead-txt {
    margin: 0 auto;
    max-width: 900px;
    font-size: 15px;
    color: #383838;
    line-height: 2.307
}

.sec {
    position: relative
}

.sec--message {
    padding-bottom: 200px
}

.sec--message-diff {
    margin-top: -206px
}

.sec--gray {
    background-color: #f6f6f6
}

.sec_head {
    margin-top: 140px;
    margin-bottom: 88px;
    text-align: center
}

.sec_head--case {
    margin-bottom: 98px
}

.sec_head--csr {
    margin-top: 0;
    padding-top: 140px;
    margin-bottom: 94px
}

.sec_head--csr .page-ttl02, .sec_head--csr .page-subttl02 {
    color: #fff
}

.sec_head--vision {
    padding-top: 200px;
    margin-top: 0
}

.sec_content {
    margin-top: 188px
}

.sec_img {
    font-size: 0;
    text-align: center
}

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

.sec_obj--max {
    width: auto !important;
    max-width: 100%;
    height: auto
}

.sec_txt {
    padding: 0 24px;
    margin-top: 62px;
    text-align: center;
    color: #373737;
    font-size: 15px;
    line-height: 2.307;
    letter-spacing: .05em
}

@media print, screen and (max-width: 1400px) {
    .site-content {
        max-width: 1400px
    }

    .site-content--index {
        padding: 30px 60px 60px 30px
    }
}

@media print, screen and (max-width: 1023px) {
    .header-dummy {
        height: 70px
    }

    .site-content {
        max-width: 1023px;
        padding: 140px 0 0
    }

    .site-content--index {
        padding: 15px 30px 30px 0
    }

    .page-head {
        margin-bottom: 94px
    }

    .subpage-head {
        padding-left: 14px;
        padding-right: 14px;
        margin-bottom: 100px
    }

    .subpage-head--vision {
        margin-bottom: 0
    }

    .page-subttl {
        margin-top: .7em;
        font-size: 15px
    }

    .page-lead-ttl {
        font-size: 23px;
        margin-bottom: 1.6em
    }

    .page-lead-txt {
        font-size: 15px
    }
}

@media screen and (max-width: 480px) {
    .header-dummy {
        height: 45px
    }

    .site-content {
        padding: 66px 0 0
    }

    .site-content--index {
        padding: 0 14px 14px 7px
    }

    .page-head {
        padding: 0 14px;
        margin-bottom: 42px
    }

    .page-head03 {
        padding: 30px 14px
    }

    .subpage-head {
        padding: 30px 14px 0;
        margin-bottom: 42px
    }

    .subpage-head--404 {
        margin-bottom: 28px
    }

    .subpage-head--contact {
        margin-bottom: 28px
    }

    .page-ttl {
        font-size: 22px
    }

    .page-ttl02 {
        font-size: 22px
    }

    .page-subttl {
        margin-top: 0;
        font-size: 12px
    }

    .page-subttl02 {
        font-size: 10px
    }

    .page-sep {
        margin-top: 30px;
        width: 45px
    }

    .page-lead {
        margin-top: 30px;
        padding-top: 30px
    }

    .page-lead:before {
        width: 45px
    }

    .page-lead-ttl {
        font-size: 15px;
        line-height: 1.66
    }

    .page-lead-txt {
        font-size: 12px;
        line-height: 2.083;
        text-align: left
    }

    .sec_head {
        margin-top: 48px;
        margin-bottom: 0
    }

    .sec_head--404 {
        margin-top: 28px
    }

    .sec_head--csr {
        padding-top: 38px
    }

    .sec_head--vision {
        margin-top: 0;
        padding-top: 38px
    }

    .sec_head--case {
        margin-bottom: 32px
    }

    .sec_content {
        margin-top: 48px
    }

    .sec_txt {
        margin-top: 1em;
        padding: 0 14px;
        font-size: 12px;
        line-height: 1.875
    }

    .sec_txt--404 {
        margin-bottom: 50px;
        text-align: left
    }

    .sec_obj--max {
        padding: 0 6px
    }
}

.kv-index_m {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/m_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 64px
}

.kv-index_m.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_o {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/o_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 293px
}

.kv-index_o.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_r {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/r_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 53px
}

.kv-index_r.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_e {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/e_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 47px
}

.kv-index_e.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_s {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/s_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 52px
}

.kv-index_s.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_l {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/l_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 374px
}

.kv-index_l.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_u {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/u_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 52px
}

.kv-index_u.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_t {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/t_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 51px
}

.kv-index_t.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_i {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/i_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 21px
}

.kv-index_i.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_n {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/n_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 633px
}

.kv-index_n.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_v {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/v_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 57px;
    margin-right: 0
}

.kv-index_v.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index_a {
    -webkit-transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    transition: opacity .8s cubic-bezier(.19, .5, .7, 1), .4s cubic-bezier(.19, .2, .6, .8);
    opacity: 0.0;
    display: inline-block;
    vertical-align: bottom;
    height: 71px;
    font-size: 0;
    margin: 0 5px 24px;
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    background: url(../images/index/a_s.png) no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    width: 62px;
    margin-left: -.3%
}

.kv-index_a.show {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1.0
}

.kv-index {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.kv-index_poster {
    overflow: hidden;
    width: 100%;
    height: 100%
}

.kv-index_pause {
    display: none;
    background: url(../images/common/overlay_transparent.png) repeat;
    z-index: 10;
    position: absolute;
    width: 100%;
    height: 100%
}

.kv-index_overlay {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .55)
}

.kv-index_overlay:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .55);
    -webkit-transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s;
    opacity: 1.0
}

.kv-index_overlay.show:after {
    opacity: 0.0
}

.kv-index_overlay.show svg {
    opacity: 1.0;
    top: 41.2%
}

.kv-index_video {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.video-play .kv-index_video {
    cursor: url(../images/index/kv_cursor.png), url(/assets/images/index/kv_cursor.cur), pointer
}

.kv-index #js-video02 {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    display: none
}

.kv-index_caption {
    position: relative;
    -webkit-transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s, -webkit-transform 2000ms cubic-bezier(.19, .4, .22, 1) 0s;
    transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s, transform 2000ms cubic-bezier(.19, .4, .22, 1) 0s;
    -webkit-transform: translateY(20%);
    transform: translateY(20%)
}

.kv-index_caption-outer {
    padding-top: 100px;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    -webkit-transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.kv-index_caption-outer.hide {
    opacity: 0.0
}

.kv-index_caption.show {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.kv-index_txt {
    margin-top: 18px;
    margin-bottom: 44px;
    font-size: 18px;
    color: #fff;
    visibility: hidden;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0.0;
    -webkit-transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) .3s, -webkit-transform 2000ms cubic-bezier(.19, .4, .22, 1) .3s;
    transition: opacity 2000ms cubic-bezier(.19, 1, .22, 1) .3s, transform 2000ms cubic-bezier(.19, .4, .22, 1) .3s
}

.show .kv-index_txt {
    opacity: 1.0;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.kv-index_play {
    padding: 15px 38px;
    display: inline-block;
    border: solid 1px #fff;
    border-radius: 30px;
    color: #fff;
    font-size: 15px;
    visibility: hidden;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0.0;
    -webkit-transition: color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, border-color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, background-color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, -webkit-transform 2000ms cubic-bezier(.19, .4, .22, 1) .4s;
    transition: color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, border-color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, background-color .24s ease, opacity 2000ms cubic-bezier(.19, 1, .22, 1) .4s, transform 2000ms cubic-bezier(.19, .4, .22, 1) .4s
}

.show .kv-index_play {
    opacity: 1.0;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.kv-index_play:hover {
    color: #fff;
    border-color: #bb342e;
    background-color: #bb342e
}

.kv-index_scroll {
    z-index: 2;
    position: absolute;
    display: inline-block;
    width: 100px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 54px;
    text-align: center;
    font-family: EBGaramond08-Italic, sans-serif;
    color: #fff;
    font-size: 17px;
    -webkit-transition: bottom .24s cubic-bezier(.7, .1, .2, .85), -webkit-transform 1.6s cubic-bezier(.165, .84, .44, 1), opacity 1s cubic-bezier(.165, .84, .44, 1);
    transition: bottom .24s cubic-bezier(.7, .1, .2, .85), transform 1.6s cubic-bezier(.165, .84, .44, 1), opacity 1s cubic-bezier(.165, .84, .44, 1);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0.0
}

.kv-index_scroll:after {
    content: '';
    margin-top: 4px;
    display: block;
    position: relative;
    background: url(../images/common/kv_scroll.png) no-repeat 50%;
    width: 100px;
    height: 12px
}

.kv-index_scroll:hover {
    bottom: 44px
}

.kv-index_scroll.show {
    opacity: 1.0;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.kv-index_scroll.hide {
    opacity: 0.0
}

@-webkit-keyframes scrollPop {
    0% {
        top: -4px
    }
    8% {
        top: 0
    }
}

@keyframes scrollPop {
    0% {
        top: -4px
    }
    8% {
        top: 0
    }
}

.kv-index_scroll span {
    position: relative;
    -webkit-animation: scrollPop 1.5s ease-in-out 0s infinite alternate;
    animation: scrollPop 1.5s ease-in-out 0s infinite alternate
}

.supported .kv-index_overlay {
    background-color: transparent
}

.supported .kv-index_overlay svg {
    display: block
}

.supported .kv-index_caption {
    visibility: hidden
}

.tile-news {
    float: left;
    width: 60%;
    padding-left: 50px;
    margin-top: 50px
}

.tile-news_inner {
    padding: 50px;
    background-color: #fff
}

.tile-news_list {
    overflow: hidden
}

.tile-news_item {
    width: 100%;
    display: table;
    table-layout: fixed;
    border-top: solid 1px #eaeaea;
    padding: 24px 0
}

.tile-news_item:first-child {
    border-top: none
}

.tile-news_item.ext {
    background: url(../images/common/ext.png) no-repeat 99% 50%
}

.tile-news_date {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    width: 62px;
    display: table-cell;
    vertical-align: middle;
    font-size: 11px;
    color: #787878;
    font-family: NotoSans-Bold, sans-serif
}

.tile-news_category {
    padding-left: 46px;
    width: 136px;
    display: table-cell;
    vertical-align: middle;
    font-family: NotoSans-Bold, sans-serif
}

.tile-news_category .badge {
    display: block;
    width: 100px;
    padding: 3px 10px;
    font-size: 11px;
    color: #fff;
    background-color: #727272;
    border-radius: 20px;
    text-align: center
}

.tile-news_txt {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    padding-left: 46px;
    padding-right: 4em;
    display: table-cell;
    vertical-align: middle;
    font-size: 15px;
    color: #383838;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.tile-news_item:hover.ext {
    background: url(../images/common/ext_hover.png) no-repeat 99% 50%
}

a.tile-news_item:hover .tile-news_date {
    color: #bb342e
}

a.tile-news_item:hover .badge {
    background-color: #bb342e
}

a.tile-news_item:hover .tile-news_txt {
    color: #929292
}

.tile--specialist {
    display: block;
    width: 100%;
    text-align: center
}

.specialist {
    max-height: 600px;
    padding: 108px 24px;
    display: block;
    background-color: #bb342e
}

.specialist_subttl {
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 23px;
    font-weight: 700;
    color: #fff
}

.specialist_subttl:before {
    content: '“'
}

.specialist_subttl:after {
    content: '”'
}

.specialist_txt {
    font-size: 15px;
    line-height: 2.307;
    color: #fff
}

@media screen and (max-width: 1600px) {
    .kv-index_m {
        height: 57px;
        margin-bottom: 16px;
        width: 51px
    }

    .kv-index_o {
        height: 57px;
        margin-bottom: 16px;
        width: 236px
    }

    .kv-index_r {
        height: 57px;
        margin-bottom: 16px;
        width: 43px
    }

    .kv-index_e {
        height: 57px;
        margin-bottom: 16px;
        width: 38px
    }

    .kv-index_s {
        height: 57px;
        margin-bottom: 16px;
        width: 40px
    }

    .kv-index_l {
        height: 57px;
        margin-bottom: 16px;
        width: 300px
    }

    .kv-index_u {
        height: 57px;
        margin-bottom: 16px;
        width: 42px
    }

    .kv-index_t {
        height: 57px;
        margin-bottom: 16px;
        width: 42px
    }

    .kv-index_i {
        height: 57px;
        margin-bottom: 16px;
        width: 12px
    }

    .kv-index_n {
        height: 57px;
        margin-bottom: 16px;
        width: 503px
    }

    .kv-index_v {
        height: 57px;
        margin-bottom: 16px;
        width: 45px
    }

    .kv-index_a {
        height: 57px;
        margin-bottom: 16px;
        width: 51px;
        margin-left: 0
    }
}

@media print, screen and (max-width: 1400px) {
    .kv-index_m {
        height: 44px;
        margin-bottom: 16px;
        width: 40px
    }

    .kv-index_o {
        height: 44px;
        margin-bottom: 16px;
        width: 179px
    }

    .kv-index_r {
        height: 44px;
        margin-bottom: 16px;
        width: 33px
    }

    .kv-index_e {
        height: 44px;
        margin-bottom: 16px;
        width: 29px
    }

    .kv-index_s {
        height: 44px;
        margin-bottom: 16px;
        width: 31px
    }

    .kv-index_l {
        height: 44px;
        margin-bottom: 16px;
        width: 228px
    }

    .kv-index_u {
        height: 44px;
        margin-bottom: 16px;
        width: 32px
    }

    .kv-index_t {
        height: 44px;
        margin-bottom: 16px;
        width: 32px
    }

    .kv-index_i {
        height: 44px;
        margin-bottom: 16px;
        width: 13px
    }

    .kv-index_n {
        height: 44px;
        margin-bottom: 16px;
        width: 391px
    }

    .kv-index_v {
        height: 44px;
        margin-bottom: 16px;
        width: 35px
    }

    .kv-index_a {
        height: 44px;
        margin-bottom: 16px;
        width: 38px
    }

    .kv-index_overlay svg {
        width: 3400px;
        height: 3400px
    }

    .kv-index_overlay.show svg {
        top: 43%
    }

    .kv-index_txt {
        margin-top: 20px;
        margin-bottom: 28px
    }

    .tile-news {
        margin-top: 30px;
        padding-left: 30px;
        float: none;
        width: 100%;
        display: block
    }
}

@media print, screen and (max-width: 1023px) {
    .kv-index_play:hover {
        background-color: transparent;
        border: solid 1px #fff;
        color: #fff
    }

    .kv-index_txt {
        margin-top: 8px
    }

    .kv-index_caption-outer {
        padding-top: 70px
    }

    .tile-news {
        margin-top: 15px;
        padding-left: 30px
    }

    .tile-news_inner {
        padding-bottom: 30px
    }

    .tile-news_item:hover.ext {
        background: url(../images/common/ext.png) no-repeat 99% 50%
    }

    a.tile-news_item:hover .tile-news_date {
        color: #787878
    }

    a.tile-news_item:hover .tile-news_category .badge {
        background-color: #727272
    }

    a.tile-news_item:hover .tile-news_txt {
        color: #383838
    }
}

@media screen and (max-width: 480px) {
    .kv-index_m {
        height: 32px;
        margin: 0 3px 8px;
        width: 28px
    }

    .kv-index_o {
        height: 32px;
        margin: 0 3px 8px;
        width: 133px
    }

    .kv-index_r {
        height: 32px;
        margin: 0 3px 8px;
        width: 23px
    }

    .kv-index_e {
        height: 32px;
        margin: 0 3px 8px;
        width: 21px
    }

    .kv-index_s {
        height: 32px;
        margin: 0 3px 8px;
        width: 23px
    }

    .kv-index_l {
        height: 32px;
        margin: 0 3px 8px;
        width: 168px
    }

    .kv-index_u {
        height: 32px;
        margin: 0 3px 8px;
        width: 23px
    }

    .kv-index_t {
        height: 32px;
        margin: 0 3px 8px;
        width: 23px
    }

    .kv-index_i {
        height: 32px;
        margin: 0 3px 8px;
        width: 9px
    }

    .kv-index_n {
        height: 32px;
        margin: 0 3px 8px;
        width: 286px
    }

    .kv-index_v {
        height: 32px;
        margin: 0 3px 8px;
        margin-right: 0;
        width: 26px
    }

    .kv-index_a {
        height: 32px;
        margin: 0 3px 8px;
        margin-left: 0;
        width: 28px
    }

    .kv-index_txt {
        margin: 10px 0 22px;
        font-size: 9px
    }

    .kv-index_play {
        padding: 4px 16px;
        font-size: 6px;
        text-indent: -9999px;
        border: none;
        background: url(../images/index/play-btn.png) no-repeat;
        width: 119px;
        height: 27px;
        -webkit-background-size: 119px 27px;
        background-size: 119px 27px
    }

    .kv-index_scroll {
        bottom: 14px !important;
        font-size: 15px
    }

    .kv-index_scroll:after {
        background: url(../images/common/kv_scroll@sm.png) no-repeat 50%;
        -webkit-background-size: contain;
        background-size: contain;
        width: 100%;
        height: 11px
    }

    .kv-index_caption img {
        max-width: 100%;
        height: auto
    }

    .kv-index_caption-outer {
        padding-top: 45px
    }

    .kv-index_overlay {
        background: rgba(0, 0, 0, .5)
    }

    .kv-index_overlay svg {
        width: 2400px;
        height: 2400px;
        top: 50%
    }

    .kv-index_overlay.show svg {
        top: 42.3%
    }

    .tile-news {
        margin-top: 0;
        padding-top: 14px;
        padding-left: 7px
    }

    .tile-news_inner {
        padding: 25px
    }

    .tile-news_item:hover.ext {
        background: none
    }

    .tile-news_item {
        display: none;
        padding: 18px 0
    }

    .tile-news_item.ext {
        background: none
    }

    .tile-news_item:nth-child(-n+3) {
        display: block
    }

    .tile-news_date {
        display: inline-block;
        letter-spacing: 0
    }

    .tile-news_category {
        padding-left: 18px;
        display: inline-block
    }

    .tile-news_category .badge {
        padding: 3px 10px;
        font-size: 11px
    }

    .tile-news_txt {
        margin-top: 10px;
        padding: 0 3em 0 0;
        display: block;
        font-size: 12px
    }

    a.tile-news_item .tile-news_txt {
        background: url(../images/common/ext@sm.png) no-repeat 100% 50%;
        -webkit-background-size: 22px 21px;
        background-size: 22px 21px
    }

    .specialist {
        padding: 46px 24px 37px
    }

    .specialist_subttl {
        margin: 1.5em 0;
        font-size: 15px
    }

    .specialist_subttl:before {
        display: none
    }

    .specialist_subttl:after {
        display: none
    }

    .specialist_txt {
        text-align: left;
        font-size: 12px;
        line-height: 2.0833
    }
}

.tile-outer {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 50px 0 0;
    text-align: center
}

.tile {
    padding-top: 50px;
    padding-left: 50px;
    position: relative;
    display: inline-block;
    vertical-align: top
}

.tile_row {
    margin-left: -50px
}

.tile_inner {
    background-color: #fff;
    padding: 50px;
    height: 100%
}

.tile_inner-box {
    overflow: hidden;
    display: block;
    position: relative;
    height: 100%
}

.tile_head {
    margin-bottom: 14px
}

.tile_head_ttl {
    padding-top: 14px;
    border-top: solid 2px #7f7f7f;
    font-size: 15px;
    font-family: NotoSans-Bold, sans-serif
}

.tile_head_link {
    line-height: 2.5;
    position: relative;
    margin-top: 14px;
    float: right;
    color: #000;
    font-size: 12px
}

.tile_head_link:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: .2em;
    height: 1px;
    background-color: #6d6d6d;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81)
}

.tile_head_link:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.tile_caption {
    z-index: 2;
    position: absolute;
    width: 100%;
    top: 50%;
    text-align: center;
    line-height: 1.3
}

.tile_caption--bottom {
    top: 26% !important
}

.tile_img {
    z-index: 1;
    position: relative;
    overflow: hidden;
    height: 100%;
    font-size: 0
}

.tile_obj {
    width: 100%;
    height: auto
}

.tile_ttl {
    font-family: NotoSans-Bold, sans-serif;
    font-size: 18px;
    color: #fff;
    line-height: 1;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, -webkit-transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.tile_subttl {
    margin-top: 1.2em;
    font-size: 15px;
    color: #fff;
    line-height: 1;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, -webkit-transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.tile_plus {
    position: absolute;
    margin-top: 28px;
    background: url(../images/common/plus_white.png) no-repeat 50%;
    width: 100%;
    height: 23px;
    opacity: 0.0;
    filter: alpha(opacity=0);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, -webkit-transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s, transform 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile_body {
    margin-top: 42px
}

.tile_body_ttl {
    margin-bottom: .7em;
    font-size: 23px;
    color: #000;
    font-weight: 700;
    line-height: 1.56
}

.tile_body_txt {
    margin-bottom: 46px;
    font-size: 15px;
    color: #383838;
    line-height: 2.3
}

.tile_body_img {
    margin-bottom: 50px
}

.tile_body_btn {
    display: inline-block;
    padding: 16px 44px;
    border: solid 2px #7c7c7c;
    color: #7c7c7c;
    font-weight: 700;
    font-size: 12px;
    border-radius: 40px;
    -webkit-transition: .24s ease;
    transition: .24s ease
}

.tile_body_btn:hover {
    border-color: #bb342e;
    background-color: #bb342e;
    color: #fff
}

.tile--message .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--message .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--message .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--message .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--message .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--message .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--message .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--message .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--message .tile_caption {
    text-align: left;
    left: 80px
}

.tile--message .tile_plus {
    width: 23px
}

.tile--recruit .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--recruit .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--recruit .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--recruit .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--recruit .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--recruit .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--recruit .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--recruit .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--company-bottom .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--company-bottom .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--company-bottom .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--company-bottom .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--company-bottom .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--company-bottom .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--company-bottom .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--company-bottom .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--message-bottom .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--message-bottom .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--message-bottom .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--message-bottom .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--message-bottom .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--message-bottom .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--message-bottom .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--message-bottom .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--vision-bottom .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--vision-bottom .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--vision-bottom .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--vision-bottom .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--vision-bottom .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--vision-bottom .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--vision-bottom .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--vision-bottom .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--topmessage-bottom .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--topmessage-bottom .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--topmessage-bottom .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--topmessage-bottom .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--topmessage-bottom .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--topmessage-bottom .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--topmessage-bottom .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--topmessage-bottom .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--recruit-bottom .tile_inner-box:hover .tile_ttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--recruit-bottom .tile_inner-box:hover .tile_subttl {
    -webkit-transform: translateY(-23px);
    transform: translateY(-23px)
}

.tile--recruit-bottom .tile_inner-box:hover .tile_plus {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -webkit-transform: translateY(-23px) rotateZ(90deg);
    transform: translateY(-23px) rotateZ(90deg)
}

.tile--recruit-bottom .tile_img {
    -webkit-transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s;
    transition: opacity 1000ms cubic-bezier(.19, 1, .22, 1) 0s
}

.tile--recruit-bottom .tile_inner-box .tile_img {
    -webkit-transition: -webkit-transform 1s cubic-bezier(.23, 1, .32, 1);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1)
}

.tile--recruit-bottom .tile_inner-box:hover .tile_img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.tile--recruit-bottom .tile_img02 {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-size: 0
}

.tile--recruit-bottom .tile_img02 img {
    width: 100%;
    height: 100%
}

.tile--vision {
    min-height: 642px
}

.tile--imac {
    z-index: 1;
    min-height: 520px;
    position: absolute;
    right: 0;
    padding-left: 50px
}

.tile--imac .tile_img {
    position: relative;
    bottom: 0;
    height: auto;
    padding-right: 50px
}

.tile--solution {
    min-height: 642px;
    padding-left: 50px
}

.tile--solution .tile_inner {
    background-color: #2e2e2e
}

.tile--solution .tile_head_ttl {
    border-top-color: #979797;
    color: #fff
}

.tile--solution .tile_body_ttl, .tile--solution .tile_body_subttl, .tile--solution .tile_body_txt {
    color: #fff
}

.tile--solution .tile_body_btn {
    border-color: #b7b7b7;
    color: #fff
}

.tile--solution .tile_body_btn:hover {
    border-color: #bb342e
}

.tile--vision, .tile--solution {
    display: -moz-inline-grid
}

.tile--simg img {
    width: auto;
    height: 100%
}

.tile--recruit .tile_ttl, .tile--recruit .tile_subttl {
    color: #000
}

.tile--recruit .tile_plus {
    background: url(../images/common/plus_black.png) no-repeat 50%
}

.tile--recruit-bottom .tile_ttl, .tile--recruit-bottom .tile_subttl {
    color: #000
}

.tile--recruit-bottom .tile_plus {
    background: url(../images/common/plus_black.png) no-repeat 50%
}

.tile--big {
    min-height: 642px
}

.tile--bimg {
    position: absolute;
    right: 0;
    padding-left: 50px
}

.tile--bimg img {
    width: auto;
    height: 100%
}

.tile--company {
    padding-left: 50px
}

.tile--60 {
    width: 60%
}

.tile--40 {
    width: 40%
}

.tile--63 {
    width: 63%
}

.tile--37 {
    width: 37%
}

.tile--33 {
    width: 33.33333%
}

.tile--25 {
    width: 24.7%
}

.tile--black .tile_ttl, .tile--black .tile_subttl {
    color: #000
}

.tile--black .tile_plus {
    background: url(../images/common/plus_black.png) no-repeat 50%
}

@media print, screen and (max-width: 1400px) {
    .tile-outer {
        padding: 0 30px 0 0
    }

    .tile {
        width: 100%;
        padding-top: 30px;
        padding-left: 30px
    }

    .tile_body_txt {
        margin-bottom: 40px
    }

    .tile_body_img {
        margin-bottom: 40px
    }

    .tile_body_btn {
        padding: 16px 44px
    }

    .tile--33 {
        width: 33.33333%
    }

    .tile--60, .tile--40, .tile--63, .tile--37 {
        display: block;
        width: 100%
    }

    .tile--message, .tile--recruit {
        padding-left: 30px;
        display: inline-block;
        width: 50%
    }

    .tile--imac {
        padding-top: 0;
        position: relative
    }

    .tile--imac .tile_img {
        background-color: #fff;
        padding: 25px 25px 0
    }

    .tile--vision {
        min-height: 0;
        padding-top: 0
    }

    .tile--vision .tile_inner {
        padding-top: 0
    }

    .tile--solution {
        padding-top: 0;
        min-height: 0
    }

    .tile--simg img {
        width: 100%;
        height: auto
    }

    .tile--big {
        padding-top: 0;
        min-height: 0
    }

    .tile--bimg {
        position: relative
    }

    .tile--bimg img {
        width: 100%;
        height: auto
    }
}

@media print, screen and (max-width: 1023px) {
    .tile-outer {
        padding: 0 30px 100px 0
    }

    .tile {
        padding-top: 30px;
        padding-left: 30px
    }

    .tile_ttl, .tile_subttl, .tile_plus {
        -webkit-transform: none;
        transform: none;
        -webkit-transition: none;
        transition: none
    }

    .tile_plus {
        display: none
    }

    .tile_body_btn {
        padding: 10px 30px
    }

    .tile_body_btn:hover {
        background-color: transparent;
        border: solid 1px #000;
        color: #000
    }

    a.tile:after {
        display: none
    }

    .tile--message .tile_inner-box:hover .tile_ttl, .tile--message .tile_inner-box:hover .tile_subttl, .tile--recruit .tile_inner-box:hover .tile_ttl, .tile--recruit .tile_inner-box:hover .tile_subttl, .tile--company-bottom .tile_inner-box:hover .tile_ttl, .tile--company-bottom .tile_inner-box:hover .tile_subttl, .tile--message-bottom .tile_inner-box:hover .tile_ttl, .tile--message-bottom .tile_inner-box:hover .tile_subttl, .tile--vision-bottom .tile_inner-box:hover .tile_ttl, .tile--vision-bottom .tile_inner-box:hover .tile_subttl, .tile--topmessage-bottom .tile_inner-box:hover .tile_ttl, .tile--topmessage-bottom .tile_inner-box:hover .tile_subttl, .tile--recruit-bottom .tile_inner-box:hover .tile_ttl, .tile--recruit-bottom .tile_inner-box:hover .tile_subttl {
        -webkit-transform: none;
        transform: none;
        -webkit-transition: none;
        transition: none
    }

    .tile--message .tile_inner-box:hover .tile_img, .tile--recruit .tile_inner-box:hover .tile_img, .tile--company-bottom .tile_inner-box:hover .tile_img, .tile--message-bottom .tile_inner-box:hover .tile_img, .tile--vision-bottom .tile_inner-box:hover .tile_img, .tile--topmessage-bottom .tile_inner-box:hover .tile_img, .tile--recruit-bottom .tile_inner-box:hover .tile_img {
        filter: alpha(opacity=100);
        opacity: 1.0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .tile--message .tile_caption {
        left: 20px
    }

    .tile--vision {
        padding-top: 0
    }

    .tile--vision_inner {
        padding-top: 25px
    }

    .tile--solution .tile_body_btn:hover {
        color: #fff;
        border-color: #fff
    }

    .tile--imac {
        min-height: 0;
        padding-top: 0
    }

    .tile--imac .tile_img {
        padding: 58px 42px 0
    }
}

@media screen and (max-width: 480px) {
    .tile-outer {
        padding: 0 14px 14px 7px;
        background-color: #f6f6f6
    }

    .tile {
        padding-top: 14px;
        padding-left: 7px
    }

    .tile_inner {
        padding: 24px 24px 50px
    }

    .tile_subttl {
        font-size: 12px;
        letter-spacing: 0
    }

    .tile_head_ttl {
        padding-top: 12px
    }

    .tile_head_link {
        border-bottom: none
    }

    .tile_head_link .x-ext {
        border-bottom: none
    }

    .tile_body {
        margin-top: 24px
    }

    .tile_body_ttl {
        font-size: 17px
    }

    .tile_body_txt {
        margin-bottom: 20px;
        font-size: 12px;
        line-height: 2.08
    }

    .tile_body_img {
        display: none
    }

    .tile--message, .tile--recruit {
        width: 100%
    }

    .tile--message .tile_caption {
        left: 20px
    }

    .tile--topmessage-bottom .tile_caption {
        left: 20px;
        text-align: left
    }

    .tile--imac {
        min-height: 0;
        padding-top: 0
    }

    .tile--imac .tile_img {
        padding: 24px
    }

    .tile--big {
        padding-top: 0
    }

    .tile--vision {
        z-index: 1;
        position: relative;
        margin-top: -26px;
        padding-top: 0
    }

    .tile--solution {
        padding-top: 0
    }

    .tile--33 {
        width: 100%
    }

    .tile_caption--bottom {
        top: 50% !important
    }
}

.kv {
    font-size: 0;
    position: relative
}

.kv_obj {
    width: 100%;
    height: auto
}

.kv_head {
    position: absolute;
    width: 100%;
    top: 50%;
    text-align: center
}

.kv_ttl {
    margin: 0 24px
}

.kv_ttl img {
    max-width: 100%;
    height: auto
}

.kv_subttl {
    margin-top: 32px;
    font-size: 18px;
    font-weight: 700;
    color: #fff
}

@media screen and (max-width: 480px) {
    .kv_ttl {
        margin: 0 14px
    }

    .kv_subttl {
        margin-top: 4px;
        font-size: 9px
    }
}

.breadcrumb {
    position: relative;
    height: 40px;
    color: #727272
}

.breadcrumb_inner {
    position: absolute;
    padding: 22px 30px 0
}

.breadcrumb_link {
    position: relative;
    display: inline-block;
    line-height: 2.3;
    font-size: 12px;
    color: #727272
}

.breadcrumb_link:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: .2em;
    height: 1px;
    background-color: #6d6d6d;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81)
}

.breadcrumb_link:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.breadcrumb_link:after {
    background-color: #727272
}

.breadcrumb_link.active {
    cursor: default;
    color: #bb342e
}

.breadcrumb_link.active:after {
    display: none
}

.breadcrumb_link:first-child:before {
    display: none
}

@media print, screen and (max-width: 1023px) {
    .breadcrumb_link:after {
        display: none
    }
}

@media screen and (max-width: 480px) {
    .solution_obj {
        max-width: 100% !important;
    }

    .breadcrumb_inner {
        padding: 8px 12px;
        background-color: #f6f6f6;
        width: 100%
    }

    .breadcrumb_link {
        display: inline;
        font-size: 9px
    }
}

.js-lazy {
    opacity: 0.0 !important;
    -webkit-transform: translateY(40px) !important;
    transform: translateY(40px) !important;
    -webkit-transition-timing-function: cubic-bezier(.41, .2, .38, .8) !important;
    transition-timing-function: cubic-bezier(.41, .2, .38, .8) !important;
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    -webkit-transition-duration: .44s !important;
    transition-duration: .44s !important
}

.js-lazy.lz {
    opacity: 1.0 !important;
    -webkit-transform: translateY(0) translateZ(0) !important;
    transform: translateY(0) translateZ(0) !important
}

.js-lazy02 {
    opacity: 0.0 !important;
    -webkit-transform: translateY(40px) !important;
    transform: translateY(40px) !important;
    -webkit-transition-timing-function: cubic-bezier(.11, .2, .48, 1) !important;
    transition-timing-function: cubic-bezier(.11, .2, .48, 1) !important;
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    -webkit-transition-duration: 1.00s !important;
    transition-duration: 1.00s !important
}

.js-lazy02.lz {
    opacity: 1.0 !important;
    -webkit-transform: translateY(0) translateZ(0) !important;
    transform: translateY(0) translateZ(0) !important
}

.i {
    overflow: hidden;
    display: inline-block;
    border-radius: 50%;
    background-color: #bb342e;
    width: 86px;
    height: 86px;
    text-align: center
}

.i_icon {
    display: block;
    position: relative;
    top: 50%
}

.subpage-other-head {
    margin-top: 190px;
    margin-bottom: 230px;
    text-align: center
}

.subpage-other-head--sub {
    margin-top: 190px;
    margin-bottom: 146px
}

.subpage-other-head--vision {
    margin-top: 0;
    margin-bottom: 100px
}

.subpage-other-head--vision02 {
    margin-top: 200px;
    margin-bottom: 80px
}

.subpage-other {
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden;
    text-align: left
}

.subpage-other--sub .subpage-other_txt {
    display: none
}

.subpage-other--sub .subpage-other_link {
    width: 33%
}

.subpage-other--span3 {
    max-width: 1086px
}

.subpage-other--span3 .subpage-other_link {
    width: 33.33333%
}

.subpage-other--span1 {
    max-width: 362px
}

.subpage-other--span1 .subpage-other_link {
    width: 100%
}

.subpage-other--span2 {
    max-width: 724px
}

.subpage-other--span2 .subpage-other_link {
    padding: 56px;
    width: 50%
}

.subpage-other--span4 .subpage-other_link {
    width: 25%
}

.subpage-other--span1 .subpage-other_txt, .subpage-other--span2 .subpage-other_txt, .subpage-other--span3 .subpage-other_txt, .subpage-other--span4 .subpage-other_txt {
    text-align: center
}

.subpage-other_link {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    width: 33.33333%;
    padding: 84px 78px 74px;
    display: inline-block;
    vertical-align: top;
    text-align: center
}

.subpage-other .i {
    -webkit-transition: .4s ease;
    transition: .4s ease;
    margin-bottom: 20px
}

.subpage-other .i_icon:before {
    -webkit-transition: .4s ease;
    transition: .4s ease
}

.subpage-other_ttl {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    letter-spacing: 0;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 15px;
    color: #000
}

.subpage-other_subttl {
    -webkit-transition: .4s ease;
    transition: .4s ease;
    margin-top: 1em;
    font-size: 16px;
    font-weight: 700;
    color: #bb342e;
    line-height: 1.4375
}

.subpage-other_txt {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    margin-top: 2em;
    font-size: 15px;
    color: #383838;
    line-height: 2.3;
    text-align: left
}

.subpage-other_link:hover {
    background-color: #bb342e
}

.subpage-other_link:hover .i {
    background-color: #fff
}

.subpage-other_link:hover .i_icon:before {
    color: #bb342e
}

.subpage-other_link:hover .subpage-other_ttl, .subpage-other_link:hover .subpage-other_subttl, .subpage-other_link:hover .subpage-other_txt {
    color: #fff
}

@media print, screen and (max-width: 1400px) {
    .subpage-other-head {
        margin-top: 190px;
        margin-bottom: 136px;
        text-align: center
    }

    .subpage-other {
        padding: 0 60px
    }

    .subpage-other_link {
        width: 50%;
        padding: 46px 40px 36px
    }

    .subpage-other--span1 .subpage-other_link {
        width: 100%
    }

    .subpage-other--span2 .subpage-other_link {
        width: 50%
    }

    .subpage-other--span3 .subpage-other_link {
        width: 33.3333%
    }

    .subpage-other--span4 .subpage-other_link {
        width: 50%
    }

    .subpage-other--sub .subpage-other_link {
        padding: 14px 40px 20px
    }

    .subpage-other--sub .subpage-other_subttl {
        font-size: 15px
    }
}

@media print, screen and (max-width: 1023px) {
    .subpage-other-head {
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 60px;
        padding-bottom: 30px;
        background-color: #f6f6f6
    }

    .subpage-other-head.white {
        background-color: #fff
    }

    .subpage-other-head--sub {
        padding-top: 150px;
        padding-bottom: 80px
    }

    .subpage-other-head--vision {
        padding-top: 0;
        background-color: #fff
    }

    .subpage-other-head--vision02 {
        background-color: #fff
    }

    .subpage-other {
        background-color: #f6f6f6;
        padding: 15px
    }

    .subpage-other_inner {
        background-color: #fff;
        padding: 46px 48px 34px
    }

    .subpage-other_link {
        padding: 15px;
        width: 50%
    }

    .subpage-other_link:hover {
        background-color: transparent
    }

    .subpage-other_link:hover .i {
        background-color: #bb342e
    }

    .subpage-other_link:hover .i_icon:before {
        color: #fff
    }

    .subpage-other_link:hover .subpage-other_ttl, .subpage-other_link:hover .subpage-other_subttl, .subpage-other_link:hover .subpage-other_txt {
        color: #000
    }

    .subpage-other_link:hover .subpage-other_subttl {
        color: #bb342e
    }

    .subpage-other_link:hover .i_svg * {
        stroke: #fff !important
    }

    .subpage-other--span1, .subpage-other--span2, .subpage-other--span3, .subpage-other--span4 {
        max-width: none
    }

    .subpage-other--span1 .subpage-other_link, .subpage-other--span2 .subpage-other_link, .subpage-other--span3 .subpage-other_link, .subpage-other--span4 .subpage-other_link {
        padding: 15px
    }

    .subpage-other--sub {
        padding-bottom: 50px
    }

    .subpage-other--sub .subpage-other_subttl {
        color: #000
    }

    .subpage-other--sub .subpage-other_link {
        padding: 0 14px
    }

    .subpage-other--sub .subpage-other_inner {
        padding: 20px 0
    }

    .subpage-other--sub .i {
        margin-bottom: 0;
        width: 60px;
        height: 60px
    }

    .subpage-other--sub .i .i_icon:before {
        font-size: 30px
    }

    .subpage-other--sub .subpage-other_ttl {
        display: none
    }

    .subpage-other--sub .subpage-other_subttl {
        overflow: hidden;
        height: 2.8714em;
        font-size: 12px
    }
}

@media screen and (max-width: 480px) {
    .subpage-other-head {
        background-color: #f6f6f6
    }

    .subpage-other-head--sub {
        padding-top: 44px;
        padding-bottom: 44px
    }

    .subpage-other-head.white {
        background-color: #f6f6f6
    }

    .subpage-other {
        padding: 7px
    }

    .subpage-other_inner {
        overflow: hidden;
        padding: 25px 30px
    }

    .subpage-other_link {
        -webkit-transition-delay: 0s !important;
        transition-delay: 0s !important;
        padding: 7px;
        width: 100%;
        display: block
    }

    .subpage-other .i {
        width: 43px;
        height: 43px;
        margin-bottom: 10px
    }

    .subpage-other .i .i_icon:before {
        font-size: 20px
    }

    .subpage-other_txt {
        margin-top: 10px;
        line-height: 2.083;
        font-size: 12px
    }

    .subpage-other--sub {
        padding-bottom: 0
    }

    .subpage-other--span2 .subpage-other_link, .subpage-other--span3 .subpage-other_link, .subpage-other--span4 .subpage-other_link {
        width: 100%
    }

    .subpage-other--sub .subpage-other_link {
        width: 50%;
        display: inline-block;
        padding: 0 7px 14px
    }

    .subpage-other--sub .subpage-other_ttl {
        display: block;
        font-size: 8px
    }

    .subpage-other--sub .subpage-other_subttl {
        color: #bb342e;
        margin-top: .8em;
        font-size: 8px
    }

    .subpage-other--span1 .subpage-other_inner {
        padding: 26px 0 68px
    }

    .subpage-other--span1 .subpage-other_link {
        width: 100%
    }

    .subpage-other--span1 .i {
        width: 86px;
        height: 86px
    }

    .subpage-other--span1 .i_icon:before {
        font-size: 38px !important
    }

    .subpage-other--span1 .subpage-other_ttl {
        font-size: 15px
    }

    .subpage-other--span1 .subpage-other_subttl {
        margin-bottom: .8em;
        height: auto;
        font-size: 17px
    }

    .subpage-other--span1 .subpage-other_txt {
        display: block;
        color: #373737
    }
}

.feature {
    margin-top: 92px
}

.feature_row {
    overflow: hidden;
    display: block
}

.feature_row--right .feature_img {
    float: right
}

.feature_img {
    overflow: hidden;
    position: relative;
    width: 50%;
    float: left;
    vertical-align: top;
    font-size: 0
}

.feature_img img {
    position: relative;
    width: 100%;
    height: auto
}

.feature_caption {
    display: table;
    position: relative;
    top: 50%;
    width: 50%;
    float: left;
    text-align: left
}

.feature_caption_inner {
    padding: 8.5%;
    display: table-cell;
    vertical-align: middle
}

.feature_ttl {
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0
}

.feature_ttl span {
    font-weight: 400;
    margin-bottom: .6em;
    display: block;
    font-size: 15px
}

.feature_ttl span {
    font-size: 15px
}

.feature_txt {
    color: #373737;
    line-height: 2.307;
    font-size: 15px
}

.feature_txt--max600 {
    max-width: 604px;
    margin: 0 auto
}

.feature_link {
    position: relative;
    display: inline-block;
    color: #373737;
    margin-top: 1.5em
}

.feature_link:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: .2em;
    height: 1px;
    background-color: #6d6d6d;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81)
}

.feature_link:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.feature_sign {
    max-width: 600px;
    margin-top: 70px;
    width: 100%;
    text-align: right;
    color: #fff
}

.feature_sign img {
    display: inline
}

.feature_sign span {
    display: block
}

.feature_row--red {
    background-color: #bb352f
}

.feature_row--black {
    background-color: #2e2e2e
}

.feature_row--red .feature_ttl, .feature_row--black .feature_ttl {
    color: #fff
}

.feature_row--red .feature_txt, .feature_row--black .feature_txt {
    color: #fff
}

.feature_row--topmessage {
    background-color: #a0a9ae
}

.feature_row--gray {
    background-color: #f6f6f6
}

.feature_row--topmessage .feature_ttl {
    color: #fff
}

.feature_row--topmessage .feature_txt {
    color: #fff
}

@media print, screen and (max-width: 1023px) {
    .feature--marketing .feature_img, .feature--case .feature_img, .feature--message .feature_img, .feature--vision .feature_img {
        float: none;
        display: block;
        width: 100%;
        height: auto !important
    }

    .feature--marketing .feature_img img, .feature--case .feature_img img, .feature--message .feature_img img, .feature--vision .feature_img img {
        width: 100% !important;
        height: auto !important;
        left: 0 !important
    }

    .feature--marketing .feature_row--right .feature_img, .feature--case .feature_row--right .feature_img, .feature--message .feature_row--right .feature_img, .feature--vision .feature_row--right .feature_img {
        float: none
    }

    .feature--marketing .feature_caption, .feature--case .feature_caption, .feature--message .feature_caption, .feature--vision .feature_caption {
        padding: 90px 76px;
        display: block;
        width: 100%;
        height: auto !important;
        float: none;
        top: 0
    }

    .feature--marketing .feature_caption_inner, .feature--case .feature_caption_inner, .feature--message .feature_caption_inner, .feature--vision .feature_caption_inner {
        padding: 0;
        display: block
    }

    .feature--case .feature_row--gray, .feature--case .feature_row--black, .feature--case .feature_row--red {
        background-color: #fff
    }

    .feature--case .feature_row--gray .feature_ttl, .feature--case .feature_row--black .feature_ttl, .feature--case .feature_row--red .feature_ttl {
        color: #000 !important
    }

    .feature--case .feature_row--gray .feature_txt, .feature--case .feature_row--black .feature_txt, .feature--case .feature_row--red .feature_txt {
        color: #383838 !important
    }
}

@media screen and (max-width: 480px) {
    .feature {
        margin-top: 20px
    }

    .feature_row--once {
        padding-bottom: 0
    }

    .feature_img {
        float: none;
        display: block;
        width: 100%;
        height: auto !important
    }

    .feature_img img {
        width: 100% !important;
        height: auto !important;
        left: 0 !important
    }

    .feature_row--right .feature_img {
        float: none
    }

    .feature_caption {
        padding: 32px 0 !important;
        display: block;
        width: 100%;
        height: auto !important;
        float: none;
        top: 0
    }

    .feature_caption_inner {
        padding: 0 14px !important;
        display: block
    }

    .feature_ttl {
        margin-bottom: 1em;
        font-size: 15px
    }

    .feature_ttl span {
        font-size: 12px
    }

    .feature_txt {
        font-size: 12px;
        color: #373737;
        line-height: 1.875
    }

    .feature_sign {
        display: none
    }

    .feature_row--red {
        background-color: #fff
    }

    .feature_row--black {
        background-color: #fff
    }

    .feature_row--red .feature_ttl, .feature_row--black .feature_ttl {
        color: #373737
    }

    .feature_row--red .feature_txt, .feature_row--black .feature_txt {
        color: #373737
    }

    .feature_row--topmessage {
        background-color: #fff
    }

    .feature_row--topmessage .feature_ttl {
        color: #373737
    }

    .feature_row--topmessage .feature_txt {
        color: #373737
    }
}

.fancybox-overlay {
    background: url(../images/common/overlay_white_80.png)
}

.fancybox-opened .fancybox-skin {
    -webkit-box-shadow: none;
    box-shadow: none
}

.fancybox-close {
    background: url(../images/common/fancy_close.png) no-repeat;
    width: 20px;
    height: 20px;
    top: 40px;
    right: 40px
}

.fancybox-margin {
    margin-right: auto !important;
    margin-left: auto !important
}

@media screen and (max-width: 480px) {
    .fancybox-close {
        background: url(../images/common/fancy_close@sp.png) no-repeat;
        -webkit-background-size: contain;
        background-size: contain;
        width: 16px;
        height: 16px;
        top: 16px;
        right: 24px
    }
}

.solution {
    text-align: center
}

.solution_img {
    font-size: 0
}

.solution_obj {
    max-width: 60%;
    height: auto
}

.solution_txt {
    line-height: 2.3;
    margin-top: 145px;
    font-size: 15px;
    color: #383838
}

@media print, screen and (max-width: 1023px) {
    .solution_img {
        padding: 0 30px
    }

    .solution_txt {
        padding: 0 40px;
        margin-top: 100px;
        margin-bottom: 120px;
        font-size: 15px;
        line-height: 2
    }
}

@media screen and (max-width: 480px) {
    .solution_txt {
        text-align: left;
        margin-top: 44px;
        margin-bottom: 30px;
        padding: 0 14px;
        font-size: 12px;
        line-height: 2.08
    }
}

.bigdata_img {
    width: 100%;
    height: 1000px;
    background-color: #bb342e;
    text-align: center;
    font-size: 0
}

.bigdata_img img {
    position: relative;
    top: 50%;
    max-width: 100%;
    height: auto
}

.bigdata_right {
    position: absolute;
    margin-left: -449px;
    left: 50%;
    bottom: 30px;
    font-size: 12px;
    color: #fff;
    text-align: left
}

.bigdata-feature_items {
    padding: 100px 100px 0
}

.bigdata-feature_item {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding: 100px 100px 0
}

.bigdata-feature_no {
    display: block;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 40px;
    color: #bb342e;
    line-height: 1;
    white-space: nowrap
}

.bigdata-feature_ttl {
    margin-top: .28em;
    display: block;
    margin-bottom: 3.0em;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 15px;
    color: #000
}

.bigdata-feature_subttl {
    margin-bottom: .7em;
    font-weight: 700;
    font-size: 20px;
    color: #000
}

.bigdata-feature_txt {
    font-size: 15px;
    color: #383838;
    line-height: 2.307
}

@media print, screen and (max-width: 1400px) {
    .bigdata-feature_items {
        padding: 112px 30px 0
    }

    .bigdata-feature_item {
        padding: 86px 30px 0
    }
}

@media print, screen and (max-width: 1023px) {
    .bigdata_img {
        height: 585px
    }

    .bigdata_right {
        margin-left: -328px;
        bottom: 14px
    }

    .bigdata-feature_items {
        padding: 40px 15px 76px
    }

    .bigdata-feature_item {
        padding: 52px 15px 0
    }

    .bigdata-feature_no {
        display: inline-block;
        vertical-align: top
    }

    .bigdata-feature_ttl {
        margin-top: 0;
        margin-left: .8em;
        display: inline-block;
        vertical-align: baseline
    }
}

@media screen and (max-width: 480px) {
    .bigdata_img {
        height: 400px
    }

    .bigdata_right {
        width: 290px;
        line-height: 1.6;
        margin-left: -145px;
        font-size: 10px
    }

    .bigdata-feature_items {
        padding: 48px 0 10px
    }

    .bigdata-feature_item {
        padding-top: 0;
        padding-bottom: 40px;
        width: 100%
    }

    .bigdata-feature_ttl {
        margin-bottom: 2.0em
    }

    .bigdata-feature_subttl {
        font-size: 17px;
        line-height: 1.617
    }

    .bigdata-feature_txt {
        font-size: 12px;
        line-height: 2.083
    }
}

.arss-feature {
    background-color: #bb342e
}

.arss-feature_inner {
    padding: 80px 25px 200px;
    max-width: 950px;
    margin: 0 auto;
    color: #fff
}

.arss-feature_item {
    padding: 120px 0 0
}

.arss-feature_head {
    padding: 0 100px
}

.arss-feature_ttl {
    margin-bottom: 1.6em;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 700
}

.arss-feature_txt {
    font-size: 15px;
    line-height: 2.307
}

.arss-feature_img {
    margin-top: 90px
}

.arss-feature_img img {
    max-width: 100%;
    height: auto
}

.arss-case {
    background-color: #fff
}

.arss-case_inner {
    max-width: 950px;
    padding: 0 25px;
    margin: 0 auto;
    text-align: center
}

.arss-case_box {
    position: relative;
    padding: 120px 0 0
}

.arss-case_ttl {
    margin-bottom: 1.6em;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7
}

.arss-case_txt {
    font-size: 15px;
    line-height: 2.307;
    color: #383838
}

.arss-case_txt02 {
    margin-top: 46px;
    font-size: 15px;
    line-height: 2.307;
    color: #383838
}

.arss-case_feature {
    margin-top: 46px;
    background-color: #bb342e;
    border-radius: 10px;
    padding: 4em;
    color: #fff
}

.arss-case_feature_ttl {
    margin-bottom: .7em;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7
}

.arss-case_feature_ttl span {
    display: block;
    font-size: 14px
}

.arss-case_feature_txt {
    font-weight: 700;
    font-size: 15px
}

.arss-case_feature_txt:before, .arss-case_feature_txt:after {
    content: '';
    margin: 0 1em;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 1px;
    background-color: #d5827e
}

.arss-diff {
    display: table
}

.arss-before {
    display: table-cell;
    vertical-align: middle;
    width: 40%
}

.arss-before_inner {
    padding: 46px 42px 20px;
    border-radius: 10px;
    background-color: #f6f6f6
}

.arss-before_ttl {
    margin-bottom: 1.6em;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0
}

.arss-before_list {
    text-align: left;
    padding-left: 1em
}

.arss-before_item {
    padding-left: .4em;
    list-style-image: url(../images/common/list-item.png);
    margin-bottom: 1.8em;
    font-size: 15px;
    line-height: 2.153
}

.arss-arrow {
    display: table-cell;
    vertical-align: middle;
    padding: 0 16px
}

.arss-arrow_img {
    background: url(../images/solution/arss/arrow.png);
    display: block;
    width: 44px;
    height: 27px
}

.arss-after {
    display: table-cell;
    vertical-align: middle
}

.arss-after_inner {
    padding: 46px 42px 20px;
    background-color: #fff6e9;
    border-radius: 10px
}

.arss-after_ttl {
    margin-bottom: 1.6em;
    font-size: 23px;
    color: #bb342e;
    font-weight: 700;
    letter-spacing: 0
}

.arss-after_ttl span {
    border-bottom: 2px solid #bb342e;
    padding-bottom: .2em
}

.arss-detail {
    max-width: 800px;
    margin: 80px auto 0
}

.arss-detail_list {
    width: 50%;
    padding: 0 1em;
    vertical-align: top;
    display: inline-block;
    text-align: left;
    line-height: 2.3076
}

.arss-detail_list .arss-before_item {
    margin-bottom: 0
}

@media print, screen and (max-width: 1023px) {
    .arss-case {
        margin-bottom: 100px
    }
}

@media screen and (max-width: 480px) {
    .arss-feature_inner {
        padding: 16px 14px 48px
    }

    .arss-feature_item {
        padding-top: 32px
    }

    .arss-feature_head {
        padding: 0
    }

    .arss-feature_ttl {
        text-align: center;
        letter-spacing: 0;
        font-size: 15px
    }

    .arss-feature_txt {
        line-height: 1.875
    }

    .arss-feature_img {
        margin-top: 32px;
        text-align: center
    }

    .arss-case {
        margin-bottom: 50px
    }

    .arss-case_inner {
        padding: 20px 14px 0
    }

    .arss-case_box {
        padding-top: 28px
    }

    .arss-case_ttl {
        font-size: 15px
    }

    .arss-case_txt {
        text-align: left;
        font-size: 12px;
        line-height: 1.875
    }

    .arss-case_feature {
        margin-top: 32px;
        padding: 2.2em 1em
    }

    .arss-case_feature_ttl {
        font-size: 15px;
        margin-bottom: 1.0em
    }

    .arss-case_feature_txt {
        font-size: 12px;
        line-height: 1.875
    }

    .arss-case_txt02 {
        margin-top: 32px;
        line-height: 1.875;
        text-align: left;
        font-size: 12px
    }

    .arss-before {
        display: block;
        width: 100%;
        height: auto
    }

    .arss-before_inner {
        padding: 2.8em 1em 1em
    }

    .arss-before_ttl {
        font-size: 15px
    }

    .arss-before_list {
        padding-left: 2em
    }

    .arss-before_item {
        margin-bottom: 1.4em;
        font-size: 10px;
        line-height: 1.75
    }

    .arss-arrow {
        display: block;
        width: 100%
    }

    .arss-arrow_img {
        background: url(../images/solution/arss/arrow@sp.png) no-repeat 50%;
        -webkit-background-size: 13px 22px;
        background-size: 13px 22px;
        width: 100%;
        height: 52px
    }

    .arss-after {
        display: block
    }

    .arss-after_inner {
        padding: 2.8em 1em 1em
    }

    .arss-after_ttl {
        font-size: 15px
    }

    .arss-after_list {
        padding-left: 2em
    }

    .arss-after_item {
        font-size: 10px
    }

    .arss-detail {
        margin-top: 0;
        padding: 0 0 40px 2em
    }

    .arss-detail_list {
        padding: 0;
        width: 100%;
        display: block
    }

    .arss-detail_list .arss-before_item {
        margin-bottom: 1.4em
    }
}

.case_ttl {
    margin-bottom: .2em;
    font-family: EBGaramond08-Italic, sans-serif;
    font-size: 24px;
    color: #909090
}

.case_ttl--pink {
    color: #e89e9b
}

.websp_links {
    margin-top: 30px
}

.websp_icon {
    display: inline-block;
    vertical-align: top;
    background: url(../images/solution/websp/icon.jpg) no-repeat 50%;
    width: 113px;
    height: 64px
}

.websp_btn {
    margin-left: 30px;
    display: inline-block;
    vertical-align: top;
    background: url(../images/solution/websp/btn.png) no-repeat 50%;
    width: 184px;
    height: 55px
}

@media print, screen and (max-width: 1023px) {
    .websp_icon {
        background: url(../images/solution/websp/icon@sm.jpg) no-repeat 50%
    }

    .case_ttl {
        color: #909090 !important
    }
}

@media screen and (max-width: 480px) {
    .websp_links {
        text-align: center
    }

    .websp_icon {
        background: url(../images/solution/websp/icon@sm.jpg) no-repeat 50%;
        -webkit-background-size: contain;
        background-size: contain;
        width: 56px;
        height: 32px
    }

    .websp_btn {
        -webkit-background-size: contain;
        background-size: contain;
        width: 92px;
        height: 28px
    }
}

.solution-campaign {
    padding: 92px 24px;
    background-color: #bb342e
}

.solution-campaign_row {
    padding: 92px 0;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
    text-align: center
}

.solution-campaign_img {
    overflow: hidden;
    position: relative;
    width: 100%;
    font-size: 0;
    text-align: center
}

.solution-campaign_img img {
    max-width: 100%;
    height: auto
}

.solution-campaign_caption {
    position: relative;
    width: 100%;
    padding: 0 8.5% 44px;
    text-align: left
}

.solution-campaign_caption_inner {
    vertical-align: middle;
    text-align: center
}

.solution-campaign_ttl {
    margin-bottom: 42px;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: 0;
    color: #fff;
    text-align: left
}

.solution-campaign_ttl span {
    font-size: 15px
}

.solution-campaign_txt {
    color: #fff;
    line-height: 2.307;
    font-size: 15px;
    text-align: left
}

.solution-campaign_label {
    margin-top: 94px;
    display: inline-block;
    padding: 1em 3em;
    background-color: #2e2e2e;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px
}

@media screen and (max-width: 480px) {
    .solution-campaign {
        padding: 22px 14px
    }

    .solution-campaign_row {
        padding: 22px 0
    }

    .solution-campaign_img {
        margin-top: 32px;
        display: block;
        width: 100%;
        height: auto !important
    }

    .solution-campaign_img img {
        width: 100% !important;
        height: auto !important;
        left: 0 !important
    }

    .solution-campaign_caption {
        padding: 0;
        display: block;
        width: 100%;
        float: none;
        top: 0
    }

    .solution-campaign_caption_inner {
        display: block
    }

    .solution-campaign_ttl {
        margin-bottom: 1em;
        font-size: 15px
    }

    .solution-campaign_txt {
        font-size: 12px;
        line-height: 1.875
    }

    .solution-campaign_label {
        margin-top: 32px;
        padding: 1em 2em
    }
}

.profile-history {
    max-width: 900px;
    margin: 0 auto 170px;
    padding: 0 24px
}

.profile-history_row {
    display: table;
    width: 100%
}

.profile-history_th, .profile-history_td {
    font-size: 15px;
    padding: 24px 0;
    display: table-cell;
    vertical-align: top;
    text-align: left;
    border-top: solid 1px #e3e3e3;
    color: #383838
}

.profile-history_th a, .profile-history_td a {
    color: #383838
}

.profile-history_th {
    font-weight: 700;
    width: 27%
}

.profile-history_row:first-child .profile-history_td, .profile-history_row:first-child .profile-history_th {
    border-top: none
}

.profile-slider-outer {
    position: relative
}

.profile-slider {
    position: relative
}

.profile-slider_controls {
    position: absolute;
    padding: 0 50px;
    width: 100%;
    left: 0;
    bottom: 30px
}

.profile-slider_img, .profile-slider_obj {
    min-height: 400px;
    width: 100%;
    height: auto;
    font-size: 0
}

.profile-slider_caption {
    background-color: #fff;
    width: 300px;
    height: 300px;
    padding: 50px;
    z-index: 100;
    position: absolute;
    right: 50px;
    bottom: 50px
}

.profile-slider_ttl {
    margin-bottom: 2em;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 15px
}

.profile-slider_ttl:before {
    content: '';
    margin-bottom: .8em;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #7f7f7f
}

.profile-slider_txt {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 3em
}

.profile-slider_direction {
    float: right;
    display: inline-block;
    vertical-align: top;
    height: 22px
}

.profile-slider_prev {
    margin-right: 10px;
    padding: 0 12px;
    display: inline-block;
    background: url(../images/company/profile/prev_slider.png) no-repeat 50%;
    width: 12px;
    height: 22px
}

.profile-slider_next {
    padding: 0 12px;
    display: inline-block;
    background: url(../images/company/profile/next_slider.png) no-repeat 50%;
    width: 12px;
    height: 22px
}

.profile-slider_pager {
    float: left;
    vertical-align: top;
    display: inline-block;
    background-color: #fff;
    line-height: 22px;
    font-size: 18px;
    color: #797979;
    font-family: EBGaramond08-Italic, sans-serif
}

@media print, screen and (max-width: 1023px) {
    .profile-slider_img, .profile-slider_obj {
        width: 100%;
        height: auto;
        min-height: 0
    }

    .profile-slider_caption {
        padding: 76px 14px 14px;
        width: 100%;
        height: auto;
        position: relative;
        right: auto;
        bottom: auto
    }

    .profile-slider_controls {
        padding: 0;
        position: absolute;
        width: auto;
        top: 26px;
        left: auto;
        right: 14px
    }

    .profile-slider_direction {
        float: none
    }

    .profile-slider_pager {
        float: none;
        margin-right: 10px
    }

    .profile-slider_ttl {
        margin-bottom: 1.0em
    }

    .profile-slider_txt {
        line-height: 1.875;
        margin-bottom: 24px
    }

    .profile-slider_prev {
        background: url(../images/company/profile/prev_slider@sp.png) no-repeat 50%;
        -webkit-background-size: 12px 22px;
        background-size: 12px 22px;
        width: 12px;
        height: 22px
    }

    .profile-slider_next {
        background: url(../images/company/profile/next_slider@sp.png) no-repeat 50%;
        -webkit-background-size: 12px 22px;
        background-size: 12px 22px;
        width: 12px;
        height: 22px
    }
}

@media screen and (max-width: 900px) {
    .profile-slider_img, .profile-slider_obj {
        width: 100%;
        height: auto
    }
}

@media screen and (max-width: 480px) {
    .profile-history {
        padding: 0 14px;
        margin-bottom: 50px
    }

    .profile-history_row {
        border-top: solid 1px #e3e3e3
    }

    .profile-history_row:last-child {
        border-bottom: solid 1px #e3e3e3
    }

    .profile-history_th, .profile-history_td {
        display: block;
        width: 100%;
        padding: 12px 0 0;
        border-top: none
    }

    .profile-history_th {
        font-weight: 700
    }

    .profile-history_td {
        padding-bottom: 12px
    }
}

.locations {
    position: relative
}

.locations_note {
    z-index: 10;
    position: absolute;
    padding: 0 25px;
    width: 950px;
    top: 9.8%;
    left: 0;
    right: 0;
    margin: auto;
    color: #fff;
    font-size: 15px
}

.locations_img {
    display: inline-block;
    position: relative;
    padding: 0 14px;
    height: auto;
    text-align: center;
    font-size: 0
}

.locations_obj {
    max-width: 100%;
    height: auto;
    font-size: 0
}

.locations_places {
    padding-top: 100px;
    position: relative;
    text-align: center;
    background-color: #bb342e
}

.locations_places_ttl {
    display: none
}

.locations_place {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    z-index: 1;
    padding: 10px 20px;
    position: absolute;
    background-color: #fff;
    color: #000;
    border-radius: 20px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1
}

.locations_place:hover {
    background-color: #000;
    color: #fff
}

.locations-window {
    max-width: 900px;
    display: none;
    background-color: #fff
}

.locations-window_inner {
    padding: 80px
}

.locations-window_img {
    float: right
}

.locations-window_ttl {
    margin-bottom: .6em;
    font-size: 20px;
    font-weight: 700
}

.locations-window_info {
    color: #373737;
    font-size: 15px;
    line-height: 2
}

.locations-window_detail {
    display: inline-block;
    margin-top: .8em;
    color: #373737
}

.locations-window_map {
    margin-top: 30px;
    min-height: 250px
}

@media print, screen and (max-width: 1023px) {
    .locations_place {
        padding: 6px 14px
    }
}

@media screen and (max-width: 480px) {
    .locations_places {
        padding: 26px 0 46px
    }

    .locations_img {
        width: 100%
    }

    .locations_img img {
        display: none
    }

    .locations_note {
        display: none
    }

    .locations_places {
        overflow: hidden
    }

    .locations_places_ttl {
        margin-top: 20px;
        margin-bottom: 1.0em;
        display: block;
        color: #fff;
        font-size: 15px;
        font-weight: 700
    }

    .locations_place {
        display: block;
        width: 100%;
        margin-bottom: 1.0em;
        padding: 0;
        position: relative;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        background-color: transparent;
        color: #fff;
        font-size: 12px;
        line-height: 1.5;
        border-radius: 0;
        text-decoration: underline;
        -webkit-transition: none;
        transition: none
    }

    .locations_place:hover {
        background-color: transparent;
        color: #fff
    }

    .locations_place--sp-span3 {
        float: left;
        width: 33.33333%;
        line-height: 1.2;
        margin-bottom: 1.4em
    }

    .locations-window_inner {
        padding: 46px 24px
    }

    .locations-window_map {
        margin-top: 1.8em;
        min-height: 140px
    }

    .locations-window_img {
        margin-bottom: .8em;
        float: none
    }

    .locations-window_obj {
        width: 100%;
        height: auto
    }

    .locations-window_ttl {
        font-size: 15px
    }

    .locations-window_info {
        font-size: 12px;
        line-height: 2.083
    }

    .locations-window_detail {
        margin-top: 1.2em
    }
}

.access {
    padding-top: 150px;
    display: block;
    width: 100%;
    letter-spacing: 0
}

.access--pt0 {
    padding-top: 0
}

.access_ttl {
    margin-bottom: 2em;
    font-size: 20px;
    font-weight: 700
}

.access_caption {
    padding: 0 25px;
    max-width: 750px;
    margin: 0 auto 92px
}

.access_info {
    width: 68%;
    display: inline-block;
    vertical-align: top;
    font-size: 15px;
    line-height: 2.307;
    color: #373737
}

.access_info02 {
    width: 32%;
    display: inline-block;
    vertical-align: top;
    font-size: 15px;
    line-height: 2.307;
    color: #373737
}

.access_info02_ttl {
    font-size: 15px;
    font-weight: 700
}

@media screen and (max-width: 480px) {
    .access {
        padding-top: 42px
    }

    .access--pt0 {
        padding-top: 0
    }

    .access_caption {
        padding: 0 14px;
        margin-bottom: 42px
    }

    .access_info, .access_info02 {
        width: 100%;
        display: block;
        font-size: 12px;
        line-height: 1.875
    }

    .access_info_ttl, .access_info02_ttl {
        font-size: 12px
    }

    .access_info {
        margin-bottom: 1em
    }

    .access_ttl {
        margin-bottom: .5em;
        font-size: 15px
    }
}

.topmessage_img {
    font-size: 0
}

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

.topmessage_caption {
    padding: 0 25px;
    max-width: 736px;
    margin: 140px auto 0
}

.topmessage_ttl {
    margin-bottom: 36px;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.7;
    color: #000
}

.topmessage_txt {
    margin-bottom: 60px;
    font-size: 15px;
    line-height: 2.307
}

.topmessage_sign {
    text-align: right;
    line-height: 27px
}

.topmessage_sign-txt {
    display: inline-block;
    vertical-align: top;
    margin-right: 1.8em
}

.topmessage_sign p {
    margin-top: 1.0em;
    margin-right: 1.8em
}

@media print, screen and (max-width: 1023px) {
    .topmessage_caption {
        margin-top: 90px
    }
}

@media screen and (max-width: 480px) {
    .topmessage {
        margin-top: 20px
    }

    .topmessage_img {
        float: none;
        margin-bottom: 32px;
        display: block;
        width: 100%;
        height: auto !important
    }

    .topmessage_img img {
        width: 100% !important;
        height: auto !important;
        left: 0 !important
    }

    .topmessage_sign span {
        margin-right: 14px
    }

    .topmessage_sign p {
        margin-right: 14px
    }

    .topmessage_caption {
        padding: 0 14px;
        margin-top: 0;
        display: block;
        width: 100%;
        height: auto !important;
        float: none;
        top: 0
    }

    .topmessage_ttl {
        margin-bottom: 1em;
        font-size: 15px
    }

    .topmessage_txt {
        font-size: 12px;
        color: #373737;
        line-height: 1.875
    }
}

.vision_txt {
    margin-left: 13%;
    margin-bottom: 50px;
    font-size: 16px;
    line-height: 2.8125;
    color: #bb342e;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: left
}

@media print, screen and (max-width: 1023px) {
    .vision_txt {
        margin-left: 0;
        text-align: center
    }
}

@media screen and (max-width: 480px) {
    .vision_txt {
        margin-bottom: 0;
        font-size: 12px;
        line-height: 2.5
    }
}

.message_logo-bg {
    background: url(../images/philosophy/message/bg.jpg) no-repeat 50%;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.message_float {
    z-index: 1;
    position: relative
}

.message_logo-diff_img {
    padding: 0 24px;
    text-align: center
}

.message_logo-diff_img img {
    max-width: 100%;
    height: auto
}

.message-feature {
    background-color: #bb342e
}

.message-feature .feature_img img {
    padding: 10% 0 0
}

.message-feature .feature_ttl {
    color: #fff
}

.message-feature .feature_txt {
    color: #fff
}

.message-feature_ttl {
    text-align: center;
    margin-bottom: 5%
}

.message-feature_ttl_obj {
    max-width: 100%;
    height: auto
}

.message-feature_subttl {
    margin-bottom: 5%;
    text-align: center;
    font-size: 18px;
    color: #fff;
    letter-spacing: .05em
}

.message-feature-logo {
    margin-top: 192px
}

.message-feature-logo_caption {
    background-color: #2e2e2e;
    color: #fff;
    text-align: center
}

.message-feature-logo_ttl {
    font-family: EBGaramond08-Italic, sans-serif;
    font-size: 30px
}

.message-feature-logo_subttl {
    font-size: 15px
}

.message-feature-logo_txt {
    margin-top: 2em;
    font-size: 15px;
    line-height: 2.0
}

@media print, screen and (max-width: 1023px) {
    .message-feature .feature_img img {
        padding: 0
    }
}

@media screen and (max-width: 480px) {
    .message_logo-bg {
        background: url(../images/philosophy/message/bg@sm.jpg) no-repeat 50%;
        -webkit-background-size: 320px 330px;
        background-size: 320px 330px
    }

    .message-feature {
        padding-bottom: 0
    }

    .message-feature_ttl {
        margin-top: 0
    }

    .message-feature_subttl {
        font-size: 15px
    }

    .message-feature-logo {
        margin-top: 0
    }

    .message-feature-logo_row {
        padding-bottom: 0;
        background-color: transparent
    }

    .message-feature-logo_caption {
        padding: 48px 0;
        margin-top: 0 !important;
        background-color: #2e2e2e
    }

    .message-feature-logo_img {
        margin-bottom: 0
    }

    .message-feature-logo_ttl {
        font-size: 22px
    }

    .message-feature-logo_subttl {
        font-size: 10px
    }

    .message-feature-logo_txt {
        margin-top: 1.5em;
        font-size: 12px;
        line-height: 1.875;
        text-align: left
    }
}

.csr {
    background-color: #bb342e
}

.csr_img {
    padding: 0 24px 150px;
    width: 100%;
    text-align: center;
    font-size: 0
}

.csr_img img {
    position: relative;
    top: 50%;
    max-width: 100%;
    height: auto
}

.csr_img_head {
    padding-bottom: 12px
}

.csr_img_ttl {
    margin-bottom: .5em;
    font-size: 24px;
    line-height: 1.4166;
    letter-spacing: .05em;
    color: #fff;
    font-weight: 600
}

.csr_img_txt {
    color: #fff;
    font-size: 15px;
    line-height: 1.23076;
    font-weight: 600
}

.csr-feature_items {
    margin: 0 auto;
    max-width: 1475px;
    padding: 100px 25px 0
}

.csr-feature_item {
    display: inline-block;
    vertical-align: top;
    width: 33.33333%;
    padding: 100px 25px 0
}

.csr-feature_no {
    display: block;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 40px;
    color: #bb342e;
    line-height: 1;
    white-space: nowrap
}

.csr-feature_ttl {
    margin-top: .28em;
    display: block;
    margin-bottom: 3.0em;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 15px;
    color: #000
}

.csr-feature_subttl {
    margin-bottom: 1.8em;
    font-weight: 700;
    font-size: 20px;
    color: #000
}

.csr-feature_txt {
    font-size: 15px;
    color: #383838;
    line-height: 2.307
}

@media print, screen and (max-width: 1400px) {
    .csr-feature_items {
        padding: 112px 30px 0
    }

    .csr-feature_item {
        padding: 86px 30px 0
    }
}

@media print, screen and (max-width: 1023px) {
    .csr-feature_items {
        padding: 40px 15px 76px
    }

    .csr-feature_item {
        padding: 52px 15px 0
    }

    .csr-feature_no {
        display: inline-block;
        vertical-align: top
    }

    .csr-feature_ttl {
        margin-top: 0;
        margin-left: .8em;
        display: inline-block;
        vertical-align: baseline
    }
}

@media screen and (max-width: 480px) {
    .csr_img {
        padding: 50px 14px
    }

    .csr_img_head {
        padding-bottom: 6px
    }

    .csr_img_ttl {
        margin-bottom: 1.0em;
        font-size: 15px
    }

    .csr_img_txt {
        font-size: 12px
    }

    .csr-feature_items {
        padding: 48px 0 10px
    }

    .csr-feature_item {
        padding-top: 0;
        padding-bottom: 40px;
        width: 100%
    }

    .csr-feature_ttl {
        margin-bottom: 2.0em
    }

    .csr-feature_subttl {
        margin-top: .3em;
        margin-bottom: .8em;
        font-size: 15px;
        line-height: 1.617
    }

    .csr-feature_txt {
        font-size: 12px;
        line-height: 2.083
    }
}

.contribution-feature_row {
    display: block;
    margin-bottom: 100px;
    width: 100%;
    overflow: hidden
}

.contribution-feature_row.hide {
    display: none
}

.contribution-feature_img {
    float: left;
    width: 50%;
    font-size: 0;
    overflow: hidden
}

.contribution-feature_img img {
    width: 100%;
    height: auto
}

.contribution-feature_caption {
    background-color: #f9f9f9;
    display: table;
    padding: 5.6% 8.4%;
    float: right;
    width: 50%;
    text-align: center
}

.contribution-feature_ttl {
    margin: 0 auto 2em;
    max-width: 500px;
    font-size: 20px;
    line-height: 1.7;
    text-align: left
}

.contribution-feature_txt {
    margin: 0 auto;
    max-width: 500px;
    text-align: left;
    font-size: 15px;
    color: #373737;
    line-height: 2.307
}

.contribution-feature_more-btn-outer {
    text-align: center
}

.contribution-feature_more-btn {
    display: inline-block;
    padding: 20px 60px;
    border-radius: 40px;
    border: solid 2px #7c7c7c;
    color: #7c7c7c;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    -webkit-transition: .24s ease;
    transition: .24s ease
}

.contribution-feature_more-btn:hover {
    background-color: #7c7c7c;
    color: #fff
}

@media print, screen and (max-width: 1023px) {
    .contribution-feature_more-btn {
        margin-bottom: 100px;
        -webkit-transition: none;
        transition: none
    }

    .contribution-feature_more-btn:hover {
        background-color: transparent;
        color: #7c7c7c
    }
}

@media screen and (max-width: 480px) {
    .contribution-feature_row {
        padding: 0 14px;
        margin-bottom: 24px
    }

    .contribution-feature_img {
        float: none;
        width: 100%;
        height: auto !important
    }

    .contribution-feature_img img {
        width: 100% !important;
        top: auto !important;
        left: auto !important;
        height: auto !important
    }

    .contribution-feature_caption {
        float: none;
        width: 100%;
        padding: 24px 24px 50px
    }

    .contribution-feature_ttl {
        margin-bottom: 1em;
        font-size: 15px
    }

    .contribution-feature_txt {
        font-size: 12px;
        line-height: 1.875
    }

    .contribution-feature_more-btn {
        padding: 10px 60px;
        margin-top: 24px;
        margin-bottom: 48px;
        font-size: 12px
    }
}

.news {
    display: block;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 100px;
    width: 100%
}

.news_inner {
    background-color: #fff
}

.news_list {
    overflow: hidden
}

.news_list .tile-news_txt {
    white-space: normal
}

.news_item {
    width: 100%;
    display: table;
    table-layout: fixed;
    border-top: solid 1px #eaeaea;
    padding: 24px 0
}

.news_item:first-child {
    border-top: none
}

.news_item.ext {
    background: url(../images/common/ext.png) no-repeat 99% 50%
}

.news_date {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    width: 62px;
    display: table-cell;
    vertical-align: middle;
    font-size: 11px;
    color: #787878;
    font-family: NotoSans-Bold, sans-serif
}

.news_category {
    padding-left: 46px;
    width: 136px;
    display: table-cell;
    vertical-align: middle;
    font-family: NotoSans-Bold, sans-serif
}

.news_category .badge {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    display: block;
    width: 88px;
    padding: 3px 10px;
    font-size: 11px;
    color: #fff;
    background-color: #727272;
    border-radius: 20px;
    text-align: center
}

.news_txt {
    -webkit-transition: .24s ease;
    transition: .24s ease;
    padding-left: 46px;
    padding-right: 4em;
    display: table-cell;
    vertical-align: middle;
    font-size: 15px;
    color: #383838
}

.news_item:hover.ext {
    background: url(../images/common/ext_hover.png) no-repeat 99% 50%
}

.news a.news_item:hover .news_date {
    color: #bb342e
}

.news a.news_item:hover .news_category .badge {
    background-color: #bb342e
}

.news a.news_item:hover .news_txt {
    color: #929292
}

@media print, screen and (max-width: 1023px) {
    .news {
        margin-top: 15px;
        padding-left: 30px;
        padding-right: 30px
    }

    .news_inner {
        padding-bottom: 30px
    }

    .news_item:hover.ext {
        background: url(../images/common/ext.png) no-repeat 99% 50%
    }

    a.news_item:hover .news_date {
        color: #787878
    }

    a.news_item:hover .news_category .badge {
        background-color: #727272
    }

    a.news_item:hover .news_txt {
        color: #383838
    }
}

@media screen and (max-width: 480px) {
    .news {
        margin-top: 0;
        padding: 14px 14px 50px
    }

    .news_inner {
        padding: 0
    }

    .news_list .tile-news_item {
        display: block
    }

    .news_item {
        padding: 18px 0
    }

    .news_item.ext {
        background: none
    }

    .news_item:hover.ext {
        background: none
    }

    .news_item:last-child {
        border-bottom: solid 1px #eaeaea
    }

    .news_date {
        display: inline-block;
        letter-spacing: 0
    }

    .news_category {
        padding-left: 18px;
        display: inline-block
    }

    .news_category .badge {
        padding: 3px 10px;
        font-size: 11px
    }

    .news_txt {
        margin-top: 10px;
        padding: 0 3em 0 0;
        display: block;
        font-size: 12px
    }

    a.news_item .news_txt {
        background: url(../images/common/ext@sm.png) no-repeat 100% 50%;
        -webkit-background-size: 22px 21px;
        background-size: 22px 21px
    }
}

.sitemap {
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden
}

.sitemap_box {
    padding: 0 25px;
    margin-bottom: 50px;
    width: 25%;
    display: inline-block;
    vertical-align: top
}

.sitemap_box:before {
    content: '';
    margin-bottom: .8em;
    display: inline-block;
    width: 100%;
    height: 2px;
    background-color: #7f7f7f
}

.sitemap_box:nth-child(1) {
    -webkit-transition-delay: .1s !important;
    transition-delay: .1s !important
}

.sitemap_box:nth-child(2) {
    -webkit-transition-delay: .2s !important;
    transition-delay: .2s !important
}

.sitemap_box:nth-child(3) {
    -webkit-transition-delay: .3s !important;
    transition-delay: .3s !important
}

.sitemap_box:nth-child(4) {
    -webkit-transition-delay: .4s !important;
    transition-delay: .4s !important
}

.sitemap_box:nth-child(5) {
    -webkit-transition-delay: .5s !important;
    transition-delay: .5s !important
}

.sitemap_box:nth-child(6) {
    -webkit-transition-delay: .6s !important;
    transition-delay: .6s !important
}

.sitemap_box:nth-child(7) {
    -webkit-transition-delay: .7s !important;
    transition-delay: .7s !important
}

.sitemap_box:nth-child(8) {
    -webkit-transition-delay: .8s !important;
    transition-delay: .8s !important
}

.sitemap_box:nth-child(9) {
    -webkit-transition-delay: .9s !important;
    transition-delay: .9s !important
}

.sitemap_box:nth-child(10) {
    -webkit-transition-delay: 1s !important;
    transition-delay: 1s !important
}

.sitemap_box:nth-child(11) {
    -webkit-transition-delay: 1.1s !important;
    transition-delay: 1.1s !important
}

.sitemap_box:nth-child(12) {
    -webkit-transition-delay: 1.2s !important;
    transition-delay: 1.2s !important
}

.sitemap_box:nth-child(13) {
    -webkit-transition-delay: 1.3s !important;
    transition-delay: 1.3s !important
}

.sitemap_box:nth-child(14) {
    -webkit-transition-delay: 1.4s !important;
    transition-delay: 1.4s !important
}

.sitemap_box:nth-child(15) {
    -webkit-transition-delay: 1.5s !important;
    transition-delay: 1.5s !important
}

.sitemap_box:nth-child(16) {
    -webkit-transition-delay: 1.6s !important;
    transition-delay: 1.6s !important
}

.sitemap_box:nth-child(17) {
    -webkit-transition-delay: 1.7s !important;
    transition-delay: 1.7s !important
}

.sitemap_box:nth-child(18) {
    -webkit-transition-delay: 1.8s !important;
    transition-delay: 1.8s !important
}

.sitemap_box:nth-child(19) {
    -webkit-transition-delay: 1.9s !important;
    transition-delay: 1.9s !important
}

.sitemap_box:nth-child(20) {
    -webkit-transition-delay: 2s !important;
    transition-delay: 2s !important
}

.sitemap_ttl {
    margin-bottom: 1.4em;
    font-size: 15px;
    letter-spacing: .05em;
    font-weight: 700
}

.sitemap_link {
    display: block;
    margin-bottom: 1em;
    line-height: 2.0;
    color: #373737;
    font-size: 15px
}

.sitemap_link span {
    display: inline-block;
    position: relative
}

.sitemap_link span:after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    bottom: .2em;
    height: 1px;
    background-color: #6d6d6d;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .24s cubic-bezier(.8, 0, .1, .81);
    transition: .24s cubic-bezier(.8, 0, .1, .81)
}

.sitemap_link span:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

@media print, screen and (max-width: 1023px) {
    .sitemap_box {
        width: 50%
    }
}

@media screen and (max-width: 480px) {
    .sitemap_box {
        width: 100%;
        padding: 0 14px;
        margin-bottom: 24px
    }

    .sitemap_ttl {
        font-size: 12px
    }

    .sitemap_link {
        margin-bottom: .6em;
        font-size: 12px
    }

    .sitemap_link span {
        text-decoration: underline
    }

    .sitemap_link span:after {
        display: none;
        -webkit-transition: none;
        transition: none
    }
}

.privacy {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 100px
}

.privacy_box {
    margin-bottom: 90px
}

.privacy_ttl {
    margin-bottom: 1.5em;
    font-size: 20px;
    letter-spacing: .05em;
    font-weight: 700
}

.privacy_subttl {
    margin-bottom: 1.8em;
    font-size: 15px;
    letter-spacing: .05em;
    color: #373737;
    font-weight: 700
}

.privacy_subttl--m {
    margin-bottom: 0
}

.privacy_txt {
    margin-bottom: 2.8em;
    line-height: 2.307;
    font-size: 15px;
    color: #373737
}

.privacy_txt--sign {
    margin-top: 40px;
    display: block;
    text-align: right
}

.privacy_txt--m {
    margin-bottom: 0
}

.privacy_item {
    list-style-type: decimal;
    line-height: 2.307;
    font-size: 15px;
    color: #373737
}

.privacy_list {
    padding-left: 2em
}

.privacy_list--sub {
    padding-left: 0
}

.privacy_list--sub .privacy_item {
    list-style-type: disc
}

.privacy_indent {
    padding-left: 0
}

.privacy_indent .privacy_list {
    padding-left: 1.5em
}

.privacy_tb-outer {
    overflow: hidden
}

.privacy_tb {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    margin-bottom: 2.8em;
    display: table;
    width: 100%;
    border-collapse: collapse
}

.privacy_tb.half {
    float: left;
    width: 50%
}

.privacy_tb.half:last-child {
    margin-left: -1px
}

.privacy_tr {
    display: table-row
}

.privacy_th, .privacy_td {
    display: table-cell;
    vertical-align: middle;
    padding: 24px 8px;
    border: solid 1px #e1e1e1;
    text-align: center;
    color: #373737;
    font-size: 12px;
    letter-spacing: .05em
}

.privacy_th {
    background-color: #f3f3f3
}

.privacy_info {
    margin-top: -40px;
    padding: 44px;
    background-color: #f9f9f9;
    margin-bottom: 20px
}

@media print, screen and (max-width: 1023px) {
    .privacy_tb.half {
        float: none;
        width: 100%
    }

    .privacy_tb.half:last-child {
        margin-left: 0
    }

    .privacy_info {
        margin-bottom: 100px
    }
}

@media screen and (max-width: 480px) {
    .privacy {
        padding: 0 14px
    }

    .privacy_box {
        margin-bottom: 26px
    }

    .privacy_ttl {
        margin-bottom: .6em;
        font-size: 15px
    }

    .privacy_subttl {
        margin-bottom: 1.4em;
        font-size: 12px
    }

    .privacy_subttl--m {
        margin-bottom: 0
    }

    .privacy_txt {
        margin-bottom: 2em;
        font-size: 12px;
        line-height: 1.875
    }

    .privacy_txt--sign {
        margin-top: 24px;
        font-size: 10px
    }

    .privacy_item {
        font-size: 12px;
        line-height: 1.875
    }

    .privacy_indent {
        padding-left: 0
    }

    .privacy_tb {
        display: block;
        border: solid 1px #e1e1e1;
        overflow: hidden
    }

    .privacy_tr {
        float: left;
        width: 50%;
        display: inline-block
    }

    .privacy_th {
        border: none;
        display: inline-block;
        width: 100%;
        border-bottom: solid 1px #e1e1e1;
        border-right: solid 1px #e1e1e1
    }

    .privacy_th:last-child {
        border-bottom: none
    }

    .privacy_td {
        border: none;
        display: inline-block;
        width: 100%;
        border-bottom: solid 1px #e1e1e1
    }

    .privacy_td:last-child {
        border-bottom: none
    }

    .privacy_tb.half {
        width: 100%;
        border: none
    }

    .privacy_tb.half:last-child {
        margin-left: 0
    }

    .privacy_tb.half .privacy_tr {
        width: 100%
    }

    .privacy_tb.half .privacy_th {
        border: solid 1px #e1e1e1
    }

    .privacy_tb.half .privacy_td {
        border: solid 1px #e1e1e1;
        border-top: none
    }

    .privacy_info {
        margin-top: 0;
        margin-bottom: 50px;
        padding: 28px 24px
    }
}

::-webkit-input-placeholder {
    color: #959595 !important
}

::-moz-placeholder {
    opacity: 1;
    color: #959595 !important
}

:-moz-placeholder {
    opacity: 1;
    color: #959595 !important
}

:-ms-input-placeholder {
    color: #959595 !important
}

.contact {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 100px 0 50px
}

.contact--thanks {
    padding-left: 100px
}

.contact--thanks .contact_head {
    padding-left: 0
}

.contact_content-head {
    margin-top: 142px
}

.contact_head {
    padding-left: 50px;
    margin-bottom: 142px
}

.contact_step {
    margin-bottom: 54px;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 15px;
    color: #7f7f7f;
    text-align: center
}

.contact_step_txt.active {
    color: #bb342e
}

.contact_step_sep {
    padding: 0 8px;
    font-size: 15px;
    color: #d3d3d3
}

.contact_req {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 15px
}

.contact_tb {
    display: block;
    width: 100%
}

.contact_tb_error {
    display: inline-block
}

.contact_row {
    display: block;
    width: 100%;
    overflow: hidden;
    margin-bottom: 50px
}

.contact_col {
    padding-left: 50px;
    position: relative;
    display: block;
    width: 100%
}

.contact_col.require:after {
    z-index: 1;
    position: absolute;
    top: 28px;
    left: 70px;
    margin: auto;
    content: '※';
    color: #d80000
}

.contact_col.request:before {
    z-index: 1;
    position: absolute;
    top: 28px;
    left: 70px;
    margin: auto;
    content: '資料請求'
}

.contact_col--half {
    width: 50%;
    float: left
}

.contact_col--3 {
    width: 33.33333%;
    float: left
}

.contact_input {
    padding: 28px;
    width: 100%;
    background-color: #f4f4f4;
    border: none;
    color: #252525;
    line-height: 1.8
}

.require .contact_input {
    padding-left: 42px
}

.contact_select {
    border: none;
    padding: 28px 28px 28px 42px;
    background: #f4f4f4 url(../images/contact/select.png) no-repeat 100%;
    overflow: hidden;
    width: 100%;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    text-indent: .01px;
    text-overflow: "";
    color: #252525;
    line-height: 1.8
}

.contact_select.request {
    padding-left: 7em
}

.contact_btn-outer {
    margin-top: 130px;
    text-align: center
}

.contact_btn {
    display: inline-block;
    padding: 0;
    border-radius: 40px;
    border: solid 2px #7c7c7c;
    color: #7c7c7c;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    -webkit-transition: .24s ease;
    transition: .24s ease
}

.contact_btn:hover {
    background-color: #7c7c7c;
    color: #fff
}

.contact_policy {
    margin: 40px 0 0;
    text-align: center
}

.contact_policy label {
    padding: 0 16px;
    display: inline-block;
    line-height: 61px;
    height: 61px;
    vertical-align: middle;
    color: #bb342e;
    font-weight: 700
}

.contact_policy_img {
    display: inline-block;
    vertical-align: middle
}

.contact_submit {
    min-width: 194px;
    width: 100%;
    height: 56px;
    padding: 0 60px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    font-size: 12px
}

.contact_error {
    color: #bb342e
}

.contact_request {
    display: none
}

.contact_val {
    padding: 28px;
    width: 100%;
    background-color: #f4f4f4;
    border: none;
    color: #252525;
    line-height: 1.8
}

.contact_val.request {
    padding-left: 7em
}

.contact_val.contact_col--half {
    width: 50%;
    float: left
}

.contact_val.contact_col--3 {
    width: 33.33333%;
    float: left
}

.contact_link {
    margin-top: 42px;
    display: block;
    text-align: center
}

.contact_back-outer {
    display: inline-block;
    border-bottom: solid 1px #7c7c7c
}

.contact_back-outer:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 5px;
    height: 8px;
    background: url(../images/contact/back.png) no-repeat 0 50%
}

.contact_back {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    font-size: 12px;
    color: #7c7c7c
}

@media print, screen and (max-width: 1023px) {
    .contact {
        padding: 0 24px 100px 0
    }

    .contact_head {
        padding-left: 12px
    }

    .contact_row {
        margin-bottom: 24px
    }

    .contact_col {
        padding-left: 24px
    }

    .contact_col.require:after {
        left: 44px
    }

    .contact_col.request:before {
        left: 44px
    }

    .contact_btn-outer {
        margin-bottom: 100px
    }

    .contact_btn:hover {
        border: solid 2px #7c7c7c;
        color: #7c7c7c;
        background-color: transparent;
        -webkit-transition: none;
        transition: none
    }
}

@media screen and (max-width: 480px) {
    .contact {
        padding-right: 14px;
        padding-bottom: 50px
    }

    .contact--thanks {
        padding-right: 0
    }

    .contact_head {
        margin-bottom: 30px
    }

    .contact_content-head {
        margin-top: 30px;
        margin-bottom: 30px
    }

    .contact_step {
        margin-bottom: 1.6em
    }

    .contact_req {
        position: relative
    }

    .contact_row {
        margin-bottom: 14px
    }

    .contact_col {
        padding-left: 14px
    }

    .contact_col.require:after {
        top: 8px;
        left: 22px;
        font-size: 10px
    }

    .contact_col.request:before {
        top: 8px;
        left: 22px;
        font-size: 10px
    }

    .contact_col.request--val:before {
        font-size: 12px
    }

    .contact_input {
        padding: 8px;
        font-size: 10px
    }

    .contact_input.require {
        padding-left: 22px
    }

    .require .contact_input {
        padding-left: 22px
    }

    .contact_select {
        padding: 8px 8px 8px 22px;
        background: #f4f4f4 url(../images/contact/select@sm.png) no-repeat 100%;
        -webkit-background-size: 27px 40px;
        background-size: 27px 40px;
        font-size: 10px
    }

    .contact_select.request {
        padding-left: 6em
    }

    .contact_val {
        padding: 8px;
        font-size: 12px
    }

    .contact_policy {
        margin: 18px 0 24px
    }

    .contact_policy_txt {
        text-align: left
    }

    .contact_policy label {
        padding: 0 4px;
        font-size: 12px
    }

    .contact_btn-outer {
        margin-top: 50px;
        margin-bottom: 50px
    }

    .contact_btn {
        border-width: 1px
    }

    .contact_submit {
        min-width: 0;
        height: 44px
    }

    .contact_error {
        font-size: 10px
    }
}

.search-result {
    margin: 0 auto;
    max-width: 950px;
    padding: 0 25px;
    text-align: left
}

.search-result .gsc-input {
    vertical-align: middle;
    margin: 0 !important;
    height: 62px !important;
    line-height: 58px;
    font-size: 16px;
    color: #252525;
    padding-right: 10px !important;
    background-color: transparent !important
}

.search-result .gsc-input::-ms-clear {
    visibility: hidden
}

.search-result .gsc-input-box {
    padding: 0 20px 0 28px !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid #d9d9d9;
    border-radius: 40px;
    background: #fff;
    height: auto
}

.search-result .gsib_a {
    padding: 0
}

.search-result .gsst_a .gscb_a {
    vertical-align: middle
}

.search-result td.gsc-search-button {
    border-radius: 50%;
    background-color: #727272;
    text-align: center
}

.search-result input.gsc-search-button-v2 {
    background-color: transparent;
    vertical-align: middle;
    padding: 20px 22px;
    width: 60px;
    height: auto;
    border: none;
    border-radius: 0;
    margin: 0 !important;
    line-height: 0
}

.search-result input.gsc-search-button-v2:hover {
    border-color: #727272;
    background-color: transparent
}

.search-result input.gsc-search-button-v2:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: #727272;
    background-color: transparent
}

.search-result .gsc-cursor-box {
    margin-top: 72px !important;
    text-align: center
}

.search-result .gsc-cursor-page {
    margin: 0 18px;
    padding: 0 .1em;
    font-family: NotoSans-Bold, sans-serif;
    font-size: 16px;
    color: #252525 !important;
    border-bottom: solid 1px #252525 !important
}

.search-result .gsc-cursor-current-page {
    font-weight: 400 !important;
    text-decoration: none !important;
    color: #bb342e !important;
    border-bottom: none !important
}

.search-result .gsc-cursor-page:hover {
    font-weight: 400 !important;
    text-decoration: none !important;
    border-bottom: solid 1px #252525 !important
}

.search-result .gs-title {
    text-decoration: underline;
    height: auto !important
}

.search-result .gsc-table-result {
    margin-top: 6px
}

.search-result .gsc-webResult .gsc-result {
    border-bottom: solid 1px #e3e3e3;
    padding-top: 54px;
    padding-bottom: 52px
}

.search-result .gsc-webResult .gsc-result:hover {
    border-bottom: solid 1px #e3e3e3
}

.search-result .gsc-control-cse .gs-result .gs-title {
    margin-bottom: .4em;
    font-size: 20px
}

.search-result .gs-webResult.gs-result a.gs-title:link {
    color: #bb342e !important
}

.search-result .gs-webResult.gs-result a.gs-title:visited, .search-result .gs-webResult.gs-result a.gs-title:visited b, .search-result .gs-imageResult a.gs-title:visited, .search-result .gs-imageResult a.gs-title:visited b {
    color: #bb342e !important
}

.search-result .gsc-control-cse .gs-spelling, .search-result .gsc-control-cse .gs-result .gs-title, .search-result .gsc-control-cse .gs-result .gs-title * {
    color: #bb342e !important
}

.search-result .gs-webResult div.gs-visibleUrl, .search-result .gs-imageResult div.gs-visibleUrl {
    margin-bottom: 1.8em;
    color: #727272;
    text-decoration: underline
}

.search-result .gsc-table-result, .search-result .gsc-thumbnail-inside, .search-result .gsc-url-top {
    padding-left: 0
}

.search-result .gs-no-results-result .gs-snippet, .search-result .gs-error-result .gs-snippet {
    border: solid 2px #f4f4f4;
    background-color: #f4f4f4;
    padding: 20px
}

.search-result .gsc-results {
    width: 100%
}

.search-result .cse .gsc-control-cse, .search-result .gsc-control-cse {
    padding: 0
}

.search-result .gcsc-branding {
    padding-top: 4px;
    padding-bottom: 40px;
    padding-left: 8px;
    padding-right: 0;
    margin-top: -40px
}

.search-result .gsc-above-wrapper-area {
    min-height: 10.5em;
    border-bottom: 1px solid #e9e9e9;
    padding: 46px 0
}

.search-result .gsc-result-info {
    margin-top: 0;
    margin-bottom: 0
}

@media print, screen and (max-width: 1023px) {
    .search-result {
        padding-bottom: 100px
    }
}

@media screen and (max-width: 480px) {
    .search-result {
        padding: 0 14px 32px
    }

    .search-result .gsc-input {
        height: 44px !important;
        line-height: 40px !important
    }

    .search-result .gsc-input-box {
        padding-left: 20px !important;
        padding-right: 8px !important
    }

    .search-result input.gsc-search-button-v2 {
        padding: 10px 12px;
        width: 42px
    }

    .search-result .gsc-above-wrapper-area {
        min-height: 8em;
        padding: 20px 0
    }

    .search-result .gsc-result-info {
        margin-top: 0;
        margin-bottom: 0;
        padding: 6px 0 40px !important
    }

    .search-result .gcsc-branding {
        padding-top: 0 !important
    }

    .search-result .gsc-control-cse .gs-result .gs-title {
        line-height: 1.617 !important;
        font-size: 16px !important
    }

    .search-result .gsc-webResult .gsc-result {
        border-bottom: solid 1px #e3e3e3;
        padding-top: 24px !important;
        padding-bottom: 28px !important
    }

    .search-result .gsc-cursor-page {
        margin: 0 12px !important;
        font-size: 12px !important
    }

    .search-result .gsc-results .gsc-cursor-box {
        margin-top: 32px !important
    }
}

.ie8 .i_img {
    display: block
}

.ie8 .i_svg {
    display: none
}

.ie8 .kv-index_overlay {
    top: 0;
    -webkit-transform: scale(1);
    transform: scale(1);
    background: url(../images/common/overlay_black_80.png) repeat
}

.ie8 .kv-index_caption {
    visibility: visible
}

@media print {
    * {
        -webkit-transition: none !important;
        transition: none !important
    }

    .js-lazy, .js-lazy.lz, .js-lazy02, .js-lazy02.lz {
        -webkit-transition: none !important;
        transition: none !important;
        visibility: visible !important;
        opacity: 1.0 !important;
        -webkit-transform: translateY(0) !important;
        transform: translateY(0) !important
    }

    .menu {
        display: none !important
    }

    .header {
        position: absolute !important;
        max-width: 1023px
    }

    .header_logo_img {
        width: 150px;
        height: auto
    }

    .kv-index {
        height: 600px !important
    }

    .kv-index_obj {
        top: 0
    }

    .kv-index_poster {
        display: block !important
    }

    .kv-index_scroll {
        display: none
    }

    #js-video {
        display: none
    }

    .menu {
        display: none
    }

    .header_inner {
        display: none !important;
        background-color: transparent !important
    }

    .footer {
        display: none
    }

    .tile-outer {
        overflow: hidden
    }

    .tile--33 {
        display: inline-block !important
    }

    .tile--imac {
        height: auto !important
    }

    .tile--imac .tile_img {
        height: auto !important;
        bottom: 0 !important
    }

    .tile--vision {
        height: auto !important
    }

    .specialist {
        max-height: none !important
    }

    .kv_ttl img {
        width: 60% !important;
        height: auto !important
    }

    .subpage-other--sub .subpage-other_inner {
        padding: 20px 0 !important
    }

    .feature_caption {
        padding: 40px !important;
        height: auto !important
    }

    .feature_txt--max600 {
        max-width: none !important
    }

    .message-feature-logo_caption {
        padding: 0 !important;
        height: auto !important
    }

    body {
        max-width: 1400px
    }

    .csr-feature_items {
        padding: 112px 30px 0
    }

    .csr-feature_item {
        padding: 86px 30px 0
    }

    .csr-feature_items {
        padding: 40px 15px 76px
    }

    .csr-feature_item {
        padding: 52px 15px 0
    }

    .csr-feature_no {
        display: inline-block;
        vertical-align: top
    }

    .csr-feature_ttl {
        margin-top: 0;
        margin-left: .8em;
        display: inline-block;
        vertical-align: baseline
    }

    .bigdata-feature_items {
        padding: 112px 30px 0
    }

    .bigdata-feature_item {
        padding: 86px 30px 0
    }

    .bigdata_img {
        height: 585px
    }

    .bigdata-feature_items {
        padding: 40px 15px 76px
    }

    .bigdata-feature_item {
        padding: 52px 15px 0
    }

    .bigdata-feature_no {
        display: inline-block;
        vertical-align: top
    }

    .bigdata-feature_ttl {
        margin-top: 0;
        margin-left: .8em;
        display: inline-block;
        vertical-align: baseline
    }

    .site-content {
        max-width: 1400px
    }

    .site-content--index {
        padding: 30px 60px 60px 30px
    }

    .header-dummy {
        height: 70px
    }

    .site-content {
        max-width: 1023px;
        padding: 140px 0 0
    }

    .site-content--index {
        padding: 15px 30px 30px 0
    }

    .page-head {
        margin-bottom: 94px
    }

    .subpage-head {
        padding-left: 14px;
        padding-right: 14px;
        margin-bottom: 100px
    }

    .subpage-head--vision {
        margin-bottom: 0
    }

    .page-subttl {
        margin-top: .7em;
        font-size: 15px
    }

    .page-lead-ttl {
        font-size: 23px;
        margin-bottom: 1.6em
    }

    .page-lead-txt {
        font-size: 15px
    }

    .header-dummy {
        height: 70px
    }

    .site-content {
        max-width: 1023px;
        padding: 140px 0 0
    }

    .site-content--index {
        padding: 15px 30px 30px 0
    }

    .page-head {
        margin-bottom: 94px
    }

    .subpage-head {
        padding-left: 14px;
        padding-right: 14px;
        margin-bottom: 100px
    }

    .subpage-head--vision {
        margin-bottom: 0
    }

    .page-subttl {
        margin-top: .7em;
        font-size: 15px
    }

    .page-lead-ttl {
        font-size: 23px;
        margin-bottom: 1.6em
    }

    .page-lead-txt {
        font-size: 15px
    }

    .footer {
        padding: 60px 30px 50px
    }

    .footer_link:hover {
        color: #999
    }

    .footer_logo_link:hover {
        color: #999
    }

    .footer_info_link {
        width: 191px;
        height: 44px;
        line-height: 44px
    }

    .footer_info_link:hover {
        background-color: #727272
    }

    .kv-index_m {
        height: 44px;
        margin-bottom: 16px;
        width: 40px
    }

    .kv-index_o {
        height: 44px;
        margin-bottom: 16px;
        width: 33px
    }

    .kv-index_r {
        height: 44px;
        margin-bottom: 16px;
        width: 33px
    }

    .kv-index_e {
        height: 44px;
        margin-bottom: 16px;
        width: 29px
    }

    .kv-index_s {
        height: 44px;
        margin-bottom: 16px;
        width: 31px
    }

    .kv-index_l {
        height: 44px;
        margin-bottom: 16px;
        width: 29px
    }

    .kv-index_u {
        height: 44px;
        margin-bottom: 16px;
        width: 32px
    }

    .kv-index_t {
        height: 44px;
        margin-bottom: 16px;
        width: 32px
    }

    .kv-index_i {
        height: 44px;
        margin-bottom: 16px;
        width: 13px
    }

    .kv-index_n {
        height: 44px;
        margin-bottom: 16px;
        width: 32px
    }

    .kv-index_v {
        height: 44px;
        margin-bottom: 16px;
        width: 35px
    }

    .kv-index_a {
        height: 44px;
        margin-bottom: 16px;
        width: 38px
    }

    .kv-index_overlay svg {
        width: 3400px;
        height: 3400px
    }

    .kv-index_overlay.show svg {
        top: 43%
    }

    .kv-index_txt {
        margin-top: 20px;
        margin-bottom: 28px
    }

    .tile-news {
        margin-top: 30px;
        padding-left: 30px;
        float: none;
        width: 100%;
        display: block
    }

    .kv-index_play:hover {
        background-color: transparent;
        border: solid 1px #fff;
        color: #fff
    }

    .kv-index_txt {
        margin-top: 8px
    }

    .kv-index_caption-outer {
        padding-top: 70px
    }

    .tile-news {
        margin-top: 15px;
        padding-left: 30px
    }

    .tile-news_inner {
        padding-bottom: 30px
    }

    .tile-news_item:hover.ext {
        background: url(../images/common/ext.png) no-repeat 99% 50%
    }

    a.tile-news_item:hover .tile-news_date {
        color: #787878
    }

    a.tile-news_item:hover .tile-news_category .badge {
        background-color: #727272
    }

    a.tile-news_item:hover .tile-news_txt {
        color: #383838
    }

    .subpage-other-head {
        margin-top: 190px;
        margin-bottom: 136px;
        text-align: center
    }

    .subpage-other {
        padding: 0 60px
    }

    .subpage-other_link {
        width: 50%;
        padding: 46px 40px 36px
    }

    .subpage-other--span1 .subpage-other_link {
        width: 100%
    }

    .subpage-other--span2 .subpage-other_link {
        width: 50%
    }

    .subpage-other--span3 .subpage-other_link {
        width: 33.3333%
    }

    .subpage-other--span4 .subpage-other_link {
        width: 50%
    }

    .subpage-other--sub .subpage-other_link {
        padding: 14px 40px 20px
    }

    .subpage-other--sub .subpage-other_subttl {
        font-size: 15px
    }

    .subpage-other-head {
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 60px;
        padding-bottom: 30px;
        background-color: #f6f6f6
    }

    .subpage-other-head.white {
        background-color: #fff
    }

    .subpage-other-head--sub {
        padding-top: 150px;
        padding-bottom: 80px
    }

    .subpage-other-head--vision {
        padding-top: 0;
        background-color: #fff
    }

    .subpage-other-head--vision02 {
        background-color: #fff
    }

    .subpage-other {
        background-color: #f6f6f6;
        padding: 15px
    }

    .subpage-other_inner {
        background-color: #fff;
        padding: 46px 48px 34px
    }

    .subpage-other_link {
        padding: 15px;
        width: 50%
    }

    .subpage-other_link:hover {
        background-color: transparent
    }

    .subpage-other_link:hover .i {
        background-color: #bb342e
    }

    .subpage-other_link:hover .i_icon:before {
        color: #fff
    }

    .subpage-other_link:hover .subpage-other_ttl, .subpage-other_link:hover .subpage-other_subttl, .subpage-other_link:hover .subpage-other_txt {
        color: #000
    }

    .subpage-other_link:hover .subpage-other_subttl {
        color: #bb342e
    }

    .subpage-other_link:hover .i_svg * {
        stroke: #fff !important
    }

    .subpage-other--span1, .subpage-other--span2, .subpage-other--span3, .subpage-other--span4 {
        max-width: none
    }

    .subpage-other--span1 .subpage-other_link, .subpage-other--span2 .subpage-other_link, .subpage-other--span3 .subpage-other_link, .subpage-other--span4 .subpage-other_link {
        padding: 15px
    }

    .subpage-other--sub {
        padding-bottom: 50px
    }

    .subpage-other--sub .subpage-other_subttl {
        color: #000
    }

    .subpage-other--sub .subpage-other_link {
        padding: 0 14px
    }

    .subpage-other--sub .subpage-other_inner {
        padding: 20px 0
    }

    .subpage-other--sub .i {
        margin: 0 auto;
        width: 60px;
        height: 60px
    }

    .subpage-other--sub .i .i_icon:before {
        font-size: 30px
    }

    .subpage-other--sub .subpage-other_ttl {
        display: none
    }

    .subpage-other--sub .subpage-other_subttl {
        overflow: hidden;
        height: 2.8714em;
        font-size: 12px
    }

    .tile-outer {
        padding: 0 30px 0 0
    }

    .tile {
        display: block;
        width: 100%;
        padding-top: 30px;
        padding-left: 30px
    }

    .tile--recruit {
        height: auto !important
    }

    .tile--message {
        height: auto !important
    }

    .tile_obj {
        width: 100% !important;
        height: auto !important;
        top: 0 !important;
        left: 0 !important
    }

    .tile_body_txt {
        margin-bottom: 40px
    }

    .tile_body_img {
        margin-bottom: 40px
    }

    .tile_body_btn {
        padding: 16px 44px
    }

    .tile--33 {
        width: 33.33333%
    }

    .tile--60, .tile--40, .tile--63, .tile--37 {
        display: block;
        width: 100%
    }

    .tile--message, .tile--recruit {
        padding-left: 30px;
        display: inline-block;
        width: 50%
    }

    .tile--imac {
        padding-top: 0;
        position: relative
    }

    .tile--imac .tile_img {
        background-color: #fff;
        padding: 25px 25px 0
    }

    .tile--vision {
        min-height: 0;
        padding-top: 0
    }

    .tile--vision .tile_inner {
        padding-top: 0
    }

    .tile--solution {
        padding-top: 0;
        min-height: 0
    }

    .tile--simg img {
        width: 100%;
        height: auto
    }

    .tile--big {
        padding-top: 0;
        min-height: 0
    }

    .tile--bimg {
        position: relative
    }

    .tile--bimg img {
        width: 100%;
        height: auto
    }

    .tile-outer {
        padding: 0 30px 100px 0
    }

    .tile {
        padding-top: 30px;
        padding-left: 30px
    }

    .tile_ttl, .tile_subttl, .tile_plus {
        -webkit-transform: none;
        transform: none;
        -webkit-transition: none;
        transition: none
    }

    .tile_plus {
        display: none
    }

    .tile_body_btn {
        padding: 10px 30px
    }

    .tile_body_btn:hover {
        background-color: transparent;
        border: solid 1px #000;
        color: #000
    }

    a.tile:after {
        display: none
    }

    .tile--message .tile_inner-box:hover .tile_ttl, .tile--message .tile_inner-box:hover .tile_subttl, .tile--recruit .tile_inner-box:hover .tile_ttl, .tile--recruit .tile_inner-box:hover .tile_subttl, .tile--company-bottom .tile_inner-box:hover .tile_ttl, .tile--company-bottom .tile_inner-box:hover .tile_subttl, .tile--message-bottom .tile_inner-box:hover .tile_ttl, .tile--message-bottom .tile_inner-box:hover .tile_subttl, .tile--recruit-bottom .tile_inner-box:hover .tile_ttl, .tile--recruit-bottom .tile_inner-box:hover .tile_subttl {
        -webkit-transform: none;
        transform: none;
        -webkit-transition: none;
        transition: none
    }

    .tile--message .tile_inner-box:hover .tile_img, .tile--recruit .tile_inner-box:hover .tile_img, .tile--company-bottom .tile_inner-box:hover .tile_img, .tile--message-bottom .tile_inner-box:hover .tile_img, .tile--recruit-bottom .tile_inner-box:hover .tile_img {
        filter: alpha(opacity=100);
        opacity: 1.0;
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    .tile--vision {
        padding-top: 0
    }

    .tile--vision_inner {
        padding-top: 25px
    }

    .tile--solution .tile_body_btn:hover {
        color: #fff;
        border-color: #fff
    }

    .tile--imac {
        min-height: 0;
        padding-top: 0
    }

    .tile--imac .tile_img {
        padding: 58px 42px 0
    }

    .subpage-other_inner {
        height: auto !important
    }

    .subpage-other_link {
        float: left !important;
        width: 100% !important
    }

    .subpage-other .i {
        margin: 0 auto;
        text-align: center
    }
}

.footer_logo_other {
    margin: 60px 0 0;
    text-align: center;
    clear: both;
}

.footer_logo_other img {
    padding: 0 15px;
}