@charset "UTF-8";

/*====== reset ======*/
* { margin: 0; padding: 0;}
html{ font-size: 62.5%; }
body{
    font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    /* letter-spacing: 0.04em; */
    font-style: normal;
}
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, img, dl, dt, dd, ol, ul, li, label, table, tbody, tr, th, td, figure, blockquote {
    padding: 0;
    margin: 0;
    border: 0;
    line-height: initial;
    box-sizing: border-box;
    font-style: normal;
    color: #000000;
}
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, img, dl, dt, dd, ol, ul, li, label, figure, blockquote { vertical-align: baseline; }
article, aside, figure, footer, header, nav, section { display: block; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
li { list-style: none; }
a { text-decoration: none; }
img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    object-fit: cover;
}
video {
    max-width: 100%;
    height: auto;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}
tr, th, td { font-weight: bold; }
small { font-size: inherit; }
button{
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/*====== フォント・カラー設定 ======*/
.notoSerifJp{
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
:root{
    --main: #064082;
    --sub: #dde7f1;
    --white: #ffffff;
    --menuHover: #265992;
    --fontsizeContentTitle: clamp(2rem, 2.3333333333333335vw, 2.8rem);
    --fontsizeContentTitleSP: clamp(2rem, 4.487179487179487vw, 3.5rem);
    --fontSizeSP: clamp(1.6rem, 2.8205128205128207vw, 2.2rem);
}

/*====== 背景・サイトタイトル・コンテンツタイトル ======*/
.layout_wrap{
    margin: 0 auto;
    max-width: 100rem;
    width: 92%;
}
.bgBlue,
.top_title{
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.bgBlue{
    width: 100%;
    background-image: url(img/bgBlue.jpg);
}
.sp_header{
    background-image: url(img/titleBg.jpg);
}
.top_title{
    padding: 1.6rem 2.4rem;
    /* background-image: url(img/titleBg.jpg); */
}
.top_titleJa span,
.top_titleEn{
    display: block;
    color: transparent;
    background: linear-gradient(176deg, #ba9207 0%, #ffe07f 53%, #a68308 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
}
.top_titleJa span{
    line-height: 1.1;
    font-size: clamp(2rem, 2.9166666666666665vw, 3.5rem);
    font-weight: 700;
}
.sp500{ display: none; }
.top_titleEn{
    margin-top: .6rem;
    font-size: 1.1rem;
}
.layout{ display: flex; }

/*====== side(menu) ======*/
.sidebar{
    width: clamp(20rem, 20vw, 24rem);
    background-color: var(--main);
}
.sidemenu li{ position: relative; }
.sidemenu li::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 20rem;
    height: .1rem;
    background-color: #4470ca;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}
.sidemenu li:hover, .current{ background-color: var(--menuHover); }
.sidemenu_a{
    padding: 2rem clamp(1.6rem, 2.166666666666667vw, 2.6rem);
    display: flex;
    font-size: clamp(1.5rem, 1.3333333333333335vw, 1.6rem);
    font-weight: 600;
    color: #fff;
    align-items: center;
}
.menu_icon{
    margin-right: 1rem;
    /* margin: 0 1rem 0 .4rem; */
    width: 1.7rem;
    font-size: 0;
}
.secTitle{
    border-bottom: .5rem solid var(--main);
    padding: 1rem 1.4rem;
    line-height: 1;
    font-size: var(--fontsizeContentTitle);
    color: var(--main);
    background-color: var(--sub);
}
.menuBtn_bg{ display: none; }
.comingsoon{
    margin-left: .8rem;
    font-size: clamp(1.1rem, 1.0833333333333335vw, 1.3rem);
    color: transparent;
    background: linear-gradient(176deg, #ba9207 0%, #ffe07f 53%, #a68308 100%);
    background-clip: text; -webkit-text-fill-color: transparent;
}

/*====== フッター ======*/
.footer{
    padding: 3.2rem 0 1.2rem;
    background-color: var(--sub);
}
.footer_inner{
    margin: 0 auto;
    max-width: 70rem;
    width: 92%;
}
.footer_content_wrap{
    display: flex;
    gap: 2rem 2rem;
    justify-content: space-between;
}
.footer_item{
    margin-bottom: .4rem;
    font-weight: 700;
    color: var(--main);
}
.footer_text{
    font-size: 1.5rem;
}
.copyright{
    margin-top: 4rem;
    display: block;
    font-size: 1.2rem;
}

/*====== メインコンテンツ ======*/
.main{
    width: calc(100% - clamp(20rem, 20vw, 24rem));
    background-color: #fff;
}
.main_inner{
    margin: 0 auto;
    padding: 4rem 0 9.6rem;
    max-width: 96rem;
    width: 92%;
}
.main_kv{
    position: relative;
    z-index: 1;
}
.main_kv_text_wrap{
    position: absolute;
    bottom: clamp(2rem, 2.5vw, 3rem);
    left: clamp(1.6rem, 2.3333333333333335vw, 2.8rem);
    margin-right: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: .7rem 0;
}
.main_kv_text_wrap li{ display: flex; }
.main_kv_item{
    padding: .7rem 1.4rem;
    width: fit-content;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    background-color: rgba(6, 62, 137, .85);
}
.main_kv_text{
    padding: .9rem 1.4rem;
    line-height: 1.25;
    font-weight: 700;
    background-color: rgba(255, 255, 255, .85);
}
.newsInfo_post article{
    border-bottom: .1rem solid #d0deee;
    padding: 2rem .4rem;
    display: flex;
    flex-wrap: wrap;
    gap: .2rem 1.6rem;
}
.newsInfo_date{
    font-weight: 700;
    color: var(--main);
}

/*====== 開催概要 ======*/
.outline_dl{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.outline_dt, .outline_dd{
    padding: 2rem 0;
    border-bottom: .1rem solid #d0deee;
}
.outline_dt{
    width: 11rem;
    font-weight: 700;
    color: var(--main);
}
.outline_dd{ width: calc(100% - 11rem); }
.outline_ddSpan{ display: block; }

@media screen and ( max-width: 900px ){
    /*====== メインコンテンツ ======*/
    /* .main_kv_text_wrap li{ flex-direction: column; } */
    .main_kv_item{
        padding: .5rem 1.4rem;
        display: flex;
        min-width: 5.6rem;
        align-items: center;
        font-size: clamp(1.4rem, 1.5vw, 1.8rem);
    }
    .main_kv_text{
        padding: .6rem 1.4rem;
        font-size: clamp(1.4rem, 1.7777777777777777vw, 1.6rem);
    }

    /*====== フッター ======*/
    .footer_content_wrap{ flex-direction: column; }
}
@media screen and ( max-width: 780px ){
    body{ font-size: var(--fontSizeSP); }
    /*====== 背景・サイトタイトル・コンテンツタイトル ======*/
    .layout_wrap{
        max-width: initial;
        width: 100%;
    }
    .sp_header{
        position: fixed;
        top: 0;
        display: flex;
        width: 100%;
        z-index: 10;
    }
    .top_title{
        padding: .75rem .5rem .75rem 1rem;
        width: calc(100% - clamp(6rem, 12.82051282051282vw, 10rem));
    }
    .top_titleJa span{ font-size: clamp(1.4rem, 3.8461538461538463vw, 3.5rem); }
    .top_titleEn{ font-size: clamp(.55rem, 1.0897435897435896vw, .85rem); }
    .layout{ display: block; }
    .secTitle{
        border-bottom: .6rem solid var(--main);
        font-size: var(--fontsizeContentTitleSP);
    }

    /*====== side(menu) ======*/
    .sidebar{
        position: fixed;
        top: clamp(7.22667rem, 12.82051282051282vw, 10rem);
        right: -29rem;
        padding: 1.5rem 0 11rem;
        width: 29rem;
        height: 100%;
        /* overflow: auto; */
        z-index: 11;
        transition: .3s all;
    }
    body.active .sidebar{ right: 0; }
    .menuBtn_bg{
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: clamp(7.22667rem, 12.82051282051282vw, 10rem);
        height: clamp(7.22667rem, 12.82051282051282vw, 10rem);
        background-color: var(--main);
        cursor: pointer;
        z-index: 100;
    }
    .menuBtn_span{
        position: absolute;
        display: block;
        right: 23%;
        width: clamp(3.7rem, 7.051282051282051vw, 5.5rem);
        height: .2rem;
        background: #fff;
        position: absolute;
        transition: all 0.3s;
    }
    .menuBtn_span:nth-child(1){ top: clamp(2.2rem, 3.5897435897435894vw, 2.8rem); }
    .menuBtn_span:nth-child(2){ top: clamp(3.7rem, 6.282051282051282vw, 4.9rem); }
    .menuBtn_span:nth-child(3){ top: clamp(5.2rem, 8.846153846153847vw, 6.9rem); }
    .menu_active .menuBtn_span:nth-child(1){
        transform: rotate(45deg);
        top: clamp(3.6rem, 6.41025641025641vw, 5rem);
    }
    .menu_active .menuBtn_span:nth-child(2){ opacity: 0; }
    .menu_active .menuBtn_span:nth-child(3){
        transform: rotate(-45deg);
        top: clamp(3.6rem, 6.41025641025641vw, 5rem);
    }
    body.active{
        height: 100%;
        overflow: hidden;
    }
    .sidemenu li::before{ width: 26rem; }
    .sidemenu li:hover{ background-color: transparent; }

    /*====== フッター ======*/
    .footer_inner{
        max-width: 76rem;
        width: 98%;
    }
    .footer_item{ font-size: clamp(1.6rem, 3.205128205128205vw, 2.5rem); }
    .footer_text{ font-size: var(--fontSizeSP); }
    .copyright{ font-size: clamp(1rem, 1.7948717948717947vw, 1.4rem); }

    /*====== メインコンテンツ ======*/
    .main{
        margin-top: clamp(7.22667rem, 12.82051282051282vw, 10rem);
        width: 100%;
    }
    .main_kv_text_wrap{
        left: 1rem;
        bottom: 1.5rem;
        gap: 1rem 0;
    }
    .main_kv_item,
    .main_kv_text{
        padding: .6rem 1.4rem;
        font-size: clamp(1.5rem, 2.8205128205128207vw, 2.2rem);
    }
    .main_kv_item{ min-width: 6.4rem; }
    .main_kv_text_wrap li{ flex-direction: initial; }
    .main_inner{
        max-width: 76rem;
        width: 98%;
    }
    .newsInfo_post article:hover{ background-color: initial; }

    /*====== 開催概要 ======*/
    .outline_dl{ padding-top: 1.6rem; }
    .outline_dt, .outline_dd{ width: 100%; }
    .outline_dt{ padding: clamp(1.2rem, 1.7948717948717947vw, 1.4rem) 0; }
    .outline_dd{ padding: 1.6rem 0; }
    .outline_dd_tel, .outline_dd_fax, .outline_spFull{ display: block; }
}
@media screen and ( max-width: 500px ){
    /*====== 背景・サイトタイトル・コンテンツタイトル ======*/
    .sp500{ display: block; }
     .top_titleJa span{ font-size: clamp(1rem, 3.5999999999999996vw, 1.8rem); }

    /*====== side(menu) ======*/
    .sidebar{
        top: clamp(6.43333rem, 15.71334vw, 7.85667rem);
    }
    .menuBtn_bg{
        width: clamp(6.43333rem, 15.71334vw, 7.85667rem);
        height: clamp(6.43333rem, 15.71334vw, 7.85667rem);
    }
    .menuBtn_span{
        right: 21%;
        width: clamp(3.7rem, 9vw, 4.5rem);
    }
    .menuBtn_span:nth-child(1){ top: clamp(1.8rem, 4.3999999999999995vw, 2.2rem); }
    .menuBtn_span:nth-child(2){ top: clamp(3.2rem, 8vw, 4rem); }
    .menuBtn_span:nth-child(3){ top: clamp(4.5rem, 11.4vw, 5.7rem); }
    .menu_active .menuBtn_span:nth-child(1), .menu_active .menuBtn_span:nth-child(3){ top: clamp(3.2rem, 8vw, 4rem); }

    /*====== フッター ======*/
    .postCode{ display: block; }
    .footer_inner{ width: 95%; }

    /*====== メインコンテンツ ======*/
    .main{ margin-top: clamp(6.43333rem, 15.71334vw, 7.85667rem); }
    .main_inner{ width: 95%; }

    /*====== 開催概要 ======*/
    .outline_dd_postCode{ display: block; }
}