@charset "utf-8";

img {height: auto}

.posRe {position: relative}


/* ===========================================================
   # HEAD
=========================================================== */
.courseTtl {
    display: inline-block;
    line-height: 1;
    transform: translateY(20px);
    }
.courseTtl_sub {
    font-size: .6em;
    }


/* ===========================================================
   # FOOT
=========================================================== */
.courseItem_footTokushou {
    font-size: 16px;
    padding-top: 20px;
    text-align: center;
    width: 100%;
    }
.courseItem_footTokushou a:link,
.courseItem_footTokushou a:visited {
    color: #111;
    }


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

.courseItem_footTokushou {padding-top: 40px;}

}


/* ===========================================================
   # COURSE
=========================================================== */
.courseWrap {
    justify-content: space-between;
    }

.courseItem {
    border: 1px solid #001A64;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    max-width: 530px;
    }


/* = HEAD
----------------------------------------------------------- */
.courseItem_head {
    background: #001A64;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    padding: 10px;
    }

.courseIco {
    display: inline-block;
    margin-right: 2px;
    text-align: center;
    vertical-align: 0;
    width: 100px;
    }
.courseIco_web      {background: #C49B18;}
.courseIco_venue    {background: #2E9A4B;}
.courseIco_ondemand {background: #9a2e7d;}

.courseItem_headDate {
    display: block;
    padding: 8px 0 5px 0;
    }

.courseItem_subTtl {
    background: #fff;
    border-radius: 3px;
    color: #001A64;
    display: inline-block;
    font-size: 12px;
    padding: 0 6px;
    }
.courseItem_ttl {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.28;
    overflow: hidden;
    padding-top: 10px;
    }

.courseItem_pdf {
    background: #fff url(./img/ico_pdf.png) 50%/32px no-repeat;
    display: block;
    float: right;
    font-size: 0;
    margin-left: 15px;
    width: 56px;
    height: 56px;
    }


/* = BODY
----------------------------------------------------------- */
.courseItem_body {
    font-size: 16px;
    padding: 1rem 1rem 0;
    }
.courseItem_outline {
    line-height: 1.4;
    padding-bottom: 20px;
    }

.courseItem_detail {
    align-items: flex-start;
    font-size: 16px;
    margin: 0;
    }
.courseItem_detail dt {
    background: rgba(0,26,100,0.8);
    border-radius: 3px;
    color: #fff;
    text-align: center;
    width: 80px;
    }
.courseItem_detail dd {
    margin: 0;
    padding: 0 0 10px 10px;
    width: calc(100% - 80px);
    }

.courseItem_detail strong {
    font-weight: 600;
    }
.courseItem_fee strong {
    color: #C00;
    }


/* = FOOT
----------------------------------------------------------- */
.courseItem_foot {
    border-top: 1px dashed rgba(0,26,100,.3);
    margin: 0 10px;
    padding: 10px 0;
    text-align: center;
    }
.courseItem_footTtl {
    color: #001A64;
    font-size: 22px;
    font-weight: 600;
    margin: 0;
    }

.courseItem_link {
    justify-content: space-around;
    font-size: 16px;
    font-weight: 500;
    }
.courseItem_link a:link,
.courseItem_link a:visited {
    color: #fff;
    display: block;
    margin-top: 10px;
    padding: 5px 0;
    width: 100%;
    text-decoration: none;
    }
.courseItem_link a:hover {
    opacity: .9;
    }
.courseItem_linkWeb a      {background: #C49B18;}
.courseItem_linkVenue a    {background: #2E9A4B;}
.courseItem_linkOndemand a {background: #9a2e7d;}
.courseItem_link span   {
    display: block;
    font-size: .9em;
    }


/* = PAST
----------------------------------------------------------- */
.past.courseItem {
    border-color: #ddd;
    }
.past .courseItem_footTtl,
.past .courseItem_footTokushou a {
    color: #555;
    }
.past .courseItem_head,
.past .courseItem_detail dt,
.past .courseItem_link a {
    background: #555;
    }

.pastWrap {
    background: rgb(255 255 255 / 0.8);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    }
.pastBody {
    font-size: 14px;
    font-weight: 600;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    text-align: center;
    text-shadow: 0 0 5px rgba(255, 255, 255, 1);
    }


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

.courseItem {margin-bottom: 40px;}

/* HEAD */
.courseItem_head     {padding: 20px 20px 15px;}
.courseItem_headDate {/*display: inline;*/}
.courseItem_ttl      {font-size: 24px;}
.courseItem_subTtl   {/*float: right;*/}

/* BODY */
.courseItem_body      {padding: 2rem 2rem 0;}
.courseItem_outline   {line-height: 1.6;}
.courseItem_detail dt {
    line-height: 25px;
    margin-top: 2px;
    width: 100px;
    }
.courseItem_detail dd {
    line-height: 30px;
    padding: 0 0 25px 30px;
    width: calc(100% - 100px);
    }

/* FOOT */
.courseItem_foot {
    margin: 0 20px;
    padding: 20px 0 10px;
    }
.courseItem_link a:link {
    padding: 10px 0;
    width: 200px;
    }
.courseItem_link a.courseItem_linkMember {width: 270px;}

/* PAST */
.pastBody {font-size: 20px;}

}


/* = @media width 1024px -->
----------------------------------------------------------- */
@media (min-width: 1024px) {

.archive .courseItem {width: 48%;}

}


/* ===========================================================
   # COURSE NEWS
=========================================================== */
div.courseNews .tab_panel {
    display: block;
}
div.courseNews .sec01_list02 ul li {
    width: 100%;
    margin-bottom: 0;
    margin-right: 0;
    border: none;
    background: transparent;
}
div.courseNews .sec01_list02 ul li:nth-child(odd) {
    background: #f4f2e6;
}
div.courseNews .sec01_list02 ul li a {
    padding: 10px 70px 10px 30px;
    position: relative;
}
div.courseNews .sec01_list02 ul li a::after {
    border-right: 1px solid #111;
    border-top: 1px solid #111;
    content: "";
    margin: auto;
    width: 10px;
    height: 10px;
    position: absolute;
    right: 3rem;
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
}

div.courseNews .sec01_list_date {
    padding-left: 0;
}


/* ===========================================================
   # PARTNER
=========================================================== */
h2.kotei_h2.partner {
    align-items: center;
    justify-content: space-between;
    }
h2.kotei_h2.partner strong {
    font-weight: 600;
    }
.partnerHead_card {
    color: #c00;
    font-size: 12px !important;
    font-weight: 500;
    }
span.partnerHead_date {
    margin-right: 0 !important;
    }


/* = SIDE
----------------------------------------------------------- */
.singleSidebar.partnerNav {
    margin-top: 2rem;
    width: 100%;
    }
.partnerNav h2.sideTtl {
    background-repeat: no-repeat;
    background-size: 60px;
    border: none;
    border-bottom: 2px solid #3071B9;
    font-size: 18px;
    font-weight: 400;
    padding-left: 70px;
    text-align: left;
    }
.partnerNav .sideList a {
    border-bottom: 1px solid #ccc;
    transition: all 300ms 0s ease;
    }
.partnerNav .sideList a:after {
    content: ">";
    position: absolute;
    right: 10px;
    transition: all 300ms 0s ease;
    }
.partnerNav .sideList a:hover {
    padding-left: 12px;
    }
.partnerNav .sideList a:hover:after {
    right: 8px;
    }


/* = LIST
----------------------------------------------------------- */
.partnerList_ttl {
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 24px;
    font-weight: 400;
    line-height: 40px;
    margin: 20px 0 10px;
    padding-left: 70px;
    height: 38px;
    }

.partnerList {
    justify-content: space-between;
    }
.partnerList_item {
    margin-top: -1px;
    width: 100%;
    }
.partnerList_item a {
    background: #fff;
    border: 1px solid #999;
    color: #111 !important;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    font-size: 16px;
    line-height: 1,2;
    padding: 8px 10px;
    height: 100%;
    text-decoration: none;
    transition: all 300ms 0s ease;
    }
.partnerList_item a:after {
    content: ">";
    position: absolute;
    right: 15px;
    transition: all 300ms 0s ease;
    }
.partnerList_item a:hover:after {
    right: 13px;
    }
.partnerList_item a:hover {
    padding-left: 22px;
    }

.partnerList_use {
    flex-wrap: nowrap !important;
    margin-right: 20px;
    }
.partnerList_use li {
    margin-left: 5px;
    width: 24px;
    }


/* = SINGLE
----------------------------------------------------------- */
/* TITLE */
.partnerTtl {
    border-bottom: 2px solid #011C63;
    color: #011C63;
    justify-content: space-between;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 10px;
    padding-bottom: 3px;
    }
.partnerUse {
    align-items: center;
    }
.partnerUse li {
    padding-left: 5px;
    width: 30px;
    }

/* BODY */
.partnerBody {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    }
.partnerBody > ul > li {
    margin-left: 1.5em;
    }
.partnerBody > ul > li:before {
    content: "○";
    margin: 0 .5em 0 -1.5em;
    }
.partnerBody ul ol {
    margin-left: -.8em;
    }
.partnerBody ul ul li:before {
    content: "・";
    }
.partnerBody hr {
    border: none;
    border-bottom: 1px solid #111;
    margin: 1em 0;
    }

/* INFO */
.partnerInfo {
    font-size: 16px;
    line-height: 1.8;
    }
.partnerInfo strong {
    font-weight: 500;
    }


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

/* HEAD */
span.partnerHead_card {
    font-size: 17px !important;
    padding-left: 1em;
    }

/* SIDE */
.singleSidebar.partnerNav {
    margin-top: 0;
    width: 280px;
    }

/* LIST */
.partnerList_ttl {
    line-height: 60px;
    margin: 50px 0 20px;
    padding-left: 90px;
    height: 48px;
    }
.partnerList_item   {
    margin-bottom: 10px;
    width: 49%;
    }
.partnerList_item a {padding: 10px 20px;}
.partnerList_use    {margin-right: 15px;}
.partnerList_use li {width: 26px;}

/* SINGLE TITLE */
.partnerTtl {
    font-size: 28px;
    margin-bottom: 30px;
    padding-bottom: 5px;
    }
.partnerUse li {
    padding-left: 10px;
    width: auto;
    }

/* SINGLE BODY */
.partnerBody {
    font-size: 18px;
    line-height: 1.8;
    }
.partnerBody hr {margin: 1.5em 0;}

/* SINGLE INFO */
.partnerInfo {padding-bottom: 3em;}

}


