@charset "UTF-8";

@media print {
		#header,#contents_main,#side,#page_top,#footer {
				display: none !important;
		}
}

.sbr {
    display: block;
}
#main .article {
    padding-top: 15px;
}
#main .section h1,
#main .article h1 {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-weight: bold;
    font-size: 2rem;
    padding-left: 4px;
}

#main .section h1 > i,
#main .article h1 > i {
    font-size: 1.4rem;
    margin-right: 7px;
    /*width: 50px;
    height: 50px;
    background: #1aa;*/
    -webkit-animation: spin 4s linear infinite;
    -moz-animation: spin 4s linear infinite;
    -ms-animation: spin 4s linear infinite;
    -o-animation: spin 4s linear infinite;
    animation: spin 4s linear infinite;
}

@-webkit-keyframes spin {
    0% {-webkit-transform: rotate(0deg);}
    100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
    0% {-moz-transform: rotate(0deg);}
    100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
    0% {-ms-transform: rotate(0deg);}
    100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
    0% {-o-transform: rotate(0deg);}
    100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}

#main h2 {
    font-size: 1.8rem;
    font-weight: bold;
}
#main h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 5px;
}
#main .context > .header {
    overflow: hidden;
}
#main .context > .header img {
    float: left;
    margin-right: 15px;
    width: 100%;
    max-width: 196px;
}
#main .context > .header h2 {
    margin-top: 0;
}
#main .box1 {
    text-align: center;
    margin-top: 30px;
    padding: 20px;
    border: 1px solid #333;
}
#main .box1 img {
    width: 100%;
    max-width: 405px;
}
#main .box1 h3 {
    font-size: 2rem;
    margin: 15px 0 0;
}
#main .box1 + p {
    margin-top: 10px;
}
#main .lists {
    border: 1px solid #d5d5d5;
    border-radius: 4px;
}
#main .lists li {
    text-align: center;
    border-top: 1px solid #d5d5d5;
    padding: 15px;
}
#main .lists li:nth-of-type(1) {
    border-top: none;
}
#main .staff-info ul {
    padding: 15px 20px;
    margin-top: 5px;
    border-radius: 4px;
    border: 1px solid #d5d5d5
}
#main .staff-info li {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dotted #d5d5d5;
}
#main .staff-info li:first-child {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
}
.btn-more {
    padding: 6px 20px;
}
.btn-more:link,
.btn-more:visited,
.btn-more:hover,
.btn-more:active {
    background-color: #151515;
    color: #fff;
    border-radius: 20px;
    text-decoration: none;
}
.table-list th,
.table-list td {
    vertical-align: middle;
    border-collapse: collapse;
    padding: 10px;
    border: 1px solid #d5d5d5;
}
.table-list th {
    white-space: nowrap;
    font-weight: bold;
    line-height: 1.8;
    font-size: 1.6rem;
}
.table-list .ttl {
    display: block;
    font-weight: bold;
    color: #004f9e;
    font-size: 1.6rem;
}
.num {
    padding: 3px 9px;
    border-radius: 12px;
    color: #fff;
    background-color: #004f9e;
    line-height: 1;
    font-size: 1.3rem;
}

.article.index1 .header,
.article.index2 .header {
    padding-bottom: 20px;
}

.article .list-tab {
    width: 100%;
}
.article .list-tab th,
.article .list-tab td {
    border: 1px solid #d5d5d5;
    padding: 10px;
}
.article .list-tab td:nth-of-type(2):before {
    font-family: 'FontAwesome';
    content: '\f14c';
    margin-right: 5px;
}
.article .list-tab thead th {
    background-color: #8dbedf;
    text-align: center;
}
.article .list-tab tbody tr:nth-of-type(even) th,
.article .list-tab tbody tr:nth-of-type(even) td {
    background-color: #f8f8f8;
}
.article .list-tab tr > td:nth-of-type(1) {
    width: 35%;
}

.privacy-index .context {
    margin-top: 40px;
    margin-bottom: 40px;
    border-top: 1px dotted #000
}
.privacy-index .context:first-child {
    border-top: none;
}

@media screen and (max-width: 960px) {
    #bredclumb {
        padding: 0 2%;
        margin-top: 10px;
    }
    #wrapper #main {
        padding: 0 2%;
    }
}

@media screen and (max-width: 768px) {
    #main > .header p {
        margin: 0;
    }
    #main > .header h1 {
        float: none;
        font-size: 2.6rem;
        margin: 0;
        line-height: 1.5;
        font-weight: bold;
    }
    #main > .header h2 {
        float: none;
        font-size: 2rem;
        margin-top: 1px;
    }
}

@media screen and (max-width: 400px) {
    .staff-info li a {
        display: block;
    }

    .article .header img {
        float: none;
        margin: 0 auto;
        max-width: 80%;
    }
    #main .context > .header {
        text-align: center;
    }
    #main .context > .header img {
        float: none;
        margin: 0 auto;
        max-width: 60%;
    }
    #main .context > .header h2 {
        text-align: left;
        margin-top: 15px;
    }
    #main .context > .header p {
        text-align: left;
    }
}