/* =============================
    既存cssの上書き指定
============================= */

.title::before {
    bottom: -22px;
}

/* =============================
    レイアウト指定
============================= */
.acms-admin-module-edit-wrapper {
    margin-bottom: 0;
}
.entry-info {
    display: none;
}
a:hover {
    /* color: #006DD9; */
    color: unset;
    opacity: unset !important;
    text-decoration: none;
}

.entry {
    border-bottom: none;
}
.serial-nav {
    display: none;
}

header {
    background-color: unset;
}
.padding_none {
    padding: unset;
}
.container {
    padding: 0;
    max-width: unset;
    overflow: hidden;
}

.sp_block {
    display: none;
}
.pc_block {
    display: block;
}

.company_label {
    
}
.container {
    max-width: unset;
    width: 100%;
    overflow: hidden;
    .acms-admin-box {
        max-width: 1440px;
        margin: 0 auto;
    }
    .page-header{
        max-width: 1440px;
        margin-bottom: 81px;
        margin-left: 8%;
    }
    .acms-admin-revison-admin {
        max-width: 1440px;
        margin: 0 auto;
    }
}

.company_container_layout{
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    &.header {
      max-width: unset;
      position: relative;
    }
}
.company_container_layout_right_a{
    padding-left: 3.5rem;
    max-width: 40.5rem;
    padding-right: 1.375rem;
}



.map_access_sp {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0em 1.375rem 0em 1.375rem;
    margin-top: -2px;
}

.margin_top_two {
    margin-top: 2rem;
} 

.margin_center {
    margin: 0 auto;
}
.margin_subtitle{
    margin-top: 0.75em !important;
    margin-bottom: 2em !important;
}

.padding_updown_five {
    padding: 5rem 0;
    /* 80px */
}
.padding_philosophy{
    padding: 5rem 0;
    /* 80px */
}
.padding_bottom_two {
    padding-bottom: 2rem;
}
.padding_top_four {
    padding-top: 4rem;
}
.z_index_one{
    z-index: 1;
    position: sticky;
}
.company_page_photo_post {
    padding-right: 3.375rem;
    padding-left: 30%;
    margin-top: 2rem;
}

.company_sub_section_name {
    margin-bottom: 5em !important;
    font-weight: 600;
}

.company_padding_lr {
    padding-left: 16%;
    padding-right: 0;
}
.column-image-full {
    width: 100%;
    float: unset;
}


@media (min-width: 768px) {
    .padding_left_six_ratio {
        padding-left: 6%;
    }
    .map_access_sp {
        display: none;
    }
}


/* =============================
    height指定
============================= */

.height_forty {
    height: 2.5rem;
}
/* =============================
    width指定
============================= */
.page-header {
    width: 1240px;
}

.company_post_photo {
    max-width: 370px;
    width: 100%;
}

.max_width_mini {
    max-width: 140px;
}
.max_width_small {
    max-width: 300px;
}
.max_width_description_list {
    max-width: 44.5rem;
}
.padding_description_list_title {
    padding-left: 7.75rem;
}
.sp_vision_media {
    width: auto;
}


.min_width_mini {
    min-width: 140px;
}
.thirty_percent {
    width: 33.3333333333%;
}
.width_full {
    width: 100% !important;
}
.width_ninety_five{
    width: 95%;
}

/* =============================
    font指定
============================= */

h2 {
    font-size: 1.75rem !important;
    /* 28px */
    padding: 0em !important;
    margin: 0 10px 25px 0 !important;
}
.entry-style h3 {
    margin: unset;
    padding: unset;
    background: unset;
    font-size: 1.25rem;
    /* 20px */
    font-weight: 700;
    letter-spacing: 0.03em;
}
.entry-style p {
    margin-left: 0;
    margin-right: 0;
    line-height: 2;
}
.entry-title {
    margin: 10px 22px 22px !important;
    z-index: 2;
    position: sticky;
}
.blue_base {
    color: var(--color-blue-base) !important;
}
.list_sub_title {
    margin-bottom: 4.375em !important;
    font-weight: 600;
}
.list_sub_title_body {
    font-weight: 600;
}


/* =============================
    display指定
============================= */

.flex {
    display: flex;
}
/* PCのみflex */
.flex_pc {
    display: flex;
}

/* flex 左右余白+均等割 */
.flex_space-around {
    display: flex;
    justify-content: space-around;
}
.flex_center {
    display: flex;
    justify-content: center;
}
.inline_block {
    display: inline-block;
}



/* =============================
    Grid指定
============================= */

.grid-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =============================
    flex関連指定
============================= */
.flex-wrap{
    flex-wrap: wrap;
}

.flex_justify_end {
    display: flex;
    justify-content: end;
}
.flex_justify_center {
    display: flex;
    justify-content: center;
}

/* =============================
    textの指定
============================= */

.text_center {
    text-align: center;
}
.philosophy_title {
    line-height: 1.9;
    letter-spacing: 0.78px;
    font-size: 1.625rem !important;
}

/* =============================
    tableの指定
============================= */
.table-plain  {

}

/* =============================
    説明リスト要素の指定
============================= */
.entry-style dt {
    line-height: 1.5;
    font-size: 1em;
}
.company_dt {
    min-width: 8.5rem;
    color: #003894;
}
.history_date {
    min-width: 3.2em;
}
.history_jp_date {
    min-width: 4em;
    line-height: 2.2em !important;
    font-size: 0.75em !important;
    font-weight:100 !important;
    color: #8D8D8D;
}
.entry-style dd {
    padding-bottom: 1.5em;
    margin-top: -0.32rem;
    margin-bottom: 0;
    color: #555555;
    line-height: 2em;
}
.entry-style dl {
    margin-right: 1.375em;
    margin-left: 0;
}



/* =============================
    overflowの指定
============================= */


.overflow_unset{
 overflow: unset;
}

/* =============================
    positionの指定
============================= */

.position_relative {
    position: relative;
}
.position_absolute {
    position: absolute;
    left: 0;
}

/* =============================
    backgroundの指定
============================= */
@media (min-width: 768px) {
    .access_bg_pc {
        position: relative;
        background-color: var(--color-white);
        height: 34.125rem;
        padding: 4.5rem 0 4.5rem 0;
    }
    .access_bg_pc::after {
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        width: 50vw; /* 右側に背景を貫通 */
        height: 100%;
        background-color: var(--color-white);
    }
}
.white {
    background-color: var(--color-white);
}


.access_bg {
    background-color: var(--color-white);
    height: 34.125rem;
    padding: 4.5rem 0 4.5rem 6%;
    border-radius: 30px 0 0 30px;
    
}


.creed_bg {
    background: linear-gradient(to bottom, rgba(250, 248, 244, 0) 4%, #B8EBEB 50%);
    padding: 10rem 0 3rem 0;
    margin-top: -7rem;
}
.base_blue_accent {
    background-color: #B8EBEB;
    overflow: visible;
}


/* =============================
    borderの指定
============================= */
.border_none {
 border:none !important;
}
.title::before {
    bottom: -28px;
}

@media (max-width: 767.98px) {
    .title::before {
        bottom: -22px;
    }
    /* =============================
    レイアウト指定
    ============================= */
    .margin_subtitle{
        margin-top: 0.5em !important;
    }
    .company_page_photo_post {
        padding-right: 1.375rem;
        margin-top: 0;
    }
    .company_padding_lr{
        padding: 0 1.375em;
        
    }
    
    .pc_block {
        display: none;
    }
    .sp_block {
        display: block;
    }
    .company_container_layout_right_a{
        padding-left: 1.375rem;
        padding-right: 1.375rem;
    }
    .acms-admin-col-md-3_5 {
        float: left;
        width: 33.3333333333%;
    }
    .map_access {
        margin-left: 1.375rem;
    }
    .map_access_pc {
        display: none;
    }
    .margin_top_subtitle{
        margin-top: 0.25em !important;
    }
    .padding_philosophy {
        padding: 2.125rem 0;
    }
    .padding_updown_five {
        padding: 4rem 0;
    }
    .company_sub_section_name {
        margin-bottom: 2em !important;
    }
    .container {
        .page-header {
            margin-bottom: 45px;
            margin-left: 0;
        }
    }
    /* =============================
        width指定
    ============================= */
    .padding_description_list_title {
        padding: 0 1.375rem;
    }
    .sp_vision_media {
        width: 15em;
    }
    /* =============================
        font指定
    ============================= */
    .flex_pc {
        display: block;
    }
    /* =============================
    font指定
    ============================= */
    h1 {
        font-size: 1.375em;
    }
    h2 {
        font-size: 1.375em !important;
    }
    .list_sub_title {
        font-size: 0.75em !important;
    }
    .list_sub_title_body {
        font-size: 0.75em !important;
    }
    /* =============================
    説明リスト要素の指定
    ============================= */   

    .entry-style dd {
        padding-bottom: 1.75em;
    }
    .entry-style dl {
        margin-right: 1.375em;
        margin-left: 1.375em;
    }
    /* =============================
        backgroundの指定
    ============================= */

    .map_access_sp_bottom{
        background-color: var(--color-white);
        border-radius: 0px 0px 0px 30px;
    }
    .access_bg {
        height: unset;
        padding: 40px 1.375rem 0 1.375em;
        border-radius: 30px 0px 0px 0px;
    }
    .creed_bg {
        background: linear-gradient(to bottom, rgba(250, 248, 244, 0) 8%, #B8EBEB 25%);
        padding-bottom: 1.6em;
    }
    /* =============================
        textの指定
    ============================= */
    .philosophy_title {
        line-height: 1.7;
        letter-spacing: 0.66px;
        font-size: 1.375rem !important;
    }
}
@media (min-width: 768px) and (max-width: 960px) {
    h1 {
        font-size: 1.775rem;
    }
    h2 {
        font-size: 1.65rem !important;
    }
    .company_page_photo_post{
        padding-left: 58%;
        margin-top: 1rem;
    }
    .company_container_layout_right_a {
        padding-left: 0;
        padding-right: 7%;
    }
    .company_padding_lr {
        padding-left: 7%;
        padding-right: 3%;
    }
    .padding_description_list_title {
        padding-left: 4.75rem;
        width: 37.666667%;
    }
    .company_dt {
        min-width: 7.5rem;
    }
    .padding_updown_five {
        padding-top: 5rem;
        padding-bottom: 1rem;
    }
    .padding_philosophy {
        padding: 3rem 0;
    }
    .philosophy_title {
        font-size: 1.525rem !important;
    }
    .company_sub_section_name {
        margin-bottom: 3em !important;
    }
    .creed_bg {
        padding: 10em 0 2em 0;
    }
    .container {
        .page-header {
            margin-bottom: 45px;
        }
    }
}