
@charset "utf-8";
/* https://jigsaw.w3.org/css-validator/ */
:root {
    --color-black: #1F1F1F;
    --color-deepgreen:#008926;
    --color-green: #2EB88B;
    --color-red: #ff0000;
    --color-darkred: #D33333;
    --color-gray: #52645A;
    --font-noto: 'Noto Serif', serif;
}
ul ::marker{
    color: #33B98C;
}

/* body */

html,
body {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    color: #000;
    background-color: #fff;
    word-break: break-all;
    -webkit-text-size-adjust: 100%;
}

body * {
    box-sizing: border-box;
    word-break: break-word;
}

strong,
em {
    color: #e00;
    font-style: normal;
}

strong strong {
    border-bottom: 3px #aaa double;
}

strong{
    color: var(--color-deepgreen);
}

u {
    text-decoration: none;
    background: linear-gradient(transparent 70%, #EAD67980 0);
    border-bottom: 1px solid #EAD67980;
}

img,
iframe,
figure {
    max-width: 100%;
}

img {
    height: auto;
    border: none;
}

.skip {
    position: absolute;
    left: -9000px;
}
ul,ol{
    padding-left:1.2rem;
}

.flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.c2::after,
.flex.c2>* {
    width: 100%;
    max-width: 48%;
    margin: 0 0 10px;
}

.c3::before,
.c3::after,
.flex.c3>* {
    width: 100%;
    max-width: 31%;
    margin: 0 0 10px;
}

.c4::before,
.c4::after,
.flex.c4>* {
    width: 100%;
    max-width: 23%;
    margin: 0 0 10px;
}

.flex.c2::before,
.flex.c2::after,
.flex.c3::before,
.flex.c3::after,
.flex.c4::before,
.flex.c4::after {
    margin: 0 !important;
    content: '';
    display: block;
    order: 100;
}

.wrapper {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 20px;
}

/* container */
#container {}

/* header */
#site-header {}

#site_title {
    margin: 1rem 0 0;
    display: flex;
    justify-content: flex-start;
}

#site_title img {
    margin: 0 0.5rem 0 0;
}
#site_title a{
    text-decoration: none;
    display: flex;
    justify-content: flex-start;
    opacity: 1;
    transition: 0.3s;
}
#site_title a:hover{
    opacity: 0.7;
}

.year {
    font-family: var(--font-noto);
    font-weight: 500;
    color: var(--color-green);
    margin: 0 1rem 0 0;
    align-self: flex-end;
    font-size: 1.6rem;
}

.copy {
    font-family: var(--font-noto);
    font-weight: 500;
    font-size: 0.85rem;
    margin: 0;
    line-height: 1rem;
    align-self: center;
}

#headnav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
}

#headnav a {
    display: flex;
    align-items: center;
    margin: 0.5rem 0;
    font-size: 0.9rem;
    font-weight: bold;
    color: var(--color-black) !important;
    text-decoration: none;
    opacity: 1;
    transition: 0.3s;
}
#headnav strong{
    color: var(--color-black) !important;
}

#headnav a::before {
    content: url('../images/headnav.svg');
    transform: translateX(3px);
    line-height: 1rem;
}

#headnav a:hover,
#headnav a.on {
    opacity: 0.7;

}

/* global-navigation */
#nav-global-navigation {
    margin-top: 1rem;
    background: var(--color-black);
}
#nav-global-navigation .wrapper{
    padding: 0;
}

#global-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#global-navigation>ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    width:100%;
}
#global-navigation>ul::before,
#global-navigation>ul::after{
    content: '';
    order: 100;
    width: 0;
    margin: 0;
    padding: 0;
}

#global-navigation li {
    width: fit-content;
}

#global-navigation a {
    text-decoration: none;
    display: block;
    width: 100%;
}
#global-navigation>ul:first-child a{
    font-family: var(--font-noto);
    font-weight: 600;

}

#global-navigation>ul>li{
    margin: 0 20px;
}
#global-navigation>ul>li>a {
    color: #fff;
    padding: 0.75rem 0;
    display: flex;
    width: fit-content;
    line-height: 1.8rem;
    flex-wrap: wrap;
    position: relative;
}

#global-navigation>ul>li>a::before {
    content: url('../images/globalnav.svg');
    transform: translateY(3px) translateX(-0.5rem);
    margin-right: -0.5rem;
}

#global-navigation>ul>li>a::after {
    border-bottom: 5px solid var(--color-black);
    transition: 0.3s;
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;

}
 
#global-navigation>ul>li.current_page_parent>a::after,
#global-navigation>ul>li.current_page_item>a::after,
#global-navigation>ul>li:hover>a::after {
    border-bottom: 5px solid var(--color-green);
}

#global-navigation:nth-child(2),
#global-navigation>ul:nth-child(2) {
    display: none;
}

#global-navigation li {
    position: relative;
    display: block;
}

.children {
    display: flex;
    width: 200px;
    flex-direction: column;
    position: absolute;
    left: 0;
    padding: 0.5rem;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 20;
}

li:hover>.children {
    opacity: 1;
    visibility: visible;
}

.children a {
    font-size: 0.9rem;
    display: block;
    padding: 0.5rem 1rem 0.5rem 2rem;
    background: #F4F7F6;
    color: #000;
    font-weight: 500;
    border-bottom: 1px dotted #F4F7F6;
}

.children li:hover .children>li:hover>a,
.children li:hover>a {
    background: #fff;
    border-bottom: 1px dotted var(--color-green);
}

.children a::before {
    position: absolute;
    left: 0.5rem;
    content: url('../images/globalnav.svg');
}

#global-navigation .children li {
    display: block;
    width: 100%;
}

.children .children {
    left: 200px;
    top: 0;
}

/* main_column */
#site-content {
    padding-bottom: 5rem;
    line-height: 180%;
}

.home #site-content{
    padding-bottom: 0;
}
.home .nohomeview{
    display: none;
}

h2{
    border-left: 3px solid var(--color-green);
    padding: 0 1rem;
    font-size: 1.4rem;
    margin:3rem auto 1rem;
}
h3{
    border-left: 3px solid #5F6A6999;
    padding: 0 1rem;
    font-size: 1.2rem;
    margin:2rem auto 1rem;
}
h4{
    border-left: 3px solid #5F6A6933;
    padding: 0 1rem;
    font-size: 1.2rem;
}

table{
    margin: 2rem auto;
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px solid #5F6A694D;
}
th,td{
    padding: 0.5rem 1rem;
    text-align: left;
}
th{
    font-size: 1rem;
}
.page-registration .wp-block-table td, .page-registration .wp-block-table th{
    border: none;
}
thead th,thead td{
    border-bottom: 3px solid #5F6A694D;
}
.page-registration th{
    font-size: 0.8rem;
}
.page-registration tbody tr:nth-child(even){
    background:  #2E39380D;
}

.mapbox iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}
.page-sponsors ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.page-sponsors li img{
    width: 100% !important;
    max-width: 100%;
    max-height: 75%;
    height: auto;
    aspect-ratio: 3/2;
    border: 1px solid #5F6A694D;
    padding: 20px 10px;
    object-fit: contain;
    object-position: center;
}
.page-sponsors ul{
    flex-wrap: wrap;
    align-items: flex-start;
}
.page-sponsors li>p{
    padding: 0;
    margin: 0;
}
.page-sponsors ul::before,
.page-sponsors ul::after{
    content: '';
    display: block;
    width: 100%;
    order: 10;
}
.page-sponsors ul>*,
.page-sponsors ul::before,
.page-sponsors ul::after{
    max-width: 23%;
    margin: 0 0 20px;
}
.page-sponsors ul:first-of-type::before,
.page-sponsors ul:first-of-type::after,
.page-sponsors ul:first-of-type>*{
    max-width: 31%;
}
object.pdf_files{
    width: 80%;
    max-width: 600px;
    aspect-ratio: 210/294;
    display: block;
}
.archivelists{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
}
.archivelists li{
    width: 100%;
    max-width: 48%;
}
.archivelists a{
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem;
    background: #F4F7F6;
    text-decoration: none;
    color: var(--color-black);
    line-height: 1.4rem;
    border: 2px solid #F4F7F6;
    transition: 0.3s;
}
.archivelists a::before{
    content: url('../images/globalnav.svg');
    margin-right: 0.25rem;
    transform: translateY(3px);
}
.archivelists a:hover{
    background: #fff;
}
.archivelists a span.date{
    display: none;
}
/* home */
.home section{
    padding: 0 20px 3rem;
}
.home .archivelists a span.date{
    display: inline-block;
    position: absolute;
    left: 0;
}

.home .archivelists{
    margin: 1rem auto;
    border-top: 1px solid #F4F7F6;
}
.home .archivelists li{
    max-width: 100%;
    border-bottom: 1px solid #F4F7F6;
}
.home .archivelists a:hover{
    background: #F4F7F6;
}
.home .archivelists a{
    position: relative;
    border: none;
    background: transparent;
    padding-left: 8em;
}
.home .archivelists a::before{
    content: '';}
.home time{
    position: absolute;
    left: 1rem;
}

.endmessage{
    background: #FBEAEA;
    color: #D33333;
    font-size: 1.4rem;
    font-family: var(--font-noto);
    padding: 2rem 1rem;
    text-align: center;
}


#nowinfo{
    background:left top no-repeat url('../images/about3rincs.png') #F4F7F6;
    padding: 3rem 0;
    background-size: 371px auto;
}
#nowinfo .flex{
    align-items: flex-start;
    flex-direction: row-reverse;
}
#nowinfo .flex>*{
    width: 48%;
}
.firstblock h2:first-of-type{
    margin-top: 0;
}
.firstblock table th{
    font-weight: normal;
}
.firstblock table td{
    font-weight: bold;
}

.secondblock img{
    display: block;
    margin: 0 auto 1rem;
}
.wp-block-image.aligncenter{
    margin: 0 auto 1rem;
}
.wp-block-table td, .wp-block-table th{
    border: none;
}
#container th,
#container td{
    border: none;
    border-top:1px solid #5F6A694D;
}
.btn{
    display: flex;
    font-family: var(--font-noto);
    width: fit-content;
    margin: 0 auto;
    padding: 1rem 1rem 0.75rem;
    max-width: 100%;
    background: var(--color-black);
    color: #fff;
    border-radius: 5px;
    transition: 0.3s;
    line-height: 1.6rem;
    text-decoration: none;
}
.btn:hover{
    background: #333;
}
.btn::before{
    content: url('../images/globalnav.svg');
    transform: translateY(2px) translateX(-0.5rem);
    margin-right: -0.5rem;}

/*heroimg*/
.home .heroimg{
    aspect-ratio: 98/40;
    aspect-ratio: 98/24;
    align-items: flex-start;
    min-height: 350px;
    min-height: 240px;
}
.heroimg .toptags{
    position: relative;
    text-align: center;
    background: #33B98CE6;
    border-radius: 0 0 10px 10px;
    color: var(--color-black);
    margin: 0 20px 20px;
    padding: 40px 20px;
    width: 100%;
    max-width: fit-content;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.toptags span{
    display: block;
    text-align: center;
    margin: 0.5rem auto;
    font-family: var(--font-noto);
    font-weight: 500;
}
.toptags .title{
    font-weight: 600;
    font-size: 2rem;
}

.heroimg{
    position: relative;
    margin: 1rem auto;
    padding: 0;
    aspect-ratio: 98/16;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    width: 100%;
    max-width: 980px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 160px;

}
.heroimg h1{
    font-size: 1.6rem;
    color: #fff;
    z-index: 10;
    padding: 20px;
}
.heroimg .bgover{
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}


/* footer */
#site-footer {
    background: var(--color-gray);
    color: #fff;
    padding: 2rem 0 0;
}
#site-footer h2{
    padding: 0;
    margin: 0 0 1rem;
    border: none;
}

#site-footer nav ul {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
}

#site-footer>.wrapper a {
    color: #fff;
    display: inline-block;
    margin-right: 1rem;
}

address {
    font-style: normal;
}
#footbanner{
    background: #f4f7f6;
    padding: 1.5rem 0;
}
#footbanner .wrapper{
    padding: 0 calc(20px - 0.5rem);
}
#footbanner::after{
    content: '';
    display: block;
    clear: both;
}
#footbanner div.tare_wp_block_wrapper{
    width: 100%;
    display: block;
}
#footbanner div.tare_wp_block_wrapper::after{
    content: '';
    display: block;
    clear: both;
}
#footbanner div.tare_wp_block_wrapper div,
#footbanner div.tare_wp_block_wrapper p{
    display: inline !important;
}
#footbanner figure{
    display: flex;
    background: #fff;
    width: calc(25% - 1rem);
    height: 100px;
    min-width: 200px;
    margin: 0.5rem;
    position: relative;
    align-items: center;
    justify-content: center;
    float: left;
    vertical-align: middle;
}


#footbanner figure img{
    display: block;
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
    max-height: calc(100% - 1rem);
    object-fit: contain;
}
#footbanner div div div a{
    width: calc(25% - 1rem);
    height: 100px;
    min-width: 200px;
    padding: 0.5rem;
    margin: 0.5rem;
    display: flex;
    align-items: center;
    background: #fff;
    justify-content: center;
    border: 1px solid #aaa;
    float: left;
    vertical-align: middle;
}
#footbanner div div div a figure,
#footbanner div div div figure a{
    margin: 0 auto;
    width: 100%;
    height: 100%;
    float: none;
}
#footbanner div div div a:hover{
    border: 1px solid var(--color-deepgreen);
}
#snsbox{
    background: #fff;
    text-align: center;
    padding: 1rem 0;
    clear: both;
}
#snsbox img{
    display: inline-block;
    margin: 0 0.5rem;
    max-height: 36px;
}

/* content */

/* clearfix */
#global-navigation::after,
#site-header::after,
#site-content::after,
#site-footer::after,
#content::after {
    clear: both;
    content: '';
    display: block;
}

/* メディアクエリ */


@media all and (max-width: 980px) {
    #global-navigation>ul{
        justify-content: flex-start;        
    }
    #global-navigation>ul>li{ 
        min-width:20%;
    }
}

@media all and (min-width: 640px) {
    .sp {
        display: none !important;
    }
}

@media all and (max-width: 640px) {
    .pc {
        display: none !important;
    }
    #nowinfo .flex>*{
        width: 100%;
    }
    #site-header>.flex{
        align-items: center;
    }
    #site_title{
        flex-wrap: wrap;
        max-width: calc(100% - 45px);
    }
    #ocbt{
        display: flex;
        margin: 2rem 0 0;
        padding: 5px 0;
        align-items: center;
        text-decoration: none;
        border-radius: 3em;
        font-size: 0.8rem;
        text-align: center;
        width: 35px;
        z-index: 200;
        flex-wrap: wrap;

    }
    #ocbt em{
        width: 100%;
        text-align: center;
        color: var(--color-black);
        white-space: nowrap;
        padding: 0.25rem 0 0;
    }
    #ocbt em:first-of-type{
        display: block;
    }
    #ocbt em:last-of-type{
        display: none;
        color: #fff;
    }
    .menuon #ocbt em:first-of-type{
        display: none;
    }
    .menuon #ocbt em:last-of-type{
        display: block;
    }


    span.bar{
        display: block;
        height: 4px;
        background: var(--color-black);
        margin-bottom: 10px;
    }
    span.bar::after,
    span.bar::before {
        content: "";
        height: 4px;
        background: var(--color-black);
        width: 35px;
        display: block;
        transition: 0.5s;
        position: relative;
        transform: translateY(7px);
    }
    span.bar::before{
        transform: translateY(-13px);
    }
    .menuon .span.bar{
        background: transparent;
    }
    
    .menuon span.bar::before {
        transform: rotate(45deg);
        background: #fff;
    }
    .menuon span.bar::after {
        transform: rotate(-45deg);
        background: #fff;
        top: -5px;
    }
    .menuon #ocbt em:first-child{
        display: none;
    }
    .menuon #ocbt em:last-child{
        display: block;
    }
    .menuon {
        overflow: hidden;
    }
    #nav-global-navigation{
        height: 100dvh;
        width: 100vw;
        position: fixed;
        z-index: 150;
        margin: 0;
        padding: 100px 20px 20px;
        top: 0;
        transition: 0.5s;
        transform: translateX(-100vw);
    }
    .menuon #nav-global-navigation{
        transform: translateX(0vw);
    }
    #global-navigation{
        height: calc(100dvh - 120px);
        overflow:auto;
    }
    #global-navigation > ul{
        flex-direction: column;
    }
    #global-navigation > ul > li{
        margin: 0;
    }
    #global-navigation li{
        width: 100%;
    }
    #global-navigation a{
        width: 100%;
        font-size: 1rem;
        opacity: 1;
        transition: 0.3s;
    }
    #global-navigation a:hover{
        opacity: 0.7;
    }
    #global-navigation > ul > li > a{
        width: 100%;
    }
    #global-navigation > ul > li > a::after {
        background: transparent;
        border: none !important;
    }
    .children{
        width: 100%;
        visibility: visible;
        opacity: 1;
        position: relative;
    }
    .children a,    .children li:hover .children > li:hover > a, .children li:hover > a{
        background: transparent;
        border: none;
        color: #fff;
    }
    .children a::before {
        content: '-';
        color: #fff;
        font-weight: bold;
        left: 0.5rem;
    }
    #global-navigation > ul:first-of-type{
        padding-bottom: 1rem;
        border-bottom: 1px solid #F4F7F6;
    }
    #global-navigation > ul > li.current_page_parent > a::after, #global-navigation > ul > li.current_page_item > a::after, #global-navigation > ul > li:hover > a::after{
        border: none;
    }
    #headnav ul{
        flex-direction: column;
    }
    #headnav a,
    #headnav strong{
        color: #fff !important;
    }
    #headnav a::before {
        content: url('../images/headnav2.svg');
        transform: translateY(4px) translateX(3px);
        display: inline-block;
    }
    #nowinfo{
        background-size:min(371px, 75vw) auto;
    }
}
@media all and (max-width: 480px){
    .home .heroimg{
        aspect-ratio: 375/420;
    }
    .home .heroimg .toptags{
        flex-direction: column;
    }

    #site_title img{
        max-width: 60vw;
    }
    .year{
        margin: 0;
        font-size: 1.5rem;
    }
    .copy{
        font-size: 3.5vw;
    }
    #site-header>.flex{
        padding: 0 15px;
    }
    #footbanner figure{
        width: calc(50% - 1rem);
    }
    
}
@media all and (max-width: 380px){
    #container th,
    #container td{
        display: block;
        width: 100%;
        border: none;
    }
    #container tr>*:first-child{
        border-top: 1px solid #5F6A694D;
    }

}
@media all and (max-width: 340px){
    #site-header>.flex{
        padding: 0 10px;
    }

}