@charset "UTF-8";


/* ----------------------------------------
各ページ共通
------------------------------------------*/
.inner {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
}
.page_inner {
    padding-top: 100px;
}
.section {
    position: relative;
    padding: 6rem 0 3rem;
}
.page_inner .section {
    padding: 0 0 5rem;
}
.page_thumbnail_wrap {
    padding: 65px 0;
    position: relative;
    margin-top: 72px;
}
/* .page_thumbnail_wrap::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background: rgba(255,255,255,.3);
    width: 100%;
    height: 100%;
} */
.page_thumbnail_wrap::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background: url(../images/page/page_head_bg.png) no-repeat center / cover;
    width: 100%;
    height: 100%;
    opacity: .3;
}
.page_thumbnail_txt {
    text-align: center;
}
.page_thumbnail_ttl,
.page_thumbnail_sub {
    position: relative;
    z-index: 1;
}
.page_thumbnail_ttl {
    color: #1f1f1f;
    font-size: 50px;
    font-size: 5rem;
    font-weight: bold;
    letter-spacing: 3px;
    line-height: 1;
    background-color: #00000008;
    background-image: repeating-linear-gradient(-45deg,#fff, #fff 5px, transparent 0, transparent 8px);
    padding: 10px 1rem;
    margin-bottom: 10px;
    display: inline-block;
}
.page_thumbnail_sub {
    color: #aaa;
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 3px;
}


/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type01 {
    font-size: 50px;
    font-size: 5rem;
    font-weight: 600;
    position: relative;
    line-height: 1;
    color: #0D2270;
}
.title_type02 {
    color: #1f1f1f;
    font-size: 4.5rem;
    font-weight: 900;
    text-align: center;
    display: block;
    letter-spacing: 2px;
    position: relative;
    line-height: 1.5;
}
.title_type02 span {
    color: #181818;
    font-size: 4.5rem;
    font-weight: 900;
    letter-spacing: 2px;
}
.title_type03 {
    font-size: 50px;
    font-size: 5rem;
    font-weight: 600;
    position: relative;
    letter-spacing: 2px;
    color: #fff;
    display: inline-block;
}
.title_type04 {
    font-size: 50px;
    font-size: 5rem;
    font-weight: 900;
    position: relative;
    letter-spacing: 2px;
    line-height: 1;
    padding-left: 20rem;
}
.title_type04::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    background: #181818;
    width: 15%;
    height: 3px;
}
.title_type05 {
    font-size: 20px;
    font-size: 2rem;
    color: #fff;
    background: #1A2145;
    text-align: center;
    padding: .2rem;
    display: inline-block;
    width: 100%;
}
.title_type06 {
    font-size: 30px;
    font-size: 3rem;
    font-weight: bold;
    position: relative;
    border-bottom: 2px solid #ccc;
}


/* ----------------------------------------
テキスト
------------------------------------------*/
.txt_type01 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 1px;
}
.txt_type02 {
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 1px;
    color: #181818;
}
.txt_type03 {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 1px;
    display: inline-block;
    color: #fff;
}


/* ----------------------------------------
パンくずリスト
------------------------------------------*/
.breadcrumb_wrap {
    width: 100%;
    background: #eee;
}
.breadcrumb_wrap_inner {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}
.breadcrumb_wrap_inner ul {
    list-style-type: none;
    overflow: hidden;
}
.breadcrumb_wrap_inner ul li {
    height: 35px;
    line-height: 35px;
    float: left;
}
.breadcrumb_wrap_inner ul li a {
    color: #1f1f1f;
}
.breadcrumb_wrap_inner ul li:before {
    content: ">";
    margin: 0 10px;
}
.breadcrumb_wrap_inner ul li:first-child:before {
    content: none;
}


/* ----------------------------------------
ページネーション
------------------------------------------*/
.pagination {
    text-align: center;
}
.tax-cases_cat .pagination {
    margin-top: -100px;
}
.page-numbers {
    font-size: 16px;
    font-size: 1.6rem;
    color: #212121;
    border: 1px solid rgba(112,112,112,.3);
    padding: 2rem;
    margin-right: 10px;
    border-radius: 3px;
}
.page-numbers.current {
    font-size: 16px;
    font-size: 1.6rem;
    color: #fff;
    border: 1px solid #181818;
    background: #181818;
    padding: 2rem;
    margin-right: 10px;
}
.page-numbers.prev {
    padding: 2rem 2rem 2rem 6rem;
    position: relative;
}
.page-numbers.prev::after {
    position: absolute;
    top: 37%;
    left: 15%;
    content: "";
    background: url(../images/common/arrow_black.png);
    width: 12px;
    height: 14px;
    -webkit-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
            transform: rotate(-180deg);
}
.page-numbers.next {
    padding: 2rem 6rem 2rem 2rem;
    position: relative;
}
.page-numbers.next::after {
    position: absolute;
    top: 37%;
    right: 15%;
    content: "";
    background: url(../images/common/arrow_black.png);
    width: 12px;
    height: 14px;
}
.pager {
    margin-top: 50px;
    text-align: center;
}
.pager li {
    display: inline-block;
    vertical-align: middle;
    width: 150px;
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 0.4em;
}
.pager li a {
    display: block;
    border: 1px solid #666;
    padding: .4em;
    border-radius: 3px;
}
.pager .all a {
    border-color: #181818;
    background: #181818;
    color: #fff;
}


/* ----------------------------------------
言語切り替えボタン
------------------------------------------*/
.language_btn_wrap {
    padding: 0 20px;
}
.language_btn_list {
    position: relative;
    padding-left: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.language_btn_list::before {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 20px;
    height: 20px;
    background: url(../images/common/language_btn.png) no-repeat center / contain;
}
.language_btn_list .language_btn_list_item {
    position: relative;
}
.current_lang {
    border-bottom: 2px solid #3967c5;
}
.current_lang .language_btn {
    color: #fff;
}
.language_btn_list .language_btn_list_item:first-child:after {
    position: absolute;
    content: "";
    background: #464646;
    width: .5px;
    height: 20px;
    top: 25%;
    right: -25%;
}
.language_btn {
    padding: 0 10px;
    display: block;
    color: #464646;
    transition: .5s;
}
.language_btn:hover {
    color: #fff;
    transition: .5s;
}


/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/
.page_top {
    width: 50px;
    height: 50px;
    background: #ffffff59;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 50px;
    right: 5%;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    cursor: pointer;
}
.page_top.active {
    opacity: 1;
    visibility: visible;
}
.page_top a {
    display: block;
    margin-top: 5px;
}
.page_top i {
    font-size: 2rem;
    color: #fff;
}


/* ----------------------------------------
リスト
------------------------------------------*/
.list_type01 li {
    position: relative;
    padding-left: 2.3rem;
    margin-bottom: 10px;
}
.list_type01 li::before {
    position: absolute;
    content: "";
    top: 3px;
    left: 0px;
    background: url(../images/common/list-type01-icon.png);
    width: 13px;
    height: 16px;
}
.list_type02 li {
    position: relative;
    padding-left: 2.3rem;
    margin-bottom: 10px;
}
.list_type02 li::before {
    position: absolute;
    content: "・";
    top: 0;
    left: 0px;
}


/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/
@media screen and (min-width: 1181px) {
    .btn-gNav {
        display: none;
    }
    #gNav {
        position: fixed;
        top: 0;
        right: 0;
        height: 50px;
    }
    #gNav .gNav-menu {
        display: none;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        right: 0;
        padding-left: 50px;
    }
    #gNav .gNav-menu li {
        padding-top: 5px;
    }
}

@media (max-width: 1180px) {
    #gNav .gNav-menu li a i {
        margin-top: 3px;
        margin-right: 5px;
    }
    #hamburger .btn-gNav {
        position: fixed;
        top: 35px;
        right: 35px;
        width: 30px;
        height: 24px;
        z-index: 1000;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        cursor: pointer;
        -webkit-transition: all 400ms;
        -o-transition: all 400ms;
        transition: all 400ms;
    }
    #hamburger .btn-gNav span {
        position: absolute;
        width: 100%;
        height: 4px;
        background: #1f1f1f;
        border-radius: 10px;
        -webkit-transition: all 400ms;
        -o-transition: all 400ms;
        transition: all 400ms;
    }
    #hamburger .btn-gNav span:nth-child(1) {
        top:0;
    }
    #hamburger .btn-gNav span:nth-child(2) {
        top:10px;
    }
    #hamburger .btn-gNav span:nth-child(3) {
        top:20px;
    }
    #hamburger .btn-gNav.open span:nth-child(1) {
        background: #fff;
        top: 6px;
        -webkit-transform: rotate(-45deg);
        -ms-transform        : rotate(-45deg);
            transform        : rotate(-45deg);
    }
    #hamburger .btn-gNav.open span:nth-child(2),#hamburger .btn-gNav.open span:nth-child(3) {
        top: 6px;
        background :#fff;
        -webkit-transform: rotate(45deg);
        -ms-transform        : rotate(45deg);
            transform        : rotate(45deg);
    }
    #gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, #515151 0%, #6a6a6a 80%);
        font-size: 16px;
        font-size: 1.6rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        z-index: 2;
        padding: 50px 0;
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
        overflow-y: scroll;
        overflow-x: hidden;
        z-index: 999;
    }
    #gNav.open {
        right: 0px;
    }
    #gNav .gNav-menu {
        width: 90%;
        margin: 0 auto;
    }
    #gNav .gNav-menu li a {
        color: #fff;
    }
}


/* ----------------------------------------
ボタン
------------------------------------------*/
.btn {
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none;
    width: 250px;
}
.btn_type01 {
    color: #0D2270;
    border: 1px solid #0D2270;
    padding: .5rem 5rem;
    text-align: center;
}
.btn_type01::after {
    position: absolute;
    content: '\f138';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5rem;
}
.btn_type01:hover {
    color: #fff;
    background: #0D2270;
    opacity: 1;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.btn_type01.bg_white:hover {
    color: #fff !important;
    background: #0D2270 !important;
    opacity: 1;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    border: 1px solid #fff;
}
.btn_type01:hover:after {
    color: #fff;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.btn_type02 {
    color: #fff;
    border: 1px solid #3967c5;
    padding: .5rem 5rem;
    text-align: center;
    background: #3967c5;
}
.btn_type02::after {
    position: absolute;
    content: '\f138';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5rem;
}
.btn_type02:hover {
    color: #3967c5;
    background: #fff;
    opacity: 1;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}
.btn_type02:hover:after {
    color: #fff;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}


/* ----------------------------------------
テーブル
------------------------------------------*/
.table_type01 {
    width: 100%;
    border-collapse: collapse;
}
.table_type01 tr:nth-child(odd) {
    background: #eaf6ea;
}
.table_type01 th,
.table_type01 td {
    text-align: left;
    padding: 1.5rem;
    border-bottom: .5px solid #181818;
}
.table_type01 th {
    width: 20%;
    vertical-align: middle;
}
.table_type02 {
    border-collapse: collapse;
    width: 100%;
}
.table_type02 {
    border-top: 1px solid #E4E4E4;
    border-left: 1px solid #E4E4E4;
}
.table_type02 th {
    border-bottom: 1px solid #E4E4E4;
    border-right: 1px solid #E4E4E4;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #181818;
    color: #fff;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}
.table_type02 td {
    border-bottom: 1px solid #E4E4E4;
    border-right: 1px solid #E4E4E4;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: left;
}
.table_type03 {
    width: 75%;
    margin: 0 auto;
}
.table_type03 th,
.table_type03 td {
    padding: 2rem 0.5rem;
}
.table_type03 th {
    font-size: 2.4rem;
    font-family: 'Poiret One', cursive;
}
.table_type03 tr td:nth-child(1) {
    font-size: 1.4rem;
}
.table_type03 tr td:nth-child(3) {
    position: relative;
    padding-left: 13rem;
}
.table_type03 tr td:nth-child(3)::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 100px;
    height: 1px;
    background: #181818;
}
.table_type04 {
    width: 100%;
}
.table_type04 th {
    width: 150px;
    font-weight: bold;
    text-align: left;
}
.table_type04 tr td {
    position: relative;
    padding-left: 5rem;
}
.table_type04 tr td::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 35px;
    height: 1px;
    background: #181818;
}
.table_type05 {
    width: 100%;
    /* border-spacing: 0 10px; */
    border-collapse: collapse;
    border-radius: 3px;
}
.table_type05 tr:nth-child(odd) {
    background: #e8e8e8;
}
.table_type05 tr:nth-child(even) {
    background: #fff;
}
.table_type05 th {
    width: 20%;
    vertical-align: middle;
    font-weight: bold;
    padding: 10px 0;
}
.table_type05 td {
    padding: 10px 0;
    padding-left: 100px;
    position: relative;
}
.table_type05 td::after {
    position: absolute;
    content: "";
    background: #e8e8e8;
    width: 75px;
    height: 1px;
    top: 50%;
    left: 0;
}
.table_type05 tr:nth-child(odd) td::after {
    background: #1f1f1f;
}


/* ----------------------------------------
ヘッダー
------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    background: #fff;
    box-shadow: 1px 1px 10px #bababa;
}
.header_inner {
    padding: 0 0 0 2.5rem;
}
.header_inner_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.header_logo img {
    width: 100%;
    height: 70px;
    object-fit: contain;
}
.global_nav_list_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.global_nav_item {
    padding: 2rem 3.5rem;
}
.global_nav_link::before {
    position: absolute;
    content: "";
    top: 50%;
    right: -37px;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 20px;
    background: #1f1f1f;
}
.global_nav_item:nth-child(4) .global_nav_link:before {
    display: none;
}
.global_nav_item:nth-child(5) .global_nav_link:before {
    background: #fff;
}
.global_nav_link::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #181818;
    -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
            transform-origin: right top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -o-transition: transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}
.global_nav_link:hover::after {
    -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
            transform: scale(1, 1);
}
.global_nav_link {
    position: relative;
    letter-spacing: .1em;
    color: #181818;
}


/* ----------------------------------------
メガメニュー
------------------------------------------*/
.megamenu {
    width: 100%;
    height: auto;
    overflow: hidden;
    display: none;
    position: absolute;
    top: 72px;
    left: 0;
    background: #eaeaea;
    box-shadow: 1px 1px 10px #bababa;
}
.megamenu_flex {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 4rem 0;
}
.megamenu_ttl_area {
    width: 20%;
}
.megamenu_link_area {
    width: 75%;
}
.megamenu_ttl_main {
    font-weight: bold;
    font-size: 4rem;
    letter-spacing: .05em;
    color: #1A2245;
}
.megamenu_link_flex {
    display: flex;
    flex-wrap: wrap;
}
.megamenu_link_item {
    width: calc(25% - 40px / 4);
}
.megamenu_link_item:not(:nth-child(4n)) {
    margin-right: 10px;
}
.megamenu_link_img {
    margin-bottom: 10px;
}
.megamenu_link_txt {
    color: #1A2245;
    font-weight: bold;
    text-align: center;
}


/* ----------------------------------------
フッター
------------------------------------------*/
.footer {
    padding: 50px 0 0;
    position: relative;
    background: #F2F2F2;
}
.footer_inner {
    width: 90%;
    margin: 0 auto;
}
.footer_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
}
.footer_logo_area {
    width: 20%;
    margin-top: -50px;
}
.footer_nav_area {
    width: 71%;
}
.footer_nav_area_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer_nav_area_flex .footer_nav:nth-child(1) {
    width: 15%;
}
.footer_nav {
    width: 20%;
}
.footer_nav_col ul li {
    display: inline-block;
}
.footer_nav_col ul li:not(:last-child) {
    margin-right: 10px;
}
.footer_nav_link {
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
}
.footer_nav_link.pl15 {
    position: relative;
    padding-left: 15px !important;
}
.footer_nav_link.pl15::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0px;
    width: 8px;
    height: 1px;
    background: #fff;
}
.copyright {
    display: block;
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
    padding: 2rem 0;
    border-top: 1px solid #707070;
}


/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view {
    position: relative;
    height: 100vh;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(221,221,221,1) 100%);
}
.top_view::after {
    position: absolute;
    content: "";
    background: url(../images/top/top_view_login_img.png) no-repeat center / contain;
    top: 10%;
    right: 0;
    width: 55%;
    height: 100%;
    z-index: 1;
}
.top_view_img {
    position: relative;
}
.top_view_catch {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding-left: 10rem;
}
.top_view_catch_main {
    font-size: 60px;
    font-size: 6rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 30px;
}
.top_view_catch_sub {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 30px;
    color: #40404f;
}
.top_view_logo_wrap {
    display: flex;
    margin-bottom: 30px;
}
.top_view_logo_txt {
    color: #40404f;
}
.top_view_logo_wrap div:not(:last-child) {
    margin-right: 4rem;
}
.top_view_logo_wrap .top_view_logo:nth-child(2) img {
    width: 60px;
}
.top_view_logo img {
    width: 100px;
    height: auto;
    object-fit: contain;
    vertical-align: middle;
}
.top_view_btn_wrap {
    display: flex;
    margin-bottom: 30px;
}
.top_view_small_txt {
    font-size: 1.2rem;
    font-size: 12px;
    color: #40404f;
}


/* ----------------------------------------
top_news_event_sec
------------------------------------------*/
.top_news_event_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.top_news_event_ttl_wrap {
    width: 30%;
}
.top_news_event_info_wrap {
    width: 65%;
}
.top_news_event_ttl {
    font-size: 50px;
    font-size: 5rem;
    font-weight: 600;
    color: #0D2270;
    line-height: 1;
    margin-bottom: 50px;
}
.top_news_event_info_item {
    margin-bottom: 20px;
}
.post_time,
.cat_slug,
.post_ttl {
    display: inline-block;
}
.post_time{
    width: 15%;
}
.cat_slug {
    width: 100px;
    padding: .2rem 2rem;
    text-align: center;
    margin-right: 15px;
}
.cat_slug.news {
    color: #0D2270;
    border: 1px solid #0D2270;
}
.cat_slug.event {
    color: #1f1f1f;
    border: 1px solid #1f1f1f;
}


/* ----------------------------------------
top_company_sec
------------------------------------------*/

/* ----------------------------------------
company_sec
------------------------------------------*/

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/
.top_bnr_flex {
    display: flex;
    justify-content: space-between;
}
.top_bnr_item {
    width: 49.5%;
}
.top_bnr_item_ttl {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 600;
    color: #0D2270;
    background: #fff;
    line-height: 1;
    padding: 2rem;
    margin-bottom: 20px;
    position: relative;
}
.top_bnr_item_ttl::after {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2rem;
}


/* ----------------------------------------
top_support_sec
------------------------------------------*/
.section.top_support_sec {
    position: relative;
    padding: 6rem 0;
}
.top_support_flex {
    display: flex;
    justify-content: space-between;
}
.top_support_item {
    width: 33.333333%;
}
.top_support_item:not(:last-child) {
    margin-right: 50px;
}


/* ----------------------------------------
会社概要
------------------------------------------*/
.page_company_bg {
    background: linear-gradient(180deg, rgba(26,33,69,1) 50%, rgba(255,255,255,1) 50%);
}
.page_company_info_sec .section_head {
    margin-bottom: 50px;
}
.company_inner {
    max-width: 800px;
    margin: 0 auto;
}
.company_info_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.company_info_flex_item_ttl {
    font-size: 30px;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 10px;
    border-bottom: 2px solid #1A2145;
    display: inline-block;
    padding-bottom: 5px;
}
.company_info_flex_item {
    width: 50%;
    margin-bottom: 50px;
}
.company_info_flex_item02 {
    margin-bottom: 50px;
}
.page_company_history_sec .section_head {
    margin-bottom: 50px;
}
.page_company_history_ttl {
    font-size: 35px;
    font-size: 3.5rem;
    font-weight: 600;
    color: #fff;
    background: #1A2145;
    display: inline-block;
    border-radius: 25px;
    padding: 10px 5rem;
    line-height: 1;
    text-align: center;
}
.page_company_history_ttl::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 100%;
    border-bottom: 3px dotted #1A2145;
    z-index: -1;
}
.company_history_wrap {
    padding: 15rem 0;
}
.company_history_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.month {
    width: 20%;
    font-weight: bold;
}
.company_history_flex_item {
    width: 80%;
    margin-bottom: 50px;
}
.company_history_wrap_2022,
.company_history_wrap_2021,
.company_history_wrap_2020 {
    position: relative;
    padding-left: 10rem;
}
.company_history_wrap_2022,
.company_history_wrap_2021 {
    border-left: 3px solid #707070;
    margin-bottom: 20px;
}
.company_history_wrap_2022::before,
.company_history_wrap_2020::after {
    position: absolute;
    content: "";
    height: 120px;
    border-left: 3px dotted #707070;
}
.company_history_wrap_2022::before {
    top: -150px;
    left: -3px;
}
.company_history_wrap_2020::after {
    bottom: -50px;
    left: 0;
}
.year {
    width: 80px;
    height: 80px;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 400;
    color: #fff;
    background: #1A2145;
    display: inline-block;
    border-radius: 50%;
    line-height: 80px;
    text-align: center;
    position: absolute;
    top: -40px;
    left: -40px;
    z-index: 1;
}


/* ----------------------------------------
企業理念
------------------------------------------*/
.page_philosophy_catch_sec.section {
    padding: 10rem 0;
    position: relative;
}
.page_philosophy_catch_sec::before {
    position: absolute;
    content: "";
    background: rgba(0,0,0,.3);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.page_philosophy_catch_sec::after {
    position: absolute;
    content: "";
    background: url(../images/page/philosophy_sec_code_of_content.jpg) no-repeat center / cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.page_philosophy_catch_ttl {
    font-size: 80px;
    font-size: 8rem;
    font-weight: 900;
    letter-spacing: 2px;
    color: #fff;
    line-height: 1;
    text-align: right;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}
.page_philosophy_catch_txt {
    font-weight: 900;
    background: rgba(255,255,255,.8);
    padding: 2rem;
    position: relative;
    z-index: 2;
    display: inline-block;
}
.page_philosophy_mission_sec.section {
    padding: 10rem 0;
}
.page_philosophy_mission_txt h2,
.page_philosophy_mission_txt p {
    font-size: 45px;
    font-size: 4.5rem;
    font-weight: 900;
    color: #0D2270;
    line-height: 1;
    text-align: center;
}
.page_philosophy_vision_sec.section {
    padding: 10rem 0;
    position: relative;
}
.page_philosophy_vision_sec::before {
    position: absolute;
    content: "";
    background: rgba(0,0,0,.3);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.page_philosophy_vision_sec::after {
    position: absolute;
    content: "";
    background: url(../images/page/philosophy_sec_vision.jpg) no-repeat center / cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.page_philosophy_vision_ttl {
    font-size: 80px;
    font-size: 8rem;
    font-weight: 900;
    letter-spacing: 2px;
    color: #fff;
    line-height: 1;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}
.page_philosophy_vision_txt {
    color: #fff;
    font-weight: 900;
    font-size: 30px;
    font-size: 3rem;
    position: relative;
    z-index: 2;
}


/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/
.privacy_box {
    background: #F2F2F2;
    padding: 2rem;
}
.privacy_ttl {
    font-size: 3.5rem;
    line-height: 1.5;
    font-weight: bold;
    color: #0D2270;
}
.privacy_ttl_sub {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #0D2270;
}


/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/
.member_list {
    display: flex;
    flex-wrap: wrap;
}
.member_list_item {
    border-radius: 3px;
    box-shadow: 3px 3px 5px #cecece;
    color: #3c3c3c;
    margin: 0 30px 50px 0;
    width: calc(33.3333333% - 60px / 3);
    padding: 20px 20px 22px 20px;
}
.member_list_item:nth-child(3n) {
    margin-right: 0;
}
.member_list_item_thumbnail_wrap {
    margin-bottom: 10px;
}
.member_name_en {
    font-size: 1.8rem;
    font-weight: bold;
    color: #0D2270;
}
.member_name_ja {
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    color: #0D2270;
    display: inline-block;
}
.member_postion {
    font-size: 1.6rem;
    color: #1f1f1f;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    margin-left: 10px;
}

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/
.list-modal .slide-item {
    position: relative;
    margin-right: 22px;
    height: 500px;
    background:#fff;
    border-radius: 5px;
}
.list-modal_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 880px;
    margin: 0 auto;
    padding: 20px;
}
.list-modal_left {
    width: 35%;
}
.list-modal_left img {
    width: 100px;
    height: 400px !important;
    object-fit: cover;
}
.list-modal_right {
    width: 60%;
}
.member_txt_wrap01 {
    margin-bottom: 10px;
}
.member_txt01 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #0D2270;
}
.member_txt_wrap02 {
    background: #F2F6FB;
    padding: 1rem 2rem;
    height: 350px;
    overflow-y: scroll;
}

/* ----------------------------------------
magnific-popup
------------------------------------------*/
.mfp-close {
    display: block;
    top: -28px !important;
    right: 15px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    opacity: 1 !important;
    background: url(../images/common/ico_close.png) no-repeat center #36352c;
    cursor: pointer;
}
.mfp-close:active {
    top: -24px !important;
}
.mfp-container {
    padding: 0 !important;
}
.mfp-with-anim {
    opacity: 0;
    -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(0.95);
}
.mfp-bg {
    opacity: 0;
    -webkit-transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: rgba(0, 0, 0, .5) !important;
}
.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}
.mfp-ready .mfp-bg {
    opacity: 1;
}
.mfp-removing .mfp-with-anim {
    opacity: 0;
    transform: scale(0.95);
}
.mfp-removing .mfp-bg {
    opacity: 0;
}
#container-slide {
    position: relative;
    width: 880px;
    margin: 0 auto;
}

/* ----------------------------------------
slick調整
------------------------------------------*/
.list-modal .slick-list {
	overflow: visible !important;
}
.list-modal .slick-list .slide-item {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    transition: transform .4s cubic-bezier(.2, 1, .2, 1);
    z-index: 1;
}
.list-modal .slick-list .slide-item.slick-current {
    -webkit-transform: none;
    transform: none;
}
.list-modal .slick-arrow {
    position: absolute;
    z-index: 1;
    text-align: center;
    width: 48px;
    height: 93px;
    top: 50%;
    margin-top: -46px;
    cursor: pointer;
}
.list-modal .slick-arrow.btn-prev {
    left: -78px;
    background: url(../images/common/ico_arw_l.png) no-repeat;
    background-size: 100%;
}
.list-modal .slick-arrow.btn-next {
    right: -78px;
    background: url(../images/common/ico_arw_r.png) no-repeat;
    background-size: 100%;
}


/* ----------------------------------------
イベント
------------------------------------------*/
.event_list_item {
    border-radius: 3px;
    width: 100%;
    padding: 1rem 0 1rem 4rem;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    background: #f2f2f2;
}
.event_list_item::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    right: -15px;
    bottom: -15px;
    background-color: #1a21457a;
    background-image: repeating-linear-gradient(-45deg,#fff, #fff 5px, transparent 0, transparent 8px);
    z-index: -1;
}
.event_list_item_thumbnail_wrap {
    width: 30%;
}
.event_list_item_txt_wrap {
    padding: 2.5rem 3.5rem;
    width: 70%;
}
.event_list_item_txt_ttl {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    color: #0D2270;
    border-bottom: 2px solid #0D2270;
    margin-bottom: 10px;
    line-height: 1.3;
}
.event_list_item_txt_ttl::first-letter {
    font-size: 30px;
    font-size: 3rem;
}
.event_list_item_txt_content {
    margin-bottom: 10px;
}

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/
.news_content_flex {
    display: flex;
    justify-content: space-between;
}
.news_article_wrap {
    width: 70%;
}
.news_aside_wrap {
    width: 25%;
}
.news_list {
    margin-bottom: 50px;
}
.news_list_item {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070;
}


/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/
.news_aside_date_list {
    margin-bottom: 50px;
}
.news_aside_date_list li {
    padding: 0 0 10px 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #707070;
}
.news_aside_date_list li a {
    color: #0D2270;
    position: relative;
    display: block;
    letter-spacing: .1rem;
}
.current-cat-parent a {
    padding: 0 0 10px 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #707070;
    display: block;
    color: #0D2270;
    position: relative;
}
.news_aside_date_list li a::after,
.current-cat-parent a::after {
    position: absolute;
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
}
.single_content h2 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: 2px solid #0D2270;
    border-left: 10px solid #0D2270;
    padding-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}


/* ----------------------------------------
プロダクトアーカイブ
------------------------------------------*/
.page-product-archive .event_list_item {
    align-items: flex-start;
}
.page-product-archive .event_list_item .event_list_item_txt_ttl {
    margin-bottom: 20px;
}


/* ----------------------------------------
お問い合わせ
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/

/* ----------------------------------------
お問い合わせ
------------------------------------------*/
.complete_message {
    text-align: center;
    padding: 100px 0;
}
input[name="zip1"],
input[name="zip2"] {
    width: 150px;
}
.table_contact_address tr th,
.table_contact_address tr td {
    padding: 10px;
}
.table_contact_address tr th {
    background: none;
    color: #1F1F1F;
    font-weight: normal;
    border-bottom: none;
    border-right: none;
}
.table_contact_address tr td {
    border-bottom: none;
    border-right: none;
}
.table_contact_address tr td::after {
    display: none;
}
.table_contact_address tr {
    background: #e8e8e8 !important;
}


/* ----------------------------------------
よくあるご質問
------------------------------------------*/
.qa_list {
    margin-bottom: 20px;
    user-select: none;
}
.qa_list dl {
    position: relative;
    margin: 30px 0 0;
    cursor: pointer;
}
.qa_list dl:first-child {
    margin-top: 0;
}
.qa_list dl::after {
    position: absolute;
    top: 27px;
    right: 26px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #181818;
    border-right: 2px solid #181818;
}
.qa_list .open::after {
    transform: rotate(-45deg);
}
.qa_list dl dt {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 90px;
    background: #efefef;
    color: #181818;
    border-radius: 3px;
}
.qa_list dl dt::before {
    font-size: 22px;
    position: absolute;
    top: 11px;
    left: 20px;
    content: 'Q';
    background: #181818;
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    display: inline-block;
    border-radius: 3px;
}
.qa_list dl dd {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 90px;
    background: #fff;
    border-radius: 3px;
}
.qa_list dl dd::before {
    font-size: 22px;
    position: absolute;
    top: 10px;
    left: 20px;
    content: 'A';
    background: #ff7f00;
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    display: inline-block;
    border-radius: 3px;
}
.qa_list dl dd p {
    margin: 30px 0 0;
}
.qa_list dl dd p:first-child{
    margin-top: 0;
}


/* ----------------------------------------
サイトマップ
------------------------------------------*/
#sitemap_list {
    margin: 0 auto;
    width: 80%;
}
#sitemap_list li {
    padding: 0;
    margin: 1.5em 0;
    list-style-type: none;
}
#sitemap_list li a {
    background: #1a2145;
    color: #fff;
    text-indent: 0;
    display: block;
    padding: 10px 10px 10px;
    border-radius: 3px;
}
#sitemap_list li a i {
    margin-right: 5px;
}


/* ----------------------------------------
レスポンシブ iPad Air 横
------------------------------------------*/
@media (max-width: 1180px) {

/* ----------------------------------------
各ページ共通
------------------------------------------*/

/* ----------------------------------------
タイトル
------------------------------------------*/

/* ----------------------------------------
テキスト
------------------------------------------*/

/* ----------------------------------------
ページネーション
------------------------------------------*/

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/

/* ----------------------------------------
ヘッダー
------------------------------------------*/
.header {
    padding: 1rem 0;
}
.header_contact_area_flex {
    display: none;
}
.header_fixed {
    width: 100%;
    height: 80px;
    padding: 1rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.header_logo {
    margin-right: 0;
}
.header_logo img {
    width: 400px;
    height: 75px;
}
.header_logo_sub_ham {
    display: block;
    position: absolute;
    bottom: 40px;
    right: 120px;
}
.header_link {
    display: none;
}
.header_inner {
    height: 73px;
    padding: 0;
}
.header_inner_flex {
    margin-bottom: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
}
.menu_trigger {
    left: initial;
    right: 20px;
}
.menu_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.menu_item:not(:first-child) {
    margin-left: 0;
}
.menu_list_child .menu_item {
    padding: 0 0 0 3rem;
}
.menu_item,
.menu_anchor {
    margin-bottom: 5px;
}
.menu_list_child {
    margin-top: 5px;
}
.menu_list_child .menu_item::before {
    top: 50%;
    width: 7%;
}
.global_nav_item {
    border-bottom: 1px solid #fff;
}
.global_nav_item:not(:last-child) {
    margin-bottom: 10px;
    margin-right: 0;
}
.global_nav_link {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 10px;
}
.global_nav,
.header_contact_area {
    display: none;
}
.global_nav_item {
    padding: 0;
    padding-bottom: 5px;
}
.global_nav_link::before {
    display: none;
}
.list-modal .slick-arrow.btn-next {
    right: -30px;
}
.list-modal .slick-arrow.btn-prev {
    left: -30px;
}

/* ----------------------------------------
メガメニュー
------------------------------------------*/

/* ----------------------------------------
フッター
------------------------------------------*/

/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view::after {
    width: 50%;
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/

/* ----------------------------------------
company_sec
------------------------------------------*/

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/

/* ----------------------------------------
top_support_sec
------------------------------------------*/

/* ----------------------------------------
会社概要
------------------------------------------*/

/* ----------------------------------------
企業理念
------------------------------------------*/

/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/

/* ----------------------------------------
イベント
------------------------------------------*/

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/

/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/
}

/* ----------------------------------------
レスポンシブ iPad Pro
------------------------------------------*/
@media (max-width: 1024px) {

/* ----------------------------------------
各ページ共通
------------------------------------------*/
.page_thumbnail_ttl {
    font-size: 2.4rem;
}
.section {
    padding: 5rem 0;
}
.page_thumbnail_wrap {
    margin-top: 94px;
}

/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type05 {
    font-size: 20px;
    font-size: 2rem;
}
.title_type06 {
    font-size: 22px;
    font-size: 2.2rem;
}
.title_type07 {
    font-size: 26px;
    font-size: 2.6rem;
}
.title_type10::before {
    font-size: 60px;
    top: -10px;
}

/* ----------------------------------------
テキスト
------------------------------------------*/
.txt_type01 {
    font-size: 2.2rem;
}

/* ----------------------------------------
ページネーション
------------------------------------------*/
.page-numbers.prev,
.page-numbers.next {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.page-numbers.prev,
.page-numbers.next {
    display: inline-block;
    padding: 1.5rem;
}

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/
.contact_table th {
    padding: 0 0 10px 0;
    width: 30%;
}
.contact_table td {
    padding-left: 0px;
}
.table_type01 th {
    width: 20%;
}
.table_type02 th {
    width: 20%;
}
.table_type03 tr td:nth-child(2) {
    width: 20%;
}

/* ----------------------------------------
ヘッダー
------------------------------------------*/

/* ----------------------------------------
メガメニュー
------------------------------------------*/

/* ----------------------------------------
フッター
------------------------------------------*/
.footer {
    padding: 20px;
}
.footer_nav_item:not(:last-child) {
    margin-right: 0;
}
.footer_nav_list {
    margin-bottom: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.footer_txt {
    margin-bottom: 20px;
}
.footer_nav_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
.footer_nav_list:nth-of-type(1) {
    padding-left: 0;
}
.footer_logo_area {
    margin-bottom: 0;
    margin-top: 20px;
}
.footer_nav_area {
    width: 100%;
}
.footer_logo_area {
    width: 100%;
}

/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view {
    height: 70vh;
}
.top_view_catch {
    padding-left: 2rem;
}
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/

/* ----------------------------------------
company_sec
------------------------------------------*/

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/

/* ----------------------------------------
top_support_sec
------------------------------------------*/

/* ----------------------------------------
会社概要
------------------------------------------*/

/* ----------------------------------------
企業理念
------------------------------------------*/

/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/

/* ----------------------------------------
イベント
------------------------------------------*/

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/

/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/
.page-sitemap .inner {
    width: 70%;
}


/* ----------------------------------------
レスポンシブ iPad Air
------------------------------------------*/
@media screen and (max-width: 820px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
.page_thumbnail_wrap {
    margin-top: 93px;
}

/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type05 {
    font-size: 17px;
    font-size: 1.7rem;
}

/* ----------------------------------------
テキスト
------------------------------------------*/
.txt_type01 {
    font-size: 1.8rem;
}

/* ----------------------------------------
ページネーション
------------------------------------------*/

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/

/* ----------------------------------------
ヘッダー
------------------------------------------*/

/* ----------------------------------------
メガメニュー
------------------------------------------*/

/* ----------------------------------------
フッター
------------------------------------------*/

/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view {
    height: 60vh;
}
.top_view_catch_main {
    font-size: 40px;
    font-size: 4rem;
}
.top_view_logo_wrap div:not(:last-child) {
    margin-right: 2rem;
}
.top_view_btn_wrap {
    flex-direction: column;
}
.top_view_btn_wrap .top_view_btn:nth-child(1) {
    margin-bottom: 10px;
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/
.top_news_event_ttl {
    font-size: 40px;
    font-size: 4rem;
    margin-bottom: 20px;
}
.btn_type01 {
    padding: 0.5rem 3rem;
}
.btn_type01::after {
    right: 1rem;
}
.top_news_event_info_wrap {
    width: 60%;
}
.post_time {
    width: 25%;
}
.title_type03 {
    font-size: 40px;
    font-size: 4rem;
}

/* ----------------------------------------
company_sec
------------------------------------------*/
.title_type01 {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.5;
}

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/
.top_bnr_item_ttl {
    font-size: 18px;
    font-size: 1.8rem;
}

/* ----------------------------------------
top_support_sec
------------------------------------------*/

/* ----------------------------------------
会社概要
------------------------------------------*/
.company_inner {
    max-width: 700px;
}
.month {
    width: 20%;
}

/* ----------------------------------------
企業理念
------------------------------------------*/

/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/
.list-modal_inner {
    width: 820px;
}
.list-modal .slide-item {
    margin-right: 0;
    height: auto;
    background: #fff;
    border-radius: 5px;
}
.list-modal .slick-arrow.btn-next {
    right: 75px;
}
.list-modal .slick-arrow.btn-prev {
    left: 10px;
}
.list-modal .slick-arrow {
    top: initial;
    bottom: -50px;
}
.member_txt_wrap02 {
    height: 300px;
}

/* ----------------------------------------
イベント
------------------------------------------*/

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/

/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/


/* ----------------------------------------
お問い合わせ
------------------------------------------*/
.table_type02 th {
    width: 28%;
}

/* ----------------------------------------
よくあるご質問
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/
}


/* ----------------------------------------
レスポンシブ iPad iPad Mini
------------------------------------------*/
@media (max-width: 768px) {

/* ----------------------------------------
各ページ共通
------------------------------------------*/

/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type02 {
    font-size: 3.2rem;
}
.title_type02 span {
    font-size: 3.2rem;
}
.title_type05 {
    font-size: 24px;
    font-size: 2.4rem;
}

/* ----------------------------------------
テキスト
------------------------------------------*/

/* ----------------------------------------
ページネーション
------------------------------------------*/

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/
.table_type01 th {
    width: 22%;
}
.table_type02 th {
    width: 27%;
}
.table_type03 {
    width: 100%;
}

/* ----------------------------------------
ヘッダー
------------------------------------------*/

/* ----------------------------------------
メガメニュー
------------------------------------------*/

/* ----------------------------------------
フッター
------------------------------------------*/
.footer {
    padding: 50px 0 30px;
}
.footer_nav_item.ml15 {
    margin-left: 0 !important;
}

/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view {
    height: 70vh;
}
.top_view_logo_wrap div:not(:last-child) {
    margin-right: 1.5rem;
}
.top_view_logo_wrap .top_view_logo:nth-child(2) img {
    width: 50px;
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/

/* ----------------------------------------
company_sec
------------------------------------------*/

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/

/* ----------------------------------------
top_support_sec
------------------------------------------*/

/* ----------------------------------------
会社概要
------------------------------------------*/
.company_inner {
    max-width: 80%;
}

/* ----------------------------------------
企業理念
------------------------------------------*/
.page_philosophy_catch_ttl {
    font-size: 50px;
    font-size: 5rem;
}
.page_philosophy_vision_ttl {
    font-size: 50px;
    font-size: 5rem;
}
.page_philosophy_mission_txt h2, .page_philosophy_mission_txt p {
    font-size: 35px;
    font-size: 3.5rem;
}


/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/
.privacy_ttl {
    font-size: 3rem;
}

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/
.member_list_item {
    border-radius: 3px;
    box-shadow: 3px 3px 5px #cecece;
    color: #3c3c3c;
    margin: 0 20px 50px 0;
    width: calc(50% - 20px / 2);
    padding: 20px 20px 22px 20px;
}
.member_list_item:nth-child(3n) {
    margin-right: 20px;
}
.member_list_item:nth-child(2n) {
    margin-right: 0;
}

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/
.list-modal_inner {
    max-width: 768px;
    width: 100%;
}
.list-modal .slick-arrow.btn-prev,
.list-modal .slick-arrow.btn-next {
    background-size: 75%;
}
.list-modal .slick-arrow.btn-prev {
    left: 25px;
}
.list-modal .slick-arrow.btn-next {
    right: 115px;
}
.list-modal .slick-arrow {
    top: initial;
    bottom: -75px;
}

/* ----------------------------------------
イベント
------------------------------------------*/
.event_list_item {
    flex-direction: column;
}
.event_list_item_thumbnail_wrap {
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
}
.event_list_item_txt_wrap {
    padding: 1rem;
    width: 100%;
}
.event_list_item_txt_ttl {
    text-align: center;
}
.event_list_item {
    padding: 4rem;
}

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/
.category .post_time {
    width: 18%;
}
.category .cat_slug {
    width: 80px;
    margin-right: 10px;
}
.category .post_ttl {
    display: block;
}


/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/
.pager li {
    width: 125px;
}

/* ----------------------------------------
お問い合わせ
------------------------------------------*/
input[name="zip1"], input[name="zip2"] {
    width: 130px;
}
.table_contact_address tr th, .table_contact_address tr td {
    padding: 5px;
}

/* ----------------------------------------
よくあるご質問
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/
.page-sitemap .inner {
    width: 80%;
}
}

/* ----------------------------------------
レスポンシブ iPhone X
------------------------------------------*/
@media (max-width: 767px) {

/* ----------------------------------------
各ページ共通
------------------------------------------*/
.page_thumbnail_wrap {
    margin-top: 73px;
}

/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type01 {
    font-size: 3rem;
}
.title_type02 {
    font-size: 2.8rem;
}
.title_type04 {
    font-size: 2.4rem;
}
.title_type04::before, .title_type04::after {
    width: 25px;
}
.top_flow_item_num {
    left: 50px;
}

/* ----------------------------------------
テキスト
------------------------------------------*/

/* ----------------------------------------
ページネーション
------------------------------------------*/
.page-numbers.prev,
.page-numbers.next {
    margin-right: 10px;
    margin-left: 10px;
    padding: 1.5rem;
}
.pager li {
    width: 100px;
    margin: 0 .2em;
}
.pager li a {
    font-size: 1.2rem;
}
.page-numbers.next {
    margin-top: 30px;
}

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
言語切り替えボタン
------------------------------------------*/
.language_btn_wrap {
    margin-bottom: 50px;
}
.language_btn {
    font-size: 1.4rem;
}
/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/
.table_type01 th {
    width: 100%;
    display: block;
    background: #181818;
    font-weight: bold;
    color: #fff;
}
.table_type01 th, .table_type01 td {
    display: block;
    padding: 1rem;
    overflow-wrap: anywhere;
}
.table_type02 th {
    width: 100%;
    display: block;
    padding: 10px;
}
.table_type02 td {
    padding: 10px;
    display: block;
}
.table_type03 tr td:nth-child(3)::before {
    display: none;
}
.table_type03 th {
    display: inline;
}
.table_type03 tr td:nth-child(2) {
    width: 100%;
    display: inline;
}
.table_type03 tr td:nth-child(3) {
    position: relative;
    padding-left: 0;
    display: block;
    border-top: 1px solid #333;
    padding: 1rem 0 2rem;
}
.table_type04 th {
    width: 100%;
    display: block;
    border-bottom: 1px solid #181818;
    margin-bottom: 10px;
}
.table_type04 tr td::before {
    display: none;
}
.table_type04 tr td {
    padding-left: 0;
    display: block;
    margin-bottom: 10px;
}

/* ----------------------------------------
ヘッダー
------------------------------------------*/
.header_logo {
    margin-top: 5px;
    margin-left: 10px;
}
.header_logo img {
    width: 85px;
    height: 60px;
}
.header {
    padding: 0;
}
.header_inner_flex {
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
}
#gNav {
    padding: 50px 0 100px;
}
#hamburger .btn-gNav {
    top: 25px;
    right: 25px;
}

/* ----------------------------------------
メガメニュー
------------------------------------------*/
.submenu {
    margin-bottom: 10px;
}

/* ----------------------------------------
フッター
------------------------------------------*/
.footer_logo_area {
    width: 65%;
    margin: 0 auto;
}
.footer_flex {
    flex-direction: column;
}
.footer_nav_area {
    justify-content: initial;
    flex-wrap: wrap;
}
.footer_nav_col ul li {
    display: block;
}
.footer_nav_col ul li:not(:last-child) {
    margin-right: 0;
}
.footer_nav {
    width: 48%;
}
.footer {
    padding: 0;
}

/* ----------------------------------------
トップビュー
------------------------------------------*/
.top_view_catch_main {
    font-size: 30px;
    font-size: 3rem;
    padding: 0;
}
.top_view {
    height: 100vh;
}
.top_view_logo_wrap div:not(:last-child) {
    margin-right: 1rem;
}
.top_view_logo_wrap .top_view_logo:nth-child(2) img {
    width: 35px;
}
.top_view_logo img {
    width: 80px;
}
.top_view_catch {
    top: 45%;
    z-index: 2;
}
.top_view_btn_wrap {
    margin-bottom: 10px;
}
.top_view_btn a {
    width: 100%;
}
.top_view::after {
    width: 50%;
    top: 35%;
}
.top_view_small_txt {
    margin-bottom: 20px;
}
.btn_type02 {
    padding: 0.5rem 3.5rem;
}
.btn_type01::after,
.btn_type02::after {
    right: 20px;
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/
.top_news_event_flex {
    flex-direction: column;
}
.top_news_event_ttl_wrap,
.top_news_event_info_wrap {
    width: 100%;
}
.post_ttl {
    margin-top: 10px;
    display: block;
}
.cat_slug {
    padding: 0rem 2rem;
    font-size: 10px;
    margin-right: 0;
}
.post_time {
    width: 30%;
}

/* ----------------------------------------
company_sec
------------------------------------------*/
.top_company_sec .section_head {
    width: 90%;
    margin: 0 auto;
}

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/
.top_bnr_flex {
    flex-direction: column;
}
.top_bnr_item {
    width: 100%;
}
.top_bnr_flex .top_bnr_item:nth-child(1) {
    margin-bottom: 20px;
}

/* ----------------------------------------
top_support_sec
------------------------------------------*/
.top_support_flex {
    flex-direction: column;
}
.top_support_item {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}
.top_support_item:not(:last-child) {
    margin-right: 0;
}
.top_support_item_img_wrap img {
    width: 200px;
    object-fit: contain;
}

/* ----------------------------------------
会社概要
------------------------------------------*/
.page_company_bg {
    background: none;
}
.page_company_info_sec .section_head {
    margin-bottom: 35px;
}
.company_info_flex_item {
    width: 100%;
    margin-bottom: 20px;
}
.company_info_flex_item_ttl {
    font-size: 24px;
    font-size: 2.4rem;
}
.page_company_info_sec.section {
    padding: 5rem 0 0;
    margin-bottom: 0;
}
.company_history_wrap {
    padding: 8rem 0 0;
}
.year {
    width: 50px;
    height: 50px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 50px;
    top: -40px;
    left: -27px;
}
.month {
    width: 100%;
}
.company_history_flex_item {
    width: 100%;
}
.company_history_wrap_2022, .company_history_wrap_2021, .company_history_wrap_2020 {
    padding-left: 4rem;
}
.company_history_wrap_2022::before, .company_history_wrap_2020::after {
    height: 85px;
}
.company_history_wrap_2022::before {
    top: -100px;
}
.company_history_wrap_2020::after {
    bottom: 100px;
}

/* ----------------------------------------
企業理念
------------------------------------------*/
.page_philosophy_catch_ttl,
.page_philosophy_vision_ttl {
    font-size: 40px;
    font-size: 4rem;
}
.page_philosophy_mission_sec.section {
    padding: 5rem 0;
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
}
.page_philosophy_mission_txt h2 {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.3;
}
.page_philosophy_mission_txt p {
    font-size: 20px;
    font-size: 2rem;
}
.page_philosophy_vision_ttl {
    margin-bottom: 30px;
}
.page_philosophy_vision_txt {
    font-size: 16px;
    font-size: 1.6rem;
}

/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/
.privacy_ttl {
    font-size: 2rem;
}

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/
.member_list_item {
    margin: 0 0 50px 0;
    width: 100%;
}
.member_list_item:nth-child(3n) {
    margin-right: 0;
}

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/
.list-modal_inner {
    max-width: 375px;
    padding: 20px 20px 80px 20px;
}
.list-modal_left,
.list-modal_right {
    width: 100%;
}
.list-modal .slick-arrow.btn-prev, .list-modal .slick-arrow.btn-next {
    background-size: 0;
    bottom: 0;
}
.list-modal .slick-arrow.btn-prev::after,
.list-modal .slick-arrow.btn-next::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    top: 0;
    font-size: 5rem;
    color: #0D2270;
}
.list-modal .slick-arrow.btn-prev::after {
    content: '\f0a8';
    left: 0;
}
.list-modal .slick-arrow.btn-next::after {
    content: '\f0a9';
    left: 20px;
}
.list-modal_left img {
    height: 200px !important;
    object-fit: contain;
}
.list-modal .slick-arrow.btn-next {
    right: initial;
    left: 110px;
}

/* ----------------------------------------
イベント
------------------------------------------*/
.event_list_item {
    padding: 2rem;
}
.event_list_item::after {
    right: -10px;
    bottom: -10px;
}

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/
.news_content_flex {
    flex-direction: column;
}
.news_article_wrap,
.news_aside_wrap {
    width: 100%;
}
.news_aside_wrap {
    margin-top: 50px;
}
.single_content {
    word-break: break-all;
}
.category .post_time {
    width: 28%;
}

/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/
.title_type06 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 10px;
}
.title_type05 {
    font-size: 20px;
    font-size: 2rem;
}

/* ----------------------------------------
サイトマップ
------------------------------------------*/
#sitemap_list {
    width: 100%;
}
}


/* ----------------------------------------
レスポンシブ iPhone X
------------------------------------------*/
@media (max-width: 366px) {

/* ----------------------------------------
各ページ共通
------------------------------------------*/

/* ----------------------------------------
タイトル
------------------------------------------*/

/* ----------------------------------------
テキスト
------------------------------------------*/

/* ----------------------------------------
ページネーション
------------------------------------------*/

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/

/* ----------------------------------------
リスト
------------------------------------------*/

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/

/* ----------------------------------------
ボタン
------------------------------------------*/

/* ----------------------------------------
テーブル
------------------------------------------*/

/* ----------------------------------------
ヘッダー
------------------------------------------*/

/* ----------------------------------------
メガメニュー
------------------------------------------*/

/* ----------------------------------------
フッター
------------------------------------------*/

/* ----------------------------------------
トップビュー
------------------------------------------*/
.btn_type01, .btn_type02 {
    padding: 0.5rem 3.5rem;
}
.top_view_btn a {
    font-size: 1.4rem;
    width: 160px;
}

/* ----------------------------------------
top_news_event_sec
------------------------------------------*/

/* ----------------------------------------
company_sec
------------------------------------------*/

/* ----------------------------------------
top_bnr_sec
------------------------------------------*/

/* ----------------------------------------
top_support_sec
------------------------------------------*/

/* ----------------------------------------
会社概要
------------------------------------------*/

/* ----------------------------------------
企業理念
------------------------------------------*/

/* ----------------------------------------
プライバシーポリシー
------------------------------------------*/

/* ----------------------------------------
セキュリティーポリシー
------------------------------------------*/

/* ----------------------------------------
チーム
------------------------------------------*/

/* ----------------------------------------
チーム – 詳細の見え方
------------------------------------------*/
.member_txt_wrap02 {
    height: 185px;
}
.list-modal .slick-arrow.btn-prev::after, .list-modal .slick-arrow.btn-next::after {
    font-size: 3rem;
}
.list-modal .slick-arrow.btn-prev, .list-modal .slick-arrow.btn-next {
    bottom: -60px;
}

/* ----------------------------------------
イベント
------------------------------------------*/

/* ----------------------------------------
ニュース - 一覧
------------------------------------------*/

/* ----------------------------------------
ニュース - 詳細
------------------------------------------*/

/* ----------------------------------------
サイトマップ
------------------------------------------*/
}