@charset "utf-8";
/* CSS Document */
/* common propaty*************************/
header {
    width: 100%;
    border-bottom: solid 1px #ccc;
    padding: 10px 20px;
}
header > div {
    max-width: 800px;
    margin: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* padding: 10px; */
}
header > div a {
    display: block;
    width: 30%;
}
header > div a img {
    width: 100%;
}
article.index {
    max-width: 800px;
    margin: auto;
}
article.index * {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 14px;
}
article.index ul {
    padding: 0;
    list-style: none;
}
article.index p {
    margin: 0;
    text-align: justify;
}
footer {
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    background: #f3f2f2;
    padding-top: 25px;
    margin-top: 50px;
}
footer a {
    display: block;
    width: 300px;
    margin: 0 auto 20px;
}
footer a img {
    width: 100%;
}
footer div {
    padding: 10px;
    font-size: 13px;
    text-align: center;
    color: #000;
}
/*************************common propaty */
article.index > section.main {
    padding: 30px 0 30px;
    position: relative;
}
article.index > section.main > h2 {

    text-align: center;
    margin: 0 0 30px;
    letter-spacing: 0;
    line-height: 1;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items: center;
}
article.index > section.main > h2 span{
    font-size: 32px;
    font-weight: 700;
}
article.index > section.main > h2.college {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
article.index > section.main > h2.college::after {
    content: '短大編';
    display: block;
    font-size: 13px;
    letter-spacing: 0;
    color: #fff;
    font-weight: 500;
    background: #666;
    padding: 4px 6px;
    margin-left: 10px;
    line-height: 1;
}
article.index > section.main > h2 div{
    display: inline-block;
    background: #666;
    color: #fff;
    padding: 0.5em 0.55em 0.6em;
    font-weight: 500;
    font-size: 22px;
    line-height: 1;
    width: auto;
    text-align: center;
    margin-left: 0.5em;
    margin-top: 0.1em;
}
article.index > section.main > h2 div.univ {
    background: #187FC4;
}
article.index > section.main > h2 div.college {
    background: #BA79B1;
}
article.index > section.main > h2 div.vocational {
    background: #F08300;
}
article.index > section.main > p {
    text-align: justify;
    font-size: 15px;
    margin-bottom: 1em;
}
article.index > section.main nav {
    display: flex;
    justify-content: flex-end;
}
article.index > section.main nav a {
    position: relative;
    bottom: 0;
    right: 0;
    font-size: 14px;
    color: #000;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-left: 40px;
}
article.index > section.main nav a:after {
    content: '';
    width: 10px;
    height: 10px;
    display: block;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    transform: rotate(-45deg);
    position: relative;
    top: 1px;
}
article.index > section.main > a:hover {
    opacity: 0.7;
}
article.index > section.index_title {
    margin-top: 30px;
}
article.index > section.index_title ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 5px 0 0;
}
article.index > section.index_title ul li.title {
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* align-items: flex-end; */
    /* border-bottom: solid 2px #ccc; */
    padding: 5px 0;
}
article.index > section.index_title ul li.title h3 {
    line-height: 1;
    margin: 0;
    font-size: 22px;
    font-weight: 300;
    text-align: center;
    color: #fff;
    letter-spacing: 0.2em;
}
article.index > section.index_title ul li.title p {
    line-height: 1;
}
article.index > section.index_title ul li:not(.title) {
    width: 33%;
    margin-right: 0;
    margin-bottom: 20px;
}
article.index > section.index_title ul li:not(.title) a {
    display: block;
    padding-left: 70px;
    text-decoration: none;
    color: #000;
    position: relative;
}
article.index > section.index_title ul li:nth-child() a {
    padding-left: 60px;
}
article.index > section.index_title ul li:not(.title) a:hover {
    opacity: 0.8;
}
article.index > section.index_title ul li:not(.title) a::before {
    content: '';
    width: 44px;
    height: 44px;
    display: block;
    position: absolute;
    top: 0;
    left: 20px;
    border-radius: 50%;
    /*background-color: #ccc;*/
    background-repeat: no-repeat;
    background-size: contain;
}
article.index > section.index_title ul li:not(.title) a h4 {
    margin: 0;
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 5px;
    text-decoration: underline;
}
article.index > section.index_title ul li:not(.title) a div {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
article.index > section.index_title ul li:not(.title) a div > span {
    display: inline;
    /* align-items: center; */
    line-height: 1;
    margin-bottom: 5px;
    font-size: 13px;
}
article.index > section.index_title ul li:not(.title) a div span::after {
    content: '、';
}
article.index > section.index_title ul li:not(.title) a div span:last-child::after {
    content: none;
}
#index > section.index_title > ul.category_3 > li.link.ggcd_32 > a > div > span:nth-child(13)::after {
    content: none;
}
article.index > section.index_title ul li:not(.title) a div span.num {
    font-size: 10px;
    width: 16px;
    height: 16px;
    display: inline-block;
    text-align: center;
    vertical-align: 0px;
    padding-top: 2px;
    line-height: 1;
    border: solid 1px #000;
    border-radius: 50%;
    margin-right: 2px;
    margin-top: 0px;
    text-indent: 0;
}
article.index > section.index_title ul li:not(.title) a div > span.note {
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em
}
#index > section.index_link {
    margin-top: 0;
}
#index > section.index_link nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 0;
    padding-top: 20px;
    border-bottom: solid 1px #ccc;
}
#index > section.index_link nav:last-child{
    border-bottom:none;
}
#index > section.index_link nav h5 {
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#index > section.index_link nav h5::before {
    content: '';
    width: 40px;
    height: 40px;
    display: block;
    margin-right: 5px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: contain;
}
#index > section.index_link nav a {
    display: flex;
    align-items: center;
    width: 50%;
    margin-right: 0;
    padding-right: 30px;
    margin-bottom: 20px;
    text-decoration: none;
    color: #000;
    height: 80px;
    position: relative;
}
#index > section.index_link nav a::after {
    content: '';
    width: 15px;
    height: 15px;
    display: block;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    transform: rotate(-45deg);
    position: absolute;
    top: calc(50% - 10px);
    right: 40px;
}
#index > section.index_link nav a:hover {
    opacity: 0.7;
}
#index > section.index_link nav a img {
    width: 70px;
    height: auto;
    margin-right: 5px;
}
#index > section.index_link nav a ul {
    width: calc(100% - 110px);
}
#index > section.index_link nav a ul li.title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 5px;
    line-height: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 25px;
    position: relative;
}
#index > section.index_link nav a ul li.title span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    /* background:#999; */
    border: solid 1px #000;
    border-radius: 50%;
    margin-right: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #000;
    position: absolute;
    top: -1px;
    left: 0;
}
#index > section.index_link nav a ul li:not(.title) {
    font-size: 11px;
    padding-left: 1em;
    text-indent: -1em;
}
#index > section.index_link nav a ul li:not(.title)::before {
    content: '・';
}
/*colors and icon*/
ul.category_1 {
    background: #FCE7EC;
}
ul.category_2 {
    background: #FDF0DF;
}
ul.category_3 {
    background: #ECF6E6;
}
ul.category_4 {
    background: #DDF4F8;
}
ul.category_1 li.title, ul.category_1 li:not(.title) a::before, #index > section.index_link nav.category_1 h5::before {
    background-color: #EA6182;
}
ul.category_2 li.title, ul.category_2 li:not(.title) a::before, #index > section.index_link nav.category_2 h5::before {
    background-color: #F3982D;
}
ul.category_3 li.title, ul.category_3 li:not(.title) a::before, #index > section.index_link nav.category_3 h5::before {
    background-color: #7DC058;
}
ul.category_4 li.title, ul.category_4 li:not(.title) a::before, #index > section.index_link nav.category_4 h5::before {
    background-color: #1BB8CE;
}
li.ggcd_11 a::before, h5.ggcd_11::before {
    background-image: url(../images/icons/icon_ggcd11.svg);
}
li.ggcd_12 a::before, h5.ggcd_12::before {
    background-image: url(../images/icons/icon_ggcd12.svg);
}
li.ggcd_13 a::before, h5.ggcd_13::before {
    background-image: url(../images/icons/icon_ggcd13.svg);
}
li.ggcd_14 a::before, h5.ggcd_14::before {
    background-image: url(../images/icons/icon_ggcd14.svg);
}
li.ggcd_15 a::before, h5.ggcd_15::before {
    background-image: url(../images/icons/icon_ggcd15.svg);
}
li.ggcd_21 a::before, h5.ggcd_21::before {
    background-image: url(../images/icons/icon_ggcd21.svg);
}
li.ggcd_22 a::before, h5.ggcd_22::before {
    background-image: url(../images/icons/icon_ggcd22.svg);
}
li.ggcd_23 a::before, h5.ggcd_23::before {
    background-image: url(../images/icons/icon_ggcd23.svg);
}
li.ggcd_24 a::before, h5.ggcd_24::before {
    background-image: url(../images/icons/icon_ggcd24.svg);
}
li.ggcd_25 a::before, h5.ggcd_25::before {
    background-image: url(../images/icons/icon_ggcd25.svg);
}
li.ggcd_31 a::before, h5.ggcd_31::before {
    background-image: url(../images/icons/icon_ggcd31.svg);
}
li.ggcd_32 a::before, h5.ggcd_32::before {
    background-image: url(../images/icons/icon_ggcd32.svg);
}
li.ggcd_33 a::before, h5.ggcd_33::before {
    background-image: url(../images/icons/icon_ggcd33.svg);
}
li.ggcd_41 a::before, h5.ggcd_41::before {
    background-image: url(../images/icons/icon_ggcd41.svg);
}
li.ggcd_42 a::before, h5.ggcd_42::before {
    background-image: url(../images/icons/icon_ggcd42.svg);
}
li.ggcd_43 a::before, h5.ggcd_43::before {
    background-image: url(../images/icons/icon_ggcd43.svg);
}
li.ggcd_44 a::before, h5.ggcd_44::before {
    background-image: url(../images/icons/icon_ggcd44.svg);
}
li.ggcd_45 a::before, h5.ggcd_45::before {
    background-image: url(../images/icons/icon_ggcd45.svg);
}
li.ggcd_46 a::before, h5.ggcd_46::before {
    background-image: url(../images/icons/icon_ggcd46.svg);
}
li.ggcd_47 a::before, h5.ggcd_47::before {
    background-image: url(../images/icons/icon_ggcd47.svg);
}
#index > section.index_link nav.category_1 h5 {
    color: #EA6182;
}
#index > section.index_link nav.category_2 h5 {
    color: #F3982D;
}
#index > section.index_link nav.category_3 h5 {
    color: #7DC058;
}
#index > section.index_link nav.category_4 h5 {
    color: #1BB8CE;
}
section.senmon_index_link nav {
    display: flex;
    flex-wrap: wrap;
}
section.senmon_index_link nav a {
    display: flex;
    align-items: center;
    width: 50%;
    padding: 5px;
    border-bottom: solid 2px #fff;
    text-decoration: none;
    position: relative;
}
section.senmon_index_link nav a:nth-child(odd) {
    border-right: solid 2px #fff;
}
section.senmon_index_link nav a img {
    width: 80px;
    margin-right: 10px;
}
section.senmon_index_link nav a p {
    color: #000;
    font-size: 16px;
    font-weight: 400;
    display: block;
    line-height: 1;
    width: calc(100% - 90px);
}
section.senmon_index_link nav a p span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    line-height: 1;
    border: solid 1px #000;
    border-radius: 50%;
    margin-right: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #000;
    /*
    position:absolute;
    left:0;
    top: calc(50% - 10px);
    */
    vertical-align: 2px;
}
section.senmon_index_link nav a::after {
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    transform: rotate(-45deg);
    position: absolute;
    top: calc(50% - 10px);
    right: 20px;
}
section.senmon_index_link nav.category_1 a {
    background: #FDF0DF;
}
section.senmon_index_link nav.category_2 a {
    background: #ECF6E6;
}
section.senmon_index_link nav.category_3 a {
    background: #DDF4F8;
}
section.senmon_index_link nav.category_4 a {
    background: #d6e4f5;
}
section.senmon_index_link nav.category_5 a {
    background: #e4dff0;
}
section.senmon_index_link nav.category_6 a {
    background: #FCE7EC;
}
@media screen and (max-width: 640px) {
    header {
        padding: 0;
        border: none;
    }
    header > div{
        height: 40px;
        width: 100%;
        padding: 0 2vw;
        border-bottom: solid 1px #ccc;
    }
    header > div a {
        width: 50%;
        margin: 0;
        padding: 0;
        line-height: 1;
    }
    header > div div {
        padding: 2vw;
        font-size: 3.4vw;
    }
    footer{
        padding: 4vw 0 3vw;
    }
    footer a {
        width: 60%;
        margin: 0 auto 4vw;
    }
    footer a img {
        width: 100%;
    }
    footer div {
        padding: 0;
        font-size: 3vw;
    }
    article.index > section.main {
        padding: 5vw 0 4vw;
    }
    article.index > section.main > h2{
        display:block;
    }
    article.index > section.main > h2 span{
        font-size: 6vw;
        margin: 0;
        display:block;
    }
    article.index > section.main > h2 div{
        margin-top:3vw;
        font-size:5vw;
        padding:1vw 1.5vw 1.5vw;
        margin-left:0;
    }
    article.index > section.main > p {
        margin: 2vw 0 0;
        padding: 2vw 4vw;
        text-align: justify;
    }
    article.index > section.main > p br {
        display: none;
    }
    article.index > section.main > a {
        right: 4vw;
        padding: 2vw;
    }
    article.index > section.main nav {
        padding-right: 5vw;
    }
    article.index > section.main nav a {
        position: relative;
        bottom: 0;
        right: 0;
        font-size: 3.4vw;
        color: #000;
        display: flex;
        align-items: center;
        line-height: 1;
        margin-left: 6vw;
        padding: 2vw 2vw;
    }
    article.index > section.main nav a:after {
        width: 2.5vw;
        height: 2.5vw;
        position: relative;
        top: 0.2vw;
    }
    article.index > section.index_title {
        margin-top: 6vw;
        padding: 0;
    }
    article.index > section.index_title ul {
        margin: 1vw 0 0;
        padding: 4vw;
    }
    article.index > section.index_title ul li.title {
        width: 100%;
        margin-bottom: 4vw;
        padding: 2vw 0;
    }
    article.index > section.index_title ul li.title h3 {
        margin: 0;
        font-size: 5;
        margin-right: 0;
        margin-bottom: 0;
        width: 100%;
        text-align: center;
    }
    article.index > section.index_title ul li.title p {
        font-size: 3.4vw;
    }
    article.index > section.index_title ul li:not(.title) {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2vw;
    }
    article.index > section.index_title ul li:not(.title) a {
        padding-left: 12vw;
    }

    article.index > section.index_title ul li:not(.title) a::before {
        width: 10vw;
        height: 10vw;
        top: 0;
        left: 0;
        border-radius: 50%;
    }
    article.index > section.index_title ul li:not(.title) a h4 {
        margin: 0 0 1vw;
        font-weight: 500;
        font-size: 4vw;
    }
    article.index > section.index_title ul li:not(.title) a div span {
        font-size: 3.2vw;
        margin-bottom: 0.5vw;
    }
    #index > section.index_link {
        margin-top: 0;
        padding: 0 4vw;
    }
    #index > section.index_link nav {
        margin-bottom: 4vw;
        padding-top: 0;
        border-bottom: none;
    }
    #index > section.index_link nav h5 {
        font-size: 5vw;
        margin-bottom: 3vw;
    }
    #index > section.index_link nav h5::before {
        content: '';
        width: 10vw;
        height: 10vw;
        margin-right: 1vw;
    }
    #index > section.index_link nav a {
        width: 100%;
        margin-right: 0;
        margin-bottom: 3vw;
        align-items: flex-start;
        border-bottom: solid 1px #ddd;
        height: auto;
        padding-bottom: 3vw;
        padding-right: 4vw;
    }
    #index > section.index_link nav a:hover {
        opacity: 1;
    }
    #index > section.index_link nav a img {
        width: 20vw;
        height: auto;
        margin-right: 2vw;
    }
    #index > section.index_link nav a ul {
        width: calc(100% - 22vw);
        margin: 0;
    }
    #index > section.index_link nav a ul li.title {
        font-size: 4vw;
        margin-bottom: 1vw;
    }
    #index > section.index_link nav a ul li.title span {
        width: 5vw;
        height: 5vw;
        margin-right: 1vw;
        font-size: 3vw;
    }
    #index > section.index_link nav a ul li:not(.title) {
        font-size: 3vw;
        padding-left: 1em;
        text-indent: -1em;
    }
    #index > section.index_link nav a::after {
        content: '';
        width: 15px;
        height: 15px;
        display: block;
        border-right: solid 1px #000;
        border-bottom: solid 1px #000;
        transform: rotate(-45deg);
        position: absolute;
        top: calc(50% - 10px);
        right: 0;
    }
    section.senmon_index_link nav a {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 2vw;
        border-bottom: solid 2px #fff;
        text-decoration: none;
        position: relative;
    }
    section.senmon_index_link nav a:nth-child(odd) {
        border-right: none;
    }
    section.senmon_index_link nav a img {
        width: 16vw;
        margin-right: 4vw;
    }
    section.senmon_index_link nav a p {
        font-size: 4vw;
    }
    section.senmon_index_link nav a::after {
        width: 4vw;
        height: 4vw;
        top: calc(50% - 2vw);
        right: 4vw;
    }
}