.cases_header {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1001;
    width: 100%;
    height: 50px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 3px 0 rgba(0, 0, 0, .3);
    box-shadow: 0px 0px 3px 0 rgba(0, 0, 0, .3)
}
.cases_header_detail {
    display: table;
    width: 100%;
    height: 50px
}
.cases_header_siteid {
    display: table-cell;
    width: 380px;
    text-align: left;
    vertical-align: top
}
.cases_header_siteid_hgroup {
    display: table;
    width: 100%;
    height: 50px
}
.cases_header_siteid_hgroup .cases_siteid {
    display: table-cell;
    width: 150px;
    text-align: left;
    vertical-align: top
}
.cases_header_siteid_hgroup .cases_siteid a {
    display: inline-block;
    width: 150px;
    height: 50px;
    background: url("../images/common/siteid.png") no-repeat 12px 50%;
    background-size: 126px 24px;
    text-align: left;
    text-indent: -9999px
}
.cases_header_siteid_hgroup .cases_siteid_careers {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
    line-height: 30px;
    color: #002067
}
.cases_header_siteid_hgroup .cases_siteid_careers span, .cases_header_siteid_hgroup .cases_siteid_careers a {
    display: inline-block;
    height: 30px;
    padding: 0 10px;
    border-left: 1px solid #002067;
    font-size: 1.2rem
}
.cases_globalnav {
    display: none
}
.cases_applynav {
    display: table-cell;
    width: 100px;
    text-align: left;
    vertical-align: top
}
.cases_applynav a {
    display: block;
    height: 50px;
    background-color: #002067;
    text-align: center;
    line-height: 50px;
    color: #fff
}
.cases_applynav a span {
    position: relative;
    display: inline-block;
    padding: 0 25px 0 15px
}
.cases_applynav a span:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 5px;
    width: 12px;
    height: 9px;
    margin-top: -4.5px;
    background: url("/assets/images/common/icn_arrow_btn_sp.png") no-repeat 50% 50%;
    background-size: 12px 9px
}
.cases_footer {
    padding-top: 60px
}
.cases_footer_image {
    width: 100%;
    height: 100px;
    background: url("../images/recruit/career_index/footer_img01_sp.jpg") no-repeat 50% 100%;
    background-size: cover
}
.cases_footer_image img {
    display: none
}
.cases_siteid_logo {
    padding-top: 30px;
    text-align: center
}
.cases_siteid_logo a {
    display: inline-block;
    width: 210px;
    height: 60px;
    background: url("../images/common/siteid.png") no-repeat 50% 50%;
    background-size: 210px 40px;
    text-align: left;
    text-indent: -9999px
}
.cases_footer_address {
    display: table;
    width: 100%;
    max-width: 480px;
    margin: 40px auto 0
}
.cases_footer_address .cases_footer_address_detal {
    display: table-cell;
    width: 50%;
    padding: 0 10px
}
.footer_address .cases_footer_address_detal dl {
    display: table;
    font-size: 1.2rem;
    text-align: left;
    vertical-align: top
}
.cases_footer_address a {
    color: #333
}
.cases_footer_address a:active {
    color: #002067
}
.cases_footer_address span {
    display: block
}
.cases_footer_pmark {
    padding: 30px 0;
    text-align: center
}
.cases_footer_pmark img {
    max-width: 70px;
    height: auto
}
.cases_footer_copyright {
    padding: 1em 1em;
    background-color: #001545;
    font-size: 1rem;
    text-align: center;
    color: rgba(255, 255, 255, .4)
}
.cases_hgroup {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    z-index: 2;
    margin-top: 30px;
    padding: 60px 0 30px 0;
    text-align: center
}
.cases_hgroup h2 {
    line-height: 1
}
.cases_hgroup h2 em {
    font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-weight: bold;
    font-size: 2.4rem
}
.cases_hgroup h2 span {
    position: relative;
    display: block;
    margin-top: 20px;
    padding-top: 20px;
    font-size: 1.4rem
}
.cases_hgroup h2 span:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 20px;
    height: 1px;
    margin-left: -10px;
    background-color: #333
}
a.cases_btn_detail {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 1em 15px;
    background-color: #fff;
    border: 1px solid #171d2d;
    text-align: center;
    line-height: 1;
    color: #171d2d;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s
}
a.cases_btn_detail:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 8px;
    margin-top: -4px;
    background: url("/assets/images/common/icn_blank_db.png") no-repeat 50% 50%;
    background-size: 10px 8px
}
a.cases_btn_detail:active {
    background-color: #171d2d;
    color: #fff;
    text-decoration: none
}
a.cases_btn_detail:active:after {
    background: url("/assets/images/common/icn_blank_wh.png") no-repeat 50% 50%;
    background-size: 10px 8px
}
.cases_bg {
    position: relative;
    z-index: 5
}
.cases_mainvisual {
    position: relative;
    overflow: hidden;
}
.cases_mainvisual h1 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}
.cases_index_mainvisual .cases_mainvisual_hgroup_title {
    height: 30vw
}
.cases_index_mainvisual .cases_mainvisual_data {
    padding-bottom: 30px
}
.cases_interview_mainvisual .cases_mainvisual_hgroup_title {
    height: 40vw
}
.cases_interview_mainvisual .cases_mainvisual_data_detail {
    display: table;
    margin: 0 10px 0 auto
}
.cases_interview_mainvisual h1 {
    display: table
}
.cases_interview_mainvisual h1 strong {
    display: table-cell;
    text-align: left;
    vertical-align: bottom
}
.cases_interview_mainvisual h1 em {
    display: table-cell;
    padding-left: 1em;
    text-align: left;
    vertical-align: bottom
}
.cases_mainvisual_hgroup {
    position: relative;
    z-index: 999
}
.cases_mainvisual_hgroup_detail {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_hgroup_title {
    -webkit-transform: skewY(-12deg);
    -ms-transform: skewY(-12deg);
    transform: skewY(-12deg);
    position: absolute;
    left: 0;
    bottom: -10vw;
    width: 100%;
    background-color: rgba(0, 0, 0, .5)
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data {
    -webkit-transform: skewY(12deg);
    -ms-transform: skewY(12deg);
    transform: skewY(12deg);
    padding-top: 6.5vw;
    padding-right: 10px;
    text-align: right;
    color: #fff;
    line-height: 1
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data strong {
    font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-weight: bold;
    font-size: 2rem;
    font-size: 4vw;
    font-weight: normal
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data strong span {
    display: none
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data em {
    display: block;
    padding-top: .75em;
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "HGゴシックE", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
    font-size: 1.1rem;
    font-size: 1.8vw
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data ul {
    text-align: left;
    padding-top: 1em
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data ul li {
    padding-top: 1vw;
    font-size: 1rem;
    font-size: 1.8vw
}
.cases_mainvisual_hgroup_detail .cases_mainvisual_data ul li:before {
    content: "- "
}
.cases_mainvisual_catch {
    display: none
}
.cases_mainvisual_slider li {
    display: none
}
.bx-wrapper .cases_mainvisual_slider li {
    display: block
}
.cases_mainvisual_slider.slick-initialized li {
    display: block
}
.cases_message_hgroup {
    padding: 40px 0 40px 0
}
.cases_message_detail {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px
}
.cases_message_detail h2 {
    display: table;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #333;
    border-width: 1px 0px
}
.cases_message_detail h2 span {
    display: table-cell;
    padding: 30px 0;
    font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-weight: bold;
    font-size: 2.4rem;
    text-align: center;
    line-height: 1
}
.cases_message_detail p + p {
    margin-top: 1.5em
}
.cases_interview {
    position: relative
}
.cases_interview:before {
    content: "";
    position: absolute;
    top: 160px;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f8f8f8;
    -webkit-transform: skewY(-12deg);
    -ms-transform: skewY(-12deg);
    transform: skewY(-12deg)
}
.cases_list_title {
    margin-bottom: 40px;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}
.cases_list_title::after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    margin: 12px auto 0;
    background-color: #002067;
}
.cases_interview_contents {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 40px;
}
.cases_interview_detail {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    margin-right: 0;
    border: 1px solid #ddd;
    background-color: #fff;
}
.cases_interview_detail figure {
    display: block;
    width: 100%;
    margin: 0;
}
.cases_interview_detail figure img {
    display: block;
    width: 100%;
    height: auto;
}
.cases_interview_detail .cases_interview_column {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px;
    text-align: left;
    line-height: 1.6;
}
.cases_interview_detail + .cases_interview_detail {
    margin-top: 25px;
}
.cases_company {
    color: #002067;
    font-weight: bold;
    font-size: 2rem;
    padding-bottom: 10px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}
.cases_interview_column h3 {
    margin: 0 0 12px;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
}
.cases_interview_column h3 a {
    color: #333;
}
.cases_interview_column h3 span {
    padding-right: 0;
}
.cases_interview_column .cases_interview_column_data {
    padding-top: .2em;
    line-height: 1.3;
}
.cases_interview_column .cases_interview_column_word {
    display: block;
    padding-top: 0;
    margin: 0 0 12px;
    line-height: 1.6;
}
.cases_company {
    margin-bottom: 15px;
    border-bottom: 1px solid #002067;
    margin-bottom: 10px;
}
.cases_more,
.cases_more:link,
.cases_more:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    margin-top: auto;
    padding: 12px 15px;
    background-color: #002067;
    color: #fff !important;
    text-decoration: none;
    font-size: 1.6rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}
.cases_more span {
    margin-left: 20px;
    color: #fff !important;
}
.cases_more:hover {
    color: #fff !important;
    opacity: .8;
}
.cases_aboutus {
    margin-top: -40px
}
.cases_aboutus_contents {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px
}
.cases_aboutus_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 10px
}
.cases_aboutus_nav li {
    width: 50%;
    padding-top: 20px
}
.cases_aboutus_nav li:nth-child(odd) {
    padding-right: 10px
}
.cases_aboutus_nav li:nth-child(even) {
    padding-left: 10px
}
.cases_photo_staff {
    position: relative
}
.cases_photo_staff:before {
    content: "";
    position: absolute;
    top: 160px;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 88%;
    background-color: #f8f8f8;
    -webkit-transform: skewY(-12deg);
    -ms-transform: skewY(-12deg);
    transform: skewY(-12deg)
}
.cases_photo_contents {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px
}
.cases_photo_contents ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 10px
}
.cases_photo_contents ul li {
    width: 50%;
    padding-top: 20px
}
.cases_photo_contents ul li:nth-child(odd) {
    padding-right: 10px
}
.cases_photo_contents ul li:nth-child(even) {
    padding-left: 10px
}
.cases_photo_contents img {
    width: 100%;
    height: auto
}
.cases_photo_nav {
    padding: 40px 20px
}
.cases_requirements {
    padding-bottom: 40px
}
.cases_requirements_contents {
    width: 100%;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px
}
.cases_requirements_contents table {
    width: 100%;
    border-top: 1px solid #ccc
}
.cases_requirements_contents table th, .cases_requirements_contents table td {
    border-bottom: 1px solid #ccc;
    text-align: left;
    vertical-align: middle
}
.cases_requirements_contents table th {
    width: 6em;
    padding: 10px 0 10px 1em;
    background-color: #f8f8f8
}
.cases_requirements_contents table td {
    padding: 10px 10px
}
.cases_apply {
    margin-top: -40px
}
.cases_apply_contents_read {
    margin-bottom: -40px;
    padding: 0 20px
}
.cases_detail_interview {
    position: relative;
    z-index: 6;
    background-color: #fff
}
.cases_detail_interview_contents {
    padding: 0 0 40px;
    background-color: #fff
}
.cases_detail_interview_contents h2 {
    padding: 40px 0 40px 0;
    font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-weight: bold;
    font-size: 2rem;
    text-align: center
}
.cases_detail_interview_contents p + p {
    margin-top: 1.5em
}
.cases_detail_interview + .cases_interview {
    position: relative;
    margin-top: -40px
}
.cases_detail_interview + .cases_interview:before {
    content: "";
    position: absolute;
    top: 120px;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 80%;
    background-color: #f8f8f8;
    -webkit-transform: skewY(-12deg);
    -ms-transform: skewY(-12deg);
    transform: skewY(-12deg)
}
.cases_interview_apply {
    padding-top: 20px
}
.cases_footer_contents {
    padding-bottom: 40px;
}
.cases_contact {
    float: right;
    background-color: #002067;
}
.cases_contact a {
    display: block;
    color: #fff;
    text-align: center;
    width: 140px;
    height: 50px;
    padding-top: 15px;
    font-size: 12px;
    text-decoration: none;
}
.p_link {
    width: 100%;
    margin: 0 auto;
    font-size: 13px;
    padding-top: 10px;
    padding-left: 10px;
    margin-bottom: 15px;
}
.cases_mainvisual {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 200px;
    padding: 40px 20px 20px 20px;
    text-align: left;
    background-image: url("../images/cases/cases_index/main_img.png");
    background-size: cover;
    background-position: -550px;
    background-repeat: no-repeat;
}
.cases_mainvisual h1 {
    font-size: 2.4rem;
    font-weight: 900;
}
.cases_mainvisual h1 span {
    font-size: 1.0rem;
    font-weight: 700;
    color: #002067;
    padding: 0 0 0 10px;
    margin-bottom: 10px;
    vertical-align: 5px;
}
.cases_mainvisual p {
    width: 70%;
    font-size: 1.2rem;
    font-weight: 700;
}
.cases_news {
    width: 90%;
    margin: 0 auto;
}
.cases_news h3 {
    width: 100%;
    background-color: #e1e9ed;
    padding: 10px;
    font-weight: 600;
    margin-bottom: 20px;
}
.cases_mainvisual_detail {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 20px;
    text-align: left;
    background-image: url("../images/cases/cases_detail/main_detail.png");
    background-size: cover;
    background-repeat: no-repeat;
}
.cases_mainvisual_detail h1 {
    font-size: 1.7rem;
    font-weight: 900;
    line-height: 130%;
}
.cases_mainvisual_detail h1 span {
    font-size: 1.5rem;
}
.cases_mainvisual_detail p {
    font-size: 1.2rem;
    font-weight: 400;
}
.cases_mainvisual_detail .copy {
    margin-bottom: 20px;
    font-size: 16px;
    display: inline-block;
    color: #fff;
    background-color: #002067;
    padding: 20px 15px;
}
.cases_mainvisual_detail .cases_info {
    width: auto;
    background-color: #fff;
    display: inline-block;
    padding: 3px;
    line-height: 120%;
    font-size: 12px
}
.cases_mainvisual_detail .cases_info .list_row {
    display: flex;
    justify-content: space-between;
    list-style: none;
}
.cases_mainvisual_detail .cases_info .list_row li {
    padding: 0 20px;
    border-right: 1px solid #333;
    padding: 5px 10px;
}
.cases_mainvisual_detail .cases_info .list_row li:last-child {
    border-right: none;
}
.cases_mainvisual_detail .cases_info .list_row span {
    font-weight: 900;
}
.cases_mainvisual_detail p span {
    font-weight: 900;
}
.cases_mainvisual_bg01 {
    background-image: url("../images/cases/cases_detail/main_detail.png");
    background-position: -370px;
}
.cases_mainvisual_bg02 {
    background-image: url("../images/cases/cases_detail/main_detail02.png");
    background-position: -370px;
}
.cases_mainvisual_bg03 {
    background-image: url("../images/cases/cases_detail/main_detail03.png");
    background-position: -330px;
}
.cases_detail_contents .txt_b {
    font-weight: bold;
}
.cases_detail_contents h2 {
    text-align: center;
    font-size: 26px;
    font-weight: 900;
    line-height: 130%;
}
.cases_detail_point {
    margin-bottom: 40px;
}
.cases_detail_point li {
    background-color: #e0e4eb;
    color: #002067;
    margin-bottom: 5px;
    padding: 18px;
    font-size: 13px;
    font-weight: 900;
    line-height: 120%;
}
.cases_list li {
    margin-top: 20px;
    line-height: 130%;
}
.cases_list .list01 {
    border: 2px solid #008cd4;
    border-radius: 10px;
    padding: 10px 10px 10px 100px;
    background-image: url("../images/cases/cases_detail/cases_icon04.png");
    background-repeat: no-repeat;
    background-size: 70px 70px;
    background-position: 15px;
}
.cases_list .list01 span {
    font-size: 12px;
}
.cases_list .list02 {
    border: 2px solid #008cd4;
    border-radius: 10px;
    padding: 10px 10px 10px 100px;
    background-image: url("../images/cases/cases_detail/cases_icon05.png");
    background-repeat: no-repeat;
    background-size: 70px 70px;
    background-position: 15px;
}
.cases_detail_contents h3 {
    border-left: 5px solid #002067;
    font-size: 20px;
    font-weight: 900;
    line-height: 120%;
    padding-left: 20px;
    color: #002067;
}
.cases_detail_contents h4 {
    font-size: 16px;
    font-weight: 700;
    margin: 20px 0;
    color: #008cd4;
}
.cases_detail_box {
    width: 90%;
    margin: 0 auto;
    padding: 20px 0;
}
.cases_detail_box p {
    margin-bottom: 20px;
}
.cases_detail_box img {
    width: 100%;
    height: auto;
    padding: 20px 0;
}
.cases_detail_bg {
    width: 100%;
    height: auto;
    background-color: #f1f3f6;
    padding: 20px 0 0 0;
    margin-bottom: 20px;
}

/* =================================
   お問い合わせバナー SP
================================= */

.cases-popup {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 1000;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    background-color: #fff;
    border: none;
    box-shadow: 0 -1px 0 #fff, 0 1px 0 #fff;
    transform: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.cases-popup.is-show {
    opacity: 1;
    visibility: visible;
}

.cases-popup-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 15px;
    box-sizing: border-box;
    background-color: #002067;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    bbox-shadow: none;
}

.cases-popup-icon {
    display: block;
    width: 22px;
    height: auto;
    margin: 0 10px 0 0;
}

.cases-popup-text {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
}