@charset "UTF-8";

p,
h1,
h2,
h3,
a,
div {
    font-family: "Heebo", YakuHanJP, "Noto Sans JP", "游ゴシック", "Yu Gothic",
        sans-serif;
    font-size: 16px;
    font-weight: 300;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

p,
b {
    line-height: 1.5;
}

b {
    font-weight: bold;
}

.txt-center {
    text-align: center;
}

/*--------------------ナビ----------------------*/

/* 共通項目 */
* {
    box-sizing: border-box;
}

.global-nav a:hover {
    opacity: 0.8;
}

.global-nav p {
    line-height: 1.7;
}

.global-nav ul {
    list-style: none;
}

/* ベースレイアウト */
.navcontainer {
    margin: auto;
    position: fixed;
    z-index: 1;
    width: 100%;
    position: fixed;
    background: #fff;
}

@media screen and (min-width: 768px) {
    .navcontainer {
        margin: auto;
    }
}

@media screen and (max-width: 768px) {
    .navcontainer {
        margin: 0 auto 40px auto;

        padding: 10px 10px 0;
    }
}

/* グローバルメニュー */
.global-nav {
    margin: 0;
    position: relative;
}

.global-nav .nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.global-nav .nav-list .nav-item {
    cursor: pointer;
}

.global-nav .nav-list .nav-item a {
    display: block;
    color: #000;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    cursor: pointer;
}

.global-nav .nav-list .nav-item > a {
    pointer-events: none;
}

.global-nav .nav-list .nav-item:nth-child(1) a {
    pointer-events: inherit;
}

.global-nav .nav-list .nav-item:last-child a {
    border-right: none;
}

.global-nav .nav-list li.nav-item.loginBtn a {
    color: #f00;
    border: 1px solid;
    border-radius: 7px;
    padding: 10px;
    font-size: 15px;
    transition: 0.2s;
}

.global-nav .nav-list li.nav-item.loginBtn a:hover {
    color: #fff;
    border: 1px solid;
    background: #f00;
}

/* サブナビゲーション */
@media screen and (min-width: 768px) {
    .global-nav {
        margin: 0;
        position: relative;
        text-align: center;
        font-weight: bold;
    }

    .global-nav .nav-list {
        min-width: 1200px;
    }

    .global-nav .nav-list {
        display: flex;
        justify-content: center;
        align-items: center;
        list-style: none;
        height: 75px;
        margin: 0;
        padding-top: 10px;
    }

    .global-nav .nav-list .nav-item {
        width: 130px;
        font-size: 16px;
    }

    .global-nav .nav-list .nav-item.logo {
        width: 100%;
        min-width: 220px;
        max-width: 300px;
        text-align: left;
    }

    .global-nav .nav-list li.nav-item.logo img {
        max-width: 240px;
        min-width: 150px;
    }

    .global-nav .nav-list li.nav-item.loginBtn {
        margin-left: 30px;
    }

    .global-nav .nav-list .nav-item a {
        border-right: 3px solid #000;
        color: #333;
        display: block;
        padding: 0em 0.4em;
        text-decoration: none;
        line-height: 0.8;
        font-size: 14px;
    }

    .global-nav .nav-list .nav-item:nth-child(2) a {
        border-left: 3px solid #000;
    }

    .global-nav .nav-list .nav-item:nth-child(1) a,
    .global-nav .nav-list .nav-item:last-child a {
        border-right: none;
    }

    .nav-list {
        position: relative;
    }

    .global-nav .nav-list .nav-item {
        position: relative;
    }

    .nav-item_sub {
        opacity: 0;
        transition: all 0.2s ease;
        visibility: hidden;
        width: 150px;
        position: absolute;
        top: 25px;
        left: -10px;
    }

    .nav-item_sub .inner {
        display: flex;
        margin: 0 auto;
    }

    .nav-item_sub .inner ul {
        width: 100%;
    }

    .global-nav .nav-list .nav-item .nav-item_sub a {
        border: none;
        background: #f008;
        color: #fff;
        margin-bottom: 2px;
        padding: 12px;
        font-size: 14px;
    }

    .nav-item:hover .nav-item_sub {
        opacity: 1;
        visibility: visible;
    }

    .mv {
        padding: 70px 0;
    }
}

/* SP時：ハンバーガーメニューボタン */
.global-nav-icon {
    display: none;
}

@media screen and (max-width: 768px) {
    h1.sp {
        width: 30%;
        position: fixed;
        top: 13px;
    }
}
@media screen and (max-width: 468px) {
    h1.sp {
        width: 45%;
        position: fixed;
        top: 13px;
    }
}

@media screen and (max-width: 768px) {
    .global-nav-header {
        height: 50px;
    }

    .global-nav .nav-list {
        background: #fffe;
        display: none;
        left: 50%;
        padding: 20% 5% 0;
        position: absolute;
        transform: translate(-50%, 0%);
        width: 100vw;
        height: 100vh;
    }

    .global-nav .nav-list .nav-item a {
        font-weight: bold;
        border-top: 1px solid #ccc;
        border-right: none;
        padding: 1rem 1rem;
        font-size: 16px;
    }

    .global-nav .nav-list .nav-item .nav-item_sub a {
        border: none;
        background: #f008;
        color: #fff;
        padding: 12px;
        width: 95%;
        margin: 2px auto;
    }

    .global-nav .nav-list .nav-item:last-child a {
        border-bottom: none;
    }

    .global-nav-icon {
        color: #c00;
        cursor: pointer;
        display: inline-block;
        font-size: 28px;
        position: absolute;
        right: 15px;
        top: 15px;
        z-index: 2;
    }

    .global-nav .nav-list li.nav-item.loginBtn a {
        width: 60%;
        margin: 25px auto;
        background: #fff;
    }

    .nav-item_sub {
        margin-bottom: 20px;
    }

    .global-nav .nav-list .nav-item:last-child {
        border-top: 1px solid #ccc;
    }

    .global-nav .nav-list .nav-item:nth-child(1) a {
        border-top: none;
    }
}

@media screen and (max-width: 768px) {
    .nav-item_sub {
        display: none;
    }

    .global-nav {
        height: 100%;
        left: 0;
        top: 0;
        width: 100%;
    }

    .nav-list {
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mv {
        padding: 60px 0;
    }
}

/*--------------------TOP----------------------*/
.slider,
.mv_clm.slider-2nd {
    display: none;
}

.slider.slick-initialized,
.mv_clm.slider-2nd.slick-initialized {
    display: block;
}

.mvClmBox {
    width: 190px;
    border: 1px solid #bbb;
    padding: 10px;
    border-radius: 8px;
    margin: 0 5px;
}

a.mvClmBox.slick-slide {
    text-decoration: none;
}

a.mvClmBox.slick-slide b {
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    font-size: 15px;
}

a.mvClmBox.slick-slide p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #999;
    max-height: 42px;
}

.subTtl h3 {
    text-align: center;
    font-size: 30px;
    line-height: 1.8;
    color: #888;
}

.newsContent {
    display: flex;
    border-bottom: 2px solid #ccc;
    padding: 20px;
    align-items: center;
}

/*
.newsDay {
    width: 100px;
}
*/

.newsCategory {
    background: #c00;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 15px;
    transform: skew(-20deg);
    margin: 0 25px;
}

.newsCategory span {
    display: block;
    transform: skew(20deg);
    width: 75px;
    text-align: center;
}

.Thcard {
    width: 255px;
    padding: 10px;
    background: #fff;
}

.Thcard img {
    width: 100%;
}

.Thcard p {
    color: #999;
    font-size: 14px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.f_privacy a {
    color: #888;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    border-left: 2px solid;
    line-height: 1.4;
    display: block;
    padding: 0 20px 0 20px;
    display: flex;
}

.f_privacy a:last-child {
    border-right: 2px solid;
    padding: 0 20px 0 20px;
}

.footerB h1 {
    width: 250px;
    margin: 0 auto 10px;
}

.footerB h1 img {
    width: 100%;
}

.footerB small {
    font-size: 12px;
    font-weight: bold;
    color: #999;
}

@media screen and (min-width: 768px) {
    .mv {
        min-width: 1200px;
    }

    .mv img {
        width: 100%;
    }

    .mv_clm {
        display: flex;
        max-width: 1200px;
        margin: 20px auto;
        justify-content: space-between;
    }

    .mvClmBox img {
        width: 100%;
    }

    .mvClmBox p {
        color: #999;
        font-size: 14px;
    }

    .subTtl {
        margin: 70px auto;
        width: 1200px;
        position: relative;
    }

    .subTtl h3 {
        text-align: center;
        font-size: 33px;
        line-height: 2;
        color: #888;
    }

    .subTtl h3 span {
        color: #c00;
        font-weight: bold;
    }

    .subTtl img.icon {
        display: block;
        position: absolute;
        top: 40px;
        left: 40px;
        width: 55px;
    }

    .news {
        width: 1200px;
        margin: 0 auto 170px;
        position: relative;
    }

    h4.ttlB img {
        width: 1200px;
    }

    .newsContentBox {
        width: 900px;
        color: #888;
        margin: 10px auto 50px;
    }

    .reportPage .newsContentBox {
        margin: 50px auto 130px;
    }

    a.VMBtn {
        position: absolute;
        right: 150px;
    }

    a.VMBtn img {
        width: 150px;
    }

    .news img.icon {
        position: absolute;
        right: 0px;
        bottom: -120px;
        width: 50px;
    }

    .seminar {
        position: relative;
        background: #e0e0e0;
        min-width: 1200px;
    }

    .seminar h3 {
        display: flex;
        justify-content: center;
        overflow: hidden;
    }

    .seminar h3 img {
        display: block;
        max-height: 100vh;
        object-fit: contain;
        margin: 0 auto;
        width: 1600px;
    }

    .seminarBox {
        display: flex;
        max-width: 1050px;
        margin: auto;
        justify-content: space-evenly;
        position: absolute;
        top: 25%;
        right: 0;
        left: 0;
    }

    .seminar a.VMBtn {
        bottom: -50px;
        right: 0px;
    }

    .seminar .sp {
        display: none;
    }

    .report {
        width: 1200px;
        margin: 50px auto 130px;
        position: relative;
    }

    .reportBox {
        width: 1050px;
        display: flex;
        justify-content: space-evenly;
        margin: 30px auto;
    }

    .report .Thcard {
        background: #e9e9e9;
    }

    .report .Thcard p {
        color: #666;
    }

    .report a.VMBtn {
        right: 75px;
    }

    .corporate {
        width: 1200px;
        display: flex;
        margin: 100px auto;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .corporate a {
        display: block;
        width: 380px;
    }

    .corporate a.sp {
        display: none;
    }

    .corporate a img {
        width: 100%;
    }

    .corporate h4 img {
        width: 100%;
    }

    .corporate img.icon {
        display: block;
        margin: auto;
        width: 80px;
    }

    .activity {
        display: flex;
        justify-content: flex-end;
        overflow: hidden;
        position: relative;
        min-width: 1200px;
        background: #e0e0e0;
    }

    .activity h3 img {
        width: 1500px;
        object-fit: contain;
        margin-left: auto;
        margin-right: 3vw;
    }

    .activity .activityBox {
        position: absolute;
        left: 0;
        right: 0;
        width: 1200px;
        margin: auto;
    }

    .activity .activityBox a {
        display: block;
        width: 580px;
        background: #fff;
    }

    .activity .activityBox a img {
        width: 100%;
    }

    .member {
        width: 1200px;
        margin: 80px auto;
    }

    .member h4 {
        line-height: 0;
    }

    .member h4 img {
        width: 100%;
    }

    .member .memberBnr {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .member .memberBnr a {
        width: 50%;
        display: block;
        line-height: 0;
    }

    .member .memberBnr a img {
        width: 100%;
    }

    .access {
        width: 1200px;
        margin: 50px auto;
        text-align: center;
    }

    .access h4 img {
        width: 100%;
    }

    .access p {
        margin: 20px auto 10px;
    }

    .access iframe {
        width: 1200px;
        height: 300px;
    }

    .footerT {
        display: flex;
        justify-content: center;
        overflow: hidden;
        text-align: center;
        position: relative;
        background: #e0e0e0;
    }

    .footerT > img {
        width: 1500px;
        object-fit: contain;
        margin: 0 auto;
    }

    .footerT_btn {
        position: absolute;
        display: flex;
        width: 1200px;
        justify-content: space-around;
        top: 50px;
    }

    .footerT_btnL,
    .footerT_btnR {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 30%;
    }

    .footerT_btn a {
        width: 250px;
        display: block;
    }

    .footerT_btn a img {
        width: 100%;
    }

    .footerT_btn p {
        margin: 10px auto;
        font-size: 16px;
    }

    .allLink {
        position: absolute;
        top: 250px;
        display: flex;
        min-width: 1200px;
        width: 90%;
    }

    .allLink > div {
        width: calc(100% / 7);
    }

    .allLink > div > a:first-child {
        font-weight: bold;
        margin-bottom: 20px;
        font-size: 16px;
        color: #888;
    }

    .allLink > div > a {
        font-size: 12px;
        display: block;
        text-decoration: none;
        color: #888;
        margin: 10px 0;
    }

    .f_privacy {
        position: absolute;
        bottom: 70px;
        display: flex;
        width: 600px;
        justify-content: space-between;
    }

    .footerB {
        height: 200px;
        padding: 30px 0 0;
    }

    .footerB {
        height: 200px;
        padding: 30px 0 0;
        text-align: center;
        margin: auto;
    }

    .allLink > div a:first-child {
        pointer-events: none;
    }

    .allLink > div:first-child a {
        pointer-events: inherit;
    }
}

.Thcard b {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.Thcard p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
@media screen and (max-width: 768px) {

    a,
    p {
        font-size: 14px;
    }

    img {
        max-width: 100%;
    }

    .mv_clm {
        display: flex;
        justify-content: space-around;
        margin: 10% auto;
    }

    .mv_clm.slider-2nd {
        margin: 0 auto;
    }

    .mvClmBox {
        width: 45%;
        border: 1px solid #bbb;
        padding: 3%;
        border-radius: 8px;
        margin: 0 5px;
    }

    .slider-2nd .mvClmBox {
        padding: 10px;
    }

    .subTtl h3 {
        font-size: 21px;
        margin: 15% auto 10%;
    }

    .subTtl h3 span {
        color: #c00;
        font-weight: bold;
    }

    img.icon {
        width: 11vw;
    }

    .newsContent {
        padding: 5%;
        font-size: 14px;
    }

    /*
    .newsDay {
        width: 130px;
    }
*/

    .newsTtl {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-left: 20px;
    }

    .subTtl img.icon {
        float: right;
        margin: 0 0 10%;
        margin-right: 50px;
        width: 45px;
    }

    .newsContent {
        border-bottom: 1px solid #eee;
    }

    a.VMBtn {
        display: block;
        width: 30%;
        float: right;
        margin: 8% 4%;
    }

    .news a.VMBtn {
        margin: 8% 4% 0;
    }

    .news img.icon {
        clear: both;
        display: block;
        width: 11vw;
        margin: 0 auto 10%;
    }

    .seminar {
        position: relative;
        display: flex;
        justify-content: center;
        margin: 10% auto;
    }

    .seminar .seminarBox {
        position: absolute;
        top: 27%;
    }

    .home .seminar .seminarBox a:nth-child(n + 2) {
        display: none;
    }

    .home .seminar .seminarBox a:last-child {
        display: block;
    }
    .seminar a.VMBtn {
        width: 43%;
        float: right;
        margin: 8% 0%;
    }

    .report {
        margin: 10% auto 40%;
    }

    .report .Thcard {
        width: 255px;
        padding: 10px;
        background: #e9e9e9;
        margin: 5% auto;
    }

    .report img.icon {
        float: left;
        width: 20%;
        margin: 0 5% 0;
    }

    .Thcard b {
        -webkit-line-clamp: 1;
    }
    
    .Thcard p {
        -webkit-line-clamp: 2;
    }
    .corporate {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        position: relative;
        margin: 20% auto;
    }

    .corporate a {
        width: 49.47%;
    }

    .corporate img.icon {
        position: absolute;
        bottom: -14%;
        right: 9%;
        width: 20%;
    }

    .activity {
        margin: 20% auto;
    }

    .activityBox img {
        display: block;
        margin-bottom: 1px;
    }

    .member {
        margin: 20% auto;
    }

    .memberBnr a img {
        display: block;
        margin-bottom: 1px;
    }

    .access {
        margin: 20% auto;
    }

    .access p {
        text-align: center;
        margin: 5% 0 3%;
    }

    .access iframe {
        width: 100%;
        height: 300px;
    }

    .access img.icon {
        width: 25%;
        display: block;
        margin: 5% auto;
    }

    .footerT {
        position: relative;
    }

    .footerT_btn a {
        display: block;
        width: 80%;
        margin: auto;
    }

    .footerT_btn {
        position: absolute;
        top: 12%;
        width: 80%;
        margin: auto;
        left: 0;
        right: 0;
        text-align: center;
    }

    .footerT_btn p {
        line-height: 1.5;
        margin-top: 2%;
    }

    .f_privacy {
        width: 100%;
        position: absolute;
        display: flex;
        justify-content: center;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 10%;
    }

    .f_privacy a {
        font-size: 14px;
        padding: 0 0 0 10px;
    }

    .f_privacy a:last-child {
        border-right: 2px solid;
        padding: 0 10px 0 10px;
        margin-left: 10px;
    }

    .footerT_btnL {
        margin-bottom: 10%;
    }

    .footerB {
        margin: 10% auto 30%;
        text-align: center;
    }

    .footerB h1 {
        width: 50%;
        margin: 0 auto 10px;
    }

    footer {
        margin-top: 20%;
    }

    .allLink > div a:first-child {
        pointer-events: none;
    }
}

/*--------------------People_and_member----------------------*/

h3 img {
    width: 100%;
}

.PeopleMBox_txt {
    border-left: 8px solid #c00;
    padding-left: 15px;
    margin-top: 10px;
}

.PeopleMBox_txt p {
    margin-bottom: 5px;
}

.PeopleMBox_txt p:last-child {
    margin-bottom: 0px;
}

p.PeopleTtl {
    font-size: 18px;
    font-weight: bold;
}

p.PeopleDuties {
    color: #c00;
    font-weight: bold;
    font-size: 14px;
}

p.PeopleOffice {
    font-size: 14px;
    font-weight: bold;
    color: #666;
}

@media screen and (min-width: 768px) {
    .membership h3 {
        width: 1200px;
        margin: auto;
        position: relative;
    }

    .membership h3 span {
        position: absolute;
        right: 0;
        bottom: 0;
    }

    img.icon.iconSS {
        width: 65px;
    }

    img.icon.iconSM {
        width: 72px;
    }

    img.icon {
        display: block;
        margin: 40px auto;
        width: 80px;
    }

    img.icon.iconS {
        width: 95px;
    }

    img.icon.iconM {
        width: 120px;
    }

    img.icon.iconL {
        width: 135px;
    }

    .report img.icon.sp {
        display: none;
    }

    .PeopleM_slider {
        display: flex;
        margin: 30px auto;
        width: 1200px;
    }

    .PeopleMBox img {
        width: 100%;
    }

    .PeopleMBox {
        width: 400px;
        padding: 20px;
        text-decoration: none;
        color: inherit;
    }

    .PeopleM_slider.PeopleM_sliderMem {
        justify-content: center;
    }

    .PeopleM_slider.PeopleM_sliderMem p.PeopleTtl {
        margin-bottom: 15px;
    }

    .structure img {
        width: 100%;
    }

    .membership_partner_bpx {
        display: flex;
        width: 1200px;
        margin: 50px auto;
    }

    .membership_partner {
        background: #eabebf;
    }

    .membership_partner h4 {
        background: #fff;
        width: 100%;
        font-weight: bold;
        text-align: center;
        padding: 15px 0px 15px;
    }

    .membership_partner {
        background: #eabebf;
        width: 900px;
        padding: 25px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .membership_partner dl {
        width: 265px;
    }

    .membership_partner dt {
        background: #b3b3b3;
        padding: 10px;
        text-align: center;
        font-weight: bold;
        color: #fff;
        margin: 15px 0;
    }

    .membership_partner dd {
        line-height: 1.8;
    }

    .membership_partner_bpx > dl {
        margin: 75px 0 0 20px;
    }

    .membership_partner_bpx > dl dt {
        background: #b3b3b3;
        padding: 3px;
        text-align: center;
        font-weight: bold;
        color: #fff;
    }

    .membership_partner_bpx > dl dd {
        line-height: 1.8;
    }

    .membership_partner_bpx > dl {
        line-height: 1.8;
    }

    p.otherTtl {
        width: 1200px;
        margin: auto;
        padding-bottom: 10px;
        text-align: center;
        background-image: url(../img/Ttl_border.jpg);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
    }

    p.otherTxt {
        width: 1200px;
        margin: 20px auto 50px;
        line-height: 1.8;
    }

    p.otherTxt span {
        margin-right: 30px;
        white-space: nowrap;
    }

    p.otherTxt:last-child {
        margin: 20px auto 150px;
    }
}

@media screen and (max-width: 768px) {
    .PeopleMBox {
        display: block;
        margin: 0 auto 15%;
        text-decoration: none;
        color: inherit;
    }

    img.icon {
        display: block;
        margin: 5% auto 6%;
        width: 70px;
    }

    .PeopleM_slider {
        width: 75%;
        margin: auto;
    }

    .PeopleM_slider.PeopleM_sliderMem {
        margin: 10% auto;
    }

    .membership_partner_bpx {
        margin: 10% auto;
    }

    .membership_partner {
        background: #eabebf;
    }

    .membership_partner h4 {
        background: #fff;
        width: 100%;
        font-weight: bold;
        text-align: center;
        padding: 3%;
        font-size: 18px;
    }

    .membership h3 span {
        text-align: right;
        display: block;
        margin-right: 5%;
    }

    .membership_partner {
        background: #eabebf;
        padding: 5%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .membership_partner dl {
        width: 48%;
    }

    .membership_partner dl:last-child {
        width: 100%;
        margin-top: 5%;
    }

    .membership_partner dt {
        background: #b3b3b3;
        padding: 10px;
        text-align: center;
        font-weight: bold;
        color: #fff;
        margin: 15px 0;
        font-size: 15px;
    }

    .membership_partner dd {
        line-height: 1.8;
        font-size: 14px;
    }

    .membership_partner_bpx > dl dt {
        background: #b3b3b3;
        padding: 3%;
        text-align: center;
        font-weight: bold;
        color: #fff;
        margin: 5%;
    }

    .membership_partner_bpx > dl dd {
        margin: 5%;
        line-height: 1.8;
        font-size: 14px;
    }

    p.otherTtl {
        width: 100%;
        margin: 7% auto 0;
        padding-bottom: 10px;
        text-align: center;
        background-image: url(../img/Ttl_border_sp.jpg);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
        font-size: 16px;
        font-weight: bold;
    }

    p.otherTxt {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        width: 90%;
        margin: 5% auto;
    }

    p.otherTxt span {
        display: block;
        width: 48%;
        margin-bottom: 3%;
    }

    p.otherTxt span:last-child:nth-child(odd) {
        width: 100%;
    }
}

/*--------------------message----------------------*/

@media screen and (min-width: 768px) {
    .message_ttlimg {
        width: 1200px;
        margin: auto;
        display: flex;
        align-items: center;
    }

    .message_ttlimg > img {
        width: 50.5%;
    }

    .message_ttlimg_txt {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-left: 20px;
    }

    .message_ttlimg_txt h3 {
        font-size: 35px;
        font-weight: bold;
        line-height: 1.6;
    }

    .message_ttlimg_txt hr {
        width: 100%;
        border: #a00;
        height: 6px;
        background: #d00;
        margin: 30px 0;
    }

    p.jobTtl {
        font-size: 20px;
        font-weight: bold;
    }

    p.name {
        font-size: 55px;
        font-weight: bold;
        position: relative;
    }

    p.name img {
        position: absolute;
        top: 60px;
        right: -45px;
        z-index: -1;
        width: 114px;
    }

    .message_txt {
        width: 1100px;
        margin: 50px auto;
    }

    .message_txt p {
        line-height: 1.8;
        font-size: 18px;
        margin-bottom: 10px;
    }

    img.message_ttlimg_bg {
        width: 100%;
    }

    .missionSubTtl p {
        width: 1050px;
        margin: 0 auto 100px;
        font-size: 18px;
        line-height: 1.8;
    }

    .missionSubTtl p:first-of-type {
        text-align: center;
        font-size: 35px;
        font-weight: bold;
        margin-bottom: 60px;
    }

    .member_plofile_box {
        position: relative;
        width: 1200px;
        margin: 0 auto 100px;
    }

    .member_plofile_box p.otherTtl {
        background-image: url(../img/Ttl_border_red.jpg);
        font-size: 20px;
        font-weight: bold;
        margin: 50px 0 30px;
    }

    .member_plofile dl {
        width: 500px;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .member_plofile dl dt {
        width: 20%;
        margin: 10px 0;
    }

    .member_plofile dl dd {
        margin: 10px 0;
        width: 80%;
    }

    .member_plofile dl dd a {
        color: #000;
    }

    .member_plofile ul {
        width: 500px;
        margin: auto;
    }

    .member_plofile ul li {
        margin: 10px 0;
    }
	.member_plofile ul li a {
        color: #888;
    }
	
    .member_plofile_box div.member_plofile:last-child {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .member_plofile_box div.member_plofile:last-child dl {
        width: 200px;
        margin: 0 50px;
    }

    .member_plofile_box div.member_plofile:last-child dt {
        width: 70%;
    }

    .member_plofile_box div.member_plofile:last-child dd {
        width: 30%;
        text-align: right;
    }
}

@media screen and (max-width: 768px) {
    .message_ttlimg_txt {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin: 3%;
        width: 94%;
    }

    .message_ttlimg_txt h3 {
        font-size: 20px;
        font-weight: bold;
        line-height: 1.6;
    }

    .message_ttlimg_txt hr {
        width: 100%;
        border: #a00;
        height: 4px;
        background: #d00;
        margin: 3% 0;
    }

    p.jobTtl {
        font-size: 15px;
        font-weight: bold;
    }

    p.name {
        font-size: 40px;
        font-weight: bold;
        position: relative;
    }

    p.name img {
        position: absolute;
        top: 34px;
        right: -70px;
        z-index: -1;
        width: 115px;
        transform: rotate(3deg);
    }

    .message_txt {
        width: 94%;
        margin: 15% auto;
    }

    .message_txt p {
        line-height: 1.8;
        font-size: 16px;
        margin-bottom: 5%;
    }

    .missionSubTtl p:first-of-type {
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 60px;
    }

    .missionSubTtl p {
        width: 94%;
        line-height: 2;
        font-size: 16px;
        margin: 5% auto;
    }

    .member_plofile_box .member_plofile:first-child dt,
    .member_plofile_box .member_plofile:first-child dd {
        text-align: center;
    }

    .member_plofile_box .member_plofile:first-child dt {
        font-weight: bold;
        margin: 7% auto 1%;
    }

    .member_plofile_box .member_plofile .otherTtl {
        margin: 10% 0 0;
    }

    .member_plofile_box .member_plofile li {
        width: 90%;
        margin: auto;
        line-height: 1.5;
        margin: 5% auto;
    }
    .member_plofile_box .member_plofile ul li a {
        color: #888;
    }
    .member_plofile_box .member_plofile:last-child .otherTtl {
        margin: 5% auto;
    }

    .member_plofile_box .member_plofile:last-child dl {
        display: flex;
        flex-wrap: wrap;
        width: 60%;
        margin: auto;
    }

    .member_plofile_box .member_plofile:last-child dt {
        width: 70%;
        margin: 2% auto;
        font-weight: bold;
    }

    .member_plofile_box .member_plofile:last-child dd {
        width: 30%;
        margin: 2% auto;
    }
}

/*--------------------report ----------------------*/

@media screen and (min-width: 768px) {
    .columnBtn {
        display: flex;
        justify-content: center;
    }

    .columnBtn a {
        color: #555;
        text-decoration: none;
        margin: 10px;
        border: 1px solid #aaa;
        padding: 10px 50px;
        border-radius: 10px;
        font-size: 17px;
    }

    .reportPage .reportBox {
        flex-wrap: wrap;
    }

    .reportPage h3 {
        width: 1200px;
        margin: auto;
    }

    .report .Thcard {
        margin: 10px auto;
    }

    .seminarPage .columnBtn {
        background: #e0e0e0;
    }

    .seminarPage.reportPage {
        background: #e0e0e0;
        width: 100%;
        padding-bottom: 5px;
    }

    .seminarPage h3.ttlB {
        width: 1200px;
        margin: 48px auto;
        position: relative;
    }

    .seminarPage h3.ttlB img {
        position: absolute;
        top: -48px;
    }

    .seminarPage .heading_news {
        padding-top: 90px;
    }

    .seminarPage .Thcard {
        background: #fff;
    }

    .reportPage.seminarPage .columnBtn {
        padding-top: 65px;
    }

    .reportPage .columnBtn {
        padding-top: 30px;
    }

    .seminarPage .report {
        padding-bottom: 30px;
    }

    .seminarPage .columnBtn a {
        background: #fff;
    }
}

@media screen and (max-width: 768px) {
    .columnBtn {
        display: flex;
        justify-content: center;
        margin: 8% auto;
    }

    .columnBtn a {
        color: #555;
        text-decoration: none;
        margin: 1%;
        border: 1px solid #aaa;
        padding: 3% 5%;
        border-radius: 10px;
        font-size: 14px;
    }

    .home .report .reportBox a:nth-child(n + 2) {
        display: none;
    }
}

/*--------------------people----------------------*/
span.people_txt_red {
    color: #e00;
}

@media screen and (min-width: 768px) {
    .peoplePage .message_ttlimg > img {
        width: 38%;
    }

    .peoplePage .message_ttlimg {
        background: #e0e0e0;
    }

    .peoplePage .message_ttlimg_txt hr {
        width: 97%;
        border: #fff;
        height: 2px;
        background: #fff;
        margin: 30px 0;
    }

    p.jobTtl.jobTtl-red {
        color: #d00;
    }

    p.jobTtl.jobTtl-red span {
        font-size: 22px;
        font-weight: bold;
    }

    .peoplePage p.name img {
        z-index: 0;
    }

    .peoplePage p.jobTtl {
        font-size: 18px;
    }

    .people_txt p {
        font-size: 17px;
        width: 1070px;
        margin: auto;
        line-height: 2;
    }

    .people_txt strong {
        font-size: 17px;
        font-weight: bold;
    }

    .people_ttl {
        width: 1200px;
        display: flex;
        align-items: center;
        margin: 20px auto;
    }

    .people_ttl p {
        font-size: 23px;
        font-weight: bold;
        border-left: 5px solid #d00;
        line-height: 2;
        padding-left: 20px;
        margin-left: 20px;
    }

    .people_ttl_icon {
        width: 80px;
        height: 80px;
    }

    .people_ttl_icon img {
        max-width: 100%;
        max-height: 100%;
        display: block;
        margin: auto;
    }

    .people_txt {
        margin-bottom: 70px;
    }

    .people_txt p {
        font-size: 17px;
        margin: 15px auto;
    }
}

@media screen and (max-width: 768px) {
    .peoplePage .message_ttlimg {
        background: #e0e0e0;
    }

    .peoplePage .message_ttlimg_txt {
        padding-bottom: 8%;
    }

    .peoplePage p.name img {
        z-index: 0;
    }

    .people_ttl {
        display: flex;
        align-items: center;
        margin: 10% 2%;
        width: 95%;
    }

    .people_ttl_icon img {
        max-width: 35px;
        max-height: 35px;
    }

    .people_ttl p {
        font-size: 18px;
        font-weight: bold;
        border-left: 4px solid #d00;
        line-height: 1.8;
        padding-left: 3%;
        margin-left: 5%;
    }

    p.jobTtl.jobTtl-red {
        color: #d00;
    }

    .peoplePage p.jobTtl {
        padding: 1.5% 5%;
        line-height: 1.6;
    }

    .people_txt p {
        font-size: 16px;
        margin: 5% auto;
        line-height: 1.8;
    }

    .peoplePage .people_txt {
        width: 94%;
        margin: auto;
    }
}

/*--------------------introduce----------------------*/

@media screen and (min-width: 768px) {
    img.introduceKV {
        display: block;
        width: 965px;
        margin: 50px auto;
    }

    .introduceTtl {
        background-image: url(../img/Ttl_border_red.jpg);
        font-size: 26px;
        font-weight: bold;
        width: 1200px;
        margin: auto;
        padding-bottom: 26px;
        text-align: center;
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
        line-height: 1.8;
    }

    .introduceTtl span {
        font-size: 22px;
    }

    img.introduceBg {
        width: 100%;
        margin: 30px auto 80px;
    }
}

@media screen and (max-width: 768px) {
    img.introduceKV {
        display: block;
        width: 100%;
        margin: 10% auto;
    }

    .introduceTtl {
        background-image: url(../img/Ttl_border_red_sp.jpg);
        font-size: 18px;
        font-weight: bold;
        width: 100%;
        margin: auto;
        padding-bottom: 5%;
        text-align: center;
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center bottom;
        line-height: 1.8;
    }

    .introduceTtl span {
        font-size: 16px;
    }

    img.introduceBg {
        width: 100%;
        margin: 10% auto 13%;
    }

    .people_txt.introduce_people_txt {
        width: 94%;
        margin: auto;
    }
}

/*--------------------contact----------------------*/

.form {
    width: 800px;
    margin: 0 auto 100px;
}

.form form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.form form div {
    width: 48.5%;
    margin: 0 0 20px;
}

form label {
    font-weight: bold;
    line-height: 1.8;
}

form input.txtBox {
    width: 100%;
    border: 2px solid #ccc;
    height: 50px;
    padding: 10px;
}

form textarea.txtArea {
    width: 100%;
    border: 2px solid #ccc;
    height: 130px;
    padding: 10px;
}

form input[type="submit"] {
    background: #fff;
    border: 2px solid #d00;
    color: #d00;
    font-weight: bold;
    font-size: 16px;
    padding: 10px 40px;
    display: block;
    margin: 30px auto;
    transition: 0.3s;
}

form input[type="submit"]:hover {
    background: #d00;
    color: #fff;
}

h4.contactTtl {
    width: 1200px;
    margin: auto;
}

h4.contactTtl img {
    width: 100%;
}

div#qa dd {
    display: none;
}

div#qa dt:hover {
    cursor: pointer;
}

div#qa dd:first-of-type {
    display: block;
}

.nav-open {
    padding: 15px;
    font-size: 16px;
    position: relative;
}

.nav-open::before {
    /* 閉じている時 */
    content: "＋";
    position: absolute;
    right: 20px;
    font-size: 30px;
    font-weight: bold;
}

.nav-open.active::before {
    /* 開いている時 */
    content: "－";
}

.qa dl {
    width: 800px;
    margin: 50px auto;
}

.qa dt {
    background-image: url(../img/qa_bgr.png);
    height: 45px;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: 80px;
    display: flex;
    align-items: center;
    margin: 10px 0;
}

.qa dd {
    padding: 30px;
    margin: 5px;
    border: 1px solid #d00;
    line-height: 1.8;
}

.qa dt img {
    width: 100%;
}

.policy p,
.relationship p {
    width: 800px;
    margin: 20px auto;
    line-height: 1.8;
}

.policy b {
    font-size: 20px;
    text-align: center;
    display: block;
    margin: 30px auto;
}

.policy span {
    display: block;
    font-weight: bold;
}

.policy a {
    color: #000;
    font-weight: bold;
}

.policy h4.contactTtl {
    width: 1200px;
    margin: 100px auto 30px;
}

@media screen and (min-width: 768px) {
    .form {
        width: 800px;
        margin: 0 auto 100px;
    }

    .form p {
        line-height: 2;
        margin: 0 auto 40px;
    }

    .form .form-text {
        line-height: 2;
        margin: 0 auto 40px;
    }

    .form form {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .form form div {
        width: 48.5%;
        margin: 0 0 20px;
    }

    form label {
        font-weight: bold;
        line-height: 1.8;
    }

    form input.txtBox {
        width: 100%;
        border: 2px solid #ccc;
        height: 50px;
        padding: 10px;
    }

    form textarea.txtArea {
        width: 100%;
        border: 2px solid #ccc;
        height: 130px;
        padding: 10px;
    }

    form input[type="submit"] {
        background: #fff;
        border: 2px solid #d00;
        color: #d00;
        font-weight: bold;
        font-size: 16px;
        padding: 10px 40px;
        display: block;
        margin: 30px auto;
        transition: 0.3s;
    }

    form input[type="submit"]:hover {
        background: #d00;
        color: #fff;
    }

    h4.contactTtl {
        width: 1200px;
        margin: auto;
    }

    h4.contactTtl img {
        width: 100%;
    }

    .qa dl {
        width: 800px;
        margin: 50px auto;
    }

    .qa dt {
        background-image: url(../img/qa_bgr.png);
        height: 45px;
        background-repeat: no-repeat;
        background-size: cover;
        padding-left: 80px;
        display: flex;
        align-items: center;
        margin: 10px 0;
    }

    .qa dd {
        padding: 30px;
        margin: 5px;
        border: 1px solid #d00;
    }

    .qa dt img {
        width: 100%;
    }

    .relationship {
        margin-top: 60px;
    }
    
    .policy p,
    .relationship p {
        width: 800px;
        margin: 20px auto;
        line-height: 1.8;
    }

    .policy b {
        font-size: 20px;
        text-align: center;
        display: block;
        margin: 30px auto;
    }

    .policy span {
        display: block;
        font-weight: bold;
    }

    .policy a {
        color: #000;
        font-weight: bold;
    }

    .policy h4.contactTtl {
        width: 1200px;
        margin: 100px auto 30px;
    }
}

@media screen and (max-width: 768px) {
    .form {
        width: 94%;
        margin: 0 auto 10%;
    }

    .form p {
        line-height: 2;
        margin: 0 auto 5%;
    }

    .form form div {
        width: 100%;
        margin: 0 0 3%;
    }

    form label {
        font-weight: bold;
        line-height: 1.8;
    }

    form input.txtBox {
        width: 100%;
        border: 1px solid #ccc;
        height: 50px;
        padding: 2%;
    }

    form textarea.txtArea {
        width: 100%;
        border: 1px solid #ccc;
        height: 130px;
        padding: 2%;
    }

    form input[type="submit"] {
        background: #fff;
        border: 2px solid #d00;
        color: #d00;
        font-weight: bold;
        font-size: 16px;
        padding: 10px 40px;
        display: block;
        margin: 30px auto;
        transition: 0.3s;
    }

    form input[type="submit"]:hover {
        background: #d00;
        color: #fff;
    }

    h4.contactTtl {
        width: 100%;
        margin: auto;
    }

    h4.contactTtl img {
        width: 100%;
    }

    .qa dl {
        width: 94%;
        margin: 5% auto;
    }

    .qa dt {
        background-image: url(../img/qa_bgr_sp.jpg);
        height: 85px;
        background-repeat: no-repeat;
        background-size: cover;
        padding-left: 15px;
        padding-right: 60px;
        display: flex;
        align-items: center;
        margin: 2% 0;
        line-height: 1.2;
    }

    .qa dd {
        padding: 2%;
        margin: 1% auto 5%;
        border: 1px solid #d00;
    }

    .qa dt img {
        width: 100%;
    }

    .relationship,
    .policy {
        margin: 20% auto;
    }

    .policy p,
    .relationship p {
        width: 94%;
        margin: 3% auto;
        line-height: 1.8;
    }

    .policy b {
        font-size: 18px;
        text-align: center;
        display: block;
        margin: 7% auto;
    }

    .policy span {
        display: block;
        font-weight: bold;
    }

    .policy a {
        color: #000;
        font-weight: bold;
    }

    .policy h4.contactTtl {
        width: 94%;
        margin: 10% auto 5%;
    }
}

/*--------------------activity----------------------*/

.activityContents p span.red {
    color: #e00;
}

@media screen and (min-width: 768px) {
    .activityArea > p {
        width: 900px;
        margin: 0 auto 50px;
        font-size: 18px;
    }

    .activityArea.activity_activity > p,
    .activityArea.activity_introduce > p {
        margin: 50px auto 50px;
    }

    .activityArea h4 {
        width: 100%;
    }

    .activityArea h4 img {
        width: 100%;
    }

    .activity_policy ul {
        width: 700px;
        width: fit-content;
        margin: 0 auto 80px;
    }

    .activity_policy li {
        font-size: 20px;
        font-weight: bold;
        line-height: 1.8;
        margin-bottom: 20px;
    }

    .activity_policy span {
        font-size: 16px;
        font-weight: normal;
        display: block;
        margin-left: 40px;
    }

    .activityArea.activity_activity .activityBox {
        display: flex;
        width: 1200px;
        margin: 50px auto 100px;
        justify-content: space-between;
    }

    .activityContents {
        width: 31%;
    }

    .activityContents img {
        width: 100%;
    }

    .activityContents p {
        line-height: 1.8;
    }

    p.activitySubTtl {
        font-size: 22px;
        margin: 10px 0;
        text-align: center;
        font-weight: bold;
        line-height: 1;
        height: 70px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        border-bottom: 7px solid #d00;
        padding: 5px 0 15px;
        margin-bottom: 25px;
    }

    p.activitySubTtl span {
        font-size: 14px;
        display: block;
        width: 100%;
    }

    .introduceDetailBox {
        display: flex;
        width: 1200px;
        margin: 50px auto 100px;
        /*        justify-content: space-between;*/
        justify-content: center;
    }

    .introduceDetail {
        width: 32%;
        background: #e5e5e5;
        padding: 8px;
        text-decoration: none;
    color: inherit;
    }

    .introduceDetailBox img {
        width: 100%;
    }

    p.introduceDetailTtl {
        font-size: 20px;
        font-weight: bold;
        margin: 7px 0 2px;
    }
}

@media screen and (max-width: 768px) {
    .activityArea > p {
        width: 94%;
        margin: 0 auto 7%;
        font-size: 16px;
    }

    .activityArea.activity_activity > p,
    .activityArea.activity_introduce > p {
        margin: 3% auto;
    }

    .activityArea h4 {
        width: 100%;
    }

    .activityArea h4 img {
        width: 100%;
    }

    .activity_policy ul {
        width: 94%;
        width: fit-content;
        margin: 0 auto 10%;
    }

    .activity_policy li {
        width: 94%;
        margin: auto;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.8;
        margin-bottom: 20px;
    }

    .activity_policy span {
        font-size: 14px;
        font-weight: normal;
        display: block;
        line-height: 1.3;
    }

    .activityArea.activity_activity .activityBox {
        width: 94%;
        margin: 5% auto 10%;
        justify-content: space-between;
    }

    .activityContents {
        width: 100%;
        margin-bottom: 10%;
    }

    .activityContents img {
        width: 60%;
        margin: auto;
    }

    .activityContents p {
        line-height: 1.8;
    }

    p.activitySubTtl {
        font-size: 18px;
        margin: 3% 0;
        text-align: center;
        font-weight: bold;
        line-height: 1;
        height: 50px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        border-bottom: 5px solid #d00;
        padding: 5px 0 15px;
    }

    .activityContents:nth-child(2) p.activitySubTtl {
        height: 55px;
    }

    p.activitySubTtl span {
        font-size: 14px;
        display: block;
        width: 100%;
    }

    .introduceDetailBox {
        width: 94%;
        margin: 5% auto 10%;
        justify-content: space-between;
    }

    .introduceDetail {
        width: 100%;
        background: #e5e5e5;
        padding: 5%;
        margin: 8% auto;
                text-decoration: none;
    color: inherit;
    }

    .introduceDetailBox img {
        width: 100%;
        display: block;
        margin: auto;
    }

    p.introduceDetailTtl {
        font-size: 18px;
        font-weight: bold;
        margin: 2% 0 1%;
    }
}

/*--------------------newsDetail----------------------*/
.newsTtl a {
    color: #888;
    max-width: 630px;
}

.newsTtl {
    max-width: 630px;
}

@media screen and (min-width: 768px) {
    .newsContentdetail {
        width: 800px;
        margin: 50px auto;
    }

    .newsContentdetail h2.heading_news {
        font-size: 20px;
        line-height: 1.6;
        padding-bottom: 0.5em;
        border-bottom: 1px dotted #c8c8c8;
        margin-bottom: 1.5em;
    }

    .newsContentdetail ul {
        list-style: circle inside;
        margin-bottom: 1.5rem;
        line-height: 1.5rem;
    }

    .newsContentdetail li {
        margin-bottom: 1rem;
    }

    .newsContentdetail p {
        line-height: 1.8;
        margin-bottom: 1rem;
    }

    a.newsBack {
        color: #f00;
        border: 1px solid;
        border-radius: 7px;
        padding: 10px;
        font-size: 15px;
        transition: 0.2s;
        text-decoration: none;
        width: 140px;
        display: block;
        text-align: center;
    }
}

@media screen and (max-width: 768px) {
    .newsContentdetail {
        width: 94%;
        margin: 50px auto;
    }

    .newsContentdetail h2.heading_news {
        font-size: 20px;
        line-height: 1.6;
        padding-bottom: 0.5em;
        border-bottom: 1px dotted #c8c8c8;
        margin-bottom: 1.5em;
    }

    .newsContentdetail ul {
        list-style: circle inside;
        margin-bottom: 1.5rem;
        line-height: 1.5rem;
    }

    .newsContentdetail li {
        margin-bottom: 1rem;
    }

    .newsContentdetail p {
        line-height: 1.8;
        margin-bottom: 1rem;
    }

    a.newsBack {
        color: #f00;
        border: 1px solid;
        border-radius: 7px;
        padding: 10px;
        font-size: 15px;
        transition: 0.2s;
        text-decoration: none;
        width: 140px;
        display: block;
        text-align: center;
    }
}

/*--------------------member----------------------*/
.memberPage .message_ttlimg {
    align-items: center;
}

.memberPage .message_ttlimg_txt {
    display: block;
    border-left: 8px solid #d00;
    margin-left: 30px;
    padding-left: 15px;
}

.memberPage .message_ttlimg_txt p:nth-of-type(1) {
    font-weight: bold;
    font-size: 20px;
}

.memberPage .message_ttlimg_txt p:nth-of-type(2) {
    font-weight: bold;
    font-size: 30px;
}

.memberPage .message_ttlimg_txt dl {
    margin-top: 20px;
}

.memberPage .message_ttlimg_txt dt {
    font-weight: bold;
    line-height: 1.5;
}

.memberPage .message_ttlimg_txt dd {
    line-height: 1.5;
}

.memberPage p {
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .memberPage .message_ttlimg_txt {
        display: block;
        border-left: 5px solid #d00;
        margin-left: 3%;
        padding-left: 3%;
    }

    .memberPage .message_ttlimg_txt span {
        float: left;
        display: block;
        width: 1rem;
        height: 1rem;
    }

    .memberPage .message_ttlimg_txt p:nth-of-type(1) {
        font-size: 18px;
    }

    .memberPage .message_ttlimg_txt p:nth-of-type(2) {
        font-size: 23px;
    }

    .memberPage .message_ttlimg_txt dl {
        margin-top: 5%;
    }

    .memberPage .people_txt {
        width: 94%;
        margin: auto;
    }
}

.mvNone > img {
    display: none;
}

@media screen and (min-width: 768px) {
    body.page-id-276 .mvNone > img.pc {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    body.page-id-276 .mvNone > img.sp {
        display: block;
    }
}
/*--------------------230620----------------------*/

.partnerlink {
    display: flex;
    justify-content: space-evenly;
    margin: 0px auto 60px;
}

@media screen and (min-width: 768px) {
    .partnerlink img {
        width: 260px;
    }
}

@media screen and (max-width: 768px) {
    .partnerlink img {
        width: 230px;
    }
}

.home .seminar .Thcard > p,
.home .report .Thcard > p{
    display: none;
}
.home .seminar .Thcard > a,
.home .report .Thcard > a{
    display: none;
}
.home .seminar .Thcard > p:first-of-type,
.home .report .Thcard > p:first-of-type{
    display: -webkit-box;
}
.home .seminar .Thcard > p:first-of-type,
.home .report .Thcard > p:first-of-type{
    display: -webkit-box;
}
.home .seminar .Thcard > p:nth-of-type(2),
.home .report .Thcard > p:nth-of-type(2){
    display: -webkit-box;
}

/*--------------------230908----------------------*/

.publication_ttlimg img {
    width: 800px;
    margin: auto;
    display: block;
}
.publicationPages h2 {
    font-size: 35px;
    font-weight: bold;
    width: 100%;
    max-width: 1400px;
    min-width: 1200px;
    margin: 25px auto;
    padding: 30px 0;
    text-align: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center bottom;
}
@media screen and (max-width: 768px) {
    .publication_ttlimg img {
        width: 100%;
    }
    .publicationPages h2 {
        width: 100%;
        max-width: none;
        min-width: inherit;
        margin: 7% auto 0;
        padding: 20px 0;
        background-image: url(../img/Ttl_border_red_sp.jpg);
        font-size: 23px;
    }
}

/*--------------------230914----------------------*/


.wgswg p {
    width: 1200px;
    margin:80px auto 40px ;
}
.wgswg p img {
    width: 100%;
}
.wgswg dl {
    width: 900px;
    margin: 0 auto;
    display: block;
}
.wgswg dt {
    font-size: 23px;
    font-weight: bold;
    margin-bottom: 10px;
    margin: 40px 0 10px ;
}
.wgswg dd {
    font-size: 16px;
    line-height: 1.8;
}
.wgswg_swg {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    width: 900px;
}

/* WGのスタイリング */
.wgswg_swg > dl {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 40px;
}

/* SWGのスタイリング */
.wgswg_swg > dl dt {
  font-size: 23px;
  padding: 0px;
  margin: 0;
}

/* 見出しのスタイリング */
.wgswg_swg a {
	font-size: 18px;
    color: #888;
}

/* 説明文のスタイリング */
.wgswg_swg > dl dd dl dd {
  padding: 0px 0px 20px 0px;
  margin: 0;
}



@media screen and (max-width: 768px) {
    .wgswg p {
        width: 100%;
    }
    .wgswg dl {
        width: 90%;
        margin: auto;
    }
    .wgswg dt {
        font-size: 19px;
        margin: 20px 0 5px;
    }
    .wgswg dd {
        font-size: 16px;
    }
    .wgswg_swg {
        display: inherit;
        margin: auto;
        width: auto;
    }
	.wgswg_swg dl dt a {
    color: #888;
    }
}


.contentsPage {
    width: 1200px;
    margin: auto;
}
.contentsPage img{
    max-width: 100%;
}
.movieArea {
    display: flex;
    justify-content: space-around;
}
.movieDetail {
    width: 25%;
}
.movieDetail h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 10px;
    text-align: center;
}
iframe {
    width: 100%;
    height: 160px;
}
.movieDetail p {
    font-size: 15px;
    margin: 10px;
}
.contentsPage_benefit h2 {
    margin: 70px auto 40px;
}
.contentsPage_benefit ul {
    display: block;
    width: fit-content;
    margin: 30px auto 130px;
}

.contentsPage_benefit li {
    font-size: 20px;
    font-weight: bold;
    list-style: initial;
    margin: 10px;
}
.contentsPage_contact {
    text-align: center;
    margin-bottom: 130px;
}
.contentsPage_contact a {
    display: block;
    width: 300px;
    margin: 20px auto;
}
@media screen and (max-width: 768px) {

    .contentsPage {
        width: 100%;
    }
    .contentsPage img{
        max-width: 100%;
    }
    .movieArea {
        display: inherit;
    }
    .movieArea {
        display: inherit;
        width: 94%;
        margin: auto;
    }
    .movieDetail {
        width: 100%;
    }
    .movieDetail h3 {
        font-size: 18px;
        margin: 30px auto 15px;
    }
    iframe {
        width: 100%;
        height: 200px;
    }
    .movieDetail p {
        font-size: 15px;
        margin: 10px;
    }
    .contentsPage_benefit h2 {
        margin: 70px auto 40px;
    }
    .contentsPage_benefit > img.sp{
        display: block;
        width: 94%;
        margin: auto;
    }

    .contentsPage_benefit ul {
        margin: 30px auto 80px;
    }
    
    .contentsPage_benefit li {
        font-size: 15px;
        margin: 10px 0 0 35px;
        list-style: outside;
    }

    .contentsPage_contact {
        margin-bottom: 80px;
    }
    .contentsPage_contact a {
        display: block;
        width: 70%;
        margin: 20px auto;
    }
}


.contents {
    display: flex;
    justify-content: inherit;
    overflow: hidden;
    position: relative;
    min-width: 1200px;
    background: #e0e0e0;
}

.contents h3 img {
    width: 1500px;
    object-fit: contain;
    margin-left: auto;
    margin-right: 3vw;
}
.contents .contentsBox {
    position: absolute;
    left: 0;
    right: 0;
    width: 1200px;
    margin: auto;
}
.contents .contentsBox a {
    display: block;
    width: 577px;
    background: #fff;
    margin-left: 620px;
    line-height: 0;
}
.contents .contentsBox a img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .contents {
        display: block;
        min-width: auto;
    }
    .contents h3 img {
        width: 100%;
        margin-right: auto;
    }
    .contents .contentsBox {
        position: inherit;
        width: 100%;
    }
    .contents .contentsBox a {
        width: auto;
        margin-left: 0;
    }
    .contents .contentsBox a img {
        width: 100%;
    }
}

.membersNumberBox {
    display: flex;
    margin: 3% auto;
    justify-content: center;
}
dl.membersNumber {
    display: flex;
    width: 200px;
    flex-wrap: wrap;
    margin: 0 30px;
}
dl.membersNumber dt {
     width: 70%;
     margin: 5px 0px;
}
dl.membersNumber dd {
    width: 30%;
    margin: 5px 0px;
}
@media screen and (max-width: 768px) {
    .membersNumberBox {
        display: block;
        width: fit-content;
    }
}
.message_ttlimg_mgr {
    margin: 30px 30px 0px 30px;
    display: flex;
    align-items: flex-end;
}
.message_ttlimg_mgr img {
    /* width: 180px; */
    height: 180px;
}
.message_ttlimg_mgr dl {
    margin: 0 20px;
}
.message_ttlimg_mgr dt {
font-weight: bold;
    line-height: 1.5;
}
.message_ttlimg_mgr dd {
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .message_ttlimg_mgr img {
        /* width: 130px; */
        height: 130px;
    }
    .message_ttlimg_mgr {
        margin: 20px 15px;
    }
}

/*--------------------tablesorter----------------------*/

.tablesorter-headerDesc div::before {
    content: "▲";
    margin-right: 5px;
    display: inline;
    vertical-align: middle;
}
  
.tablesorter-headerAsc div::before {
    content: "▼";
    margin-right: 5px;
    display: inline;
    vertical-align: middle;
}