/* style.css */


/*---------------------------------------------
  Font
  ---------------------------------------------*/

@font-face {
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto_sans_jp/NotoSansJP-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto_sans_jp/NotoSansJP-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url('../fonts/noto_sans_jp/NotoSansJP-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

/*---------------------------------------------
  高さ確保
  ---------------------------------------------*/

.contents {
    min-height: calc(100vh - 322px);
}


/*---------------------------------------------
  Common
  ---------------------------------------------*/

html {
    scroll-behavior: smooth;
}

body, html {
    min-width: 1040px;
}

body {
    font-size: 1em;
    font-weight: 400;
    line-height: normal;
    background: #f8f8f8;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

div, ul, li, p, ol, form, input, section, a, span, dl, dt, table, tr, th, td {
    font-size: 1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #333333;
    line-height: normal;
    box-sizing: border-box;
}

span {
    line-height: normal;
}

h1, h2, h3, h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    line-height: normal;
}

.sp {
    display: none!important;
}

img {
    max-width: 100%;
}


a {
    text-decoration: none;
}

a:hover {
    cursor:pointer;
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    -moz-opacity:0.6;
    -khtml-opacity: 0.6;
    zoom:1;
}

button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

.clear {
    clear: both;
}

.red {
    color: #DB1617!important;
}

.noticeTxt {
    color: #D13104;
}

.bold {
    font-weight: 700;
}

input {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 0.8750em;
}

input[type="text"] {
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
}

input.f_text {
    border: 1px solid #c4c4c4;
    width: 203px;
    padding: 5px 5px;
    color: #333;
}

input.f_bt {
    color: #fff;
    background-color: #333;
    padding: 6px 10px;
}

.h_search {
    margin-right: 25px;
}

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

a.entry_bt {
    display: none;
}


/*---------------------------------------------
  Menu_PC
  ---------------------------------------------*/

@media screen and (min-width:768px) {
    
    header {
        width: 100%;
        min-width: 1000px;
        margin: 0 auto;
    }
    
    .header_top {
        width: 1000px;
        margin: 0 auto;
        padding: 20px 0 25px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
    }
    
    .h_logo {
        width: 241px;
        margin-right: auto;
    }
    
    .h_search {
        font-size: 0.8750em;
    }
    
    .jst_logo {
        width: 190px;
    }
    
    .menu-content {
        width: 100%;
        margin: 0 auto;
        background-color: #001040;
    }
    
    .menu-content ul {
        width: 1000px;
        margin: 0 auto;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }
    
    .menu-content ul li a {
        color: #fff;
        text-decoration: none;
        padding: 20px 10px 20px;
        display: block;
    }
    
    .jst_logo {
        margin-top: 15px;
    }
    
    .menu-content form {
        display: none;
    }
    .jst_logo_sp {
        display: none;
    }

}


/*---------------------------------------------
  Humberger
  ---------------------------------------------*/

@media screen and (max-width:767px) {
    .menu-btn {
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        height: 65px;
        width: 65px;
        justify-content: center;
        align-items: center;
        z-index: 90;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 2px;
        width: 25px;
        border-radius: 3px;
        background-color: #001040;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }

    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    
}

/*---------------------------------------------
  Original Checkbox is hidden
  ---------------------------------------------*/

/*チェックボックスを非表示*/
#menu-btn-check {
    display: none;
}

/*---------------------------------------------
  Menu_SP
  ---------------------------------------------*/

@media screen and (max-width:767px) {
    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 80;
        background-color: #3584bb;
    }
    .menu-content ul {
        background-color: #001040;
        padding: 0 10px 0;
        z-index: 999;
    }
    .menu-content ul li {
        border-bottom: solid 1px #707070;
        list-style: none;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 1em;
        box-sizing: border-box;
        color:#ffffff;
        text-decoration: none;
        padding: 19px 15px 20px 0;
        position: relative;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 20px;
        top: 29px;
    }

}


/*---------------------------------------------
  メニューを画面の外へ
  ---------------------------------------------*/

@media screen and (max-width:767px) {
    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 998;
        background-color: #fff;
        transition: all 0.5s;/*アニメーション設定*/
        margin-top: 66px;
        
        overflow-y:scroll;
        padding-bottom: 80px;
    }
}


/*---------------------------------------------
  メニューを画面の内へ
  ---------------------------------------------*/

@media screen and (max-width:767px) {
    #menu-btn-check:checked ~ .menu-content {
        left: 0;/*メニューを画面内へ*/
    }
}

/*---------------------------------------------
  Content
  ---------------------------------------------*/

.contents {
    width: 1000px;
    margin: 0 auto;
    padding-bottom: 20px;
}

/*---------------------------------------------
  Bread
  ---------------------------------------------*/

.bread {
    margin: 20px 0 20px;
}

.bread ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.bread ul li {
    font-size: 0.875em;
    margin-left: 15px;
}

.bread ul li a {
    font-size: 1em;
    color: #016ACF;
    margin-right: 15px;
}

/*---------------------------------------------
  conts_wrap
  ---------------------------------------------*/

.conts_wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding-top: 20px;
    padding-bottom: 80px;
}

.side_cont {
    width: 248px;
}

.main_cont {
    width: 712px;
}

/*---------------------------------------------
  side_cont
  ---------------------------------------------*/

a.previous_bt {
    padding: 15px 15px 15px 15px;
    background-color: #3B5A6C;
    display: block;
    width: 248px;
    position: relative;
    margin-bottom: 15px;
}

a.previous_bt span {
    font-weight: 500;
    color: #fff;
}

a.previous_bt:after{
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
    transform: rotate(45deg);
}

.side_ban_area {
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    padding: 10px 8px;
    width: 100%;
}

.side_ban_area img {
    width: 228px;
    display: block;
    margin: 0 auto 10px;
}

.side_ban_area img:last-child {
    margin-bottom: 0;
}

.side_ban_area a {
    display: block;
}

a.mail_maga {
    margin-bottom: 10px;
}


/*---------------------------------------------
  main_cont
  ---------------------------------------------*/

.main_cont h1 {
    font-size: 2em;
    font-weight: 500;
    margin-bottom: 20px;
    margin-top: -10px;
    color: #001040;
}

.main_cont h2 {
    font-size: 1.75em;
    margin-bottom: 30px;
    padding-left: 42px;
    text-indent: -42px;
    line-height: normal;
    color: #001040;
}

.main_cont h2:before {
    content: '';
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url(../img/title_ic01.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-top: -4px;
    margin-right: 10px;
}

.main_cont .intro {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 40px;
}

.outline > p {
    padding-bottom: 5px;
}

.outline > p > span {
    width: 60px;
    display: inline-block;
}

a.apply_bt {
    display: block;
    min-width: 297px;
    background: #016ACF;
    padding: 20px 20px 20px 20px;
    z-index: 1;
}

a.apply_bt span {
    color: #fff;
    position: relative;
}

a.apply_bt span:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 28px;
    background-image: url(../img/apply_bt_ic01.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 10px;
}

a.apply_bt span:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/apply_bt_ic02.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    top: 5px;
    right: -21px;
}

.announce_block {
    padding: 20px 20px;
    background: #fff;
    border: 1px solid #707070;
    margin-top: 20px;
}

.announce_block p {
    margin-bottom: 8px;
}

.block {
    margin-top: 40px;
}

.pre_details {
    margin-bottom: 50px;
}

.pre_list {
    padding: 25px 30px 25px 30px;
    background: #fff;
    box-shadow: 0px 6px 5px -5px rgb(195 195 195 / 50%);
}

.pre_list li {
    padding-bottom: 10px;
}

.detail_title {
    border-bottom: 2px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

a.pdf,
a.movie {
    display: inline-block;
    margin-left: 30px;
    color: #016ACF;
    text-decoration: underline;
}

a.pdf:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/pdf_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 8px;
    margin-top: -5px;
}

a.pdf:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/link_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 8px;
    margin-top: -3px;
}

a.movie:before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 17px;
    background-image: url(../img/movie_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 8px;
    margin-top: -3px;
}

a.movie:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/link_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 8px;
    margin-top: -3px;
}

.pre_list a {
    color: #016ACF;
    text-decoration: underline;
    display: block;
    padding-bottom: 5px;
}

.pre_list a.pdf {
    display: inline-block;
    margin-left: 30px;
}

.pre_list a.movie {
    display: inline-block;
    margin-left: 30px;
}

ul.basic_info {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

ul.basic_info li {
    margin-right: 10px;
}

ul.basic_info li.time {
    color: #016ACF;
    font-weight: 500;
    font-size: 1.125em;
}

ul.basic_info li.cate {
    color: #D13104;
    font-weight: 500;
    border: 1px solid #D13104;
    min-width: 164px;
    background: #fff;
    text-align: center;
}

.pre_details h3 {
    color: #001040;
    font-size: 1.25em;
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 6px;
}

.pre_details h4 {
    background: #E6E6E6;
    border-left: 2px solid #2895D3;
    padding: 7.5px 10px;
    margin-bottom: 15px;
}

.profile {
    text-align: right;
}

.profile a {
    color: #016ACF;
    text-decoration: underline;
}

.profile a.name:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/link_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -5px;
}

.pre_details .column {
    margin-top: 20px;
}

.pre_details .column ul {
    list-style: disc
}

.pre_details .column ul li {
    margin-left: 1.5em;
}

.contact_box {
    padding: 25px 20px 25px 20px;
    background: #fff;
    border: 1px solid #707070;
}

.contact_box > p {
    margin-top: 20px;
	margin-bottom: 20px;
}

.contact_box h5 {
    color: #001040;
    font-weight: 500;
    font-size: 1.125em;
    margin-bottom: 15px;
}

div.office {
    padding-top: 0;
}

.contact_box .mail {
    color: #016ACF;
    text-decoration: underline;
}

.contact_box .mail img{
    vertical-align: middle;
    width: 15px;
}

.contact_box .url {
    color: #016ACF;
}

.contact_box .url:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/link_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -5px;
}

/*---------------------------------------------
  footer
  ---------------------------------------------*/

footer {
    background: #333333;
    color: #fff;
}

.ft_inner {
    width: 1000px;
    margin: 0 auto;
    padding: 15px 0 5px;
}

.ft_inner p {
    color: #fff;
    font-size: 0.875em;
}

.ft_inner a {
    color: #fff;
    font-size: 0.875em;
    text-decoration: underline;
}

.ft_inner span {
    color: #fff;
}

.ft_inner span img {
    vertical-align: middle;
    width: 15px;
}

.ft_inner a.external_link:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/apply_bt_ic02.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-top: -2px;
    margin-left: 10px;
}

.ft_top {
    padding: 20px 0 20px;
}

ul.ft_links {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 20px 0 20px;
}

.ft_links li {
    color: #fff;
    font-size: 0.875em;
}

.ft_links li a {
    font-size: 1em;
    margin-left: 20px;
}

.ft_border {
    border-top: 1px solid #505050;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}


/*---------------------------------------------
  LIST PAGE
  ---------------------------------------------*/

.flex01 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.page_list > dl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.page_list > dl > dt {
    width: 27%;
    padding-right: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 15px;
}

.page_list > dl > dd {
    width: 73%;
    padding-bottom: 15px;
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 15px;
    text-decoration: underline;
}

.side_cont .side_title {
    font-weight: 500;
    padding: 10px 0;
    border-top: 1px solid #001040;
    border-bottom: 1px solid #001040;
    text-align: center;
    color: #001040;
}

ul.years {
    margin-top: 10px;
    margin-bottom: 20px;
}

ul.years li {
    border-bottom: 1px solid #CCCCCC;
}

ul.years li:last-child {
    border-bottom: none;
}

ul.years li a {
    display: block;
    padding: 10px 5px 10px 5px;
    position: relative;
    
}

ul.years li a:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #016ACF;
    border-right: solid 2px #016ACF;
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -4px;
    transform: rotate(45deg);
}

.list_side .side_ban_area {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}

.side_cont.list_side {
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    padding: 20px 8px 10px;
}


/*---------------------------------------------
  PICKUP
  ---------------------------------------------*/

.block.pickup_item {
    padding-bottom: 10px;
    margin-top: 30px;
}

.main_cont .pickup_item h2 {
    color: #001040;
    font-size: 1.25em;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    font-weight: 500;
}

.pickup_item h2:before {
    content: none;
}

.pickup_item > span {
    font-size: 0.875em;
    display: block;
    margin-top: 15px;
}

.more_bt {
    display: block;
    font-weight: 500;
    color: #fff;
    background: #3B5A6C;
    width: 344px;
    max-width: 100%;
    padding: 14px 20px;
    position: relative;
    margin-top: 30px;
    margin-left: auto;
}

.more_bt:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
    transform: rotate(45deg);
}

.session_ban {
    display: block;
    width: 100%;
    position: relative;
}

.session_ban img {
    display: block;
}

.session_ban h2 {
    position: absolute;
    top: 35px;
    left: 30px;
}

.session_ban h2:before {
    content: none;
}

.session_ban .more_bt {
    width: 196px;
    position: absolute;
    right: 0;
    bottom: 0;
    background: rgba(59,90,108,0.7);
}

/*---------------------------------------------
  マッチング事例
  ---------------------------------------------*/

.main_cont .pickup_item h2 span {
    display: block;
    font-size: 0.8em;
}

.flex01 .f366 {
    width: 366px;
}

.flex01 .f310 {
    width: 310px;
}

/*---------------------------------------------
  新技術説明会とは
  ---------------------------------------------*/

.w_imgbox {
    background: #fff;
    border: 1px solid #707070;
    text-align: center;
    padding: 30px 15px;
    margin: 30px auto 30px;
}

.w_imgbox img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

ul.keishiki {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 30px 0 30px;
}

ul.keishiki li {
    width: 24%;
}

ul.keishiki li > div {
    padding: 10px 15px 15px;
    border-radius: 20px;
    height: 100%;
}

ul.keishiki li:first-child > div {
    background: #016ACF;
}

ul.keishiki li:nth-child(2) > div {
    background: #EE9BAD;
}

ul.keishiki li:nth-child(3) > div {
    background: #77B778;
}

ul.keishiki li:nth-child(4) > div {
    background: #D8B60F;
}

ul.keishiki li p {
    color: #fff;
    font-size: 1.25em;
    text-align: center;
    margin-bottom: 5px;
}

ul.keishiki li span {
    color: #fff;
    font-size: 0.813em;
    display: block;
    line-height: normal;
}

.link_tx {
    text-align: right;
    margin-top: 20px;
}

.link_tx a {
    color: #016ACF;
    position: relative;
    display: inline-block;
    margin-left: auto;
}

.link_tx a:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #016ACF;
    border-right: solid 2px #016ACF;
    display: inline-block;
    transform: rotate(45deg);
    margin-left: 10px;
    vertical-align: middle;
    margin-top: -4px;
}

a.link_tx {
    color: #016ACF;
    position: relative;
    text-align: left;
}

a.link_tx:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #016ACF;
    border-right: solid 2px #016ACF;
    display: inline-block;
    transform: rotate(45deg);
    margin-left: 10px;
    vertical-align: middle;
    margin-top: -4px;
}

a.link_tx:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/external_link.png);
    background-size: contain;
    vertical-align: middle;
}

a.exlink_tx {
    color: #016ACF;
    text-align: left;
}

a.exlink_tx:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/external_link.png);
    background-size: contain;
    vertical-align: middle;
    margin-top: -4px;
    margin-left: 7px;
}

.tile_block {
    box-sizing: border-box;
    position: relative;
}

.tile_block:after {
    content: '';
    display: block;
    clear: both;
}

.his_data {
    width: 345px;
    background: #fff;
    border: 1px solid #707070;
    padding: 20px 20px 30px 20px;
    display: block;
    vertical-align: top;
    float: left;
}

img.w274 {
    width: 274px;
    display: block;
    margin: 0 auto;
}

img.w313 {
    width: 313px;
    display: block;
    margin: 0 auto;
}

.his_data h3 {
    color: #001040;
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: 15px;
}

.his_data .number {
    font-size: 5.75em;
    font-weight: 500;
    color: #016ACF;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
}

.his_data .number.number01 {
    font-size: 5.3em;
}

.his_data .number span {
    font-size: 0.304em;
    font-weight: 700;
    margin-left: 10px;
}

.his_data .number.number01 span {
    margin-left: 0;
}

.his_data.grid01 {
    margin-right: 22px;
}

.his_data.grid02 {
    margin-bottom: 30px;
}

.his_data.grid03 {
    margin-right: 22px;
    margin-top: 30px;
}

.his_data.grid04 {
    margin-top: 30px;
}

.his_data.grid05 {
    margin-top: -120px;
}

.his_data img {
    display: block;
    margin: 15px auto 0;
    max-width: 100%;
}

/*---------------------------------------------
  発表機関一覧
  ---------------------------------------------*/

.organ_list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.organ_list > li {
    width: 22%;
    margin-right: 4%;
}

.organ_list > li:nth-of-type(4) {
    margin-right: 0;
}

.organ_list > li > ul {
    display: block;
}

.organ_list > li > ul > li {
    font-size: 0.938em;
    line-height: normal;
    padding-bottom: 7px;
}

/*---------------------------------------------
  アクセス
  ---------------------------------------------*/

.access_wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.access_wrap_l {
    width: 435px;
}

.access_wrap_r {
    width: 260px;
}

.access_wrap_r h3 {
    font-size: 1.25em;
    font-weight: 500;
    border-bottom: 2px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    padding-bottom: 7px;
    margin-bottom: 20px;
}

ul.access {
    margin-top: 20px;
    margin-bottom: 20px;
}

ul.access li {
    list-style-type: none;
    padding-left: 0.5em;
    position: relative;
}

ul.access li:before {
    background-color: #001040;
    border-radius: 50%;
    content: '';
    position: absolute;
    top: .6em;
    left: -.5em;
    width: 6px;
    height: 6px;
}

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

dl.contact_links {
    margin-top: 30px;
    border-top: 3px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    padding-top: 20px;
    display: flex;
    flex-wrap: wrap;
}

dl.contact_links dt {
    width: 60%;
    margin-bottom: 5px;
}

dl.contact_links dd {
    width: 40%;
    margin-bottom: 5px;
}

p.contact_tx01 {
    font-size: 1.125em;
    color: #016ACF;
}

p.contact_tx02 {
    margin-bottom: 30px;
}

p.contact_tx02 img {
    width: 15px;
    vertical-align: middle;
}

/*---------------------------------------------
  添付資料
  ---------------------------------------------*/

.page_list > dl > dd.attached:after {
    content: '';
    display: inline-block;
    width: 23px;
    height: 22px;
    background-image: url(../img/attach_ic.png);
    background-size: contain;
    vertical-align: middle;
    margin-top: -4px;
    margin-left: 6px;
}

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

.qa_wrap {
    margin-top: 40px;
}

.qa_wrap .question {
    background: #fff;
    border: 1px solid #016ACF;
    padding: 12px 15px;
}

.qa_wrap .question p {
    font-size: 16px;
    font-weight: 500;
    padding-left: 29px;
    text-indent: -29px;
    line-height: 1.3;
}

.qa_wrap .question p:first-child:before {
    content: '';
    display: inline-block;
    width: 23px;
    height: 31px;
    background-image: url(../img/q_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-top: -4px;
    margin-right: 6px;
}

.qa_wrap .answer {
    padding: 20px 0 20px;
}

.qa_wrap .answer > p {
    font-size: 16px;
    margin-bottom: 20px;
}

.qa_wrap .answer a {
    color: #016ACF;
    text-decoration: underline;
}

.qa_wrap .answer > a {
    font-size: 16px;
    display: block;
    margin-bottom: 20px;
}

.qa_wrap .answer > img {
    margin-bottom: 20px;
}

/*---------------------------------------------
  連携・ライセンスについて
  ---------------------------------------------*/

.tech_kobetsu h4 {
    font-size: 1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #333333;
    line-height: normal;
}

.tech_kobetsu a {
    font-size: 1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    color: #016ACF;
    line-height: normal;
}

.tech_kobetsu a:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/link_ic.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -5px;
}

.tech_kobetsu img {
    width: 15px;
}

.tech_kobetsu {
    margin-bottom: 20px;
}


/*---------------------------------------------
  開催機関向け
  ---------------------------------------------*/

.wrapper {
    overflow: hidden;
}

.wh_box {
    padding: 20px 20px;
    background: #fff;
    border: 1px solid #707070;
    margin-top: 20px;
}

a.mailto {
    color: #016ACF;
}

.hold_schedule ul li {
    background: #DFE9F2;
    border: 1px solid #016ACF;
    padding: 12px 10px 12px;
    border-radius: 10px;
}

.hold_schedule ul li p {
    font-weight: 500;
    color: #016ACF;
    text-align: center;
}

.hold_schedule ul li p span {
    font-size: 14px;
    color: #333333;
    display: block;
    margin-top: 5px;
}

.hold_schedule ul li.sh_ar {
    padding: 13px 0;
    background: transparent;
    border: none;
}

.hold_schedule ul li.sh_ar img {
    width: 24px;
    height: 24px;
    display: block;
    margin: 0 auto;
}

.forhost .pre_list a.pdf {
    margin-left: 0;
}

/*---------------------------------------------
  分野別実績
  ---------------------------------------------*/

.side_ban_area a.about_ban {
    display: block;
    width: 100%;
    height: 67px;
    border: 1px solid #333;
    box-sizing: border-box;
    margin-top: 10px;
    padding: 2px;
    background: #fff;
}

.side_ban_area a.about_ban > span {
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(1,106,207,0.14);
    position: relative;
}

.side_ban_area a.about_ban > span span {
    font-weight: 500;
    font-size: 0.81em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
}

.side_ban_area a.about_ban > span span:before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 26px;
    background-image: url(../img/about_ic.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 5px;
}

p.result_tx {
    font-size: 0.875em;
}

.result_list {
    margin-top: 35px;
}

.result_list > ul li {
    width: 100%;
    padding-right: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #CCCCCC;
    margin-bottom: 15px;
}

.result_list > ul li:last-child {
    border-bottom: none;
}

.result_list > ul li > div {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin-bottom: 8px;
}

.result_list > ul li > div p {
    width: 130px;
    min-width: 130px;
    margin-right: 10px;
}

.result_list > ul li > div a {
    font-weight: 500;
    color: #016ACF;
    text-decoration: underline;
}

.result_list > ul li > p {
    font-size: 0.75em;
    margin-left: 140px;
}

.result_list > ul li > p a {
    color: #016ACF;
    display: inline-block;
}

.result_list > ul li > p a:after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url(../img/link_ic_s.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 5px;
    margin-top: -3px;
}

/*---------------------------------------------
  グローバルメニュー
  ---------------------------------------------*/

/* チェックボックスを非表示 */
#navi input {
  display: none;
}

#navi {
    position: relative;
}

#navi li div.c01{
    visibility: hidden;
    opacity: 0;
    z-index: 99;
    position: absolute;
    top: 64px;
    left: 0;
    margin-left: -80px;
    width: 100%;
    background: #27386E;
    box-sizing: border-box;
    padding: 4px 20px;
/*
    visibility: visible;
    opacity: 1;
*/
}

.c01 p,
.c01 a,
.c01 span {
    color: #fff;
}

@media screen and (min-width:768px) {
    #navi li:hover div.c01 {
        visibility: visible;
        transition: all .8s;
        opacity: 1;
    }
    .c01Cont {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        padding: 30px 30px 30px;
    }
    .c01Cont_l {
        width: 220px;
        min-width: 220px;
        margin-right: 40px;
    }
    .menu-content ul li .c01Cont_l > a {
        border-bottom: 1px solid #fff;
        padding: 0 0 10px 0;
        position: relative;
    }
    .c01Cont_l > a:before {
        content: '';
        background-image: url(../img/ch_ar_pc.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 14px;
        height: 14px;
        position: absolute;
        bottom: 15px;
        right: 10px;
    }
    .c01Cont_r {
        width: 500px;
        min-width: 500px;
    }
    .c01Cont_r > p {
        border-bottom: 1px solid #fff;
        padding-bottom: 10px;
    }
    .c01Cont_r ul {
        width: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        margin-top: 20px;
    }
    .c01Cont_r ul li {
        width: 31%;
        margin-right: 3.5%
    }
    .c01Cont_r ul li:nth-child(3n) {
        margin-right: 0;
    }
    .c01Cont_r ul li a {
        font-weight: 400;
        font-size: 0.875em;
        padding: 10px 10px 10px 0;
        border-bottom: 1px solid #455486;
        position: relative;
    }
    .c01Cont_r ul li a:after {
        content: '';
        background-image: url(../img/ch_ar_pc.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 14px;
        height: 14px;
        position: absolute;
        bottom: 12px;
        right: 10px;
    }
    
    
}

/*---------------------------------------------
  202207
  ---------------------------------------------*/

p.gene {
    margin-top: 40px;
    margin-bottom: 30px;
}

ul.numbers01 {
    display: flex;
    justify-content: space-between;
}

ul.numbers01 li {
    width: 345px;
}

.fig_box {
    border: 1px solid #707070;
    background: #fff;
    padding: 25px 20px 30px 20px;
}

.fig_box h3 {
    color: #001040;
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: 20px;
}

.fig_box h4.number {
    color: #016ACF;
    font-size: 5.75em;
    font-weight: 400;
    text-align: center;
}

.fig_box h4.number span {
    font-size: 28px;
    color: #333333;
    font-weight: 500;
}

.fig_box h4.number span.f_cap {
    display: block;
    font-size: 16px;
    font-weight: 400;
}

.fig_box p {
    font-size: 1em;
    font-weight: 500;
}

.fig_box .fig img {
    display: block;
    margin: 0 auto;
}

.times .fig {
    margin-top: 20px;
}

.times .fig img {
    width: 276px;
}

.audience01 .fig {
    margin-top: 20px;
}

.satisfy .fig {
    margin-top: 20px;
}

.satisfy .fig img {
    width: 265px;
}

.tec_area {
    width: 345px;
    margin-top: -210px;
}

.tec_area .fig img {
    width: 300px;
}

.numbers01.numbers02 {
    margin-top: 35px;
}

.numbers01.numbers03 {
    margin-top: 20px;
}

.fig_box.audience02 h4.number {
    margin-bottom: 15px;
}

.audience01 .fig img {
    width: 298px;
}

.audience02 .fig img {
    width: 296px;
}

.audience02 {
    margin-top: -280px;
}

/*---------------------------------------------
  Privacy Policy
  ---------------------------------------------*/

.privacy_wrap > p,
.privacy_wrap > a,
.privacy_wrap > div,
.privacy_wrap > span,
.privacy_wrap > ol {
    font-size: 0.938em;
    letter-spacing: 0.25px;
    line-height: 1.5;
}

.privacy_wrap > p {
    margin-bottom: 10px;
}

.privacy_wrap h2 {
    color: #001040;
    font-size: 1.25em;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    font-weight: 500;
    margin-top: 30px;
}

.privacy_wrap h2:before {
    content: none;
}

.privacy_wrap h3 {
    margin-top: 20px;
    color: #001040;
    font-weight: 400;
}

.privacy_wrap h3 span {
    font-size: 1em;
    color: #001040;
    font-weight: 500;
}

.privacy_wrap p a {
    font-size: 1em;
    color: #016ACF;
    text-decoration: underline;
    padding-left: 3px;
    padding-right: 3px;
}

.privacy_wrap ol {
    margin: 10px 0 10px 20px;
}

.privacy_wrap ol li {
    list-style-type: none;
    counter-increment: cnt;
    padding-left: 1.5em;
    text-indent: -1.5em;
}

.privacy_wrap ol li::before {
    content: "(" counter(cnt) ") ";
}

.privacy_wrap ol li a {
    font-size: 1em;
    color: #016ACF;
    text-decoration: underline;
    padding-left: 3px;
    padding-right: 3px;
}

.box {
    border: 1px solid #333;
    padding: 20px 20px 20px;
}

.privacy_wrap .tx_right {
    text-align: right;
}

.mt0 {
    margin-top: 0!important;
}

.mt10 {
    margin-top: 10px!important;
}

.mt20 {
    margin-top: 20px!important;
}

.mt30 {
    margin-top: 30px!important;
}

.mt40 {
    margin-top: 40px!important;
}

.mt50 {
    margin-top: 50px!important;
}

.privacy_wrap h2.center {
    font-size: 1.25em;
    border-bottom: none;
    text-align: center;
    padding: 0;
}

ul.num li {
    position: relative;
    margin-bottom: 5px;
}

ul.num li > span {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0.938em;
}

ul.num li > p {
    display: inline-block;
    padding-left: 30px;
    font-size: 0.938em;
}

ul.num li ul {
    margin-left: 30px;
}

.privacy_wrap > p.terms_tx {
    padding-left: 30px;
    margin-bottom: 5px;
}

.kadai_row .kadai .kadai_tit .tit {
    padding-top: 0;
    width: 100%;
    display: block;
    line-height: 1.5;
}

p.madoguchi img {
    width: 15px;
    vertical-align: middle;
}

/*---------------------------------------------
  パルステック工業株式会社
  ---------------------------------------------*/

.img_caption {
    font-size: 0.75em;
}

.jirei h3 {
    font-size: 1.25em;
    color: #001040;
    font-weight: 500;
    margin-top: 40px;
    padding-bottom: 10px;
    border-bottom: 4px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    margin-bottom: 20px;
}

.img_caption a {
    color: #016ACF;
}

.jirei > p {
    line-height: 1.6;
    margin-bottom: 10px;
}

.center_img {
    margin: 40px auto 40px;
    text-align: center;
}

.w345 {
    width: 345px;
    max-width: 100%;
}

.w612 {
    width: 612px;
    max-width: 100%;
}

.w230 {
    width: 230px;
    max-width: 100%;
}

.float_r {
    float: right;
    margin-top: 10px;
    margin-left: 25px;
}

.float_r .img_caption {
    margin-top: 5px;
}

.clear {
    clear: both;
    overflow: hidden;
}

.float_l {
    float: left;
    margin-bottom: 10px;
    margin-right: 25px;
}

.float_img_l> p,
.float_img_r > p {
    margin-bottom: 10px;
}

.right {
    text-align: right;
}

.pickup_title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.main_cont .pickup_item .pickup_title h2 {
    border-bottom: none;
    margin-bottom: 0;
}

.main_cont .pickup_item .pickup_title {
    border-bottom: 2px solid #001040;
    border-image: linear-gradient(to right, #001040 0%, #03ACEB 100%);
    border-image-slice: 1;
    margin-bottom: 20px;
}

.main_cont .pickup_item .pickup_title .date {
    padding-bottom: 10px;
    font-size: 0.875em;
}

a.detail_bt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #016ACF;
    padding: 12px 20px 12px 20px;
    color: #fff;
    margin-top: 20px;
    width: fit-content;
    min-width: 180px;
    border-radius: 3px;
}

a.detail_bt span {
    color: #fff;
    position: relative;
}

a.detail_bt span:after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/apply_bt_ic02.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-top: -4px;
margin-left: 10px;
}

.w310 {
    width: 310px;
    max-width: 100%;
}

/*202310*/

.li_box {
    padding: 30px 25px 20px 25px;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.li_box_tit {
    font-size: 1.125em;
    font-weight: 600;
    margin-bottom: 15px;
}

.li_box_list li {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.li_box_list li span.li_ic {
    display: block;
    min-width: 30px;
}

.flex_50 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.flex_50 > div {
    width: 49%;
}

.comment .char {
    font-weight: 600;
    color: #016ACF;
}

.jirei > p.comment {
    margin-bottom: 20px;
}

.jirei > p.interviewer {
    font-weight: 600;
    padding-left: 35px;
    position: relative;
}

.jirei > p.interviewer:before {
    content: '';
    display: block;
    width: 25px;
    height: 2px;
    background-color: #1c1c1c;
    position: absolute;
    top: 13px;
    left: 0;
}

.img_caption.tx_left {
    text-align: left;
}

.center_img {
    width: fit-content;
}

.matchList {
    margin-top: 40px;
}

.matchList li {
    display: flex;
    border-bottom: 1px solid #001040;
    padding-top: 25px;
    padding-bottom: 25px;
}

.matchList li > div:first-child {
    width: 180px;
    margin-right: 30px;
}

.matchList li > div:last-child {
    width: calc(100% - 210px);
}

.matchList li .ml_thum {
    display: block;
}

.matchList li .ml_thum img {
    display: block;
    width: fit-content;
    max-width: 100%;
}

.matchList li .ml_title01 {
    color: #016ACF;
    display: block;
    font-size: 20px;
    font-weight: 500;
}

.matchList li .ml_title01:hover {
    text-decoration: underline;
}

.matchList li .ml_title02 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 5px;
}

.matchList li .ml_date {
    display: block;
    margin-top: 10px;
    font-size: 15px;
}

/*202405*/
.side_ban_area a.fastar_ban {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #333;
    box-sizing: border-box;
    margin-top: 10px;
    padding: 2px;
}

/*---------------------------------------------
  case04
  ---------------------------------------------*/

.developer {
    margin-bottom: 20px;
}

.developer p {
    font-size: 0.875em;
    margin-bottom: 10px;
}

.developer p.tit {
    font-size: 1em;
    font-weight: 500;
}

.two_img {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.two_img > li {
    width: 49%;
    max-width: 345px;
}

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

.product_prof li.product_prof_img {
    width: 242px;
    margin-left: 23px;
}

.product_prof li.product_prof_text {
    width: calc(100% - 265px);
}

.product_prof li.product_prof_text .tit {
    font-size: 1.125em;
    font-weight: 600;
    margin-bottom: 15px;
}