@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

/* Reset Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

*,
::before,
::after {
    background-repeat: no-repeat;
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
    word-break: normal;
}

hr {
    overflow: visible;
    height: 0;
    color: inherit;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline-width: 0;
}

ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ol {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

table {
    border-color: inherit;
    text-indent: 0;
}

iframe {
    border-style: none;
}

img {
    border-style: none;
}

progress {
    vertical-align: baseline;
}

/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
    font-size: 10px;
}

html[lang="ja"] {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

body {
    font-size: 1.5rem;
    color: #222;
}

p {
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

a,
a:link {
    color: #0066CC;
    text-decoration: underline;
}

a:visited {
    color: #800080;
}

a:hover {
    color: #3A9CFF;
}

a:active {
    background: none;
    color: #09f;
}

@media screen and (max-width: 599px) {
    .pc {
        display: none;
    }
}

@media (min-width: 599px) {
    .sp {
        display: none;
    }
}

/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-area {

    padding: 15px 0 0 0;
    width: 100%;
    position: relative;
    background-color: #FFFFFF;
    z-index: 1000;
}

.header-area .header {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 2%;
}

.header-area .site-title {
    padding: 0 0 12px 0;
    min-width: 320px;
}

.header-area h1 a {
    text-decoration: none;
    color: #222222;
    display: flex;
    align-items: center;
    font-size: 22px;
    line-height: 1.1;
}

.header-area h1 a img {
    padding: 0;
    width: 100px;
    height: auto;
    margin-right: 10px;
}

.header-area h1 span span {
    display: block;
    font-size: 15px;
}

@media (max-width: 599px) {
    .header-area .header {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .header-area .site-title {}

    .header-area h1 a {
        font-size: 65%;
    }

    .header-area h1 a img {
        width: 22vw;
        height: auto;
    }
}

/* Navigation
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.menu-container {
    background: url(../images/bg.jpg) no-repeat center top #e1e1e1;
    width: 100%;
}

.hamburger-menu {
    display: none;
}

.main-menu {
    padding-top: 10px;
    width: 100%;
    background: url(../images/line_header.gif) repeat-x top;
    background-color: rgba(0, 0, 0, 0.8);
}

.main-menu ul {
    list-style-type: none;
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.main-menu li {
    flex-basis: calc((100% - 85px) / 6);

}

.main-menu ul li.home {
    flex-basis: 85px;
}

.main-menu ul li a,
.main-menu ul li a:link,
.main-menu ul li a:visited {
    color: #fff;
    display: block;
    font-size: 15px;
    padding: 15px 0;
    text-align: center;
    text-decoration: none;

}

.main-menu ul li a:hover {
    background-color: rgba(0, 0, 0, 0.4);
    color: #ff6;
}

.main-menu ul li a span {
    display: block;
    font-size: 12px;
    margin: 10px 0 5px 0;
    padding: 8px 0 0 0;
    font-weight: 100;
    border-top: 1px solid;
    border-image: linear-gradient(90deg, rgba(255 255 255 / 0) 5%, rgba(255 255 255 / 1) 50%, rgba(255 255 255 / 0) 90%);
    border-image-slice: 1;
}

.main-menu ul li.sp-menu {
    display: none;
}

@media (max-width: 767px) {
    .header-area {
        position: fixed;
        top: 0;
        left: 0;
        background: url(../images/line_header.gif) repeat-x bottom #FFFFFF;
        padding-bottom: 10px;
    }

    .header-area .header {
        padding: 0 20px;
    }

    .menu-container {}

    .hamburger-menu {
        position: absolute;
        display: block;
        cursor: pointer;
        padding: 10px;
        top: 15px;
        right: 15px;
        z-index: 10;
        transition: all 0.5s;
        overflow-y: auto;
        /*height: 100vh;*/
    }

    .hamburger-menu span {
        display: block;
        width: 30px;
        height: 3px;
        background-color: #333;
        margin: 5px 0;
        transition: all .3s;
        z-index: 10;
    }

    .main-menu {
        display: none;
        /* 初期状態～非表示 */
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 1;
        background-color: #f0f0f0;
        background-image: none;
        height: 100vh;
        /*overflow-y: scroll;*/
    }

    .main-menu ul {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
        flex-direction: column;


    }

    .main-menu ul li.home {
        flex-basis: auto;
    }

    .main-menu ul li {
        padding: 0;
        border-bottom: 1px solid #ccc;
        display: block;
        font-size: 15px;

    }

    .main-menu li ul li {
        padding: 0;
        border-bottom: none;
        color: #222;
        display: block;
        font-size: 15px;
    }
    
    .main-menu ul li a span {
        display: none;
    }

    .main-menu ul li a,
    .main-menu ul li a:link,
    .main-menu ul li a:visited {
        color: #333;
        display: flex;
        font-size: 17px;
        text-decoration: none;
        text-align: left;
        padding: 10px 10%;
    }

    .main-menu ul li ul li a,
    .main-menu ul li ul li a:link,
    .main-menu ul li ul li a:visited {
        padding: 3px 15% 15px calc(15% + 1em);
    }

    .main-menu ul li.sp-menu {
        display: block;
    }

    .main-menu li a::after {
        content: url("../images/chevron_right.svg");
        margin-left: auto;
    }

    .main-menu ul li a::before {
        margin-right: 0.5em;
    }

    .main-menu ul li.home a::before {
        content: url("../images/icon_home.svg");
    }

    .main-menu ul li.schedule a::before {
        content: url("../images/icon_schedule.svg");
    }

    .main-menu ul li.information a::before {
        content: url("../images/icon_information.svg");
    }

    .main-menu ul li.result a::before {
        content: url("../images/icon_result.svg");
    }

    .main-menu ul li.ranking a::before {
        content: url("../images/icon_ranking.svg");
    }

    .main-menu ul li.committee a::before {
        content: url("../images/icon_committee.svg");
    }

    .main-menu ul li.regist a::before {
        content: url("../images/icon_regist.svg");
    }

    .main-menu ul li.about a::before {
        content: url("../images/icon_about.svg");
    }

    .main-menu ul li.links a::before {
        content: url("../images/icon_links.svg");
    }

    .main-menu ul li.sitemap a::before {
        content: url("../images/icon_sitemap.svg");
    }

    .main-menu ul li.contact a::before {
        content: url("../images/icon_contact.svg");
    }

}

/* ハンバーガーメニューのアクティブ状態 */
.menu-container.active {
    animation: fadeIn 0.5s forwards;

}

.menu-container.active .main-menu {
    display: block;
}

.menu-container.active .hamburger-menu span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.menu-container.active .hamburger-menu span:nth-child(2) {
    opacity: 0;
}

.menu-container.active .hamburger-menu span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

@keyframes fadeIn {
    0% {
        top: 45%;
        opacity: 0;
    }

    100% {
        top: 50%;
        opacity: 1;
    }
}

/* subNav */
.sub-menu {
    background-color: #000000;
    margin-right: calc(50% - 50vw);
    margin-left: calc(100% - 770px);
    width: 100vw;
    height: 40px;
    background-image: url("../images/subnav_bg.png");
    background-position: left;
}

.sub-menu ul {
    list-style-type: none;
    padding: 8px 0 11px 45px;
    display: flex;
    align-items: center;
}

.sub-menu ul li {
    margin: 0 1em 0 1em;
}

.sub-menu ul li a {
    font-size: 13px;
    position: relative;
    padding-left: 15px;
}

.sub-menu ul li a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    left: 0;
    top: 6px;
    background-image: url("../images/icon_arrow_red.png");
}

.sub-menu ul li img {
    margin: 2px 3px 0 0;
    vertical-align: middle;
    width: auto;
    height: 14px;
}

.sub-menu ul li a,
.sub-menu ul li a:link,
.sub-menu ul li a:visited {
    color: #FFF;
    text-decoration: none;
}

.sub-menu ul li a:hover {
    color: #ff6;
}

@media (max-width: 767px) {
    .sub-menu {
        display: none;
    }
}

/* Pagetitle
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.page-header {
    width: 100%;
}

.page-title {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
}

.page-title h2 {
    height: 100px;
    font-size: 23px;
    font-weight: normal;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    color: #FFFFFF;
}

@media (max-width: 999px) {
    .page-title {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .page-header {
        margin-top: 75px;
    }
}

@media (max-width: 599px) {
    .page-title h2 {
        height: 60px;
        justify-content: center;
    }
}



/* Breadcrumbs
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.breadcrumbs {
    font-size: 90%;
    width: 100%;
    margin: 0 auto;
    height: 30px;
    background-color: rgba(0, 0, 0, 0.2);
}

.breadcrumbs ul {
    list-style-type: none;
    margin: 0 auto;
    width: 100%;
    display: flex;
    box-sizing: border-box;
}

.breadcrumbs ul li {
    color: #222;
    margin: 0 0.5em 0 0;
    padding: 5px 0;
    display: flex;
    align-items: center;
}

.breadcrumbs li img {
    margin: 0 5px 0 0;
    width: 11px;
    height: 11px;
}

.breadcrumbs ul li a,
.breadcrumbs ul li a:link,
.breadcrumbs ul li a:visited {
    color: #222;
    text-decoration: none;
}

.breadcrumbs ul li a:hover {
    color: #666;
    text-decoration: underline;
}

.breadcrumbs ul li a:active {
    color: #666;
    text-decoration: underline;
}

@media (max-width: 599px) {
    .breadcrumbs {
        max-width: 100%;
    }
}

/* Button
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.button-red {
    width: 80%;
    margin-inline: auto;
    text-align: center;
}

.button-red a {
    background-color: #B40C0C;
    background-image: linear-gradient(1deg, rgba(180, 12, 12, 1), rgba(212, 21, 0, 1));
    color: #fff;
    padding: 1em;
    text-decoration: none;
    display: block;
}

.button-red a:hover {
    background-color: #FFFFFF;
    background-image: linear-gradient(1deg, rgba(180, 12, 12, 0.85), rgba(212, 21, 0, 0.85));
}

.button-line {
    text-align: center;
    margin: 1.5em auto;
}

.button-line a {
    font-weight: 500;
    color: #B40C0C;
    padding: 1em 4em;
    text-decoration: none;
    border: 1px #B40C0C solid;
    display: inline-block;
}

.button-line a:hover {
    background-color: #FFF7F7;
}

.button-line a::before {
    content: url(../images/icon_arrow_red.png);
    margin-right: 0.5em;
}

@media (max-width: 599px) {
    .button-line a {
        max-width: 96%;
        padding: 1em;
    }
}

/* Pagetop
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.page-top-btn {
    position: fixed;
    bottom: 50px;
    right: 50px;
    display: flex;
    flex-direction: column;
}

.page-top-btn a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    font-size: 12px;
    color: #666666;
    font-weight: bold;
}

#scroll-fadein {
    visibility: hidden;
    opacity: 0;
    transition: .5s;
}

#scroll-fadein.fadein {
    visibility: visible;
    opacity: 1;
}

/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-area {
    background: url(../images/line_header.gif) repeat-x #000 center -5px;
    width: 100%;
    padding: 45px 0 40px 0;
}

.footer-area .footer-container {
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 2%;
}

.footer {
    font-size: 88%;
    color: #fff;
    display: flex;
    justify-content: space-between;
}

.footer a,
.footer a:visited {
    color: #fff;
    line-height: 200%;
    text-decoration: none;
}

.footer a:hover {
    color: #ff6;
}

.footer h6 {
    background: url(../images/logo_footer.png) no-repeat;
    background-size: contain;
    height: 40px;
    margin: 0;
    overflow: hidden;
    text-indent: 1000px;
    white-space: nowrap;
    width: 300px;
}

.footer .sns {
    list-style-type: none;
    display: flex;
    padding: 30px 0 0 0;
}

.footer .sns li {
    margin-right: 2em;
}

.footer .sns img {
    width: 30px;
    height: auto;
}

.footer .footer-nav {
    width: 50%;
    display: flex;
    justify-content: space-between;
}

.footer .footer-nav ul {
    border-left: 1px #666666 solid;
    padding-left: 1em;
}

.footer .footer-nav-last {
    margin-top: 1em;
}

.footer .ic_link::after {
    top: 8px;
}

.footer-area .copy {
    color: #FFF;
    font-size: 88%;
}

@media (max-width: 999px) {
    .footer-area .footer-container {
        width: 100%;
        max-width: 100%;
        padding: 0 3%;
        margin: 0;
    }
}

@media screen and (max-width:767px) {
    .footer-area {
        padding: 30px 0 15px 0;
    }

    .footer {
        flex-direction: column;
    }

    .footer-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 90%;
        margin: 0 auto;
    }

    .footer .sns {
        justify-content: center;
        padding: 5px 0 0;
    }

    .footer .sns li {
        margin: 10px 2em 0 1em;
    }

    .footer .footer-nav {
        /*display: none;*/
        width: 80%;
        margin: 20px auto 10px;
    }

    .footer-area .copy {
        text-align: center;
        margin: 1em 0 0.5em 0;
        border-top: 1px #999999 solid;
        padding-top: 1em;
    }
}

@media (max-width: 599px) {
    .footer-title {
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        width: 90%;
        margin: 0 auto;

    }

    .footer h6 {
        margin: 0 auto;
    }

    .footer .sns {
        justify-content: center;
        padding: 10px 0 0;
    }

    .footer .footer-nav {
        display: none;
    }
}

/*　Mainvisual
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.mainvisual {
    /*background-color: #333333;*/
    background-image: linear-gradient(0deg, rgba(70, 70, 70, 1)20%, rgba(0, 0, 0, 1));
    position: relative;
    margin: 0;
    padding: 20px 0 25px 0;
}

.swiper {
    margin-bottom: 5px;
}

.swiper-wrapper {
    /* サイズ調整 */
    width: 100%;
    /* height: 400px;*/
}

.swiper-slide {
    /* 文字配置調整、背景色設定 */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0.5;
}

.swiper-slide img {
    width: 100%;
    height: auto;
}

.swiper-slide-active {
    opacity: 1;
    /* 中央のスライドは薄くしない */
}

.swiper-button-next,
.swiper-button-prev {
    color: #FFFFFF;
}

.swiper-pagination {
    bottom: 0px !important;
    padding-bottom: 10px;
}

.swiper-pagination-bullet {
    border-radius: inherit;
    margin: 0 5px !important;
    width: 50px;
    height: 3px;
    background: #FFFFFF;
    opacity: 0.2;
}

.swiper-pagination-bullet-active {
    background: #B40C0C;
    opacity: 1;
}

/* Container
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
    padding: 0 2%
}

@media screen and (max-width: 999px) {
    .container {
        width: 100%;
        max-width: 100%;
        padding: 0 3%;
    }
}

@media screen and (max-width:599px) {
    .container {
        width: 100%;
        max-width: 100%;
        padding: 0 5%;
    }
}


/* Top Contents
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.contents-importantinfo-area {
    width: 100%;
    background-color: #F1D9D9;
    padding: 40px 0;
}

.top-importantinfo {
    background-color: #FFFFFF;
    padding: 30px;

}

.contents-info-area {
    width: 100%;
    background-color: #EFEFEF;
    padding: 60px 0;
}

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

.sokuho-info {
    width: 48%;
    margin: 0;
    padding: 2em;
    border: 2px #B40C0C solid;
    background-color: #FFFFFF;
    box-sizing: border-box;
}

.sokuho-info .title {
    font-weight: bold;
    font-size: 120%;
    text-align: center;
    margin-bottom: 1em;
}

.sokuho-info ul {
    font-weight: bold;
    font-size: 110%;
    margin: 0 0 1em 0;
    line-height: 1.8;
}

.contents-info {
    width: 48%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    margin-bottom: -1em;
    align-items: stretch;
}

.contents-info div {
    width: 46%;
    color: #FFFFFF;
    font-size: 120%;
    margin-bottom: 1em;
}

.contents-info div a {
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    line-height: 2;
    background-color: #B40C0C;
    background-image: linear-gradient(1deg, rgba(180, 12, 12, 1), rgba(212, 21, 0, 1));
}

.contents-info div a:hover {
    background-color: #FFFFFF;
    background-image: linear-gradient(1deg, rgba(180, 12, 12, 0.85), rgba(212, 21, 0, 0.85));

}

@media screen and (max-width:599px) {
    .top-info {
        flex-direction: column;
        justify-content: flex-start;
    }

    .sokuho-info {
        width: 100%;
    }

    .contents-info {
        width: 100%;
        display: flex;
        margin: 2em 0 0 0;
        align-items: stretch;
    }

    .contents-info div {
        width: 46%;
        height: 100px;
        margin-bottom: 1em;
    }

    .contents-info div a {
        font-size: 86%;
    }
}

/*　Top News
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top-news-area {
    padding: 40px 0;
}

.top-news h2 {
    text-align: center;
    font-size: 2.4rem;
}

.top-news h2 span {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
}

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

.news-list {
    margin: 30px 0;
    width: 73%;
}

.news-list dl {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    height: 410px;
    overflow: auto;
    line-height: 1.8;
}

.news-list dt {
    padding: 12px 0;
    width: 27%;
    border-bottom: dotted 1px #999999;
    position: relative;
}

.news-list dt::after {
    content: "";
    width: 7em;
    margin: 2px 0 0 1em;
    padding: 0px 0 2px;
    font-size: 78%;
    text-align: center;
    position: absolute;
    box-sizing: border-box;
}

.news-list dt.cat-info::after {
    content: "競技会情報";
    color: #FFFFFF;
    background-color: #222222;
}

.news-list dt.cat-comm::after {
    content: "委員会より";
    color: #B40C0C;
    border: 1px #B40C0C solid;
}

.news-list dt.cat-latest::after {
    content: "更新情報";
    color: #222222;
    border: 1px #222222 solid;
}

.news-list dt.cat-imp::after {
    content: "重　要";
    color: #FFFFFF;
    background-color: #B40C0C;
}

.news-list dt.cat-other::after {
    content: "その他";
    color: #222222;
    background-color: #CCCCCC;
}

.news-list dd {
    padding: 12px 0;
    width: 70%;
    border-bottom: dotted 1px #999999;
}

.news-list dd .fwB {
    font-weight: bold;
}


.association-list {
    width: 22%;
}

.association-list ul {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
}

.association-list ul a {
    text-align: center;
    padding: 0.8em 0;
    display: block;
    color: #222222;
    text-decoration: none;
    border: 4px #CCCCCC double;
    margin-bottom: 1em;
    font-size: 105%;
    background-color: #EFEFEF;
    box-sizing: border-box;

}

@media screen and (max-width: 999px) {

    .news-list {
        margin: 20px 0;
    }

    .news-list dl {
        width: 100%;
        flex-wrap: nowrap;
        flex-direction: column;
        padding: 0;
    }

    .news-list dt {
        padding: 12px 0 0 0;
        width: 100%;
        border-bottom: none;

    }

    .news-list dd {
        padding: 5px 0 12px 0;
        width: 100%;
    }
}

@media screen and (max-width:599px) {
    .top-news {
        flex-direction: column;
        justify-content: flex-start;
    }

    .news-list {
        margin: 20px 0;
        width: 100%;
    }

    .association-list {
        width: 100%;
    }

    .association-list ul {
        margin-top: 20px;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
    }

    .association-list li {
        width: 48%;
        font-size: 90%;

    }
}

/* ContentsBnnerArea
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.contents-banner-area {
    width: 100%;
    background-color: #EFEFEF;
    padding: 30px 0;
}

.supported-banner {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.supported-banner div {
    margin: 0 20px;
}

.supported-banner div img {
    width: 100%;
    height: auto;
}

@media screen and (max-width:599px) {
    .contents-banner-area {
        padding: 20px 0;
    }

    .supported-banner {
        width: 95%;
        justify-content: space-around;
        flex-wrap: wrap;
    }

    .supported-banner div {
        margin: 0 0 20px 0;
        width: 45%;
    }

    .supported-banner div.supported-banner-item3 {
        margin: 0;
    }

}


/* Contentsarea
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.contents-area {
    background: #fff;
    width: 100%;
}

.contents-area .col2 {
    display: flex;
    justify-content: space-between;
}

.contents-area .main {
    width: 70%;
    margin: 30px 0 50px;
}

.contents-area .sidebar {
    width: 22%;
    margin: 30px 0 50px;
}

@media screen and (max-width:767px) {

    .contents-area .col2 {
        flex-direction: column;
    }

    .contents-area .main {
        width: 100%;
        margin: 0;
    }

    .contents-area .sidebar {
        width: 100%;
        margin: 0;
    }

}


/* Contentsarea Title
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.main h3 {
    background: url(../images/line_h3.gif) repeat-x bottom;
    margin: 2.2em 0 1em 0;
    padding: 0 5px 10px 5px;
    font-size: 2rem;
}

.main h3::before {
    content: "■";
    color: #B40C0C;
    margin-right: 0.3em;
}

.main h3:first-child {
    margin: 1.5em 0 1em 0;
}

.main .athletics-info h3 {
    font-size: 1.7rem;
    padding: 0 0 10px 5px;
}

.main h4 {
    background: #EFEFEF;
    margin: 2.4em 0 1em 0;
    padding: 7px 0.5em 7px 0.8em;
    font-size: 1.7rem;
}

.main h3+h4 {
    margin: 1em 0 1em 0;
}

.main h5 {
    margin: 0 0 1em 0.2em;
    padding: 0 0.5em 0 0.5em;
    font-size: 1.7rem;
    display: flex;
    align-items: center;
}

.main h5::before {
    content: "■";
    margin-right: 0.3em;
    color: #B40C0C;
    font-size: 70%;
}

/* Contents Parts
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.link-list {
    list-style-type: none;
    margin: 1em 0 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.link-list li {
    border-bottom: dotted 1px #ccc;
    list-style-type: none;
    padding: 20px 0 20px 0.5em;
}

.link-list li::before {
    content: url(../images/icon_arrow_red.png);
    margin-right: 0.3em;
}

.link-list-col2 {
    list-style-type: none;
    margin: 1em 0 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.link-list-col2 li {
    width: 50%;
    border-bottom: dotted 1px #ccc;
    list-style-type: none;
    padding: 20px 0 20px 0.5em;
}

.link-list-col2 li::before {
    content: url(../images/icon_arrow_red.png);
    margin-right: 0.3em;
}

.link-list li ul {
    margin-left: 1em;
}

.link-list li ul li {
    border-bottom: none;
    font-size: 14px;
    background: none;
    padding: 12px 0 0;
}

.fcRed {
    color: #B40C0C;
}

.red {
    color: #B40C0C;
}

.font-large {
    font-size: 132%;
}

.red-large-center {
    color: #B40C0C;
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0 0 0;
    text-align: center;
}

.center-arrow {
    color: #B40C0C;
    font-size: 120%;
    text-align: center;
    margin: 15px 0;
}

.center {
    text-align: center;
}

.tx-right {
    text-align: right;
}

.bold {
    font-weight: bold;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}


.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}


.ic_pdf,
.ic_excel,
.ic_word,
.ic_zip {
    position: relative;
    padding: 0.5rem 1rem 0.5rem 2.2rem;
}

.ic_pdf::before,
.ic_excel::before,
.ic_word::before,
.ic_zip::before {
    position: absolute;
    top: 10px;
    left: 0px;
    width: 16px;
    height: 16px;
    content: "";
    background-size: contain;
}

.ic_pdf::before {
    background: url('../images/icon_pdf.png') no-repeat;
}

.ic_excel::before {
    background: url('../images/icon_excel.png') no-repeat;
}

.ic_word::before {
    background: url('../images/icon_word.png') no-repeat;
}

.ic_zip::before {
    background: url('../images/icon_zip.png') no-repeat;
}

.ic_link {
    position: relative;
    padding: 0.5rem 2rem 0.5rem 0;

}

.ic_link::after {
    position: absolute;
    top: 10px;
    right: 0px;
    width: 16px;
    height: 16px;
    content: "";
    background-size: contain;
    background: url('../images/icon_link.png') no-repeat;
}

.dashed-box {
    border: dashed 2px #ccc;
    margin: 1em 0;
    padding: 1em;
}

.doted-box {
    border: dotted 1px #ccc;
    margin: 1em 0;
    padding: 1em;
}

.info-box {
    padding: 0 10px 0 30px;
}

.info-box ul {
    margin-bottom: 24px;
}

.info-box li {
    margin-bottom: 8px;
}

ul.normal-list {
    margin: 0;
    padding: 0;
    list-style-type: disc;
    margin-left: 1.3em;
}

ul.normal-list li {
    margin: 0 0 0.5em 0;
    line-height: 1.6;
}

ol.number-list {
    list-style-type: decimal;
    list-style-position: inside;
}

ol.number-list li {
    margin-bottom: 1em;
    line-height: 1.8;
    margin-left: 2em;
    text-indent: -1.1em;
}

p.block-text {
    line-height: 2;
    margin: 0 0 1em 0;
    text-align: justify;
    text-justify: distribute;
    text-indent: 1em;
}

table.nomal-table {
    border-collapse: collapse;
}

table.nomal-table th,
table.nomal-table td {
    border: solid 1px #ccc;
    padding: 10px;
}

table.nomal-table th {
    background: #333;
    color: #fff;
    font-weight: normal;
    white-space: nowrap;
}

table.nomal-table td {
    background: #fff;
}

.x-list dl {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.x-list dt {
    color: #FFFFFF;
    background-color: #252525;
    width: 28%;
    border-bottom: 1px #CCC solid;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

.x-list dd {
    margin-left: 0;
    border-bottom: 1px #CCC solid;
    border-right: 1px #CCC solid;
    width: 70%;
    padding: 15px;
    box-sizing: border-box;
}

.x-list dt:first-of-type {
    border-top: 1px #CCC solid;
}

.x-list dd:first-of-type {
    border-top: 1px #CCC solid;
}

.x-list dd ul {
    margin: 0;
    padding: 0;
    list-style-type: disc;
    margin-left: 1.3em;
}

.x-list dd ul li {
    margin: 0 0 0.5em 0;
    line-height: 1.6;
}

@media (max-width: 599px) {

    .x-list dl {
        font-size: 90%;
        flex-direction: column;
    }

    .x-list dt {
        width: 100%;
        padding: 5px 1em;
        justify-content: flex-start;
        border-bottom: none;
        border-top: none;
    }

    .x-list dd {
        width: 100%;
        padding: 10px 1em;
        border-bottom: none;
        border-right: none;
        margin-bottom: 10px;
    }

    .x-list dt:first-of-type {
        border-top: none;
    }

    .x-list dd:first-of-type {
        border-top: none;
    }
}

/* Sidebar
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.sidebar {
    padding: 30px 0 0 0;
}

.side-title {
    background-color: #222222;
    color: #FFFFFF;
    padding: 0.5em 1em;
}

.side-directory-nav {
    margin-bottom: 30px;
}

.side-directory-nav .side-title {
    background-color: #B40C0C;
}

.side-directory-nav ul li {
    border-bottom: 1px #999999 dotted;
    width: 100%;
}

.side-directory-nav ul li a {
    color: #222222;
    text-decoration: none;
    display: block;
    padding: 10px;
}

.side-directory-nav ul li a:hover {
    background-color: #F0F0F0;
}

.side-directory-nav ul li a::before {
    content: url(../images/icon_arrow_red.png);
    margin-right: 0.5em;
}

.side-related-link ul li {
    border-bottom: 1px #999999 dotted;
    width: 100%;
}

.side-related-link ul li a {
    color: #222222;
    text-decoration: none;
    display: block;
    padding: 10px;
}

.side-related-link ul li a:hover {
    background-color: #F0F0F0;
}

.side-related-link ul li a::before {
    content: url("../images/icon_arrow_bk.png");
    margin-right: 0.5em;
}

@media screen and (max-width:767px) {
    .side-related-link {
        display: none;
    }

    .side-directory-nav.cate-index {
        display: none;
    }

    .side-directory-nav {
        width: 90%;
        margin: 0 auto 30px;
        padding-bottom: 0.5em;
        background: #EFEFEF;
    }

    .side-directory-nav .side-title {
        background-color: #666666;
    }

    .side-directory-nav .side-title::after {
        content: "MENU";
        margin-left: 0.5em;
    }

    .side-directory-nav ul {
        padding: 0 1.5em;
    }

    .side-directory-nav ul li:last-child {
        border-bottom: none;
    }

}

@media screen and (max-width:599px) {
    .side-directory-nav {
        width: 100%;
    }
}

/* Page Index
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.index-nav div {
    width: 80%;
    border-bottom: 1px #999999 dotted;
}

.index-nav div a {
    color: #222222;
    text-decoration: none;
    display: block;
    padding: 30px;
}

.index-nav div a:hover {
    background-color: #F0F0F0;
}

.index-nav div a::before {
    content: url(../images/icon_arrow_red.png);
    margin-right: 0.5em;
}

@media screen and (max-width:767px) {
    .index-nav div {
        margin: 0 auto;
    }
}

@media (max-width: 599px) {
    .index-nav div {
        width: 100%;
    }
}

/* Page Athleticsinfo
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.athletics-info dl {
    padding: 0;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.athletics-info dt {
    color: #FFFFFF;
    background-color: #252525;
    width: 15%;
    border-bottom: 1px #CCC solid;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

.athletics-info dd {
    margin-left: 0;
    border-bottom: 1px #CCC solid;
    border-right: 1px #CCC solid;
    width: 85%;
    padding: 15px;
    box-sizing: border-box;

}

.athletics-info dt:first-of-type {
    border-top: 1px #CCC solid;
}

.athletics-info dd:first-of-type {
    border-top: 1px #CCC solid;
}

.athletics-info dd ul {
    margin: 0;
    padding: 0;
    list-style-type: disc;
    margin-left: 1.3em;
}

.athletics-info dd ul li {
    margin: 0 0 0.5em 0;
    line-height: 1.6;
}

.subtitle_nen {
    width: 100%;
    font-size: 125%;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #252525;
    padding: 5px 10px 8px;
    margin: 30px 0px 20px 0px;
}

@media (max-width: 599px) {

    .athletics-info dl {
        font-size: 90%;
    }

    .athletics-info dt {
        width: 20%;
        padding: 10px 0;
    }

    .athletics-info dd {
        width: 80%;
        padding: 10px;
    }

}

/* Page About
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.message-title {
    margin: 40px 0 0 40px;
    font-size: 120%;
}

.message-name {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin: 1em 30px 40px;
}

.message-name p {
    margin-right: 3em;
    text-align: right;
}

.message-name img {
    display: block;
    width: 130px;
    height: auto;
}

@media (max-width: 599px) {
    .message-title {
        margin: 40px 0 0 0;
    }

    .message-name {
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 1em 1em 30px;
    }

    .message-name p {
        margin-right: 3em;
        text-align: left;
        margin-top: 1em;
    }

    .message-name img {
        align-self: flex-end;
    }
}

.about-list {
    width: 92%;
    margin: 0 auto;
}

.about-list li {
    margin-bottom: 1.5em;
    line-height: 1.8;
}

.about-list li span {
    font-weight: bold;
    margin-bottom: 0.5em;
    display: inline-block;
    font-size: 110%;
}

p.block-text.about {
    width: 92%;
    margin: 0 auto;
}

table.yakuin {
    width: 100%;
}

table.yakuin th,
table.yakuin td {
    border: none;
    border-bottom: dotted 1px #ccc;
    vertical-align: top;
    padding: 0.5em;
}

table.yakuin th {
    text-align: left;
    width: 25%;
}

table.yakuin td ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

table.yakuin td li {
    width: 25%;
    line-height: 1.8;
}

table.yakuin td li.w50 {
    width: 50%;
}

table.yakuin.area th {
    width: 36%;
}

@media (max-width: 599px) {
    table.yakuin {
        font-size: 92%;
    }

    table.yakuin th {
        width: 33%;
    }

    table.yakuin td li {
        width: 50%;
    }

    table.yakuin td li.w50 {
        width: 100%;
    }

    table.yakuin.area th {
        width: 65%;
    }
}

/* Page Certificate
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#certificate .doted-box {
    border: dotted 1px #ccc;
    margin: 1em 0;
    padding: 1em;
}

#certificate .doted-box div {
    display: flex;
    justify-content: center;
}

#certificate .doted-box a {
    margin: 0 1em;

}

@media screen and (max-width:599px) {
    #certificate .doted-box {
        display: block;

    }

    #certificate .doted-box div p {
        margin-bottom: 1em;
        text-align: center;
    }
}

.member-town-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 2em 40px;
    border-left: 1px #CCC solid;

}

.member-town-list li {
    width: 25%;
    line-height: 2.6;
    border-bottom: 1px #CCC solid;
    border-right: 1px #CCC solid;
    text-align: center;

}

.member-town-list li:nth-child(-n+4) {
    border-top: 1px #CCC solid;

}

.member-town-list li:last-child {
    border-right: 1px #CCC solid;

}

@media (max-width: 599px) {
    .member-town-list li {
        width: 33%;
    }

    .member-town-list li:nth-child(4n) {
        border-top: none;

    }
}

/* Page Scedule
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.scedule-link div {
    margin-top: 2em;
}

.scedule-link div {
    margin-bottom: 1em;
}