@charset "UTF-8";

:root {
    --main-color: #000000;
    --sub-color: #f3f3f3;
    --key-color: #c12c1f;
    --dark-color: #9c1206;
    --btn-org: #f59025;
    --btn-blue: #0373ad
    /* --btn-org: #e68717; */
    /* --btn-blue: #3c4ba4; */
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
}
html {
    font-size: 100%;
    overflow: auto;
}
body {
    font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
        "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium",
        "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-feature-settings: "palt";
    font-size: 16px;
    letter-spacing: 2px;
    width: 100%;
    background: white;
    margin: 0 auto;
    padding: 0;
    color: #1d2129;
    overflow: hidden;
    line-height: 1.8;
}
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
a {
    text-decoration: none;
}
main {
    position: relative;
}

/* -------------------------------
layout
------------------------------- */
.wrap {
    /* max-width: 1200px; */
    margin: 0 auto;
    background-color: #fff;
    position: relative;
}
#overlay {
    display: none;
}
.menu-trigger {
    display: none;
}

/* -------------------------------
common
------------------------------- */
.f_wrap {
    display: flex;
}
.mb_only {
    display: none;
}
.pc_only {
    display: block;
}
.fadein {
    opacity: 0.1;
    transform: translate(0, 50px);
    transition: all 1s;
}
.fadein_type2 {
    transform: translate(0, 50px);
    transition: all 1.5s;
}
.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}
.no-wrap {
    white-space: nowrap;
}
.fss {
    font-size: 80%;
}
.header_title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: 125px;
}

/* -------------------------------
nav
------------------------------- */
nav {
    display: flex;
    flex-direction: column;
}
nav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
nav ul.visible_part li {
    padding: 0 20px;
    border-left: 1px solid #fff;
    line-height: 1.2;
    /* min-height: 30px; */
    display: flex;
    align-items: center;
    height: 20px;
}
nav ul a {
    color: white;
}
nav ul a.unactive {
    color: #919191;
    pointer-events: none;
}
nav ul a:hover {
    color: #ffe70e;
}
nav ul a.unactive:hover {
    color: #919191;
}
.page nav ul a {
    color: #000;
}

.cnv_btn {
    display: flex;
    gap: 10px;
}
.cnv_btn a {
    /* display: flex;
    justify-content: center;
    align-items: center; */
    display: block;
    text-align: center;
    padding: 13px 0;
    width: 200px;
    /* height: 40px; */
    color: white;
    letter-spacing: 2px;
    font-weight: bold;
    border-radius: 999px;
    /* background-image: url(../img/arrow_right_white.svg);
    background-repeat: no-repeat;
    background-position: 95% center;
    background-size: 7px; */
}
.cnv_btn a.regist {
    background-color: var(--btn-blue);
    border: 1px solid var(--btn-blue);
}
.cnv_btn a.regist:hover {
    background-color: white;
    color: var(--btn-blue);
    transition: 0.3s;
    font-weight: bold;
    border: 1px solid var(--btn-blue);
}
.cnv_btn a.contact {
    background-color: var(--btn-org);
    border: 1px solid var(--btn-org);
}
.cnv_btn a.contact:hover {
    background-color: white;
    color: var(--btn-org);
    transition: 0.3s;
    font-weight: bold;
    border: 1px solid var(--btn-org);
}

/* -------------------------------
header
------------------------------- */
.fixed_header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    transition: 0.2s;
}
.fixed_header .header_right {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 20px;
}
body .hidden_part {
    display: flex ;
    flex-direction: column;
    align-items: start;
    gap: 8px;
    /* gap: 20px; */
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1;
    color: white;
}
.fixed_header .header_right .hidden_part li:first-child {
    display: flex;
    line-height: 1.3;
    align-items: center;
}
/* .fixed_header .header_right .hidden_part li:first-child div:last-child {
    text-align: right;
} */
 .fixed_header .header_right .hidden_part li:last-child .txt_sml {
    font-size: 14px;
 }

.fixed_header .header_menu_head {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 15px 0;
    background-color: var(--key-color);
}

.fixed_header .header_menu_body {
    width: 100%;
    background: linear-gradient(to bottom, #ffffff 0%, #ececec 100%);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.fixed_header .header_menu_body nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    /* height: 50px; */
    align-items: center;
    padding: 15px 0;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

.fixed_header .header_menu_body nav a, .fixed_header .header_menu_body nav span {
    color: #000;
    height: 100%;
    display: flex;
    align-items: center;
    border-right: 1px solid #ddd;
    justify-content: center;
    width: 100%;
    max-width: 180px;
    font-weight: bold;
    transition: 0.3s;
}
.fixed_header .header_menu_body nav a.is_disabled {
    color: #ccc;
    pointer-events: none
}

.fixed_header .header_menu_body nav a:hover {
    /* background-color: #0a551d; */
    transition: 0.5s;
    color: var(--key-color);
}

.fixed_header .header_menu_body nav a:first-child {
    max-width: 67px;
}
.fixed_header .header_menu_body nav a div {
    display: block;
}
.fixed_header .header_menu_body nav a img {
    height: 20px;
}
.fixed_header .header_menu_body nav a:first-child:hover path {
    fill: var(--key-color);
}

.fixed_header .header_menu_body nav span {
    background-color: #314234;
    color: #797979;
}
.fixed_header .header_menu_body nav a.fd, .fixed_header .header_menu_body nav span.fd {
    flex-direction: column;
    line-height: 1.6;
    > div {
        line-height: 1;
        font-size: 11px;
    }
}
/* body.scrolled .fixed_header {
    background-color: rgba(255,255,255,1);
    background-color: #001c07;
    transition: 0.5s;
}
body.scrolled .hidden_part span {
    font-size: 18px;
}
body.scrolled .cnv_btn a {
    height: 40px;
    font-size: 14px;
    font-weight: normal;
}
body.scrolled.page nav ul a {
    color: #fff;
} */

/* -------------------------------
footer
------------------------------- */
footer {
    position: relative;
    background-color: #021621;
    /* background-color: #3f435b; */
    color: white;
    text-align: center;
    padding: 30px 0 80px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-top: 100px;
}

footer .footer_part1 {
    position: absolute;
    top: 3%;
    right: -60px;
    width: 400px;
}

footer .footer_part2 {
    position: absolute;
    top: 75%;
    left: -60px;
    width: 400px;
}

#footer_organization {
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
}

#footer_organization span {
    font-size: 14px;
    display: block;
    font-weight: normal;
    line-height: 1.5;
}

#footer_organization span:first-child {
    font-weight: bold;
    font-size: 18px;
    margin-top: 2px;
}

#footer_tel {
    margin-top: 8px;
    line-height: 1.5;
}

#footer_tel div.box {
    display: none;
    /* display: inline-block; */
    border: 1px solid #fff;
    font-size: 12px;
    font-weight: normal;
    padding: 4px 17px;
    line-height: 12px;
    margin-right: 20px;
    vertical-align: middle;
}

#footer_tel span.tel_text {
    font-size: 20px;
    font-weight: bold;
    vertical-align: baseline;
}

#footer_tel span:last-child {
    font-size: 14px;
    display: block;
}

#footer_tel a {
    color: white;
    text-decoration: none;
    font-size: 27px;
    font-weight: bold;
}

#footer_adress {
    font-size: 14px;
    margin-top: 6px;
}

#footer_adress a {
    color: white;
}

#footer_adress span {
    font-size: 12px;
    display: block;
}

#footer_copyright {
    margin-top: 50px;
}

.fixed_btn_wrap_for_ie {
    width: 100%;
    left: 0;
    display: block;
    position: fixed;
    /* background-color: #000;  */
    height: 50px;
    bottom: 0;
    z-index: 30;
}

.fixed_btn_wrap {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    height: 50px;
}

.fixed_btn {
    right: 0;
    display: block;
    background-color: #ffe70e;
    width: 24%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    /* border: 1px solid #fff; */
}

.fixed_btn.btn1 {
    background-color: var(--btn-blue);
}

.fixed_btn.btn2 {
    background-color: var(--btn-org);
}

.fixed_btn:hover {
    background-color: white;
    /* color: #ffe70e; */
    font-weight: bold;
    transition: 0.3s;
    /* border: 1px solid #ffe70e; */
}

.fixed_btn.btn1:hover {
    color: var(--btn-blue);
    transition: 0.3s;
    border: 1px solid var(--btn-blue);
}

.fixed_btn.btn2:hover {
    color: var(--btn-org);
    transition: 0.3s;
    border: 1px solid var(--btn-org);
}
.fixed_btn img {
    width: 25px;
    margin-right: 10px;
}

.fixed_btn_wrap>div.scrolltotop {
    width: 50px;
    background-color: #5C5C5C;
    cursor: pointer;
    position: relative;
}
.fixed_btn_wrap>div.scrolltotop::after {
    content: "";
    width: 12px;
    height: 12px;
    border: 0px;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
    top: 50%;
    right: 18px;
    margin-top: -4px;
}
#page-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 50px;
    z-index: 200;
    height: 50px;
    background-color: var(--key-color);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#page-top img {
    width: 35%;
    cursor: pointer;
}
.stop .fixed_btn_wrap_for_ie {
    display: none;
}


/* -------------------------------
wrap / section
------------------------------- */
.wrap {
    position: relative;
    /* background-image: url(../img/bg_parallelogram.png); */
    background-size: 3018px;
    background-position-y: 100vh;
    background-position-x: center;
    padding-top: 100px;
}
.wrap .header_logo {
    /* position: absolute;
    top: 21px;
    left: 6%;
    z-index: 12; */
    display: flex;
    align-items: center;
    height: 100%;
}

.wrap .header_logo a {
    display: block;
    line-height: 1;
    padding-left: 25px;
}

.wrap .header_logo a img {
    max-width: 685px;
    height: 45px;
}
section {
    max-width: 1000px;
    margin: 0 auto;
}
section h2 {
    text-align: center;
    margin-bottom: 30px;
    margin-top: 100px;
}
h2.bg_black {
    /* background-color: #a20f02; */
    padding: 7px 0;
    background-color: var(--dark-color);
    color: white;
    font-size: 28px;
    text-align: center;
    /* border-left: 10px solid #004c13; */
}

/* -------------------------------
.front_page
------------------------------- */
.front_page .wrap {
    padding-top: 0;
}
/* header */
.front_page header {
    height: auto;
    min-height: 710px;
    background-image: url(../img/mv_bg.png);
    background-size: cover;
    background-position: center;
    position: relative;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
    background-attachment: fixed;
    margin-top: 140px;
}
.front_page header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(193, 44, 31, 0.1);
}
.front_page.onLoad header::before {
    background-color: rgba(147, 77, 77, 0.3);
    transition: 2s;
}
.front_page header>div::before {
    content: "";
    position: absolute;
    transform: skewX(-13deg);
    width: 1130px;
    /* height: 100%; */
    height: 90%;
    min-height: 710px;
    margin: 0 auto;
    background-color: rgba(45, 80, 29, 0.1);
    border-right: 8px solid rgba(255, 255, 0, 0);
    border-left: 8px solid rgba(255, 255, 0, 0);
    z-index: 8;
}
.front_page.onLoad header>div::before {
    background-color: rgba(136, 32, 22, 0.85);
    border-right: 8px solid rgba(248,247,151, 0.9);
    border-left: 8px solid rgba(248,247,151, 0.9);
    transition: 2s;
}
.front_page header>div {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.front_page header div.main_logo {
    max-width: 720px;
    z-index: 10;
}
.front_page header div.main_logo .main_logo_wrap {
    text-align: center;
}
.front_page header div.main_logo img {
    width: 100%;
    /* max-height: 40vh;
    width: auto; */
}
.front_page header .logo_data {
    font-size: 24px;
    font-weight: bold;
    color: white;
    line-height: 1;
    margin: 40px 0;
    text-align: center;
}
.front_page header .logo_data a {
    color: white;
    text-decoration: underline;
}
.front_page header .logo_data>div {
    /* max-width: 800px; */
    margin: 20px auto;
}
.front_page header .logo_data div:first-child {
    display: flex;
    align-items: baseline;
    justify-content: center;
}
.front_page header .logo_data div:first-child span {
    font-size: 42px;
}
.front_page header .logo_data div:first-child>div:last-child {
    display: flex;
    align-items: baseline;
    justify-content: center;
    /* flex-grow: 1; */
    gap: 10px;
}
.front_page header .logo_data .info .txt_sml {
    font-size: 19px;
}
/*
.front_page header .logo_data .time {
    font-size: 24px;
    margin-top: 0px;
}
.front_page header .logo_data div span {
    font-size: 40px;
}
.front_page header .logo_data .info {
    font-size: 20px;
    line-height: 1;
    max-width: 500px;
    span {
        font-size: 14px;
        display: inline-block;
        width: 85px;
        margin-right: 10px;
        border: 1px solid #fff;
        padding: 3px 0px 3px;
        color: #fff;
        text-align: center;
    }
}
*/
.front_page header .header_support {
    color: white;
    line-height: 1.7;
    margin-top: 20px;
    /* max-width: 450px; */
    margin: 0 auto;
    padding-left: 0px;
}
.front_page header .header_support .f_wrap {
    display: flex;
    font-size: 13px;
    line-height: 1.3;
    flex-direction: column;
}
.front_page header .header_support .f_wrap>div:first-child {
    min-width: 137px;
    margin-bottom: 6px;
    font-size: 15px;
}
.front_page header .btn {
    z-index: 10;
    width: 100%;
    padding: 30px 0 0;
}

.front_page header .btn a {
    display: flex;
    color: white;
    width: 90%;
    max-width: 420px;
    margin: 0 auto 20px;
    justify-content: center;
    font-weight: bold;
    height: 66px;
    font-size: 18px;
    align-items: center;
    background-image: url(../img/arrow_right_white.svg);
    background-repeat: no-repeat;
    background-position: 95% center;
    background-size: 7px;
    /* font-weight: bold; */
    transition: 0.3s;
    /* border-radius: 10px; */
    border-radius: 999px;
}

.front_page header .btn a.btn_contact {
    background-color: var(--btn-org);
    border: 2px solid var(--btn-org);
}
.front_page header .btn a.btn_contact:hover {
    border: 2px solid var(--btn-org);
    color: var(--btn-org);
    background-color: white;
    background-image: url(../img/arrow_right_org.svg);
}
.front_page header .btn a.btn_register {
    margin-bottom: 0;
    background-color: var(--btn-blue);
    border: 2px solid var(--btn-blue);
}
.front_page header .btn a.btn_register:hover {
    border: 2px solid var(--btn-blue);
    color: var(--btn-blue);
    background-color: white;
    background-image: url(../img/arrow_right_blue.svg);
}

/* .front_page header > div > div {
    text-align: center;
}
.front_page header span {
    color: white;
    font-weight: bold;
    position: absolute;
    right: 0;
    font-size: 51px;
    bottom: 31%;
    transform: rotate(-19deg);
    -moz-transform: rotate(-19deg);
    -webkit-transform: rotate(-19deg);
    -o-transform: rotate(-19deg);
    -ms-transform: rotate(-19deg);
}
.front_page .sns {
    display: flex;
    align-items: center;
    position: absolute;
    top: 80px;
    right: 100px;
    background-color: rgba(255,255,255,0.7);
    padding: 7px 10px 4px;
    z-index: 999;
    border-radius: 40px;
}
.front_page .sns a {
    display: block;
    width: 40px;
    margin: 0 8px;
    line-height: 1;
}
.front_page .sns a:last-child {
    width: 70px;
}
.front_page .sns a img {
    width: 100%;
} */

.front_page section {
    padding: 0 15px;
}
.front_page section h2 img {
    width: 31%;
    min-width: 350px;
}
/* outer_regarding */
.front_page .outer_regarding h2 {
    margin-top: 50px;
}
.front_page .outer_regarding {
    border: 3px solid #001c07;
    max-width: 1060px;
    margin: 80px auto 0;
    background-color: rgba(255, 255, 255, 0.8);
    padding-bottom: 40px;
    margin-bottom: ０;
}
/* #sec1 */
.front_page #sec1 {
    padding-top: 0px;
}
.front_page #sec1 h2 {
    font-size: 37px;
    font-weight: bold;
    display: block;
}
.front_page #sec1 h2 span {
    display: block;
    line-height: 1.4;
}
.front_page #sec1 h2 span.en {
    font-size: 19px;
    font-weight: bold;
}
/* #sec2 */
.front_page #sec2 {
    margin-bottom: 60px;
    position: relative;
}
.front_page #sec2>div>div {
    width: 100%;
    /* max-width: 800px; */
    margin: 0 auto;
    border: 1px solid #e6e3e3;
    padding: 20px;
    max-height: 300px;
    overflow-y: scroll;
    background-color: rgba(255, 255, 255, 0.3);
}
.front_page #sec2 .info li {
    display: flex;
    border-bottom: 1px dotted #666;
    padding: 15px;
    gap: 20px;
}
.front_page #sec2 .info li .info_date {
    min-width: 100px;
    font-weight: bold;
    color: #001c08;
}
.front_page #sec2 .info li .info_title {
    /* display: flex; */
    display: block;
}
.front_page #sec2 .info li .info_title img {
    margin-right: 15px;
}
.front_page #sec2 .sec2_part {
    position: absolute;
    display: block;
    right: -200px;
    bottom: -200px;
    width: 400px;
}
.front_page #sec2 .sec2_part2 {
    position: absolute;
    display: block;
    left: -200px;
    top: 0px;
    width: 400px;
}
.front_page #sec2 .info_list_btn {
    max-width: 400px;
    height: 30px;
    text-align: center;
    background: #666666;
    border-radius: 10px;
    margin: 30px auto;
}
.front_page #sec2 .info_list_btn span img {
    width: 30px;
}
/* sec3 */
.front_page #sec3 .f_wrap {
    justify-content: center;
    margin: 60px 0 80px;
}
.front_page #sec3 .f_wrap>div {
    border: 1px solid #ccc;
    margin: 0 20px;
}
.front_page #sec3 .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
} */
.front_page #sec3 .sns_icon {
    width: 30px;
}
/* #sec4 */
.front_page #sec4>div>div {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 80px;
}
.front_page #sec4 h3 {
    /* display: inline-block; */
    position: relative;
    padding-bottom: 7px;
    /* border-bottom: 2px solid var(--btn-org); */
    border-bottom: 2px solid var(--key-color);
    /* max-width: 80%; */
    margin: 50px auto 20px;
    &:after {
        position: absolute;
        bottom: -2px;
        right: 0;
        width: 79%;
        height: 2px;
        content: "";
        background-color: #ccc;
    }
}
.front_page #sec4 .access_img1 {
    /* text-align: center; */
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
}
.front_page #sec4 .access_img1 img {
    max-width: 80%;
    margin: 15px auto 0;
}
.front_page #sec4 .conv_btn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--btn-blue);
    color: white;
    font-weight: bold;
    width: 30%;
    height: 60px;
    margin: 40px auto 0;
    border: 2px solid var(--btn-blue);
    border-radius: 999px;
    background-image: url(../img/arrow_right_white.svg);
    background-repeat: no-repeat;
    background-position: 93% center;
    background-size: 7px;
}
.front_page #sec4 .conv_btn a:hover {
    background-color: white;
    color: var(--btn-blue);
    font-weight: bold;
    border: 2px solid var(--btn-blue);
    background-image: url(../img/arrow_right_blue.svg);
}
/* .front_page #sec4 .conv_btn a::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin-top: -4px;
}
.front_page #sec4 .conv_btn a:hover:after {
    border-bottom: solid 1px var(--btn-blue);
    border-right: solid 1px var(--btn-blue);
} */
/* .front_page #sec4 .conv_btn a:hover {
    opacity: 0.7;
} */
/* #sec5 */
.front_page #sec5 .f_wrap {
    display: flex;
}
.front_page #sec5 .f_wrap>div:first-child {
    flex-basis: 65%;
}
.front_page #sec5 .f_wrap>div:last-child {
    flex-basis: 35%;
    text-align: center;
}
.front_page #sec5 .f_wrap>div:last-child img {
    width: 60%;
}
.front_page #sec5 .f_wrap>div:last-child .chairperson_name {
    font-size: 15px;
    line-height: 1.3;
    text-align: right;
}
.front_page #sec5 .f_wrap>div:last-child .chairperson_name>div:last-child {
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
}
/* #sec6 */
.front_page #sec6 .f_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 15px;
}
.front_page #sec6 .f_wrap>div {
    width: 32.5%;
    padding: 30px 25px;
    background-color: rgb(0 0 0 / 2%);
}
.front_page #sec6 .f_wrap>div h3 {
    font-size: 20px;
    font-weight: bold;
    border-left: 5px solid var(--key-color);
    padding-left: 15px;
    /* margin-bottom: 20px; */
    line-height: 1.3;
    min-height: 53px;
    display: flex;
    align-items: center;
}
.front_page #sec6 .f_wrap>div h3+div {
    margin-top: 20px;
}
/* #sec7 */
.front_page #sec7 .supporter_box {
    padding: 20px 30px 30px;
    border: 1px solid #878787;
    margin-bottom: 30px;
}
.front_page #sec7 h3::after {
    content: "";
    display: block;
    border-bottom: 5px solid #004c13;
    width: 20px;
    margin: 0;
    padding-bottom: 0.5rem;
    margin-bottom: 1.2rem;
}
.front_page #sec7 .f_wrap {
    gap: 20px;
}
.front_page #sec7 .f_wrap p.note {
    text-align: right;
    font-size: 13px;
    margin-top: 10px;
}
.front_page #sec7 .supporter_box h3 {
    font-size: 24px;
}
.front_page #sec7 .supporter_box .f_wrap>div:first-child {
    flex-basis: 70%;
}
.front_page #sec7 .supporter_box .f_wrap>div:last-child {
    flex-basis: 30%;
    text-align: center;
}
.front_page #sec7 .supporter_box .f_wrap>div:last-child img {

    max-width: 100%;
}
.front_page #sec7 .supporter_box .f_wrap>div:last-child img.picture {
    max-width: 70%;
}
.front_page #sec7 .supporter_box .chairperson_name {
    font-size: 18px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.front_page #sec7 .supporter_box .chairperson_name>div:first-child {
    font-size: 15px;
    font-weight: normal;
}


/* #sec8 */
.front_page #sec8 .content_box li {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: bold;
    padding: 20px;
    background-color: rgba(0, 0, 0, 2%);
}
.front_page #sec8 .content_box li>div {
    font-weight: normal;
    padding-left: 30px;
    font-size: 16px;
}
.front_page #sec8 .content_box li h3 {
    font-size: 20px;
    font-weight: bold;
    border-left: 5px solid var(--key-color);
    padding-left: 15px;
    /* margin-bottom: 20px; */
    line-height: 1.3;
}
.front_page #sec8 .content_box li h3+div {
    margin-top: 20px;
}
/* sec9 */
.front_page #sec9 {
    padding-top: 140px;
    margin-top: -120px;
}
.front_page #sec9 h2 {
    margin-top: 0;
}
.front_page #sec9 table {
    margin: 0 auto;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0px;
}
.front_page #sec9 table th {
    width: 130px;
    text-align: left;
    font-weight: normal;
    vertical-align: top;
    border-top: 1px dashed #cccccc;
    padding: 15px 0;
}
.front_page #sec9 table th span {
    font-size: 12px;
    display: block;
    margin-top: -5px;
}
.front_page #sec9 table td {
    padding-left: 20px;
    vertical-align: top;
    border-top: 1px dashed #cccccc;
    padding: 15px 0;
}
.front_page #sec9 table td a {
    color: blue;
}
/* #sec11 */
.front_page #sec11 .btn {
    margin-top: 50px;
}
.front_page #sec11 .btn a {
    width: 80%;
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    height: 60px;
    align-items: center;
    background-color: #0071bc;
    border: 1px solid #0071bc;
    color: white;
    box-shadow: 0 4px 10px #bbb;
    transition: 0.3s;
}
.front_page #sec11 .btn a:hover {
    color: #0071bc;
    background-color: white;
    box-shadow: none;
}
/* sec15 */
.front_page #sec15 {
    margin: 100px calc(50% - 50vw) 100px;
    width: 100vw;
    max-width: initial;
    /* background: #f4e6e5; */
    /* background-color: #a81f13; */
    background-color: var(--dark-color);
}
.front_page #sec15 > div {
    width: 100%;
    max-width: 970px;
    margin: 0 auto;
    padding: 80px 0;
}
.front_page #sec15 .head {
    margin: 0 0 40px;
    font-size: 33px;
    /* color: var(--dark-color) */
    color: #fff;
}
.front_page #sec15 .cooperation_box {
    padding: 50px 30px;
    text-align: center;
    background: #fff;
}
.front_page #sec15 .cooperation_list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
}
.front_page #sec15 .cooperation_list li {
    width: calc((80% - 40px) / 2);
}

.front_page #sec15 .cooperation_list .logo_fig img {
    width: 100%;
}
/* .front_page #sec15 .pr_box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    max-width: 1000px;
    flex-wrap: wrap;
}
.front_page #sec15 .pr_box a {
    display: block;
}
.front_page #sec15 .pr_box img {
    max-height: 60px;
}
.front_page #sec15 .pr_box img.w {
    width: 230px;
    height: auto;
    min-height: auto;
} */
/* top_bnr */
.front_page .top_bnr {
    /*padding-top: 70px;*/
    /*padding-bottom: 60px;*/
    padding-top: 30px;
    padding-bottom: 20px;
    text-align: center;
/*    background: #fff;*/
    a:hover {
        opacity: 0.85;
    }
}
/*　bnr100　*/
.front_page .bnr100 {
    max-width: 760px;
    margin: 0 auto 50px;
}
.front_page .bnr100 img {
    max-width: 90%;
    margin: 0 5%;
}
.front_page .bnr100 .note {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
}
.front_page .bnr100 .btn {
    display: flex;
    justify-content: center;
}
.front_page .bnr100 .btn a {
    display: flex;
    background-color: red;
    color: white;
    width: 90%;
    max-width: 400px;
    height: 60px;
    font-size: 20px;
    margin-top: -5px;
    margin-bottom: 70px;
    justify-content: center;
    align-items: center;
    border: 2px solid red;
    transition: .3s;
    font-weight: bold;
}
.front_page .bnr100 .btn a:hover {
    background-color: white;
    color: red;
}
.front_page .bnr100 .bnr_map {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.front_page .bnr100 .bnr_map img {
    border-radius: 10px;
    border: 1px solid #aaa;
}

/* tokuten */
.front_page .tokuten {
    text-align: center;
    margin-bottom: 30px;
}
.front_page .tokuten a {
    display: block;
}
.front_page .outer_regarding .past {
    text-align: center;
}

/* -------------------------------
下層ページ 共通
------------------------------- */
.page .last_section {
    margin-bottom: 60px;
}
.contact p, .stop p {
    margin-bottom: 30px;
}
main.page {
    margin-top: 110px;
}


/* -------------------------------
メディアパートナー
------------------------------- */
.mediapartner {
    display: flex;
    gap: 50px;
    align-items: center;
    row-gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    >a {
        display: flex;
        height: auto;
        img {
            max-height: 100px;
        }
    }
    >a:nth-child(3) img {
        max-height: 100px;
    }
    >a:nth-child(4) img {
        max-height: 70px;
    }
    >a:nth-child(5) img {
        max-height: 45px;
    }
    >a:nth-child(6) img {
        max-height: 70px;
    }
    >a:nth-child(7) img {
        max-height: 45px;
        margin-top: 10px;
    }
}


/* -------------------------------
プレスページ
------------------------------- */
.sub_page #contact_press {
    /* border: 3px solid #a20f02; */
    border: 3px solid var(--dark-color);
    max-width: 1060px;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.8);
    padding-bottom: 40px;
    /* margin-bottom: 80px; */
    padding: 30px;
}

.sub_page .mainbox_wrap {
    display: flex;
    justify-content: space-between;
}

.sub_page .mainbox_wrap>div:first-child {
    flex: 3;
    /* margin-right: 30px; */
}

.sub_page .h1_pagettl {
    background-color: var(--dark-color);
    /* padding-bottom: 1px;
    border-bottom: 1px solid var(--dark-color) */
}
.sub_page .h1_ttltxt {
    padding: 16px 20px 16px 20px;
    color: #fff;
    /* border-bottom: 3px solid var(--dark-color); */
}

/* .sub_page .content_area:last-child {
    padding: 50px 40px 35px;
} */

.sub_page .h1_ttltxt p {
    line-height: 1;
    /* color: #ffffff; */
    font-size: 10px;
    letter-spacing: 0.2em;
    padding-top: 10px;
    margin-top: 0px;
}

/* .sub_page h2.style_h201 {
    padding: 16px 25px 18px 30px;
    margin-bottom: 20px;
    margin-top: 40px;
    border-left: 8px solid #fbb03b;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    background-color: var(--dark-color);
    background-size: 8px;
} */
.sub_page h2.style_h201, .sub_page .content_area section h3 {
    font-size: 26px;
    line-height: 24px;
    /* background-color: var(--dark-color);
    color: white; */
    /* color: var(--dark-color); */
    border-bottom: 2px solid var(--dark-color);
    padding: 16px 5px;
    margin-bottom: 20px;
    margin-top: 50px;
    text-align: left;
}
.sub_page .h1_pagettl h1 {
    line-height: 1.4;
    /* color: #ffffff; */
    font-size: 26px;
    letter-spacing: 0.2em;
    font-weight: 700;
    margin: 0 0 0 0;
}

#press .content_area #contact_press h3.style_h303 {
    padding: 10px 10px 10px 20px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    background: #ffffff url(../img/bg_h302.svg) left center no-repeat;
    background-size: 8px;
    border: 1px solid #333;
    color: #000;
}

#press h4.style_h401 {
    padding: 10px 10px 10px 20px;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
    background: #ffffff url(../img/bg_h401.svg) left center no-repeat;
    background-size: 8px;
    border-bottom: 1px dashed #e6e6e6;
    color: #00275d;
}

#press .content_block_upper {
    display: flex;
    justify-content: space-between;
}

#press .content_block_upper>div:first-child {
    flex: 2;
    margin-right: 30px;
}

#press .content_block_upper>div:last-child {
    flex: 1.4;
}

#press .content_block_upper>div:last-child img {
    max-width: 100%;
}

#press .tel_no {
    font-size: 30px;
    font-weight: 700;
}

#press .release_list dd {
    margin-bottom: 15px;
}
/* .sub_page #sidebox {
    width: 300px;
    float: right;
    margin: 40px 0 0;
    padding: 0 0 0 20px;
}
.sub_page #sidebox h2 {
    background: #fbb03b;
    text-align: center;
    color: #000000;
    line-height: 1;
    padding: 40px 0;
    border-radius: 8px;
    font-size: 18px;
    margin-top: 0;
}
.sub_page #sidebox h2::after {
    content: url(../img/bg_tri_black.svg);
    display: block;
    width: 16px;
    height: 18px;
    vertical-align: middle;
    margin: 0 auto;
}
.sub_page #sidebox .side_menu ul li a {
    display: block;
    text-decoration: none;
}
.sub_page #sidebox .side_menu ul li a {
    background: url(../img/side_li01.png) left center no-repeat;
    padding: 10px 10px 10px 15px;
    border-bottom: 1px dashed #acacac;
    color: #202020;
} */

.release_list {
    margin-bottom: 8px;
}
#press #mediapartner {
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    row-gap: 10px;
    justify-content: center;

    >a {
        display: flex;
    }

    >a:nth-child(3) img {
        max-height: 100px;
    }

    >a:nth-child(4) img {
        max-height: 70px;
    }
}
.press #content1, .press #content2, .press #register {
    padding-top: 110px;
    margin-top: -110px;
}


/* -------------------------------
次回開催のご案内
------------------------------- */

.next_Announcement .content {
    text-align: center;
}
.next_Announcement .catch {
    font-size: 31px;
    color: #bc0000;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 30px;
}
.next_Announcement .catch2 {
    font-size: 40px;
    /* color: #bc0000; */
    font-weight: bold;
    line-height: 1.3;
}

.next_Announcement .img {
    margin: 20px 0 30px;
}
.next_Announcement .img img {
    max-width: 100%;
}


.next_Announcement .info {
    margin: 30px auto 0;
    font-size: 18px;
    display: flex;
    justify-content: center;
}
.next_Announcement .info th {
    /* background-color: #02420e; */
    color: #000;
    padding: 8px 25px 5px;
    font-weight: bold;
    margin-bottom: 5px;
    border-bottom: 1px solid #02420e;
    font-size: 16px;
}
.next_Announcement .info td {
    padding: 6px 25px 3px;
    font-weight: bold;
    border-bottom: 1px solid #c3c5c4;
}
.next_Announcement .info2 {
    font-size: 18px;
}

.next_Announcement .contact {
    text-align: center;
    margin: 50px auto;
}
.next_Announcement .contact a {
    width: 80%;
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    height: 60px;
    align-items: center;
    background-color: #0071bc;
    border: 1px solid #0071bc;
    color: white;
    box-shadow: 0 4px 10px #bbb;
    transition: 0.3s;
    margin-top: 11px;
}
.next_Announcement .contact a:hover {
    background-color: white;
    color: #0071bc;
}