﻿*:not(.m3_wrapper, .atlas-side-menu-opinion-box, .atlas-nav, .atlas-side-menu-nav__item) {
    box-sizing: border-box
}

body {
    line-height: 1.6;
    margin: 0;
    padding: 0;
    color: #555;
    font-family: "メイリオ", Meiryo, sans-serif
}

h2, h3, h4 {
    line-height: 1em;
    margin: 0;
    padding: 0
}

ul, li {
    list-style: none;
    margin: 0;
    padding: 0
}

dl, dt, dd {
    margin: 0;
    padding: 0
}

img {
    border: 0;
    margin: 0;
    padding: 0;
    vertical-align: bottom
}

a img, a:focus img, a img:focus {
    border: 0
}

.body-content a {
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.body-content a:hover {
    text-decoration: underline
}

.body-content a:hover img {
    filter: alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.official-navi dd:after, .official-info:after, .clearfix:after, .row:after, .frow:after, .m3cr_content_nav dd:after, .m3cr-info__list:after, .m3cr-main__btm-fav:after, .m3cr_info_list01:after, .undernav:after, .subject_btn:after, .apply_btm:after {
    display: block;
    clear: both;
    content: ""
}

#main {
    margin: 0 auto;
    padding-top: 30px
}

#m3_main-body img {
    max-width: 100%
}

@media (max-width: 768px) {
    #main {
        background: #fff;
        padding: 30px 10px;
        width: 100%
    }
}

#m3_config > #m3_main-body > #m3_config > #m3_main-body {
    background: none
}

.body-content a {
    color: #ddd
}

.body-content a :hover {
    text-decoration: none;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.official-info {
    margin: 0 auto 42px;
    padding: 20px 40px
}

.official-info .title01 {
    font-size: 18px;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: left
}

.official-info dl {
    width: 100%;
    margin: 12px auto
}

.official-info dl dt {
    float: left;
    width: 20%;
    padding-left: 10px
}

.official-info dl dd {
    float: left;
    width: 80%
}

@media screen and (max-width: 768px) {
    .official-info dl {
        width: auto
    }

    .official-info dl dt {
        float: none;
        width: 100%
    }

    .official-info dl dd {
        float: none;
        width: 100%
    }
}

.official-item {
    font-size: 14px;
    font-size: 0.87rem;
    margin-bottom: 40px
}

.official-item h2 {
    font-size: 24px;
    font-size: 1.5rem;
    padding: 0 .5em .5em 0;
    margin: 0 0 1em 0;
    letter-spacing: 0.2em
}

.official-item .description {
    font-size: 18px;
    font-size: 1.125rem;
    color: #777;
    line-height: 1.5;
    margin-top: 5px
}

.official-item .highlight {
    font-weight: 800
}

.official-parts-1 {
    width: 98%
}

.official-parts-2 {
    width: 48%
}

.official-parts-2-sptop {
    width: 47%
}

.official-parts-2-spbottom {
    width: 47%
}

.official-parts-3 {
    width: 31.8%
}

.official-parts-4 {
    width: 23%
}

.official-parts-5 {
    width: 20%
}

.official-parts-1, .official-parts-2, .official-parts-3, .official-parts-4 {
    padding: 0;
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 3px
}

.official-parts-1 img, .official-parts-2 img, .official-parts-3 img, .official-parts-4 img {
    width: 100%
}

.official-parts-1 h3, .official-parts-2 h3, .official-parts-3 h3, .official-parts-4 h3 {
    padding: 12px 10px 12px 10px;
    color: #fff;
    text-align: left;
    position: absolute;
    z-index: 9999;
    bottom: 0;
    right: 0;
    left: 0
}

.official-parts-1 h3:not(:target), .official-parts-2 h3:not(:target), .official-parts-3 h3:not(:target), .official-parts-4 h3:not(:target) {
    filter: none;
    -ms-filter: none;
    text-align: center
}

.official-parts-1 > div, .official-parts-2 > div, .official-parts-3 > div, .official-parts-4 > div {
    height: 100%;
    position: relative
}

.official-parts-5 {
    padding: 0;
    position: relative;
    display: block;
    float: left;
    vertical-align: top;
    margin: 3px 0
}

.official-parts-5 img {
    width: 100%
}

.official-parts-5 h3 {
    padding: 12px 10px;
    color: #fff;
    text-align: left;
    position: absolute;
    z-index: 9999;
    bottom: 0;
    right: 0;
    left: 0
}

.official-parts-5 h3:not(:target) {
    filter: none;
    -ms-filter: none;
    text-align: center
}

.official-parts-5 > div {
    height: 100%;
    position: relative
}

@media (max-width: 768px) {
    .official-parts-1, .official-parts-2, .official-parts-3, .official-parts-5 {
        float: none;
        width: 100%;
        margin-bottom: 14px;
        padding: 0 14px 0 0
    }
}

.official-footernavi {
    margin: 0 auto
}

.official-footernavi img {
    margin-bottom: 8px
}

.cvbtn {
    position: relative;
    padding: 20px 20px;
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    -webkit-transition: none;
    transition: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.cvbtn:hover {
    top: 0;
    box-shadow: none;
    text-decoration: none
}

.cvbtn:active {
    top: 0;
    box-shadow: none;
    text-decoration: none
}

.contact-sp {
    display: none
}

@media (max-width: 768px) {
    .contact-sp {
        display: none
    }

    .contact-sp {
        display: block;
        background-repeat: no-repeat;
        color: #fff;
        font-size: 1.2em;
        font-weight: bold;
        position: fixed;
        left: 0;
        bottom: 0;
        text-align: center;
        height: 3em;
        width: 100%;
        line-height: 2em;
        z-index: 9999;
        padding-top: 6px
    }
}

@media (max-width: 768px) {
    .sp-hide {
        display: none
    }
}

ul.normal_list {
    margin-left: 30px
}

ul.normal_list li {
    list-style-type: square
}

.item-top {
    margin-top: 40px
}

.item-bottom {
    margin-bottom: 40px
}

.ie8 .m3cr-main__item01 {
    float: left;
    position: relative;
    min-height: 398px;
    width: 600px
}

.ie8 .m3cr-main__item02 {
    float: left;
    width: 370px;
    padding: 20px
}

.ie8 .m3cr-about__item02 {
    width: 48%;
    padding: 10px;
    float: left
}

.ie8 .m3cr-appearance__item {
    float: left;
    width: 47%;
    height: 478px;
    padding: 0 10px
}

.ie8 .m3cr-details__third {
    float: left;
    width: 32%;
    padding: 0 2px
}

.ie8 .m3cr-tour__item02-a {
    float: left;
    width: 48%;
    padding: 0 10px;
    font-size: 88%
}

.ie8 .m3cr-tour__list01 dd {
    float: left;
    width: 70%;
    padding-left: 20px
}

.ie8 .m3cr-overview__item01-a {
    float: left;
    width: 48%;
    margin-bottom: 40px;
    padding: 0 10px;
    font-size: 88%
}

.ie8 .m3cr-overview__item01-b {
    float: left;
    width: 48%;
    margin-bottom: 40px;
    padding: 0 10px
}

.ie8 .m3cr-info__list dd {
    width: 73%;
    float: left
}

.ie8 .undernav__item {
    float: left;
    width: 31%;
    padding: 10px
}

.ie8 .m3cr-junior-days__item01 dt {
    float: left;
    width: 26%
}

.ie8 .m3cr-junior-days__item01 dd {
    float: left;
    width: 67%;
    padding: 0 3%
}

.ie8 .m3cr-junior-features__media01 {
    float: left;
    width: 48%;
    padding-right: 2%;
    color: #999;
    margin-bottom: 10px
}

.ie8 .m3cr-junior-features__content_r {
    float: left;
    width: 48%;
    margin-bottom: 30px
}

.ie8 .m3cr-junior-features__content-one {
    float: left;
    width: 31%;
    margin-bottom: 40px;
    padding: 5px
}

.ie8 .m3cr-junior-features__content_r {
    float: left;
    width: 48%;
    margin-bottom: 30px
}

.ie8 .m3cr-junior-study__item01 {
    float: left;
    width: 31%;
    margin-bottom: 20px;
    padding: 0 1%
}

.ie8 .m3cr-voice__item02 dt {
    float: left;
    width: 21%;
    padding-top: 10px;
    line-height: 1.4;
    font-size: 75%;
    text-align: center
}

.ie8 .m3cr-junior-info__list dd {
    float: left;
    width: 70%
}

.ie8 .m3cr_recruitment__item-b01 {
    float: left;
    width: 48%;
    padding: 0 10px
}

.ie8 .m3cr_recruitment__link-record li {
    float: left;
    width: 48%;
    padding: 10px
}

.ie8 .m3cr-abroad__imgbox-system {
    float: left;
    width: 35%;
    margin-bottom: 40px;
    padding: 0 30px;
    text-align: center;
    color: #999;
    margin-bottom: 10px
}

.ie8 .m3cr-abroad__txt-system {
    float: left;
    width: 50%;
    margin-bottom: 40px;
    padding: 0 30px
}

.ie8 .m3cr-junior-features__content-thu-text {
    margin: auto;
    width: 80%
}

.atlas-sp-main {
  padding-top: 0; 
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden], template {
    display: none
}

a {
    background-color: transparent
}

a:active, a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: bold
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 0.81em
}

sub, sup {
    font-size: 0.75rem;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button, select {
    text-transform: none
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled], html input[disabled] {
    cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    height: auto
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: bold
}

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

td, th {
    padding: 0
}

.body-content a {
    color: #41bedc
}

* {
    box-sizing: border-box
}

html, body {
    font-family: "NotoSansCJKjp-Regular", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    width: 100%
}

p {
    margin: 0
}

.wrapper {
    margin: 0 auto 100px;
    max-width: 1160px;
    min-width: 768px;
    padding: 0 2%;
    width: 100%
}

@media screen and (min-width: 768px) and (max-width: 1288px) {
    .wrapper {
        padding: 0 20px;
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .wrapper {
        margin: 50px auto 0;
        max-width: 480px;
        min-width: 320px
    }
}

@media screen and (max-width: 580px) {
    .wrapper {
        margin: 50px auto 0;
        min-width: 320px;
        padding: 10px;
        width: 100%
    }
}

h2, h3, h4, h5, h6 {
    font-family: "NotoSansCJKjp-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: bold
}

h2 {
    font-size: 26px;
    letter-spacing: .6px;
    margin-bottom: 40px;
    text-align: center
}

h2:after {
    content: "";
    display: block;
    margin: 10px auto 0;
    vertical-align: middle
}

@media screen and (max-width: 768px) {
    h2 {
        font-size: 20px;
        margin-bottom: 30px
    }
}

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

.clearfix:after {
    clear: both;
    content: '';
    display: block
}

.text {
    font-size: 14px;
    line-height: 1.6;
    width: 100%
}

@media screen and (max-width: 768px) {
    .text {
        font-size: 12px
    }
}

.wrapper_btn {
    text-align: center
}

.wrapper_btn a {
    display: inline-block;
    position: relative;
    width: 540px
}

.wrapper_btn a .btn {
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto;
    padding: 17px 0 20px;
    text-align: center;
    width: 100%
}

@media screen and (max-width: 768px) {
    .wrapper_btn {
        background-color: rgba(255, 255, 255, 0.5);
        bottom: 0;
        left: 0;
        margin-bottom: 0;
        max-width: 100%;
        padding: 5px;
        position: fixed;
        width: 100%;
        z-index: 1000
    }

    .wrapper_btn a {
        width: 100%
    }

    .wrapper_btn a .btn {
        box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
        font-size: 12px;
        line-height: 0;
        padding: 16px 0 19px;
        width: 100%
    }
}

.wrapper_btn a:hover {
    text-decoration: none
}

.wrapper_btn a:hover .btn {
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.2) inset;
    position: relative;
    top: 2px
}

.e_shadow {
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.2)
}

.ul_card {
    margin: 0 auto
}

.ul_card li {
    background-color: #ffffff;
    height: 100%;
    line-height: 0;
    margin-bottom: 20px
}

@media screen and (max-width: 768px) {
    .ul_card li {
        margin-bottom: 10px
    }
}

.ul_card li.li_card_full {
    display: table;
    width: 100%
}

@media screen and (max-width: 768px) {
    .ul_card li.li_card_full {
        display: inline-block
    }
}

.ul_card li.li_card_full div {
    padding: 30px
}

@media screen and (max-width: 768px) {
    .ul_card li.li_card_full div {
        padding: 15px
    }
}

.ul_card li.li_card_full img {
    height: auto;
    width: 40%
}

li.li_card_full .container_text {
    display: table-cell;
    vertical-align: middle
}

@media screen and (max-width: 768px) {
    li.li_card_full .container_text {
        display: inline-block;
        width: 100%
    }
}

li.li_card_full .container_img {
    display: table-cell
}

@media screen and (max-width: 768px) {
    li.li_card_full .container_img {
        display: inline-block;
        width: 100%
    }
}

.ul_card .li_card_small {
    display: inline-block;
    margin-right: 14px;
    vertical-align: top;
    -webkit-width: calc(33% - 28px);
    width: calc(33% - 28px)
}

.ul_card .li_card_small:last-child {
    margin-right: 0
}

@media screen and (max-width: 768px) {
    .ul_card .li_card_small {
        font-size: 14px;
        width: 100%
    }
}

.container_img {
    background-position: center !important;
    background-size: cover !important
}

@media screen and (max-width: 768px) {
    .container_img {
        display: inline-block;
        width: 100%
    }
}

a:hover {
    opacity: .4;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s
}

@media only screen and (min-width: 769px) {
    .display_sp {
        display: none !important
    }
}

@media only screen and (max-width: 768px) {
    .display_pc {
        display: none !important
    }
}

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

.lines-on-sides, .container_schedule > h3 {
    display: table;
    text-align: center;
    white-space: nowrap
}

.lines-on-sides:after, .container_schedule > h3:after, .lines-on-sides:before, .container_schedule > h3:before {
    background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
    -webkit-background-clip: padding;
    background-clip: padding;
    color: #41bedc;
    content: '';
    display: table-cell;
    width: 100px
}

.lines-on-sides:after, .container_schedule > h3:after {
    border-left: 1em solid transparent
}

.lines-on-sides:before, .container_schedule > h3:before {
    border-right: 1em solid transparent
}

.header_image {
    margin: 20px auto 0 auto;
    max-width: 1160px;
    min-width: 768px;
    width: 100%
}

.header_image img {
    width: 100%
}

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

    .header_image img {
        width: 100%
    }
}

.nav_main {
    background-color: #ffffff;
    border-bottom: 1px solid #41bedc;
    border-top: 1px solid #ededed;
    margin: 20px 0;
    width: 100%
}

.nav_main > ul {
    margin: 0 auto;
    max-width: 1160px;
    width: 100%
}

.nav_main > ul.nav_item > li {
    display: inline-block;
    float: left;
    font-size: 16px;
    line-height: 40px;
    padding: 18px 0;
    position: relative;
    text-align: center;
    width: 25%
}

.nav_main > ul.nav_item > li.active {
    border-bottom: 4px solid #41bedc
}

.nav_main > ul.nav_item > li.active a {
    color: #41bedc
}

.nav_main > ul.nav_item > li a {
    position: relative;
    z-index: 100
}

.nav_main > ul.nav_item > li:after {
    border-left: 1px solid #cccccc;
    content: "";
    height: 50%;
    left: 0;
    position: absolute;
    top: 25%
}

.nav_main > ul.nav_item > li:last-child:after {
    border-right: 1px solid #cccccc;
    height: 50%;
    right: 0;
    position: absolute;
    top: 25%
}

@media screen and (max-width: 768px) {
    .nav_main > ul.nav_item > li:nth-child(odd)::after {
        display: none
    }

    .nav_main > ul.nav_item > li:last-child:after {
        border-right: none
    }
}

.nav_main a {
    color: #6f6f6f
}

@media screen and (max-width: 768px) {
    .nav_main {
        margin: 0
    }

    .nav_main > ul.nav_item > li {
        font-size: 10px;
        line-height: 10px;
        padding: 13px 0 14px 0;
        width: 50%
    }

    .nav_main > ul.nav_item > li.active {
        border-bottom: 0
    }
}

.nav_header .active:before {
    border-color: #41bedc transparent transparent transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    bottom: -10px;
    content: '';
    display: block;
    height: 0px;
    left: 50%;
    margin-left: -10px;
    position: absolute;
    width: 0px
}

@media screen and (max-width: 768px) {
    .nav_header .active {
        border-bottom: 0;
        color: #41bedc;
        font-weight: bold
    }

    .nav_header .active:before {
        display: none
    }
}

@media screen and (max-width: 768px) {
    .nav_header .active > a {
        border-bottom: 0;
        color: #41bedc;
        font-weight: bold
    }

    .nav_header .active > a:before {
        display: none
    }
}

.nav_footer {
    border-top: 1px solid #cccccc
}

.nav_main a {
    display: inline-block;
    width: 100%
}

.nav_main a:hover {
    color: #41bedc;
    opacity: .4
}

@media screen and (max-width: 768px) {
    .nav_main > ul.nav_item > li:nth-child(even) > a {
        border-right: none
    }

    .nav_main > ul.nav_item > li:nth-child(odd) > a {
        border-left: none
    }
}

@media screen and (max-width: 768px) {
    .nav_main > ul.nav_item > li:nth-child(1) {
        border-bottom: 1px solid #cccccc
    }

    .nav_main > ul.nav_item > li:nth-child(2) {
        border-bottom: 1px solid #cccccc
    }
}

.wrapper_intro {
    font-size: 16px;
    letter-spacing: .6px;
    line-height: 1.8;
    margin-top: 60px auto;
    text-align: center
}

@media screen and (max-width: 768px) {
    .wrapper_intro {
        font-size: 13px;
        max-width: 100%;
        width: 100%
    }
}

@media screen and (max-width: 768px) {
    .wrapper_intro {
        margin-top: 10px
    }
}

.parenthesis {
    margin: 60px 10px 0 10px;
    padding: 15px 30px;
    position: relative
}

@media screen and (max-width: 768px) {
    .parenthesis {
        margin: 0;
        padding: 15px;
        position: relative
    }
}

.parenthesis::before, .parenthesis::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: '';
    height: 50px;
    position: absolute;
    width: 20px
}

.parenthesis::before {
    border-left: 1px solid #41bedc;
    border-top: 1px solid #41bedc;
    left: 0;
    top: 0
}

.parenthesis::after {
    border-bottom: 1px solid #41bedc;
    border-right: 1px solid #41bedc;
    bottom: 0;
    right: 0
}

.wrapper_concept {
    text-align: center
}

.wrapper_concept h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/ttl-concept.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 76px
}

.wrapper_concept > ul {
    margin: 0 auto
}

.wrapper_concept > ul li {
    float: left;
    text-align: center;
    width: 230px
}

@media screen and (max-width: 768px) {
    .wrapper_concept > ul > li {
        width: 100%
    }
}

.wrapper_concept > ul > li > p {
    font-size: 14px;
    letter-spacing: .6px;
    line-height: 1.7;
    margin: 20px 0 40px 0
}

.wrapper_concept > ul.middle_box {
    max-width: 460px
}

@media screen and (max-width: 768px) {
    .wrapper_concept > ul.middle_box {
        width: 100%
    }
}

.wrapper_concept > ul.large_box {
    max-width: 690px
}

@media screen and (max-width: 768px) {
    .wrapper_concept > ul.large_box {
        width: 100%
    }
}

.wrapper_concept h3 > img {
    height: auto;
    width: 175px
}

.wrapper_detail h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/ttl-detail.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 57px
}

.wrapper_detail > table {
    font-size: 14px
}

.wrapper_detail > table th {
    font-size: 14px
}

.wrapper_detail > table th.floar {
    width: 80px
}

.wrapper_detail > table th, .wrapper_detail > table td {
    background-color: #ffffff;
    border: 1px solid #41bedc;
    padding: 20px 30px
}

.wrapper_detail > table tr:first-child > th {
    background-color: transparent;
    border: none
}

.wrapper_detail > table tr td.east {
    width: 30%
}

.wrapper_detail > table tr td.west {
    width: 35%
}

.wrapper_detail > table tr td.outbuilding {
    -webkit-width: calc(100% - 65% - 80px);
    width: calc(100% - 65% - 80px)
}

@media screen and (max-width: 768px) {
    .wrapper_detail > h2 {
        margin-bottom: 15px
    }
}

@media screen and (max-width: 768px) {
    .wrapper_detail > table tr th, .wrapper_detail > table tr td {
        padding: 10px
    }

    .wrapper_detail > table tr th.th_first {
        padding-top: 0
    }

    .wrapper_detail > table tr th.floar {
        width: 42px
    }

    .wrapper_detail > table tr td.east, .wrapper_detail > table tr td.west, .wrapper_detail > table tr td.outbuilding {
        font-size: 10px;
        width: 100%
    }

    .wrapper_detail > table tr:first-child th {
        padding: 30px 10px 10px
    }
}

.wrapper_environment h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/ttl-environment.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 122px
}

.wrapper_environment h3 {
    font-size: 18px;
    padding-bottom: 30px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .wrapper_environment h3 {
        font-size: 14px;
        padding-bottom: 20px
    }
}

.wrapper_environment span {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/common/line-dotted.png");
    background-position: bottom;
    background-repeat: repeat-x;
    display: inline-block;
    line-height: 45px
}

.img_environment_1 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-environment-01.png") no-repeat
}

.img_environment_2 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-environment-02.png") no-repeat
}

.img_environment_3 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-environment-03.png") no-repeat
}

.container_banner {
    margin: 40px auto 0 auto;
    max-width: 768px;
    width: 100%
}

.wrapper_workstation h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/ttl-workstation.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 114px
}

.wrapper_workstation h3 {
    font-size: 18px;
    padding-bottom: 30px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .wrapper_workstation h3 {
        font-size: 14px;
        padding-bottom: 20px
    }
}

.wrapper_workstation span {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/common/line-dotted.png");
    background-position: bottom;
    background-repeat: repeat-x;
    display: inline-block;
    line-height: 45px
}

.img_workstation_1 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-workstation-01.png") no-repeat
}

.img_workstation_2 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-workstation-02.png") no-repeat
}

.img_workstation_3 {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/img-workstation-03.png") no-repeat
}

.container_option {
    border: 1px solid #cccccc;
    margin: 60px auto 0 auto;
    max-width: 680px;
    padding: 2em;
    position: relative;
    width: 100%
}

@media screen and (max-width: 768px) {
    .container_option {
        padding: 15px;
        text-align: center;
        min-width: 300px
    }
}

.container_option > h3 {
    background-color: #efefef;
    margin: -60px 200px 0 200px;
    padding: 16px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .container_option h3 {
        margin: -25px 30px 0 30px
    }
}

.table_option {
    background-color: #ffffff;
    margin: 0 auto;
    max-width: 630px;
    text-align: left;
    width: 100%
}

.table_option tr {
    border-top: 1px solid #cccccc
}

.table_option tr:last-child {
    border-bottom: 1px solid #cccccc
}

.table_option tr > th, .table_option td {
    font-size: 14px;
    padding: 15px 25px
}

.table_option tr > th {
    background-color: #ededed;
    text-align: left;
    width: 20%
}

.table_option tr > td {
    width: 80%
}

@media screen and (max-width: 768px) {
    .container_option th, .container_option td {
        display: block;
        font-size: 12px !important;
        padding: 12px 15px !important;
        width: 100% !important
    }
}

.wrapper_access {
    margin-bottom: 70px
}

.wrapper_access h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/top/ttl-access.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 67px
}

.wrapper_access .ul_card > li.li_card_full > div.container_access {
    float: left;
    padding: 30px;
    width: 100%
}

@media screen and (max-width: 768px) {
    .wrapper_access .ul_card > li.li_card_full > div.container_access {
        float: left;
        padding: 0;
        width: 50%
    }
}

@media screen and (max-width: 768px) {
    .wrapper_access .ul_card > li.li_card_full > div.container_access {
        padding: 15px;
        width: 100%
    }
}

.wrapper_access .container_access > div > h3 {
    font-size: 14px;
    margin-bottom: 15px;
    text-align: left
}

.wrapper_access .container_access > div > h3 span {
    color: #41bedc;
    display: inline-block;
    margin-right: 10px
}

.wrapper_access .new_location {
    margin: 10px auto;
    text-align: center;
    width: 80%
}

.wrapper_access .new_location .new_location_title {
    text-align: center
}

.wrapper_access .new_location .new_location_title span {
    margin-left: 5px;
    margin-right: 5px
}

@media screen and (max-width: 768px) {
    .wrapper_access .new_location {
        width: 100%
    }
}

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

.wrapper_access .container_map {
    float: left;
    height: 300px;
    width: 100%
}

@media screen and (max-width: 768px) {
    .wrapper_access .container_map {
        float: left;
        width: 50%
    }
}

@media screen and (max-width: 768px) {
    .wrapper_access .container_map {
        width: 100%
    }
}

.wrapper_access .ul_card > li.li_card_middle {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
    -webkit-width: calc(50% - 8px);
    width: calc(50% - 9px)
}

@media screen and (max-width: 768px) {
    .wrapper_access .ul_card > li.li_card_middle {
        width: 100%
    }
}

.wrapper_access .ul_card > li.li_card_middle > h3 {
    margin: 20px 0;
    text-align: center
}

@media screen and (max-width: 768px) {
    .wrapper_access .ul_card > li.li_card_middle > h3 {
        font-size: 14px
    }
}

.wrapper_access .ul_card > li.li_card_middle > p.text {
    padding: 0 14px 14px 14px
}

@media screen and (max-width: 768px) {
    .wrapper_access .ul_card > li.li_card_middle > p.text {
        padding: 0 5px 5px 5px
    }
}

.wrapper_access li.li_card_middle:nth-child(odd) {
    margin-left: 12px
}

@media screen and (max-width: 768px) {
    .wrapper_access li.li_card_middle:nth-child(odd) {
        margin-left: 0
    }
}

.wrapper_access li.li_card_middle > .container_img {
    width: 100%
}

.btn_entry {
    background-color: #ff6e8e;
    box-shadow: 0 -4px 0 rgba(0, 0, 0, 0.2) inset;
    color: #ffffff
}

.wrapper_program {
    margin-top: 60px;
    text-align: center
}

.wrapper_program h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/intern/ttl-training.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 162px
}

.wrapper_program .ul_card h3 {
    margin: 20px auto;
    text-align: center
}

.wrapper_program a {
    display: inline-block
}

.wrapper_program a .btn_program_detail {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/common/icon-arrow.png") no-repeat;
    background-color: #ffffff;
    background-position: 95% 50%;
    background-size: 7px;
    border: 1px solid #41bedc;
    color: #41bedc;
    font-size: 16px;
    margin: 50px auto 0 auto;
    padding: 11px 60px 13px 60px;
    text-align: center;
    width: 320px
}

.wrapper_program .text {
    padding: 0 20px 20px 20px;
    text-align: left
}

.wrapper_interview h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/intern/ttl-interview.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 90px
}

.wrapper_interview div:not(.container_option) {
    background-color: #ffffff
}

.wrapper_interview > .container_interview {
    margin: 0 auto;
    max-width: 900px
}

.wrapper_interview > .container_interview > h3 {
    font-size: 20px;
    margin: 20px 20px 10px 20px
}

.wrapper_interview > .container_interview > h4 {
    font-size: 14px;
    font-weight: normal;
    margin: 0 20px 20px 20px
}

.wrapper_interview > .container_interview > .text {
    font-size: 16px;
    padding: 0 20px 20px 20px
}

.container_schedule {
    margin: 20px auto 0 auto;
    max-width: 900px;
    padding: 20px;
    text-align: center;
    width: 100%
}

.container_schedule > h3 {
    color: #000000;
    font-size: 20px;
    margin: 10px auto
}

@media screen and (max-width: 768px) {
    .container_schedule > h3 {
        font-size: 14px;
        margin: 0 auto
    }

    .lines-on-sides:after, .container_schedule > h3:after, .lines-on-sides:before, .container_schedule > h3:before {
        background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
        -webkit-background-clip: padding;
        background-clip: padding;
        color: #41bedc;
        content: '';
        display: table-cell;
        width: 100px
    }

    .lines-on-sides:after, .container_schedule > h3:after {
        border-left: 0.5em solid transparent
    }

    .lines-on-sides:before, .container_schedule > h3:before {
        border-right: 0.5em solid transparent
    }
}

.container_schedule > img {
    display: inline-block;
    max-width: 648px;
    padding: 10px 0 0 30px
}

@media screen and (max-width: 768px) {
    .container_schedule img {
        min-width: 278px;
        padding: 15px 0 0 0;
        width: 50%
    }
}

.container_voice {
    margin: 20px auto 0 auto;
    max-width: 900px;
    padding: 20px;
    vertical-align: middle;
    width: 100%
}

.container_voice img {
    float: left;
    width: 170px
}

@media screen and (max-width: 768px) {
    .container_voice img {
        width: 100px
    }
}

.container_voice div {
    display: inline-block;
    -webkit-width: calc(100% - 180px);
    width: calc(100% - 180px)
}

.container_voice_title {
    display: inline-block
}

@media screen and (max-width: 768px) {
    .container_voice .container_voice_title {
        padding: 20px;
        width: calc(100% - 100px);
        width: calc(100% - 100px)
    }
}

.container_voice h3 {
    display: inline-block;
    font-size: 14px;
    padding: 14px 0 14px 18px;
    width: 100%
}

@media screen and (max-width: 768px) {
    .container_voice h3 {
        font-size: 12px;
        padding-bottom: 5px
    }
}

.container_voice h3 > span {
    color: #cccccc;
    display: inline-block;
    margin-right: 10px
}

.container_voice h4 {
    display: inline-block;
    font-size: 17px;
    font-weight: bold;
    padding: 0 0 0 18px
}

@media screen and (max-width: 768px) {
    .container_voice h4 {
        font-size: 14px
    }
}

.container_voice > .text {
    display: inline-block;
    padding: 14px 0 0 18px;
    -webkit-width: calc(100% - 180px);
    width: calc(100% - 180px)
}

@media screen and (max-width: 768px) {
    .container_voice > .text {
        padding: 15px 0 0 0;
        width: 100%
    }
}

.wrapper_tour {
    margin-bottom: 50px;
    text-align: center
}

.wrapper_tour h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/intern/ttl-tour.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 124px
}

.wrapper_tour img {
    width: 718px
}

@media screen and (max-width: 768px) {
    .wrapper_tour img {
        min-width: 175px;
        width: 40%
    }
}

.wrapper_recruit h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/intern/ttl-recruit.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 64px
}

.ul_plain {
    font-weight: bold;
    margin: 0 auto;
    max-width: 748px;
    width: 100%
}

.ul_plain li {
    font-size: 14px;
    margin-bottom: 20px;
    padding-left: 6.6em;
    text-indent: -6.6em
}

@media screen and (max-width: 768px) {
    .ul_plain li {
        font-family: "NotoSansCJKjp-Bold";
        font-size: 11px;
        font-weight: bold
    }
}

.ul_plain li span {
    color: #41bedc;
    margin-right: 10px
}

.wrapper_treatment {
    margin-bottom: 60px
}

.wrapper_treatment h2:after {
    background: url("https://career-review.s3.amazonaws.com/images/official/hanyusogo/intern/ttl-treatment.png") no-repeat;
    background-size: contain;
    height: 20px;
    width: 96px
}

.wrapper_treatment > ul {
    margin-bottom: 100px
}

.wrapper_treatment .container_option .table_option th {
    width: 135px
}

.wrapper_treatment .container_option .table_option td {
    -webkit-width: calc(100% - 135px);
    width: calc(100% - 135px)
}

.btn_entry_tour {
    background-color: #fbc94c;
    box-shadow: 0 -4px 0 rgba(0, 0, 0, 0.2) inset;
    color: #ffffff
}

.official-inner {
    background-color: #fff
}

.official-inner h2 {
    font-size: 28px;
    font-size: 1.75rem;
    margin-bottom: 25px;
    text-align: center
}

.official-inner hr {
    border-style: solid;
    border-width: 2px;
    font-family: "NotoSansCJKjp-Bold", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    margin: 0 0 25px
}

.official-inner .hr-color {
    border-color: #41bedc
}

.bottom-adjust {
    margin-bottom: 36px
}

.component-adujust {
    margin-bottom: 16px
}

.inner-topbottom-adjust {
    padding: 24px
}

.recruitments-textandtile-parts .recruitments-title {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 16px;
    padding-left: 12px
}

.recruitments-textandtile-parts .textcolor-sogohanamaki {
    color: #41bedc
}

.recruitments-textandtile-parts .borderleft-h3-sogohanamaki {
    border-left: 6px solid #41bedc
}

.recruitments-textandtile-parts .recruitments-text {
    font-size: 16px;
    font-size: 1rem
}

.worktable-wrap {
    height: 100%;
    margin-bottom: 16px;
    overflow-x: auto;
    width: 100%
}

.worktable-wrap table {
    width: 1100px
}

.worktable-wrap table th {
    padding: 12px 0
}

.worktable-wrap table td {
    padding: 12px 0;
    text-align: center
}

.worktable-wrap table .breakborder-bottom {
    border-bottom: 1px solid sogohanamaki-gray-color
}

.worktable-wrap table .breakborder-right {
    border-right: 1px solid sogohanamaki-gray-color
}

.worktable-wrap table .breakborder-left {
    border-left: 1px solid sogohanamaki-gray-color
}

.worktable-wrap table .breakborder-top {
    border-top: 1px solid sogohanamaki-gray-color
}

.worktable-wrap table .table-bgcoloradd {
    background: #f5f5f5
}

.table-pattern2 {
    width: 100%
}

.table-pattern2 tr {
    border-bottom: 2px dotted #41bedc
}

.table-pattern2 th {
    padding: 12px 0 12px 36px;
    text-align: left;
    width: 20%
}

@media screen and (max-width: 768px) {
    .table-pattern2 th {
        display: block;
        padding: 12px 0 12px 12px;
        width: 100%
    }
}

.table-pattern2 th::before {
    background-color: #41bedc;
    border-radius: 100%;
    color: #BFBFBF;
    content: '';
    display: inline-block;
    height: 10px;
    margin-left: -15px;
    margin-right: 5px;
    position: relative;
    width: 10px
}

.table-pattern2 .thtop-adjust {
    padding: 0 0 12px 36px
}

@media screen and (max-width: 768px) {
    .table-pattern2 .thtop-adjust {
        padding: 0 0 12px 12px
    }
}

.table-pattern2 td {
    width: 80%
}

@media screen and (max-width: 768px) {
    .table-pattern2 td {
        display: block;
        padding: 0 0 12px 12px;
        width: 100%
    }
}

.td-between-adjust {
    padding: 8px 0
}

.worktable-wrap::-webkit-scrollbar {
    height: 10px
}

.worktable-wrap::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 5px
}

.worktable-wrap::-webkit-scrollbar-track-piece {
    background: #efefef
}

.recruitments-button-parts {
    margin: 0 auto 36px;
    width: 99%
}

.recruitments-button-parts ul {
    overflow: hidden;
    text-align: center
}

.recruitments-button-parts ul li {
    display: block;
    float: left;
    margin: 0 0.3% 1% 0.3%;
    text-align: center;
    width: 24%
}

@media screen and (max-width: 768px) {
    .recruitments-button-parts ul li {
        display: block;
        float: none;
        width: 100%
    }
}

.recruitments-button-parts ul li .recruitments-div-button {
    background: #41bedc;
    border-radius: 4px;
    color: #fff;
    display: block;
    height: 100%;
    padding: 12px 0;
    width: 100%
}

.recruitments-button-parts ul li .active {
    background: #fff;
    border: 2px solid #41bedc;
    color: #41bedc
}

.tableonly-table {
    width: 100%
}

.tableonly-table tr {
    border: 1px solid #41bedc
}

.tableonly-table th {
    padding: 12px 0;
    width: 20%
}

@media screen and (max-width: 768px) {
    .tableonly-table th {
        display: block;
        width: 100%
    }
}

.tableonly-table td {
    padding: 12px 0 12px 12px;
    width: 80%
}

@media screen and (max-width: 768px) {
    .tableonly-table td {
        display: block;
        width: 100%
    }
}

.tableonly-table td li {
    text-align: left
}

.tableonly-table .tableonly-thcolor {
    background: #41bedc;
    border-bottom: 1px solid #fff;
    color: #fff
}

.tableonly-table .tableonly-link-color {
    color: #41bedc
}

.hospitals-data {
    display: none
}

.hospitals-data:target {
    display: block
}
