@charset "UTF-8";

/* layout */


/*-------------------------------------------------*/

main.inner {
    display: flex;
    justify-content: space-between;
}

@media only screen and (max-width: 979px) {
    main.inner {
        display: block;
    }
}


/* br */


/************************************************************************/

.br_tablet {
    display: none;
}

.br_sp {
    display: none;
}

.br_pc {
    display: inline-block;
}

@media only screen and (min-width:691px) and (max-width:1024px) {
    .br_pc {
        display: none;
    }
    .br_sp {
        display: none;
    }
    .br_tablet {
        display: inline-block;
    }
}

@media only screen and (max-width: 690px) {
    .br_pc {
        display: none;
    }
    .br_tablet {
        display: none;
    }
    .br_sp {
        display: inline-block;
    }
}


/* header */


/*-------------------------------------------------*/

#header01 .h_lead_area {
    background: #ffffff;
}

#header01 .aux_menu .h_nav_btn a {
    background: #e7bb41;
    border-radius: 0;
}

#header01 .aux_menu .h_nav_btn a:hover {
    background: #e7bb41;
    opacity: 0.7;
}

#header01 .h_search input.submit_btn {
    background: #019864 url("../image/common/icon_search.png") no-repeat center center;
}

#header01 .h_lead_lang a,
#header01 .h_lead_lang a:hover {
    background: #019864;
    color: #ffffff;
    border: 1px solid #ffffff;
}

#header01 .h_lead_lang a.on {
    background: #ffffff;
    color: #333333;
}

#header01 .h_lead_lang a:hover {
    opacity: 0.7;
}

#header01 .h_lead_lang {
    margin-left: auto;
}

.flex-control-paging li a:hover,
.flex-control-paging li a.flex-active {
    background: #019864;
}

#header01 #globalnav li.menu__single ul.menu__second-level li a:hover {
    background: #019864;
    color: #ffffff;
}

#locator_t_under {
    background-color: #ffffff !important;
    border-bottom: none;
    text-align: right;
}

#locator_t_under a {
    color: #32908f;
}

#pagetitle05 {
    background: url(../image/common/sub_title01_bg.jpg) no-repeat center top;
}

#pagetitle05 .pagetitle {
    text-align: left;
}

@media only screen and (min-width: 1050px) {
    /* globalnav */
    /*-------------------------------------------------*/
    #header01 #globalnav {
        background: #ffffff;
        border: none;
    }
    #header01 #globalnav ul li a {
        background: #ffffff;
        color: #333333;
    }
}

#header01 #globalnav ul li a:hover,
#header01 #globalnav ul li.main_current a {
    color: #019864;
}

@media only screen and (max-width: 979px) {
    #header01 .aux_menu .h_search_icon .material-icons {
        background-color: #019864;
    }
    #header01 .h_search_sp input.submit_btn {
        background: #019864 url("../image/common/icon_search.png") no-repeat center center;
        background-size: 16px auto;
    }
    #header01 .aux_menu .h_nav_btn.h_nav_btn_d a {
        background: #e7bb41;
    }
    #header01 .aux_menu .h_nav_btn.h_nav_btn_d a:hover {
        background: #e7bb41;
    }
}

@media only screen and (max-width: 690px) {
    .h_nav_logo {
        width: 55%;
    }
}


/* top btn */


/*-------------------------------------------------*/

.btn_top a {
    border: 2px solid #ffffff;
    padding: 20px 50px 20px 30px;
    position: relative;
    color: #ffffff;
    line-height: 1.6;
}

.btn_top a::after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -12px;
}

.btn_top a:hover {
    background: #ffffff;
    color: #2c4872 !important;
    text-decoration: none;
}


/* top box01 */


/*-----------------------------------------------------------------*/

#top_box01,
#top_box02 {
    width: 100%;
}

#top_box01 .col,
#top_box02 .col {
    position: relative;
    width: 50%;
    margin-left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    height: 450px;
    -webkit-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
}

#top_box01.col2_m .col,
#top_box02.col2_m .col {
    margin-bottom: 0;
}

#top_box01 .top01_left,
#top_box02 .top01_left {
    margin-left: 0;
    left: -100%;
    top: 0;
    opacity: 0;
    background: url(../image/top01_left_bg.jpg) no-repeat center center/cover;
}

#top_box02 .top01_left {
    background: url(../image/top_area_c_bg.jpg) no-repeat center center/cover;
}

#top_box01 .top01_left .btn_top a:hover,
#top_box02 .top01_left .btn_top a:hover {
    background: #ffffff;
    color: #cda63b !important;
    text-decoration: none;
}

#top_box01 .top01_left .txtArea,
#top_box02 .top01_left .txtArea {
    width: 560px;
    max-width: 100%;
    margin-left: auto;
}

#top_box01 .top01_right,
#top_box02 .top01_right {
    right: -100%;
    top: 0;
    opacity: 0;
    background: url(../image/top01_right_bg.jpg) no-repeat center center/cover;
}

#top_box02 .top01_right {
    background: url(../image/top02_01_right_bg.jpg) no-repeat center center/cover;
    position: relative;
    z-index: 0;
}

#top_box02 .top01_right::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(246, 225, 9, 0.75);
    top: 0;
    left: 0;
    z-index: -1;
}


/*---- コピーページのみ適用　-----*/

.page__index #top_box02 .top01_right::before {
    background-color: rgba(215, 207, 58, .75);
}


/*-----*/

#top_box01 .top01_right .btn_top a:hover,
#top_box02 .top01_right .btn_top a:hover {
    background: #ffffff;
    color: #019864 !important;
    text-decoration: none;
}

#top_box01 .top01_right .txtArea,
#top_box02 .top01_right .txtArea {
    width: 560px;
    max-width: 100%;
    margin-right: auto;
}

#top_box01.col2_m.inview .top01_left,
#top_box02.col2_m.inview .top01_left {
    left: 0%;
    opacity: 1;
    margin: .5%;
    width: 49%;
}

#top_box01.col2_m.inview .top01_right,
#top_box02.col2_m.inview .top01_right {
    right: 0%;
    opacity: 1;
    margin: .5%;
    width: 49%;
}

#top_box01 .txtArea,
#top_box02 .txtArea {
    color: #FFF;
}

#top_box01 .title_jp,
#top_box02 .title_jp {
    color: #ffffff;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

#top_box01 .txt,
#top_box02 .txt {
    line-height: 2;
    margin-bottom: 60px;
    letter-spacing: 0.15em;
    font-size: 1.8rem;
}

@media only screen and (max-width: 979px) {
    #top_box01 .col,
    #top_box02 .col {
        width: 100%;
        margin-left: 0;
        height: auto;
        padding: 80px 0 100px;
    }
    #top_box01.col2_m.inview .top01_left,
    #top_box02.col2_m.inview .top01_left {
        left: 0%;
        opacity: 1;
        margin: 5px;
        width: 100% !important;
    }
    #top_box01.col2_m.inview .top01_right,
    #top_box02.col2_m.inview .top01_right {
        right: 0%;
        opacity: 1;
        margin: 5px;
        width: 100% !important;
    }
    #top_box01 .col .txtArea,
    #top_box02 .col .txtArea {
        padding: 0;
    }
    #top_box01 .top01_right .txtArea,
    #top_box01 .top01_left .txtArea,
    #top_box02 .top01_right .txtArea,
    #top_box02 .top01_left .txtArea {
        width: 100%;
    }
}

@media only screen and (max-width: 690px) {
    #top_box01 .title_jp,
    #area_c .title_jp,
    #top_box02 .title_jp {
        letter-spacing: 0;
        font-size: 7vw;
        margin-bottom: 20px;
    }
    #top_box01 .txt,
    #top_box02 .txt {
        line-height: 1.6;
    }
    #top_box01 .col,
    #top_box02 .col {
        padding: 40px 16px 60px;
    }
    #area_c .txt_area {
        padding: 0;
    }
    #top_box01.col2_m.inview .top01_left,
    #top_box02.col2_m.inview .top01_left {
        left: 0%;
        opacity: 1;
        margin: 5px;
        width: 100% !important;
    }
    #top_box01.col2_m.inview .top01_right,
    #top_box02.col2_m.inview .top01_right {
        right: 0%;
        opacity: 1;
        margin: 5px;
        width: 100% !important;
    }
}


/* top news */


/*-------------------------------------------------*/

.border_b {
    padding-bottom: 10px;
    border-bottom: 2px solid #009b63;
}

.btn_fs_s a {
    background: #019864;
    color: #ffffff;
    border: 1px solid #019864;
    position: relative;
    padding-right: 35px;
}

.btn_fs_s a::before {
    position: absolute;
    display: inline-block;
    right: 5px;
    top: 50%;
    margin-top: -11px;
}

.btn_fs_s a:hover::before {
    color: #019864;
}

.btn_fs_s a:hover {
    background: #ffffff;
    color: #019864;
    border: 1px solid #019864;
}

.btn2col {
    display: flex;
    flex-wrap: wrap;
}

.btn2col .btn_fs_s {
    margin-right: 20px;
}

.btn2col .btn_fs_s a {
    max-width: none;
    padding: 15px 10px;
}

.btn2col .btn_fs_s a:before {
    content: none;
}

.btn_big a {
    background: #019864;
    color: #ffffff;
    border: 1px solid #019864;
    position: relative;
    padding-right: 60px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.btn_big.txt_c a {
    padding-left: 15px;
    padding-right: 15px;
}

.btn_big a::before {
    position: absolute;
    display: inline-block;
    right: 5px;
    top: 50%;
    margin-top: -11px;
}

.btn_big a:hover::before {
    color: #019864;
}

.btn_big a:hover {
    background: #ffffff;
    color: #019864;
    border: 1px solid #019864;
}

.rss_title a {
    color: #333333;
    text-decoration: none;
}

.rss_title a:hover {
    color: #019864;
}

@media only screen and (max-width: 690px) {
    #top_rss_a .rss_title {
        width: 100%;
    }
}

.top_side_linklist01 li {
    list-style-type: none;
    margin-bottom: 10px;
}

.top_side_linklist01 li a {
    color: #019864;
    font-size: 16px;
    width: 100%;
    border: 3px solid #019864;
    padding: 17px 10px 17px 57px;
    display: block;
    position: relative;
}

.top_side_linklist01 li a:hover {
    color: #ffffff;
    background: #019864;
    text-decoration: none;
}

.top_side_linklist01 li a::after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -10px;
}

.top_side_linklist01 li a::before {
    content: "";
    width: 30px;
    height: 32px;
    background: url(../image/common/top_side_icon01.png) no-repeat 0 0;
    background-size: 30px auto;
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -16px;
}

.top_side_linklist01 li:nth-child(2) a::before {
    background: url(../image/common/top_side_icon02.png) no-repeat 0 0;
    width: 30px;
    height: 33px;
    background-size: 30px auto;
}

.top_side_linklist01 li:nth-child(3) a::before {
    background: url(../image/common/top_side_icon03.png) no-repeat 0 0;
    width: 36px;
    height: 25px;
    background-size: 36px auto;
    margin-top: -13px;
}

.top_side_linklist01 li a:hover::before {
    content: "";
    width: 30px;
    height: 32px;
    background: url(../image/common/top_side_icon01_on.png) no-repeat 0 0;
    background-size: 30px auto;
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -16px;
}

.top_side_linklist01 li:nth-child(2) a:hover::before {
    background: url(../image/common/top_side_icon02_on.png) no-repeat 0 0;
    width: 30px;
    height: 33px;
    background-size: 30px auto;
}

.top_side_linklist01 li:nth-child(3) a:hover::before {
    background: url(../image/common/top_side_icon03_on.png) no-repeat 0 0;
    width: 36px;
    height: 25px;
    background-size: 36px auto;
    margin-top: -13px;
}

@media only screen and (max-width: 979px) {
    .top_side_linklist01 {
        display: flex;
        justify-content: space-between;
    }
    .top_side_linklist01 li {
        width: 33%;
    }
    .top_side_linklist01 li a {
        font-size: 14px;
    }
}

@media only screen and (max-width: 690px) {
    .top_side_linklist01 {
        display: block;
    }
    .top_side_linklist01 li {
        width: 265px;
        margin-left: auto;
        margin-right: auto;
    }
}

.top_side_linklist02 {
    display: flex;
    justify-content: space-between;
}

.top_side_linklist02 li {
    list-style-type: none;
    width: 49%;
    display: table;
    position: relative;
    margin-bottom: 10px;
}

.top_side_linklist02 li a {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    border: 3px solid #019864;
    padding: 10px 20px;
    color: #019864;
}

.top_side_linklist02 li a::after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -12px;
}

.top_side_linklist02 li a:hover {
    color: #ffffff;
    background: #019864;
    text-decoration: none;
}

@media only screen and (max-width: 690px) {
    .top_side_linklist02 {
        display: block;
    }
    .top_side_linklist02 li {
        width: 265px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
    }
}

.top_side_linklist03 {
    display: flex;
    justify-content: space-between;
}

.top_side_linklist03 li {
    list-style-type: none;
    width: 100%;
    display: table;
    position: relative;
    margin-bottom: 10px;
}

.top_side_linklist03 li a {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    border: 3px solid #019864;
    padding: 10px 20px;
    color: #019864;
}

.top_side_linklist03 li a::after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -12px;
}

.top_side_linklist03 li a:hover {
    color: #ffffff;
    background: #019864;
    text-decoration: none;
}

@media only screen and (max-width: 690px) {
    .top_side_linklist03 {
        display: block;
    }
    .top_side_linklist03 li {
        width: 265px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
    }
}


/* top banner */


/*-------------------------------------------------*/

.top_banner ul {
    display: flex;
    justify-content: space-between;
}

.top_banner ul li {
    list-style-type: none;
    width: 23.6%;
    max-width: 265px;
    height: 80px;
    display: table;
}

.top_banner ul li a {
    display: block;
    width: 100%;
    height: 80px;
    margin: 0 auto;
    z-index: 10;
    bottom: 10px;
    color: #ffffff;
    text-align: center;
    padding-top: 50px;
    position: relative;
}

.top_banner ul li a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.top_banner ul li:first-child a {
    background: url(../image/top_banner01.jpg) no-repeat center center;
}

.top_banner ul li:nth-child(2) a {
    background: url(../image/top_banner02.jpg) no-repeat center center;
}

.top_banner ul li:nth-child(3) a {
    background: url(../image/top_banner03.jpg) no-repeat center center;
}

.top_banner ul li:nth-child(4) a {
    background: url(../image/top_banner04.jpg) no-repeat center center;
}

.top_banner ul li a::before {
    content: "";
    width: 35px;
    height: 35px;
    background: url(../image/mainimage01_icon.png) no-repeat 0 0;
    background-size: 35px auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 17px;
    margin: 0 auto;
}

.top_banner ul li:nth-child(2) a::before {
    background: url(../image/mainimage02_icon.png) no-repeat 0 0;
    background-size: 35px auto;
    top: 10px;
}

.top_banner ul li:nth-child(3) a::before {
    background: url(../image/mainimage03_icon.png) no-repeat 0 0;
    background-size: 35px auto;
    top: 10px;
}

.top_banner ul li:nth-child(4) a::before {
    background: url(../image/mainimage04_icon.png) no-repeat 0 0;
    background-size: 35px auto;
    top: 10px;
}

@media only screen and (max-width: 1049px) {
    .top_banner ul li a {
        font-size: 1.2vw;
    }
}

@media only screen and (max-width: 979px) {
    .pc_only {
        display: none;
    }
}

@media only screen and (max-width: 690px) {
    .flex-control-nav {
        display: none;
    }
    .top_banner ul {
        flex-direction: column;
    }
    .top_banner ul li {
        width: 265px;
        margin: 5px auto;
    }
    .top_banner ul li a {
        font-size: 14px;
    }
}

@media only screen and (min-width: 691px) {
    .new_top_banner ul {
        justify-content: start;
        margin-left: -20px;
    }
    .new_top_banner ul li {
        margin-left: 20px;
    }
}


/* cv */


/*-------------------------------------------------*/

.cv_style04 {
    background: #019864;
}

.cv_icon_tel {
    color: #ffffff;
    letter-spacing: 0.2em;
    font-size: 16px;
}

.cv_icon_tel::before {
    content: none;
}

.cv_style04_tel .cv_style04_num,
.cv_style04_tel .cv_style04_num a {
    color: #ffffff;
}

.cv_style04_btn {
    margin-bottom: 20px;
}

.cv_style04_btn a {
    background: #e7bb41;
    border: 2px solid #ffffff;
}

.cv_style04_btn a:hover {
    background: #cda63b;
    border: 2px solid #ffffff;
}

.cv_style04_btn02 a {
    background: #fa8334;
    border: 2px solid #ffffff;
    color: #ffffff;
    text-decoration: none;
}

.cv_style04_btn02 a:hover {
    background: #d8722f;
    border: 2px solid #ffffff;
}

@media only screen and (max-width: 690px) {
    .cv_icon_tel {
        letter-spacing: 0;
    }
}


/* footer */


/*-------------------------------------------------*/

footer#footer02 .f_navi_area {
    background: #017e53;
}

footer#footer02 .f_info_area_y {
    background: #017e53;
}

footer#footer02 .f_info_area_y a {
    opacity: 0.5;
    font-size: 12px;
}

footer#footer02 .f_info_area_y .inner small {
    opacity: 0.5;
}


/* sub title */


/*-------------------------------------------------*/

.subtitle02 {
    border-bottom: 3px solid #196967;
    font-size: 24px;
    color: #32908f;
    padding-bottom: 6px;
    margin-bottom: 20px;
}

.subtitle02.lab {
    border-bottom: 3px solid currentColor;
    color: #00B050;
}

.subtitle03 {
    border-left: 3px solid #196967;
    padding-left: 10px;
    font-size: 20px;
    margin-bottom: 20px;
}

.subtitle03.lab {
    border-left: 3px solid #00B050;
}

.subtitle04 {
    font-size: 16px;
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}

.subtitle04::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    top: 50%;
    margin-top: -5px;
    background: #2e8180;
}


/* table */


/*-------------------------------------------------*/

table.tab_original01 {
    table-layout: fixed;
}

table.tab_original01 th,
table.tab_original01_b th {
    text-align: center;
    background: #144a4a;
    color: #ffffff;
}

table.tab_original01 tbody tr:nth-child(even) {
    background: #ececec;
}

table.tab_original01 tr td:first-child {
    background: #196967;
    color: #ffffff;
}

table.tab_original01 tr td:first-child a {
    color: #ffffff;
    text-decoration: underline;
}

table.tab_original01 tr td a {
    text-decoration: underline;
}

table.tab_original01 tr td a:hover {
    text-decoration: none;
}

table.tab_original01 tr td:last-child {
    border-right: #ffffff;
}

table.tab_original01 tr td,
table.tab_original01_b tr td {
    border-color: #e2e2e2;
}

table.tab_original02 {}

table.tab_original02 td {
    text-align: center;
    background: #019864;
    color: #ffffff;
    border-color: #ffffff;
    text-align: left;
    padding-left: 40px;
}

table.tab_original02 td a {
    color: #ffffff;
    text-decoration: underline;
    position: relative;
}

table.tab_original02 td a::before {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    left: -18px;
    top: 50%;
    margin-top: -10px;
}

table.tab_original02 td a:hover {
    text-decoration: none;
}

table.tab_original02 td:nth-child(2) {
    width: 120px;
    background: #019864 url(../image/pdf_icon.png) no-repeat 10px center;
    text-align: left;
    padding-left: 40px;
}

table.tab_original03 {
    table-layout: fixed;
    border: none;
    width: 100%;
}

table.tab_original03 th,
table.tab_original03 td {
    border: none;
    font-size: 16px;
    padding: 0 5px 5px 0;
    vertical-align: top;
}

table.tab08 th {
    color: #333333;
    font-weight: bold;
}

@media only screen and (max-width: 690px) {
    table.tab_original02 td {
        padding-left: 30px;
    }
    table.tab_original02 td:nth-child(2) {
        width: 100px;
    }
    table.tab_original03 th,
    table.tab_original03 td {
        display: block;
        width: 100%;
    }
    table.tab_original03 th {
        font-weight: bold;
    }
    table.tab08 th {
        color: #196967;
    }
}

#subnav_title.sb_col2 a {
    background-color: #196967;
    padding: 15px 5px;
}

#subnav_title.sb_col2 a:hover {
    background-color: #32908f;
    color: #ffffff;
    opacity: 1;
}

#subnav.sb_col2 ul li a {
    border-bottom: 1px solid #cccccc;
    position: relative;
    padding: 8px 25px 8px 10px;
    font-size: 13px;
}

#subnav.sb_col2 ul li a::after {
    font-family: FontAwesome;
    content: "\f105";
    font-size: 14px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -10px;
}

#subnav.sb_col2 ul li a:hover,
#subnav.sb_col2 ul li.current a {
    background: #ececec;
    color: #333333;
}


/*SARBLAB_________________________*/

.sarblab #subnav_title.sb_col2 a {
    background-color: #00B050;
}

.btn_img {
    display: inline-block;
}

.btn_img img {
    width: auto;
    height: auto;
}

.pdf_link a {
    color: #32908f;
    position: relative;
}

.pdf_link a::after {
    content: "";
    width: 23px;
    height: 26px;
    position: absolute;
    right: -23px;
    bottom: -3px;
    background: url(../image/pdf_icon.png) no-repeat 0 0;
}

.sds_link_list {
    display: flex;
    justify-content: space-around;
    width: 100%;
}

.sds_link_list li {
    list-style-type: none;
}

.link a {
    color: #32908f;
}

.caption_list li {
    list-style-type: none;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 5px;
}

@media only screen and (max-width: 690px) {
    .sds_link_list {
        flex-direction: column;
    }
}

.num_list_wrap {
    padding-left: 25px;
}

.right_img {
    width: calc(100% - 24px - 66%);
    margin-left: 24px;
    float: right;
}

.left_txt {
    width: 66%;
    float: left;
}

@media only screen and (max-width: 690px) {
    .right_img {
        width: 100%;
        margin-left: 0;
        float: none;
        margin-bottom: 15px;
    }
    .left_txt {
        width: 100%;
        float: none;
    }
}

.div_border {
    padding-bottom: 20px;
    border-bottom: 1px dotted #cccccc;
}

.img_w100 img {
    width: 100%;
    height: auto;
}

.sub_rss_box .rss_contents {
    display: block;
}


/* membership/photo.html */

.president_name {
    font-size: 90%;
}


/* anchor */

main a[id^="anchor"] {
    display: block;
    height: 0;
    position: relative;
    top: -80px;
}

.dcms_editor main a[id^="anchor"] {
    display: block;
    height: inherit;
    position: static;
    top: 0;
}

.fc_glay {
    color: #9A9A9A;
}