@charset "utf-8";

/********************************************************************************
* 基本設定 
********************************************************************************/
html {
    /* 単位にremを用いるため、htmlにフォントサイズを定義 */
    /* font-family: '小塚ゴシック Pro', Meiryo, メイリオ, MS UI Gothic, Verdana, Arial, Helvetica, sans-serif; */
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 16px;
}

@media screen and (max-width: 767.9px) {
    html {
        font-size: 14px;
    }
}

body {
    width: 100%;
    line-height: 1.8;
    background-color: #F2F2F2;
    color: #191919;
}

p {
    margin-bottom: 0;
}

/********************************************************************************
* 装飾用クラス設定
********************************************************************************/

.inner {
    width: 100%;
    /* max-width: 1400px; */
    max-width: 992px;
    margin: 0 auto;
}

/********************************************************************************
* 共通ヘッダー
********************************************************************************/

.header-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.header a {
    text-decoration: none;
    color: #191919;
}

.header-wrapper {
    width: 100%;
    background-color: #fff;
    padding-bottom: 1rem;
}

.header-container {
    width: 95%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.header-container-english {
    align-items: center;
}

.header-left-col {
    width: 450px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.header-right-col {
    width: calc(100% - 450px);
}

.header-logo-img-wrapper {
    width: 100%;
    max-width: 400px;
    margin-top: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}


.language-change-button-wrapper {
    width: 92%;
    display: flex;
    justify-content: flex-end;
    margin: 0.8rem auto;
}

.language-change-button {
    border: none;
    color: #fff;
    background-color: #3A4DD6;
    padding: 0 1rem;
    border-radius: 20px;
}

.language-change-button:hover {
    opacity: 0.8;
}

/* グローバルメニュー　ヘッダー右カラム格納版 */
.header-menu-container {
    width: 92%;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    margin: 1rem auto 0;
    font-weight: bold;
}

.header-menu-item {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    font-size: 1.1rem;
}

.header-menu-item a {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.header-menu-item-sub {
    font-size: 0.9rem;
    line-height: 1;
}

.sub-menu {
    position: absolute;
    top: 40px;
    width: 230px;
    margin: 0 auto;
    padding: 0;
    max-height: 0;
    height: auto;
    overflow: hidden;
    z-index: 10;
    border-radius: 0 0 5px 5px;
}


/* アコーディオン展開時の高さは、40px * 要素数をmax-heightとして指定する */
/* 4アイテムのグループ */
.sub-menu.open.open01,
.sub-menu.open.open02 {
    max-height: 160px;
    border: 1px solid#6575C4;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* 3アイテムのグループ */
.sub-menu.open.open03 {
    max-height: 120px;
    border: 1px solid#6575C4;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* 5アイテムのグループ */
.sub-menu.open.open04 {
    max-height: 200px;
    border: 1px solid#6575C4;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.sub-menu.open li {
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid#6575C4;
}

.sub-menu.open li:last-child {
    border-bottom: none;
    border-radius: 0 0 5px 5px;
}

.sub-menu.open li a {
    line-height: 40px;
    padding: 0 0.5rem;
    display: block;
    font-size: 0.9rem;
    color: #052AA0;
    text-decoration: none;
    opacity: 1;
    visibility: visible;
}

.sub-menu.open li a:hover {
    color: #6575C4;
}

/* ページの属するグループを示すidを参照し、対応するタブをカレント状態の表示にする */
#group1_pages .page-group1,
#group2_pages .page-group2,
#group3_pages .page-group3,
#group4_pages .page-group4 {
    background-color: #6575C4;
}

/* トップページ専用のグローバルメニュー */
.global-navi-top {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto 30px;
}

.global-navi-top .global-navi-item {
    border-radius: 0 0 15px 15px;
}

.global-navi-top .global-navi-sub-menu1,
.global-navi-top .global-navi-sub-menu2,
.global-navi-top .global-navi-sub-menu3,
.global-navi-top .global-navi-sub-menu4 {
    padding-left: 48px;
}

.global-navi-top .global-navi-sub-menu-item {
    font-size: 1rem;
    font-family: "a-otf-shingopro-medium";
    padding-top: 10px;
}

.global-navi-top .global-navi-sub-menu-item a {
    color: #000;
    text-decoration: none;
}

.global-navi-top .lisk-management-wrapper {
    width: 95%;
    margin: 0 auto;
    text-align: center;
}

.global-navi-top .lisk-management-wrapper:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}

.global-navi-top .lisk-management-wrapper a {
    display: block;
}

@media screen and (max-width: 1199.9px) {
    .header-left-col {
        width: 400px;
    }

    .header-right-col {
        width: calc(100% - 400px);
    }

    .header-menu-container {
        margin-top: 0.5rem;
    }

    .header-menu-item {
        font-size: 1rem;
    }
}

@media screen and (max-width: 991.9px) {

    .header-left-col {
        width: 260px;
    }

    .header-right-col {
        width: calc(100% - 260px);
    }



    .header-menu-item {
        font-size: 0.9rem;
    }

    .header-menu-item-sub {
        font-size: 0.7rem;
    }
}

@media screen and (max-width: 767.9px) {

    .header-menu-container {
        display: none;
    }

    .header-wrapper {
        padding-top: 45px;
    }

    .header-left-col {
        width: 100%;
    }

    .header-right-col {
        display: none;
    }
}

/********************************************************************************
* 共通フッター
********************************************************************************/
footer {
    width: 100%;
    margin: 2rem auto;
    /* background-color: #00425F; */
    background-color: #0E1344;
    color: #fff;
}

#index footer {
    margin-top: 0;
}

footer a {
    text-decoration: none;
    color: #fff;
}

.footer-inner {
    height: 180px;
    width: 100%;
    max-width: 992px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.footer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.1rem;
}

.footer-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-item-sub {
    font-size: 0.9rem
}

.footer-copyright {
    background-color: #fff;
    color: #191919;
    width: 100%;
    padding: 0.5rem 0;
    text-align: center;
}


@media screen and (max-width: 1499.9px) {

    .footer-inner {
        width: 90%;
    }
}

@media screen and (max-width: 575.9px) {
    .footer-inner {
        /* flex-direction: column; */
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 0.8rem;
    }

    .footer-item {
        width: calc(100% / 3);
    }
}

/********************************************************************************
* SP用ハンバーガーメニュー
********************************************************************************/
/* トグルボタン */
.hamburger-menu label.hm-display-btn {
    padding: 10px;
    position: fixed;
    top: 15px;
    right: 20px;
    z-index: 100;
    background-color: #ffffff;
    border: 1.5px solid#808080;
    border-radius: 5px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
}

.hm-display-btn span,
.hm-display-btn span:before,
.hm-display-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 28px;
    border-radius: 5px;
    background-color: #000000;
    position: absolute;
}

.hm-display-btn span:before {
    bottom: 9px;
}

.hm-display-btn span:after {
    top: 9px;
}

#hm_display_change:checked~.hm-display-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
}

#hm_display_change:checked~.hm-display-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}

#hm_display_change:checked~.hm-display-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#hm-display-btn-check {
    display: none;
}

/* SP用ハンバーガーメニュー 　メニュー本体*/
#hm_display_change:checked~#gnav-content {
    left: 0;
}

#gnav-content {
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 20;
    transition: 0.3s;
    width: 100%;
    height: 100%;
    /* background-color: #fff; */
}

#gnav-content .scroll-wrapper {
    height: 100%;
    overflow: auto;
}

.hamburger-menu__title {
    height: 80px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 80px;
    padding-left: 1.5rem;
    padding-right: 80px;
    background-color: #fff;
    color: #3A4DD6;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#gnav-content ul {
    border-bottom: 0.5px solid #c7c5c5;
    list-style: none;
    padding-left: 0;
}

.hamburger-menu-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 70px;
    border-top: 0.5px solid #c7c5c5;
}

.hamburger-menu-group-full {
    width: 100vw;
    height: 100%;
    padding-left: 2.5rem;
    background-color: #fff;
}

.hamburger-menu-group-left a,
.hamburger-menu-group-full a {
    display: block;
    text-decoration: none;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 70px;
    color: #191919;
}

.hamburger-menu-group span.hm-underline {
    border-bottom: 1.5px solid #fff;
}

.hamburger-menu label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 2px solid #052AA0;
    border-radius: 5px;
    padding: 0 0.5rem;
}

.hamburger-menu input {
    display: none;
}

/* ハンバーガーメニュー表示中に背景をスクロールさせない設定(jQueryで付与) */
body.scroll-lock {
    height: 100%;
    overflow: hidden;
}

/* ハンバーガーメニュー表示中に背景を暗くする */
.overlay-shade {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.75;
    z-index: 10;
    visibility: hidden;
}

.language-change-button-sp {
    border: none;
    color: #fff;
    background-color: #3A4DD6;
    padding: 0 1rem;
    border-radius: 20px;
    font-size: 1.2rem;
    line-height: 1.6;
}


/********************************************************************************
* トップページ
********************************************************************************/

.main-img-area {
    /* height: 580px;
    background-image: url(../images/top_main.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; */
    width: 95%;
    max-width: 1400px;
    margin: 0 auto;
}

.information-wrapper {
    width: 95%;
    margin: 2rem auto 0;
}

.information-container {
    display: flex;
    justify-content: flex-start;
}

.information-left-col {
    width: 240px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.information-right-col {
    width: calc(100% - 240px);
}

.news-container {
    display: flex;
    justify-content: flex-start;
    padding: 1rem 0;
    border-bottom: 1px solid #191919;
}

.news-container:first-child {
    padding-top: 0;
}

.news-left-col {
    display: flex;
    align-items: center;
    padding-left: 0.5rem;
}

.news-center-col {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8rem;
    padding: 0 2rem;
}

.news-center-col p {
    width: 100px;
    padding: 0.2rem 0;
    color: #fff;
    background-color: #191919;
    text-align: center;
}

.news-center-col p.special-icon {
    background-color: #ff0000;
}

.news-right-col {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.news-right-col a {
    text-decoration: none;
    color: #191919;
}

.concept-wrapper {
    width: 95%;
    margin: 3rem auto 0;
}

.concept-container {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.concept-left-col {
    width: 33.3%;
    /* background-color: #00425F; */
    background-color: #0E1344;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.concept-right-col {
    width: 66.7%;
    background-color: #fff;
    padding: 2rem;
}

.concept-left-title {
    font-size: 2.4rem;
    font-family: 'Meiryo UI', Meiryo, メイリオ, Osaka, ' MS PGothic', arial, helvetica, sans-serif;
}

.concept-left-content p {
    width: fit-content;
}

.concept-right-content {
    font-size: 1rem;
}

.concept-right-text2:before {
    position: absolute;
    top: 12px;
    left: 0;
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../images/icon_checkbox.png);
    background-size: contain;
    vertical-align: middle;
}

.top-photo-01 {
    width: 95%;
    margin: 0 auto;
}

.top-service-wrapper {
    width: 95%;
    margin: 0 auto;
    padding: 3rem;
    background-color: #fff;
}

.top-content-wrapper {
    width: 95%;
}

.top-content-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.top-content-left-col {
    width: 50%;
}

.top-content-right-col {
    width: 50%;
}

.top-captive-wrapper {
    width: 95%;
    margin: 0 auto;
}

.top-captive-container {
    display: flex;
    justify-content: space-between;
}

.top-captive-col {
    width: calc(100% / 3);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.top-captive-col2 {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.top-captive-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    flex: 1 0 auto;
    padding-bottom: 2rem;
}

.top-captive-card-upper,
.top-captive-card-lower {
    width: 100%;
}

.captive-card-white {
    background-color: #fff;
}

.top-captive-detail {
    width: 100%;
    margin-top: 0.75rem;
    padding: 0 1.5rem 0;
}

.top-captive-card2 {
    width: 100%;
    max-width: 540px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border: 1px solid;
    padding: 1rem;
}

.top-captive-card-container {
    width: 100%;
    height: 200px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.top-captive-card-right-col {
    padding-left: 1rem;
    height: 100%;
    width: 100%;
}

.top-captive-card-img {
    width: 100%;
    height: calc(calc(calc(992px * 0.95) / 3) / 2.77);
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: contain;
    background-repeat: no-repeat;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 2;
    font-weight: bold;
    text-align: center;
    /* text-shadow: 1px 2px 3px #434242; */
}


.captive-card-img01 {
    background-image: url(../images/photo_top_content01.jpg);
}

.captive-card-img02 {
    background-image: url(../images/photo_top_content02.jpg);
}

.captive-card-img03 {
    background-image: url(../images/photo_top_content03.jpg);
}

.top-captive-card-img a {
    width: 100%;
    height: 100%;
    /* ↓白いオーバーレイを半透明で配置 */
    background-color: rgba(255, 255, 255, 0.4);
    z-index: 10;
    color: #001D7F;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 0.5rem;
}

.top-captive-card-img a:hover {
    background-color: transparent;
    transition: all 0.5s;
}

.membersite-capture-wrapper {
    display: flex;
    justify-content: space-around;
    max-width: 900px;
    margin: 0 auto;
}

.membersite-capture-item {
    width: 45%;
    align-items: center;
    display: flex;
    align-items: center;
    border: 1px solid #acacac;
}

.membersite-capture {
    width: 90%;
    margin: 0 auto;
    padding: .5rem;
    flex-grow: 1;

}

@media screen and (max-width: 1399.9px) {

    /* .concept-left-col {
        width: 50%;
    }

    .concept-right-col {
        width: 50%;
    }

    .concept-left-content {
        font-size: 2rem;
    }
 */
}

@media screen and (max-width: 1199.9px) {
    /* .information-left-col {
        width: 300px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }

    .information-right-col {
        width: calc(100% - 300px);
    }

    .top-captive-card-img {
        font-size: 1.6rem;
    } */
}

@media screen and (max-width: 991.9px) {
    .information-left-col {
        width: 240px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }

    .information-right-col {
        width: calc(100% - 240px);
    }

    .concept-right-col {
        padding: 1rem;
    }

    .concept-left-content {
        font-size: 1.8rem;
    }

    .top-captive-card-img {
        height: calc(calc(calc(100vw * 0.95) / 3) / 2.77);
        font-size: 1.2rem;
    }

    .membersite-capture-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .membersite-capture-item {
        width: fit-content;
        margin-top: 1rem;
    }

    .membersite-capture-item:first-child {
        margin-top: 0;
    }

}

}

@media screen and (max-width: 767.9px) {

    .main-img-area {
        width: 100%;
    }

    .news-container {
        flex-direction: column;
    }

    .news-left-col {
        padding-left: 0;
    }

    .news-center-col {
        justify-content: flex-start;
        padding: 0.25 0 0.5rem 0;
    }

    .news-right-col {
        align-items: flex-start;
    }

    .information-container {
        flex-direction: column;
    }

    .information-left-col {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }

    .information-left-col .h2-sub {
        margin-top: 0;
    }

    .information-right-col {
        width: 100%;
        margin-top: 2rem;
    }

    .top-service-wrapper {
        padding: 3rem 1rem;
    }

    .concept-container {
        flex-direction: column;
    }

    .concept-left-col {
        width: 100%;
        height: 60px;
        justify-content: flex-start;
        padding-left: 1rem;
    }

    .concept-right-col {
        width: 100%;
        padding: 1.5rem 1rem;
    }

    .top-captive-container {
        flex-direction: column;
    }

    .top-captive-col {
        width: 100%;
    }

    .top-captive-card-img {
        height: 160px;
        font-size: 2rem;
        background-size: cover;
        background-position: center;
    }

    .top-captive-card-img a {
        padding-bottom: 0;
    }

    .captive-card-img01 {
        background-image: url(../images/photo_top_content01_sp.jpg);
    }

    .captive-card-img02 {
        background-image: url(../images/photo_top_content02_sp.jpg);
    }

    .captive-card-img03 {
        background-image: url(../images/photo_top_content03_sp.jpg);
    }

    .top-captive-card-img a {
        align-items: center;
    }

}


/********************************************************************************
* 協会について
********************************************************************************/

.anchor-link-wrapper {
    width: 90%;
    margin: 2rem auto 0;
}

.anchor-link-container {
    display: flex;
    justify-content: space-between;
}

.anchor-link-col {
    width: 18%;
}

.anchor-link-item {
    width: 100%;
    height: 50px;
    /* background-color: #0E1344; */
    background-color: #fff;
    border: 1px solid #0E1344;
}

.anchor-link-item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* color: #fff; */
    color: #0E1344;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
}

.anchor-link-item:hover {
    background-color: #fff;
    transition: all 0.3s;
    border: 1px solid #3A4DD6;
}

.anchor-link-item:hover a {
    color: #3A4DD6;
    transition: all 0.3s;
}

.anchor-link-text {
    margin: auto 0;
}

.anchor-link-main {
    font-size: 1rem;
    line-height: 1;
}

.anchor-link-sub {
    font-size: 0.8rem;
    line-height: 1;
    margin-top: 0.2rem;
}



.greeting-sign {
    text-align: right;
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 2rem;
    padding-right: 0.5rem;
}

.salutation-wrapper {
    width: 95%;
    margin: 2rem auto 0;
}

.salutation-container {
    display: flex;
    justify-content: space-between;
}

.salutation-left-col {
    width: calc(100% - 270px);
    flex: 1 0 auto;
}

.salutation-right-col {
    width: 270px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.salutation-text-wrapper {
    width: calc(100% - 16px);
    height: 100%;
    padding: 2rem;
    background-color: #fff;

}

.salutation-text {
    font-size: 1rem;
    line-height: 1.8;
}



.caption-sign1 {
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

.caption-sign2 {
    text-align: center;
    font-size: 1.4rem;
}

.location-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.location-map {
    width: 400px;
    height: 300px;
}

.director-wrapper {
    width: 95%;
    margin: 3rem auto 0;
}

.director-container {
    display: flex;
    justify-content: flex-start;
    margin-top: 1rem;
}

.director-left-col {
    width: 300px;
    background-color: #0E1344;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 0 auto;
}

.director-left-col2 {
    width: 240px;
}

.director-right-col {
    width: calc(100% - 300px);
    padding: 1rem;
    background-color: #fff;
    font-size: 1rem;
}


.director-right-col2 {
    width: calc(100% - 240px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.director-name-wrapper {
    padding: 2rem;
    align-items: center;
    color: #fff;
    text-align: center;
}

.director-name {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}

.director-name-sub {
    font-size: 1.2rem;
}

.director-profile-container {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-bottom: 0.5rem;
}

.director-profile-container2 {
    flex-direction: column;
}


.director-profile-left-col {
    padding-top: 0.5rem;
    width: 80px;
}

.director-profile-right-col {
    padding-top: 0.5rem;
    width: calc(100% - 80px);
}

.director-profile-container2 .director-profile-right-col {
    width: 100%;
    padding-top: 0;
}

.director-img-wrapper {
    margin: 2rem auto 0;
    width: 95%;
    background-color: #fff;
    padding: 1.5rem 0 0;
}

.director-img {
    width: 95%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.director-caption-wrapper {
    width: 95%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0.5rem 1rem 1rem;
    background-color: #fff;
}

.director-caption-container {
    width: 90%;
    max-width: 700px;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
}

.director-caption-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100px;
}

.director-caption-item p {
    width: 100%;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
}

.director-caption-item p.director-caption-post {
    font-size: 0.8rem;
    line-height: 1.1;
}

.business-container {
    display: flex;
    justify-content: space-between;
}

.business-left-col {
    width: calc(100% - 400px -1rem);
    margin-right: 1rem;
}

.business-right-col {
    width: 400px;
}

.business-img {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

.chief-of-secretariat-col-first {
    width: calc(100% - 170px);
    padding: 0 1rem 0 0;
}

.chief-of-secretariat-col-end {
    width: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.chief-of-secretariat-img {
    width: 100%;
}

.white-wrapper.chief-of-secretariat-english-wrapper {
    width: 100%;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 1rem;
}

.chief-of-secretariat-img-english {
    width: 170px;
}

@media screen and (max-width: 991.9px) {
    .director-profile-container {
        flex-direction: column;
    }

    .director-profile-right-col {
        width: 100%;
        padding-top: 0;
    }
}

@media screen and (max-width: 767.9px) {
    .business-container {
        flex-direction: column-reverse;
    }

    .business-left-col {
        width: 100%;
        margin-right: 0;
    }

    .business-right-col {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 1rem;
    }
}


@media screen and (max-width: 767.9px) {

    .anchor-link-wrapper {
        margin-top: 1rem;
    }

    .anchor-link-container {
        flex-wrap: wrap;
    }

    .anchor-link-col {
        width: 50%;
        margin-top: 0.5rem;
    }

    .anchor-link-item {
        width: 75%;
        min-width: 140px;
        margin: 0 auto;
    }

    .salutation-wrapper {
        margin-top: 3rem;
    }

    .salutation-container {
        flex-direction: column;
    }

    .salutation-left-col,
    .salutation-right-col,
    .salutation-text-wrapper {
        width: 100%;
    }

    .salutation-photo-wrapper {
        padding-top: 0;
        padding-bottom: 2rem;
    }

    .location-container {
        flex-direction: column;
    }

    .location-map {
        margin-top: 2rem;
        width: 320px;
        height: 240px;
    }

    .director-container {
        flex-direction: column;
        margin-top: 2rem;
    }

    .director-left-col,
    .director-right-col {
        width: 100%;
    }

    .director-name-wrapper {
        padding: 1rem;
    }
}

@media screen and (max-width: 575.9px) {
    .location-map {
        width: 280px;
        height: 210px;
    }

    .director-caption-wrapper {
        padding-left: 0;
        padding-right: 0;
    }

    .director-caption-item p {
        font-size: 0.8rem
    }

    .director-caption-item p.director-caption-post {
        font-size: 0.7rem;
    }

    .director-right-col2 {
        flex-direction: column-reverse;
        align-items: center;
    }

    .chief-of-secretariat-col-first {
        width: 100%;
        padding-right: 0;
        margin-top: 1rem;
    }

    .chief-of-secretariat-col-end {
        margin-top: 1rem;
    }

    .chief-of-secretariat-img {
        max-width: 130px;
    }

    .chief-of-secretariat-img-english {
        width: 130px;
    }
}

/********************************************************************************
* 入会のご案内
********************************************************************************/
.member-type-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-left: 1.1rem;
}

.member-type-left-col {
    width: 120px;
}

/* .member-type-left-col p {
    text-align: justify;
} */

.member-type-right-col {
    width: calc(100% - 120px);
}

.px-06 {
    padding: 0 0.6rem
}

@media screen and (max-width: 575.9px) {
    .member-type-container {
        padding-left: 0;
    }
}

/********************************************************************************
* 役員紹介
********************************************************************************/
.salutation02-wrapper {
    width: 95%;
    margin: 0 auto;
}

.salutation02-container {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 2rem;
}

.salutation02-right-col {
    padding-left: 1.5rem;
}

.photo-sample02 {
    width: 200px;
    height: 240px;

    background-color: dodgerblue;
    display: flex;
    justify-content: center;
    align-items: center;
}

/********************************************************************************
* キャプティブについて
********************************************************************************/
.domicile-img {
    width: 100%;
    margin-top: 1rem;
}

.example-title {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: bold;
    width: 100%;
    border-left: 10px solid #001D7F;
    padding-left: 0.5rem;
}

.example-content {
    margin-top: 1rem;
}

.example-content-head {
    font-size: 1.1rem;
    font-weight: bold;
}

.example-content-body {
    padding-left: 1rem;
    font-weight: normal;
}

/********************************************************************************
* 会員制度について
********************************************************************************/
.kaiin-wrapper {
    width: 90%;
    margin: 0 auto;
}


.padding-left-6 {
    padding-left: 6rem;
}

.advantage-img,
.procedure-img {
    max-width: 320px;
    width: 100%;
    margin: 0 auto;
}

.advantage-text-wrapper {
    min-height: 170px;
    display: flex;
    align-items: center;
}

.advantage-text-wrapper .base-text {
    font-size: 1.15rem;
}

.procedure-container {
    display: flex;
    justify-content: space-between;
}

.procedure-left-col {
    width: calc(100% -320px);
    margin-right: 1rem;
}

@media screen and (max-width: 767.9px) {

    .advantage-text-wrapper {
        min-height: auto;
    }

    .procedure-container {
        flex-direction: column-reverse;
    }

    .procedure-left-col {
        margin-right: 0;
    }

    .procedure-right-col {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
}

/********************************************************************************
* お知らせ
********************************************************************************/

.news-head {
    display: flex;
    align-items: center;
}

.news-category-label {
    font-size: 0.8rem;
    padding-right: 1rem;
}

.news-category-label p {
    width: 100px;
    padding: 0.2rem 0;
    color: #fff;
    background-color: #191919;
    text-align: center;
}

.news-category-label p.special-icon {
    background-color: #ff0000;
}

.entry-date {
    font-weight: bold;
}

.pagination {
    width: 95%;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 40px auto 0;
    padding-top: 1rem;
    padding-left: 1rem;
    border-top: 1px solid #cdcdcd;
}

.nav-links {
    display: flex;
}

.pagination .page-numbers {
    display: inline-block;
    margin-right: 20px;
    padding: 5px 10px;
    color: #0d6efd;
    border-radius: 3px;
    box-shadow: 0 3px 3px #999;
    background: #fff;
}

.pagination .current {
    background: #0d6efd;
    color: #fff;
}

.pagination .prev,
.pagination .next {
    background: transparent;
    box-shadow: none;
    color: #0d6efd;
}

.pagination .dots {
    background: transparent;
    box-shadow: none;
}


.prev-head,
.next-head {
    font-size: 0.9rem;
    font-weight: bold;
}

/********************************************************************************
* お問い合わせ・入会申請フォーム
********************************************************************************/
.pporicy-check {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 1.5rem;
}

.pporicy-check label {
    white-space: pre-line;
}

.pporicy-check .mfp_err {
    text-align: center;
}

.pporicy-link {
    margin-top: 0.75rem;
    font-size: 1.1rem;
}

/********************************************************************************
* 汎用クラス等
********************************************************************************/

h1 {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0;
}

.h1-wrapper {
    width: 95%;
    height: 260px;
    margin: 2rem auto 0;
}

.h1-container {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    height: 100%;
}

.h1-left-col {
    /* display: flex;
    justify-content: center;
    align-items: center;
    width: 302.39px;
    height: 100%;
    background-color: #0E1344; */
    display: none;
}

.h1-right-col {
    position: relative;
    display: flex;
    flex-direction: column;
    /* justify-content: flex-start; */
    justify-content: center;
    align-items: center;
    /* width: calc(100% - 302.39px); */
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    /* background-size: contain; */
    background-size: cover;
    z-index: 0;
    overflow: hidden;
    backdrop-filter: blur(12px);
}

.h1-full-col {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
    overflow: hidden;
    backdrop-filter: blur(12px);
}

.h1-right-col:before,
.h1-full-col:before {
    content: '';
    background-position: center;
    background-repeat: no-repeat;
    /* background-size: contain; */
    background-size: cover;
    position: absolute;
    top: -3px;
    bottom: -3px;
    left: -3px;
    right: -3px;
    /* opacity: 0.85; */
    z-index: 1;
}


#about .h1-right-col:before {
    background-image: url(../images/photo_h1_about.jpg);
}

#service .h1-right-col:before {
    background-image: url(../images/photo_h1_service.jpg);
}

#captive .h1-right-col:before {
    background-image: url(../images/photo_h1_captive.jpg);
}

#membership .h1-right-col:before {
    background-image: url(../images/photo_h1_membership.jpg);
}

#privacy .h1-right-col:before {
    background-image: url(../images/photo_h1_privacy.jpg);
}

#contact .h1-right-col:before {
    background-image: url(../images/photo_h1_contact.jpg);
}

#application .h1-right-col:before {
    background-image: url(../images/photo_h1_application.jpg);
}

#news .h1-right-col:before {
    background-image: url(../images/photo_h1_news.jpg);
}

#entry_s01 .h1-right-col:before {
    background-image: url(../images/photo_h1_entry_s01.jpg);
}

.h1-right-col:before {
    background-image: url(../images/photo_h1_english.jpg);
}

.h1-sub {
    /* padding-left: 2.5rem; */
    font-size: 2rem;
    font-weight: bold;
    /* color: #0E1344; */
    /* text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px 1px 9px #fff; */
    color: #fff;
    text-shadow: 1px 1px 4px #383838, 1px -1px 6px #383838;
    letter-spacing: 2;
    z-index: 2;
    line-height: 1.3;
}

.h1-sub2 {
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 4px #383838, 1px -1px 6px #383838;
    letter-spacing: 2;
    z-index: 2;
}

/* .h1-full-sub {
    font-size: 2.8rem;
    font-weight: bold;
    color: #0E1344;
    text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px 1px 9px #fff;
    letter-spacing: 2;
    z-index: 2;
} */

h2 {
    color: #3A4DD6;
    font-size: 2.6rem;
    font-weight: bold;
    margin: 0;
}

.h2-sub {
    padding: 0 1rem;
    margin-top: 3rem;
    border-bottom: 2px solid #191919;
}

.h2-sub a {
    text-decoration: none;
    color: #191919;
}

h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0;
}

.indented {
    margin-top: 1.5rem;
    padding-left: 1.5rem;
}

.float-img-right {
    float: right;
    margin-left: 1.5rem;
}

.float-img-left {
    float: left;
    margin-right: 1.5rem;
}

ul.dotted-list {
    list-style: none;
    padding-left: 1rem;
}

ul.dotted-list li {
    position: relative;
    padding-left: 1rem;
}

ul.dotted-list li:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

ul.dotted-list02 li {
    padding-left: 1.5rem;
}

ul.dotted-list02 li:before {
    font-size: 1.2rem;
    content: "❖";
    position: absolute;
    top: 0;
}

ul.dotted-list02 li p {
    padding-left: 0.1rem;
}

ul.dotted-list02 li p:first-child {
    font-size: 1.2rem;
    padding-left: 0;
}


/* 2行目からを1文字分字下げする */
.text-indent1 {
    padding-left: 1em;
    text-indent: -1em;
}

.white-wrapper {
    width: 95%;
    margin: 3rem auto 0;
    padding: 2rem;
    background-color: #fff;
}

.lightblue-back {
    background-color: #DBE7ED;
    font-weight: bold;
    padding: 1rem;
}

.lightyellow-back {
    background-color: #fcfaa5;
    font-weight: bold;
    padding: 1rem;
}

.lightgreen-back {
    background-color: #c2ffaa;
    font-weight: bold;
    padding: 1rem;
}

.clear-wrapper {
    width: 95%;
    margin: 3rem auto 0;
    padding: 2rem;
}

.base-text {
    font-size: 1rem;
}

.linkbox {
    width: 200px;
    border: 1px solid #001D7F;
    padding: 0.5rem 1rem;
    margin-left: auto;
}

.linkbox a {
    display: block;
    color: #001D7F;
    text-decoration: none;
}

.linkbox:hover {
    border: 1px solid #3A4DD6;
}

.linkbox:hover a {
    color: #3A4DD6;
}

.linkbox-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.linkbox-right-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;

}

.linkbox-left-col a {
    color: #191919;
}

.more-link {
    text-align: right;
    padding-right: 1.5rem;
    margin-top: auto;
}

.more-link a {
    color: #001D7F;
    text-decoration: none;
}

.more-link a:hover {
    color: #3A4DD6;
}

.linked-pdf {
    position: relative;
}

.linked-pdf a:after {
    content: '';
    position: absolute;
    top: 50%;
    margin-left: 6px;
    background-image: url(../images/icon_pdf.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 16px;
    height: 18px;
    transform: translateY(-50%);
}

.d-800-block {
    display: block;
}

.twoline-800 {
    height: 73px;
}

@media screen and (max-width: 991.9px) {

    /* .h1-wrapper {
        height: calc(calc(100vw * 0.95) / 4.71);
    } */

    .indented {
        padding-left: 0;
        width: 95%;
        margin-left: auto;
        margin-right: auto;
    }

}

@media screen and (max-width: 800px) {

    /* メールフォームプロ標準のブレイクポイント */
    .d-800-block {
        display: none;
    }

    .twoline-800 {
        height: auto;
    }
}

@media screen and (max-width: 767.9px) {

    .h1-wrapper {
        height: 200px;
    }

    .h1-container {
        flex-direction: column;
    }

    .h1-left-col {
        width: 100%;
        height: 60px;
    }

    .h1-right-col {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .h1-sub {
        padding-left: 0;
    }

    .float-img-right,
    .float-img-left {
        float: none;
        width: fit-content;
        margin-top: 1rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1rem;
    }

    .white-wrapper,
    .clear-wrapper {
        padding: 1.5rem;
    }

    .linkbox {
        width: 170px;
    }
}

@media screen and (max-width: 575.9px) {



    ul,
    ul.dotted-list,
    ol {
        padding-left: 0;
    }
}


/********************************************************************************
* 画像拡大表示用モーダルウィンドウ
********************************************************************************/
.modal-content {
    background-color: unset;
}