@charset "utf-8";

/*-------------- 変数 --------------*/
:root {
    --main-color: #ddf1fa;
    --accent-color: #0d9ddb;
    --text-bk-color: #2c2b2b;
    --text-light-color: #fff;
    --bg-gray-color: #eeebe9;
    --red-color: #fc636b;
}

/* 共通 */
#u_cover {
    width: 100%;
    height: 284px;
    overflow: hidden;
    position: relative;
    top: 64px;
    left: 0;
}

.u_headline {
    width: 100%;
    position: absolute;
    top: 40%;
    /*z-index: 5;*/
}
.u_headline h1 {
    height: 100%;
    font-size: 2.5rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: var(--text-bk-color);
    color: #2c2b2b;
    line-height: normal;
}

/* cover */
#about #u_cover {
    width: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.8)), url(../images/u_coverimg01.jpg);
    background-position: center;
    background-size: cover;
    margin-bottom: 64px;
}
#initiatives #u_cover {
    width: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.8)), url(../images/u_coverimg02.jpg);
    background-position: center;
    background-size: cover;
    margin-bottom: 64px;
}
#support #u_cover {
    width: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.8)), url(../images/u_coverimg04.jpg);
    background-position: center 30%;
    background-size: cover;
    margin-bottom: 64px;
}
#competition #u_cover {
    width: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.8)), url(../images/slide03.jpg);
    background-position: center 30%;
    background-size: cover;
    margin-bottom: 64px;
}
#news #u_cover {
    width: 100%;
    background-image: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.8)), url(../images/u_coverimg05.jpg);
    background-position: center;
    background-size: cover;
    margin-bottom: 64px;
}

/* about */
.intro p {
    text-align: justify;
    font-size: 1.125rem;
}
.gr_txt p {
    margin-bottom: .5rem;
}
.txt20 {
    font-size: 1.25rem;
    line-height: 1.75;
}
.name {
    font-size: 1.5rem;
}

.about_list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: left;
}
.about_list dl dt {
    width: 20%;
    padding: 14px 0;
    border-bottom: 2px solid #0d9ddb;
}
.about_list dl dd {
    width: 80%;
    padding: 14px 0;
    border-bottom: 2px solid #827f7f;
}

.about_table {
    width: 100%;
    border-spacing: 0;
}
  
.about_table th{
    padding: 10px 0;
    font-weight: normal;
    background-color: var(--accent-color);
    background-color: #0d9ddb;
    border-bottom: 1px solid #827f7f;
    color: var(--text-light-color);
    color: #fff;
}
  
.about_table td{
    border-bottom: solid 1px #827f7f;
    text-align: center;
    padding: 10px 0;
}
.about_table tr:nth-child(even) {
    background-color: #eee;
}

/* initiatives */
.initiative_table {
    width: 100%;
    border-spacing: 0;
    margin-bottom: 8px;
}
.initiative_table thead th {
    padding: 10px 0;
    font-weight: normal;
    background-color: #0d9ddb;
    background-color: var(--accent-color);
    border-bottom: 1px solid #827f7f;
    color: #fff;
    color: var(--text-light-color);
}
.initiative_table thead th:not(:first-child) {
    border-left: 1px solid #fff;
}
.initiative_table tbody th {
    padding: 10px;
    font-weight: normal;
    background-color: #ddf1fa;
    background-color: var(--main-color);
    border-bottom: 1px solid #827f7f;
}
.initiative_table td {
    border-bottom: 1px solid #827f7f;
    border-left: 1px solid #827f7f;
}

.link_list {
    text-align: left;
}
.link_list dt {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 8px;
}
.link_list dt a {
    display: inline-block;
}
.link_list dt a:hover {
    color: #0d9ddb;
    color: var(--accent-color);
}
.link_list dd {
    margin-left: 1rem;
    margin-bottom: 1.5rem;
}
.inner_box {
    width: 100%;
    background-color: #fff;
    background-color: var(--text-light-color);
    border: 2px solid #fc636b;
    border-radius: 5px;
    padding: 24px;
    text-align: left;
}
.inner_box h3 {
    font-size: 1.375rem;
    line-height: normal;
    margin-bottom: 16px;
}
.inner_box ol {
    counter-reset: num;
    list-style-type: none;
    padding: 0;
    margin: 0 0 0 24px;
}
.inner_box ol li {
    position: relative;
    line-height: 1.75em;
    padding: .5em .5em .5em 32px;
}
.inner_box ol li::before {
    position: absolute;
    counter-increment: num;
    content: counter(num);
    display: inline-block;
    background: #827f7f;
    color: #fff;
    color: var(--text-light-color);
    font-size: 14px;
    border-radius: 50%;
    left: 0;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    top: 10px;
}

.video_box {
    position: relative;
    padding-top: 56.25%;
}
.video_box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.s_list {
    width: 100%;
    text-align: left;
}
.s_list dt {
    font-size: 1.25rem;
    margin-bottom: .5rem;
}
.s_list dt span {
    background: #fc636b;
    background: var(--red-color);
    border-radius: 25px;
    padding: .5em 1em;
    color: #fff;
    color: var(--text-light-color);
    font-weight: 600;
}
.s_list dd {
    margin-bottom: 1.5rem;
    margin-left: 2rem;
}
img.shadow {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 400px;
    -webkit-box-shadow: rgba(31,31,31,.5) 2px 2px 5px;
    -moz-box-shadow: rgba(31,31,31,.5) 2px 2px 5px;
    box-shadow: rgba(31,31,31,.5) 2px 2px 5px;
}
.in_mrl2 {
    margin-right: 2rem;
    margin-left: 2rem;
}

/* support */
.support_menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.support_menu li {
    /*width: 100%;*/
    padding: 0 40px;
    margin-bottom: 40px;
}
/* ホバーで下線が伸びる */
.support_menu li a {
    position: relative;
    text-decoration: none;
}
.support_menu li a::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    content: "";
    width: 100%;
    height: 1.5px; /*下線の太さ*/
    background: #0d9ddb; /*下線の色*/
    transition: transform .3s; /*アニメーション速度*/
    transform-origin: right top; /*アニメーションの起点*/
    transform: scale(0,1); /*幅は0*/
}
.support_menu li a:hover::after {
    transform-origin: left;
    transform: scale(1,1); /*幅を1に*/
}

.support_table {
    width: 100%;
    border-spacing: 0;
}
  
.support_table th{
    padding: 10px 0;
    font-weight: normal;
    background-color: #0d9ddb;
    border-bottom: 1px solid #827f7f;
    color: #fff;
}
.support_table th:not(:first-child) {
    border-left: 1px solid #fff;
}
.support_table th.head_b {
    width: 15%;
    padding: 10px;
    font-weight: normal;
    background-color: #ddf1fa;
    border-bottom: 1px solid #827f7f;
    color: #333;
}
.support_table td:first-of-type {
    width: 25%;
}
  
.support_table td{
    border-bottom: solid 1px #827f7f;
    text-align: center;
    padding: 10px 20px;
}
.support_table td {
    border-left: 1px solid #827f7f;
}
.support_table tr:nth-child(even) {
    background-color: #eee;
}
.support_table td:last-child {
    text-align: left;
}

/*-------------- CMS調整 --------------*/
/* 詳細ページ */
#news .date {
    text-align: right;
    margin-bottom: 24px;
}
.art_img {
    width: 100%;
    overflow: hidden;
}
.art_img img {
    object-fit: cover;
}
.file_list {
    text-align: left;
    padding-left: 2em;
    list-style-position: outside;
}
.file_list li {
    line-height: 1.4;
    letter-spacing: normal;
    margin-bottom: 1.5rem;
}
a.file_link {
    display: inline-block;
}
.file_link {
    padding-left: 22px;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-position: .06em 50%;
}
/*.pdf {
    background-image: url(../sugu/webdir/icons/pdf.gif);
}*/
.btn_c {
    padding-right: 20px;
    padding-left: 20px;
}
.btn_c a {
    width: 50%;
    margin: 0 auto;
    padding: .5em 1em;
    background-color: #ccc;
    border-radius: 2px;
}
/* 一覧ページ */
.article_list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: left;
}
.article_list dt {
    width: 20%;
}
.article_list dd {
    width: 80%;
}
.article_list dt,
.article_list dd {
    padding: 1em 2em;
    border-bottom: 1px solid #ccc;
}
.art_list_more a {
    margin: 0 auto;
    width: 20%;
    border: 2px solid #0d9ddb;
    border-radius: 2px;
    padding: .5em 1em;
}
.art_list_more a:hover {
    background-color: #0d9ddb;
    background-color: var(--accent-color);
    color: #fff;
    color: var(--text-light-color);
    transition: all .6s ease;
}
/* すぐつかCMS上書き */
#news_page h1 {
    font-size: 2.222rem;
    line-height: normal;
    margin: 0;
}
.page_nav small {
    white-space: nowrap;
    font-size: 17px;
}
ul.sugu-pagination {
    margin-bottom: 2em;
}
  
.filelink {
    display: inline-block;
    margin-right: 0;
    padding-right: 22px;
}