/* style_sp.css */

body, html {
    min-width: initial;
}

body {
	font-size: 1.4rem;
}

div, ul, li, p, ol, form, input, section, a, span, dl, dt, table, tr, th, td {
    line-height: normal;
}

header {
    box-shadow: 0px 6px 5px -5px rgba(195,195,195,0.5);
    position: fixed;
    top: 0;
    width: 100%;
    background: #fff;
    z-index: 999;
}

.header_top {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center;
    width: calc(100% - 50px);
    padding: 9px 0;
    z-index: 999;
}

.h_logo {
    width: 248px;
    margin-left: 10px;
	margin-right: auto;
}

.h_search {
    display: none;
}

.jst_logo {
    width: 38px;
}

a.entry_bt {
    display: block;
    margin-left: auto;
    text-decoration: none;
    border: 1px solid #001040;
    padding: 8px 7px 8px 7px;
    border-radius: 5px;
    margin-right: 10px;
}

a.entry_bt span {
    font-size: 0.688em;
    color: #001040;
    display: inline-block;
    line-height: 1.2;
}

a.entry_bt img {
    width: 25px;
    height: 24px;
    margin-right: 5px;
}

.jst_logo_sp {
	width: 190px;
	margin: 30px auto 0;
}

.sp {
    display: block!important;
}

.pc {
	display:none!important;
}

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

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

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

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

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

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

.mb0_sp {
    margin-bottom: 0!important;
}

.mb10_sp {
    margin-bottom: 10px!important;
}

.mb20_sp {
    margin-bottom: 20px!important;
}

.mb30_sp {
    margin-bottom: 30px!important;
}

.mb40_sp {
    margin-bottom: 40px!important;
}

.mt50_sp {
    margin-bottom: 50px!important;
}

/*--------------------
  Footer
  --------------------*/

.ft_inner {
    width: 100%;
    padding: 10px 20px 0;
}

.ft_top {
	display: block;
}

.ft_top_link {
	margin-top: 15px;
	display: block;
	width: fit-content;
}

ul.ft_links {
    flex-wrap: wrap;
	gap: 5px 10px;
}

.ft_links li {
    width: calc((100% - 10px) / 2);
}

.ft_logo {
	width: 248px;
}

.copyright p {
	font-size: 10px;
}

/*--------------------
  contents
  --------------------*/

.bread {
	margin-top: 52px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.bread > .inner01 {
	padding-left: 10px;
	padding-right: 10px;
}

.bread ul li {
	font-size: 1.0rem;
}

.bread ul li a {
	font-size: 1.0rem;
}

.bread ul li p {
	font-size: 1.0rem;
}

main {
	padding-top: 30px;
	padding-bottom: 100px;
}

.news_head h2 {
	font-size: 2.4rem;
}

.news_head p {
	font-size: 1.2rem;
}

.news_list {
	margin-top: 20px;
}

.news_list > li:first-child dl.news_item > dt {
	padding-top: 0;
}

dl.news_item {
	display: block;
}

dl.news_item > dt,
dl.news_item > dd {
	width: 100%;
}

dl.news_item > dt {
	padding-top: 15px;
	padding-bottom: 0;
	border-bottom: none;
	gap: 10px;
}

dl.news_item > dt .date {
	width: fit-content;
	padding-left: 0;
}

dl.news_item > dd {
	padding: 12px 0 15px 0;
}

dl.news_item > dd > p {
	padding-right: 30px;
}

.news_list > li > a dl.news_item > dd > p:after {
	right: 0;
}

dl.news_item > dd > p:after {
	right: 0;
}

ul.linkbtns_2c {
	width: 100%;
	margin: 60px auto 0;
	display: block;
}

ul.linkbtns_2c > li {
	width: 100%;
}

ul.linkbtns_2c > li:last-child {
	margin-top: 15px;
}

/*-----------------
  事業紹介
------------------*/

.nor_head h2 {
	font-size: 2.2rem;
}

h3 {
	font-size: 1.8rem;
}

.center_img {
	margin: 35px auto 35px;
}

/*--------------------
  公募情報
---------------------*/

.call_info {
	padding: 20px 20px 20px 20px;
}

.call_info .i_tit {
	font-size: 1.6rem;
	white-space: nowrap;
	width: auto;
	padding-right: 15px;
}

.call_info .i_cont {
	width: auto;
	padding-left: 15px;
	flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.call_info .i_cont .i_cont_date {
	font-size: 12px;
}

table.normal_tbl .col1,
table.normal_tbl .col2,
table.normal_tbl .col3,
table.normal_tbl .col4,
table.normal_tbl .col5,
table.normal_tbl .col6 {
	width: 100%;
}

table.normal_tbl,
table.normal_tbl tbody,
table.normal_tbl tr,
table.normal_tbl th,
table.normal_tbl td {
	display: block;
	width: 100%;
}

table.normal_tbl tr th,
table.normal_tbl tr td {
	padding: 10px 15px 10px 15px;
}

.remarks {
	font-size: 12px;
	margin-top: 10px;
}

ul.contact_text li.flex {
	display: block;
}

