@charset "utf-8";
/* CSS Document */
/* ===========================================================================

base

=========================================================================== */
:root {
    --dark: #041e42;
    --middle: #003877;
    --light: #cdd2d9;
    --blue: #1194D6;
    --dark-blue: #08588E;
    --black: #000;
    --white: #fff;
    --yellow: #FBED29;
    --dark-yellow: #FFD303;
    --red: #E20210;
    --dark-red: #D9000E;
    --border-grey: #cdd2d9;
    --sec-padding: 5rem;
}
/*
  Made by Elly Loel - https://ellyloel.com/
*/
* {
    margin: 0;
    padding: 0;
    line-height: calc(0.25rem + 1em + 0.25rem)
}
*, ::before, ::after {
    box-sizing: border-box
}
*:where(:not(fieldset, progress, meter)) {
    border-width: 0;
    border-style: solid;
    background-origin: border-box;
    background-repeat: no-repeat
}
html {
    block-size: 100%;
    -webkit-text-size-adjust: none
}
@media (prefers-reduced-motion:no-preference) {
    html:focus-within {
        scroll-behavior: smooth
    }
}
body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    min-block-size: 100%
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}
:where(img, svg, video) {
    block-size: auto;
    max-inline-size: 100%
}
:where(svg) {
    stroke: none;
    fill: currentColor
}
:where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}
:where(svg):where(:not([width])) {
    inline-size: 5rem
}
:where(input, button, textarea, select), :where(input[type="file"])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit;
    word-spacing: inherit
}
:where(textarea) {
    resize: vertical
}
@supports (resize:block) {
    :where(textarea) {
        resize: block
    }
}
:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word
}
h1 {
    font-size: 2em
}
:where(ul, ol) {
    list-style-position: inside;
    list-style: none
}
a:not([class]) {
    text-decoration-skip-ink: auto;
    text-decoration: none;
}
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation
}
:where(input[type="file"]) {
    cursor: auto
}
:where(input[type="file"])::-webkit-file-upload-button, :where(input[type="file"])::file-selector-button {
    cursor: pointer
}
@media (prefers-reduced-motion:no-preference) {
    :focus-visible {
        transition: outline-offset 145ms cubic-bezier(.25, 0, .4, 1)
    }
    :where(:not(:active)):focus-visible {
        transition-duration: 0.25s
    }
}
:where(:not(:active)):focus-visible {
    outline-offset: 5px
}
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]), :where(input[type="file"])::-webkit-file-upload-button, :where(input[type="file"])::file-selector-button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    user-select: none;
    text-align: center
}
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled] {
    cursor: not-allowed
}
.font-size-dummy {
    font-size: .75rem;
    /* 12px */
    font-size: .8125rem;
    /* 13px */
    font-size: .875rem;
    /* 14px */
    font-size: 1rem;
    /* 16px */
    font-size: 1.125rem;
    /* 18px */
    font-size: 1.25rem;
    /* 20px */
    font-size: 1.375rem;
    /* 22px */
    font-size: 1.75rem;
    /* 28px */
    font-size: 2.25rem;
    /* 36px */
    font-size: 5rem;
    /* 80px */
    transition: all .3s ease;
}
/* -----------------------------------------------------------
common
----------------------------------------------------------- */
html {
    font-size: 62.5%;
}
body {
    color: var(--black);
    font-family: "M PLUS 1", sans-serif;
    font-weight: 600;
}
a {
    transition: all .3s ease;
    font-weight: 600;
    color: var(--blue);
    text-decoration: none;
}
a img{
    width: auto;
}
a:hover {
    color: var(--dark-blue);
}
a:hover img{
    opacity: 0.8;
}
p,ol,ul,dl,li {
    line-height: 1.75;
    font-size: 1.8rem;
    font-weight: 600;
}
p+p {
    margin-top: 1.75rem;
}
strong{
    font-weight: 900;
}
section {
    overflow: hidden;
}
img {
    max-width: 100%;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
    html {
        font-size: 1.2vw;
    }
}
@media only screen and (max-width: 768px) {
    html {
        font-size: 2.5vw;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    p,ol,ul,dl,li {
        font-size: 1.4rem;
    }
}

/* -----------------------------------------------------------
footer
----------------------------------------------------------- */
footer {
    position: relative;
}
#footerArea {
    background: var(--blue);
}
.bl_sns_li {
    display: flex;
    justify-content: center;
    margin-bottom: 10rem;
}
.bl_sns_li li {
    margin: 0 1rem;
}
.bl_sns_li li a{
background: white;
border-radius: 50%;
width: 8rem;
height: 8rem;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
}
.bl_sns_li li a img {
    width: 4rem;
}
.bl_sns_li li a img.logo_x {
    max-width: 3.2rem;
}
.ly_footer_logo {
    padding: 4rem 0;
    text-align: center;
    border-bottom: 1px solid var(--light);
}
.ly_footer_logo img {
    margin: auto;
    max-width: 200px;
}
.ly_footer_sub {
    text-align: center;
    padding: 10rem;
}
.copylight {
    margin-top: 10rem;
    font-size: 1.8rem;
}
.bl_contact_wrapper {
    margin-top: 2rem;
}
.el_btn_pageTop {
    position: absolute;
    right: 4rem;
    bottom: -1rem;
    cursor: pointer;
    width: 80px;
    z-index: 50;
}
.ly_archive {
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}
.ly_archive a {
    margin-left: 0.5em;
    color: white;
}
.ly_archive ul {
    text-align: left;
}
.ly_archive li {
    
}
@media only screen and (max-width: 768px) {
    .ly_archive {
        font-size: 1.4rem;
        flex-direction: column;
        text-align: left;
    }
    .ly_archive ul {
        margin-top: 1rem;
    }
    .ly_archive ul a{
        font-size: 1.4rem;
    }
    .el_box_link {
        font-size: 1.5rem;
    }
    .bl_sns_li li {
        margin: 0 0.5rem;
    }
    .bl_sns_li li a{
    width: 5rem;
    height: 5rem;
    padding: 1rem;
    }
    .bl_sns_li li a img {
        width: 3rem;
    }
    .bl_sns_li li a img.logo_x {
        max-width: 2.2rem;
    }
    .ly_footer_logo img {
        width: 40vw;
    }
    .el_btn_pageTop {
        width: 14vw;
        right: 1rem;
    }
    .ly_footer_sub {
        text-align: center;
        padding: 5rem 2rem 2rem;
    }
    .copylight {
        font-size: 1.1rem;
        margin-top: 2rem;
    }
}
/* -----------------------------------------------------------
container
----------------------------------------------------------- */
.ly_sec_cont {
    padding: 10rem;
}
.ly_sec_cont.min {
    padding: 10rem 20rem;
}
#mainVisual .ly_sec_cont.min {}
.ly_cont_outer {
    max-width: 1260px;
    margin: auto;
    padding: 0 30px;
}
.ly_intro{
margin: auto;
background-image: url(../images/bg_intro.png);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.ly_intro img{
max-width: 1200px;
margin: auto;
width: 100%;
}
.ly_section_wrap{
background: var(--white);
padding: 4rem;
border: 2px solid black;
max-width: 1360px;
margin: auto;
margin-bottom: 6rem;
}
.ly_h2_cont_wrap > *{
margin-bottom: 4rem;
}

@media only screen and (max-width: 768px) {
    #mainVisual .ly_sec_cont.min {
        padding: 5rem 2rem;
    }
    .ly_sec_cont {
        padding: 2vh;
    }
    .ly_sec_cont.min {
        padding: 7rem;
    }
    .ly_section_wrap{
    padding: 2rem;
    margin-bottom: 3rem;
    }
    .ly_h2_cont_wrap > *{
    margin-bottom: 2rem;
    }
}
/* -----------------------------------------------------------
section
----------------------------------------------------------- */
/* mainvisual ---------------------------------------------*/
#mainVisual {
    background-image: url("../images/bg_mv.png");
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.ly_mainVisual {
    position: relative;
}
.ly_mainVisual img {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}
.ly_mainVisual {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.bg_yellow{
background: var(--dark-yellow);
}
@media only screen and (max-width: 768px) {
    .ly_mainVisual {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}
.ly_h2_head_wrap{
display: flex;
background-image: url("../images/bg_ttl_cen.svg");
background-position: center;
background-repeat: repeat-x;
min-height: 111px;
justify-content: center;
margin-bottom: 6rem;
margin: 0 3rem 6rem;
position: relative;
}
.ly_h2_head_wrap:before,
.ly_h2_head_wrap:after{
content:"";
height: 111px;
width: 30px;
display: inline-block;
position: absolute;
background-repeat: no-repeat;
}
.ly_h2_head_wrap:before{
background-image: url("../images/bg_ttl_l.svg");
left: -3rem;
}
.ly_h2_head_wrap:after{
background-image: url("../images/bg_ttl_r.svg");
right: -3rem;
}
.ly_lower_heading{
background: var(--red);
padding: 4rem 10rem;
color: white;
}
.el_h2{
font-size: 4rem;
font-weight: 800;
max-width: 851px;
display: flex;
align-items: center;
justify-content: center;
color: var(--yellow);
}
.el_h3{
font-size: 2.8rem;
font-weight: 800;
border-bottom: 2px solid var(--yellow);
padding-bottom: 0.4em;
margin-bottom: 2rem;
}
.el_h3_attemntion{
font-size: 2.8rem;
font-weight: 800;
background: var(--red);
color: white;
padding: 0.4em;
}
.el_lower_h1{
font-size: 4rem;
font-weight: 800;
color: var(--white);
margin-bottom: 2rem;
text-shadow: 3px 3px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.ly_overview_dl{
display: flex;
flex-wrap: wrap;
margin-bottom: -1rem;
}
.ly_overview_dl dt{
line-height: 1.75;
font-size: 2rem;
font-weight: 800;
flex-basis: 8em;
flex-grow: 0;
flex-shrink: 0;
width: 8em;
min-width: 8em;
margin-bottom: 1rem;
}
.ly_overview_dl dd{
line-height: 1.75;
font-size: 2rem;
font-weight: 600;
flex-grow: 1;
flex-shrink: 1;
flex-basis: calc(100% - 8em);
width: calc(100% - 8em);
margin-bottom: 1rem;
}

.ly_schedule_dl{
display: flex;
flex-wrap: wrap;
margin-bottom: -1rem;
}
.ly_schedule_dl dt{
line-height: 1.75;
font-size: 2rem;
font-weight: 800;
flex-basis: 20em;
flex-grow: 0;
flex-shrink: 0;
width: 20em;
min-width: 20em;
margin-bottom: 1rem;
}
.ly_schedule_dl dd{
line-height: 1.75;
font-size: 2rem;
font-weight: 600;
flex-grow: 1;
flex-shrink: 1;
flex-basis: calc(100% - 20em);
width: calc(100% - 20em);
margin-bottom: 1rem;
}

.el_btn_normal{
background: var(--yellow);
padding: 2rem;
min-width: 48rem;
text-align: center;
display: flex;
align-content: center;
justify-content: center;
font-size: 2.8rem;
font-weight: 800;
color: var(--black);
border-radius: 4rem;
text-decoration: none;
border: 2px solid black;
}
.el_btn_contact{
background: var(--blue);
padding: 2rem;
min-width: 48rem;
text-align: center;
display: flex;
align-content: center;
justify-content: center;
font-size: 2.8rem;
font-weight: 800;
color: var(--white);
border-radius: 4rem;
text-decoration: none;
border: 2px solid black;
}
.el_btn_contact:hover{
color: var(--yellow);
}
.el_btn_application{
background: var(--red);
padding: 2rem;
min-width: 48rem;
text-align: center;
display: flex;
align-content: center;
justify-content: center;
font-size: 2.8rem;
font-weight: 800;
color: var(--white);
border-radius: 4rem;
text-decoration: none;
border: 4px solid black;
}
.el_btn_application:hover{
color: var(--yellow);
background: var(--dark-red);
}
.ly_btn_wrap{
max-width: 851px;
margin-left: auto;
margin-right: auto;
}
.ly_mainVisual .ly_btn_wrap{
max-width: 851px;
margin-left: auto;
margin-right: auto;
margin-top: 4rem;
}
.el_link_img{
display: inline-block;
}
.el_link_txt{
display: inline-block;
margin-top: 1rem;
}

@media only screen and (max-width: 768px) {
    .ly_h2_head_wrap {
    margin: 0 2rem 3rem;
    min-height: 8rem;
    background-size: contain;
    }
    .ly_h2_head_wrap:before, .ly_h2_head_wrap:after {
    content: "";
    height: 8rem;
    width: 3rem;
    position: absolute;
    background-size: contain;
    }
    .ly_h2_head_wrap:before{
    left: -2rem;
    }
    .ly_h2_head_wrap:after{
    right: -3rem;
    }
    .ly_overview_dl{
    display: block;
    flex-wrap: wrap;
    }
    .ly_overview_dl dt{
    font-size: 1.6rem;
    margin-bottom: 0;
    }
    .ly_overview_dl dd{
    font-size: 1.6rem;
    margin-bottom: 1rem;
    width: 100%;
    }
    .ly_schedule_dl{
    display: block;
    flex-wrap: wrap;
    }
    .ly_schedule_dl dt{
    font-size: 1.6rem;
    margin-bottom: 0;
    }
    .ly_schedule_dl dd{
    font-size: 1.6rem;
    margin-bottom: 1rem;
    width: 100%;
    }
    .el_btn_normal{
    min-width: auto;
    font-size: 1.6rem;
    }
    .el_btn_contact{
    min-width: auto;
    font-size: 1.6rem;
    }
    .el_btn_application{
    min-width: auto;
    font-size: 1.6rem;
    border-width: 2px;
    }
    .el_h2{
    font-size: 2.2rem;
    text-align: center;
    }
    .el_h3{
    font-size: 2rem;
    }
    .el_lower_h1{
    font-size: 2rem;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 2rem;
    text-shadow: 3px 3px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    }
    .el_h3_attemntion{
    font-size: 2rem;
    }
    .ly_link_wrap img{
    max-width: 60vw;
    }
    .ly_mainVisual .ly_btn_wrap{
    max-width: 851px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    }
}

/* news ---------------------------------------------*/
.bl_news_list{
margin-bottom: 2rem;
}
.el_news_item{
line-height: 1.25;
min-height: 3em;
display: flex;
align-items: center;
padding: 0.5rem 0;
border-bottom: 1px solid var(--yellow);
font-weight: bold !important;
}
.el_news_item a{
color: var(--blue);
}
.el_news_link{
color: white;
display: flex;
align-items: center;
}
.el_news_item .el_news_text{
transition: 0.2s;
}
.el_news_item a:hover .el_news_text{
letter-spacing: 0.1em;
}
.el_news_date{
display: inline-block;
color: black;
margin-right: 2rem;
min-width: 6em;
}
.ly_sec_news .el_news_date{
display: inline-block;
font-weight: normal;
}
.ly_news_btn{
text-align: right;
}
.ly_sec_news .ly_news_btn{
text-align: center;
}
.ly_sec_news .ly_news_btn a + a{
margin-left: 4rem;
}


.el_committee_item{
margin-bottom: 0.5rem;
}
.el_committee_item:nth-child(odd){
}
.el_committee_item dl{
display: flex;
}
.el_committee_item dt{
flex-basis: 12em;
padding: 0.2em;
background: var(--yellow);
}
.el_committee_item dd{
flex-basis: calc(calc(100% - 12em) / 2);
margin-left: 0.5em;
padding: 0.2em;
border-bottom: 1px solid var(--blue);
}
@media only screen and (max-width: 768px) {
    .el_committee_item dl{
    display: block;
    }
    .el_committee_item dd{
    display: inline-block;
      margin-left: 0;
      width: calc(50% - 1em);
      border-bottom: none;
    }
    .el_committee_item{
    margin-bottom: 1rem;
    }
    .bl_committee_box{
    display: block;
    }
    .el_committee_ttl{
    flex: 0 1 25%;
    border-right: 0;
      margin-right: 0;
      margin-bottom: 1rem;
    }
    .el_committee_detail{
    flex: 1 1 75%;
    padding: 0 1rem;
    }

}
.el_fs_125{
font-size: 125%;
line-height: 1.75;
}
.el_fw_b{
font-weight: bold;
}
.bl_list_dot > li:before{
content: "";
display: inline-block;
width: 0.4em;
height: 0.4em;
position: absolute;
left: 0em;
top: 0.8em;
background: var(--red);
}
.bl_list_dot > li{
padding-left: 1em;
margin-bottom: 0.75em;
position: relative;
}
.bl_list_num{
list-style: number;
padding-left: 1em;
}
.bl_list_num li{
margin-bottom: 2rem;
position: relative;
}
.el_img_border{
border: 1px solid var(--light);
}
.ly_lower_logoArea{
background-image: url("../images/bg_mv.png");
background-position: center;
background-size: cover;
background-repeat: no-repeat;
padding: 4rem;
display: flex;
justify-content: center;
}
.ly_lower_logoArea img{
max-width: 30vw;
}
@media only screen and (max-width: 768px) {
  .ly_lower_logoArea{
  padding: 2rem;
  }
  .ly_lower_logoArea img{
  max-width: 50vw;
  }
  .ly_lower_heading{
  padding: 2rem;
  }
}
.el_txt_note{
    padding-left: 1em;
    text-indent: -1em;
}
.el_txt_note + .el_txt_note{
    margin-top: -2rem;    
}

.ly_header{
}
#top .ly_header{
top: -74px;
}
#top .ly_header.is-show {
top: 0;
}
.ly_header_menu{
margin-left: auto;
position: relative;
}
.ly_header_menu_wrap{
    background: var(--black);
}
.ly_header_menu{
    
}
.ly_header_menu_list{
    display: flex;
    justify-content: center;
}
.bl_menu_item{
    
}
.el_menu_link{
    color: var(--white);
    padding: 1em;
    font-size: 2rem;
    display: inline-block;
}
.el_menu_link:hover{
    color: var(--yellow);
}
.ly_header_menu_btn{
display: none;
}
.overlay{
background: var(--black);
opacity: 0.5;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: none;
}
.overlay.show_map{
display: block;
z-index: -1;
}
.ly_header{
width: 100%;
}
#headermenu.m_fixed{
position: fixed;
top: 0;
left: 0;
z-index: 999;
}
@media only screen and (max-width: 768px) {
    .el_menu_link{
        font-size: 1.5rem;
    }
    .ly_header{
    padding: 1rem;
    font-size: 1.5rem;
    z-index: 2;
    position: fixed;
    top: 0;
    width: 100%;
    }
    .overlay{
    background: var(--black);
    opacity: 0.5;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    }
    .overlay.show{
    display: block;
    }
    .ly_header_menu_wrap{
    display: none;
    position: absolute;
    width: 100%;
    top: 70px;
    left: 0;
    padding: 20px;
    z-index: 1;
    }
    .menu_open .ly_header_menu_wrap{
    display: flex;
    flex-direction: column-reverse;
    background: var(--blue);
    }
    .ly_header_menu{
    margin-left: 0;
    }
    .ly_header_submenu{
    display: block;
    }
    .bl_submenu_item + .bl_submenu_item{
    margin-left: 0;
    margin-top: 1rem;
    }
    .bl_submenu_item{
    flex: 1 1 50%;
    text-align: center;
    }
    .ly_header .el_contact_btn{
    border-radius: 2em;
    }
    .bl_menu_item{
    margin-right: 0;
    }
    .el_menu_link{
    display: block;
    color: white;
    }
    .ly_header_submenu{
    margin-left: 0;
    margin-top: 2rem;
    }
    .bl_contact_btn{
    width: 100%;
    }
    .ly_header_menu_list{
    display: block;
    }
    .ly_header_menu_btn{
    display: block;
    }
    .openbtn{
    position: relative;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background: var(--yellow);
    border-radius: 25px;
    margin-left: auto;
    }
    .openbtn .openbtn-area{
    transition: all .6s;
    width: 50px;
    height: 50px;
    }
    .openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: var(--black);
    width: 45%;
    }
    .openbtn span:nth-of-type(1) {
    top: 15px;	
    }
    .openbtn span:nth-of-type(2) {
    top: 23px;
    }
    .openbtn span:nth-of-type(3) {
    top: 31px;
    }
    .menu_open .openbtn .openbtn-area{
    transform: rotate(360deg);
    }
    .menu_open .openbtn span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
    }
    .menu_open .openbtn span:nth-of-type(2) {
    opacity: 0;
    }
    .menu_open .openbtn span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
    }
}
.ly_sponser{
    display: flex;
    flex-wrap: wrap;
}
.bl_sponserLogo{
    margin-bottom: 2rem;
}
.ly_col_1{
    justify-content: center;
}
.ly_col_1 .bl_sponserLogo{
    flex-basis: 70%;
}
.ly_col_2{
    justify-content: space-around;
}
.ly_col_2 .bl_sponserLogo{
    flex-basis: 35%;
}
.el_txt_sponser{
    font-size: 12px;
    color: grey;
    text-align: right;
}
@media only screen and (max-width: 768px) {
.ly_col_2 .bl_sponserLogo{
    flex-basis: 47%;
}
.el_txt_sponser{
    font-size: 8px;
    color: grey;   
}
}