@charset "utf-8";
/**
 * ブラウザリセット
**/
@media all and (min-width: 350px) {
  .p-50 {
    padding-top: 50px;
  }
  .fukidashi {
    padding-top: 15px;
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 15px;
    border-radius: 90px;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 25px;
    position: relative;
    display: inline-block;
    color: #153371;
    background: #ffffff;
    margin-top: 50px;
    width: fit-content;
  }
  .fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #ffffff;
  }
  .main_sp {
    margin-top: 50px;
  }
  .main_pc {
    margin-top: 80px;
    width: 90%;
    max-width: 1500px;
    height: auto;
  }
  .contact_banner {
    width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
  .contact_banner img {
    width: 100%;
    height: auto;
  }
  .close_txt {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
    font-family: Midashi Go MB31;
    font-size: 18px;
    line-height: 23px;
    color: #005895;
  }
  .main_online {
    margin-top: 40px;
    margin-bottom: 80px;
  }
  .main_online_i {
    width: 90%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .main_online_i img {
    width: 100%;
    height: auto;
  }
  .list-padding:before {
    content: "";
    display: block;
    height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
    visibility: hidden;
  }
  .place_map_d4 {
    background-color: #FFFFFF;
    margin-top: -10px;
    border: 2px solid #0ba470;
    z-index: 100;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    overflow: scroll;
  }
  .place_map_d5 {
    background-color: #FFFFFF;
    margin-top: -10px;
    border: 2px solid #c34c99;
    z-index: 100;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    overflow: scroll;
  }
  .place_map_d6 {
    background-color: white;
    margin-top: -50px;
    padding-bottom: 30px;
  }
  .place_map_d4 iframe, .place_map_d5 iframe {
    width: 100%;
  }
  .place_map_d5 svg {
    width: 3000px;
  }
  .place_map_d4 svg {
    width: 2000px;
  }
  .place_map_d5 iframe {
    height: 360px;
  }
  .place_map_d, .place_map_d2, .place_map_d3 {
    background-color: #FFFFFF;
    margin-top: -40px;
    padding-bottom: 30px;
  }
  .place_map_d img, .place_map_d2 img {
    width: 90%;
  }
  .place_map_d6 svg {
    width: 90%;
    max-width: 600px;
  }
  .place_map_d svg {
    width: 90%;
  }
  .place_map_d3 svg {
    width: 60%;
    max-width: 270px;
  }
  .map_sp {
    overflow: hidden;
    overflow-y: hidden;
  }
  .place_map {
    overflow: hidden;
    overflow-y: hidden;
  }
  .triangle3 {
    width: 0;
    height: 0;
    margin-left: auto;
    margin-right: auto;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 13px solid #d9382f;
  }
  .access_map {
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .access_map img {
    width: 100%;
    height: auto;
  }
  .blue-flame .arrow_flex2 img {
    width: 15px;
    height: auto;
  }
  .blue-flame .item02 {
    font-size: 16px;
    margin-top: 10px;
  }
  .blue-flame .arrow_flex2 {
    align-items: center;
    justify-content: center;
    display: flex;
  }
  .blue-flame .arrow_flex2 li {
    font-size: 14px;
  }
  .overview_list2 {
    background: #FFFFFF;
    color: #0054A0;
    font-size: 14px;
    display: inline-block;
    border-radius: 30px;
    padding-top: 2px;
    padding-bottom: 2px;
    text-align: center;
    min-width: 60px;
    margin-right: 10px;
  }
  .blue-flame {
    background-color: #005895;
    color: #FFFFFF;
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px;
  }
  .place_map {
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
  }
  .place_map2 {
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    position: relative;
    padding-bottom: 150px;
  }
  .place_map3 {
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    position: relative;
    padding-bottom: 400px;
  }
  .blue-flame2 {
    background-color: #005895;
    color: #FFFFFF;
    width: 90%;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    padding-top: 8px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 8px;
    text-align: left;
    margin-top: 30PX;
    margin-bottom: 15px;
  }
  .theme_list_detail img {
    width: 15px;
    height: auto;
  }
  .tml-lostpassword {
    text-align: center;
  }
  .tml-button {
    background-color: #005895;
    font-size: 20px;
    color: #FFFFFF;
    font-family: Midashi Go MB31;
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
  }
  .login {
    font-size: 30px;
    font-family: Midashi Go MB31;
    margin-bottom: 20px;
  }
  label.tml-label {
    font-size: 20px;
    font-family: 'Gothic Medium BBB';
  }
  .tml-field-wrap {
    width: 80%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
  .tml-field {
    height: 50px;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #666666;
  }
  .kazan_banner {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
    margin-top: 40px;
  }
  .kazan_banner img {
    width: 100%;
    height: auto;
  }
  .theme_list_detail {
    color: #E66052;
    font-size: 1.4em;
    line-height: 1.4em;
    font-family: Midashi Go MB31;
    list-style-position: outside !important;
    margin-left: 20px;
  }
  .theme_list {
    text-align: left;
    display: inline-block;
  }
  .theme_en {
    background-color: #E66052;
    color: #FFFFFF;
    border-radius: 50px;
    width: 80px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    list-style-type: disc;
  }
  .kazan_info ul li {
    margin-bottom: 5px;
  }
  .kazan_info .kazan_list, .kazan_linklist {
    background-color: #E66052;
    color: #FFFFFF;
    border-radius: 20px;
    padding-top: 3px;
    padding-bottom: 3px;
    margin-bottom: 5px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 14px;
    display: inline-block;
  }
  .kobo-area1 {
    width: 80%;
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .kobo-area1 a img {
    width: 100%;
    height: auto;
  }
  .kobo-area2 {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .en a:link {
    text-decoration: none;
    color: #FFFFFF;
  }
  .en a:hover {
    color: #FFFFFF;
  }
  .en a:visited {
    color: #FFFFFF;
  }
  .en a {
    font-size: 13px;
  }
  .en {
    border: 1px solid #FFFFFF;
    border-radius: 20px;
    padding-top: 3px;
    padding-right: 7px;
    padding-bottom: 5px;
    padding-left: 7px;
  }
  .member_message {
    text-indent: 1em;
    text-align: justify;
  }
  .poster, .leaflet {
    width: 80%;
    height: auto;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
  }
  html {
    scroll-behavior: smooth;
  }
  .message-area p {
    text-indent: 1em;
    width: 90%;
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
    text-align: justify;
  }
  .position {
    margin-top: 30px;
    font-size: 20px;
    line-height: 23px;
    font-family: Midashi Go MB31;
  }
  .name_font {
    margin-top: 25px;
    font-size: 35px;
    font-family: Midashi Go MB31;
    max-width: 800px;
  }
  .message {
    color: #FFFFFF;
    text-align: center;
    display: inline-block;
    margin-top: 0px;
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
    font-size: 25px;
    margin-bottom: 50px;
  }
  .message2 {
    color: #FFFFFF;
    text-align: center;
    display: inline-block;
    /*    margin-top: 80px;
*/ padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
    font-size: 25px;
    margin-bottom: 50px;
  }
  /* Google Mapを囲う要素 */
  .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%; /* 比率を4:3に固定 */
  }
  /* Google Mapのiframe */
  .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .place {
    width: 90%;
    max-width: 550px;
    margin-right: auto;
    margin-left: auto;
  }
  .place img {
    width: 100%;
    height: auto;
  }
  .blue-back {
    background-color: #0054A0;
  }
  .red-back {
    background-color: #E96153;
  }
  .kobo-d2 {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .kobo-d img, .qa-d img, .kobo-d2 img {
    width: 27px;
    height: auto;
    margin-right: 10px;
  }
  .kobo-d a, .qa-d a, .kobo-d2 a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 20px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .kobo-d a:link, .qa-d a:link, .kobo-d2 a:link {
    text-decoration: none;
    color: #FFFFFF;
  }
  .kobo-d a:hover, .qa-d a:hover, .kobo-d2 a:hover, {
    color: #FFFFFF;
  }
  .kobo-d a:visited, .qa-d a:visited, .kobo-d2 a:visited {
    color: #FFFFFF;
  }
  .doga {
    color: #0054A0;
    background-color: #FFFFFF;
    padding-top: 13px;
    padding-bottom: 13px;
    padding-right: 25px;
    padding-left: 25px;
    font-size: 20px;
    font-family: Midashi Go MB31;
    display: inline-block;
  }
  .banner {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20px;
  }
  .character-i {
    width: 130px;
    margin-right: auto;
    margin-left: auto;
  }
  .download-icon {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .download-icon li {
    width: 80px;
    margin-left: 2px;
    margin-right: 2px;
  }
  .sozai1 {
    background-color: #0054A0;
    color: #FFFFFF;
    text-align: left;
    display: inline-block;
    padding-top: 6px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 6px;
    font-size: 20px;
  }
  .sozai_img {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .blueline img {
    width: 100%;
    height: auto;
  }
  .blueline {
    border: 1px solid #0054A0;
    width: 90%;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
    padding-bottom: 30px;
  }
  .request {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .request img {
    width: 90px;
    height: auto;
  }
  .breadcrumbs, .breadcrumbs a {
    font-size: 13px;
  }
  .about-position {
    font-size: 20px;
  }
  .message_name {
    font-size: 22px;
    line-height: 25px;
    font-family: Midashi Go MB31;
  }
  .about_back_m {
    color: #FFFFFF;
    margin-bottom: 15px;
  }
  .back_box2-w {
    background-color: #FFFFFF;
    padding-top: 20px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
    text-align: left;
  }
  .back_box2 {
    background-color: #1bb8ce;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
    padding: 20px;
  }
  .balloon2 {
    position: relative;
    display: inline-block;
    margin-top: 40px;
    margin-bottom: 40px;
    padding-top: 15px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 15px;
    min-width: 120px;
    max-width: 90%;
    color: #1bb8ce;
    background: #FFF;
    border: solid 2px #1bb8ce;
    box-sizing: border-box;
  }
  .balloon2:before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 50%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-top: 12px solid #FFF;
    z-index: 2;
  }
  .balloon2:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -18px;
    border: 15px solid transparent;
    border-top: 15px solid #1bb8ce;
    z-index: 1;
  }
  .balloon2 h5 {
    font-size: 17px;
    line-height: 20px;
    font-family: Midashi Go MB31;
    margin: 0;
    padding: 0;
    color: #1bb8ce;
  }
  .member {
    display: inline-block;
    flex-wrap: wrap;
    padding-top: 40px;
    text-align: left;
  }
  .member-c {
    color: #0c328c;
    font-weight: 600;
    margin-right: 10px;
    line-height: 1.2em;
  }
  .member-title {
    color: #1bb8ce;
    font-size: 20px;
    font-family: Midashi Go MB31;
    line-height: 23px;
  }
  .top24 {
    margin-top: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .member-area {
    background-color: #FFFFFF;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
  }
  .pattern1 {
    background-image: url(../img/top/pattern1.svg);
    background-repeat: repeat;
    background-size: 15px 15px;
    background-color: #FFFFFF;
  }
  .blue-back1 h2, .list {
    color: #1bb8ce;
    background-color: #FFFFFF;
    padding-top: 13px;
    padding-bottom: 13px;
    padding-right: 25px;
    padding-left: 25px;
    font-size: 20px;
    font-family: Midashi Go MB31;
    border: 2px solid #1bb8ce;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
  }
  .text-w {
    color: #FFFFFF;
    text-indent: 1em;
    text-align: left;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
  }
  .blue-back1 {
    background-color: #0054A0;
    margin-top: 80px;
    margin-bottom: 80px;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  article p {
    text-indent: 1em;
  }
  article, .w800 {
    width: 90%;
    text-align: left;
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
  }
  .about-title {
    width: 90%;
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20px;
    margin-bottom: 50px;
  }
  .about-title img {
    width: 100%;
    height: auto;
  }
  main {
    text-align: center;
    margin-top: 30px;
  }
  .page_title h1 {
    font-size: 1.5em;
    font-family: Midashi Go MB31;
    color: #0054A0;
  }
  .blue-line {
    margin-top: 15px;
    margin-bottom: 15px;
    border-top: 2px solid #0054A0;
    width: 80px;
    margin-right: auto;
    margin-left: auto;
  }
  #msta_langArea.msta-default .msta-lang-list {
    font-size: 14px;
  }
  /*出展説明会*/
  .entry_form {
    color: #0054A0;
    margin-top: 40px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    font-size: 17px;
    line-height: 22px;
    font-family: Midashi Go MB31;
  }
  .d-center {
    text-align: center;
  }
  .e_entry {
    font-size: 20px;
    line-height: 23px;
    font-family: Midashi Go MB31;
    margin-bottom: 20px;
    text-align: center;
    color: #0054A0;
    border: 1px solid #0054A0;
    padding: 4px;
    display: inline-block;
  }
  .entry_doga {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    max-width: 700px;
  }
  .entry_doga img {
    width: 100%;
    height: auto;
  }
  .youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  .youtube iframe {
    width: 100%;
    height: 100%;
  }
  .q_a {
    text-align: center;
    margin-top: 20px;
  }
  .q_a a:link {
    font-size: 25px;
    font-family: Midashi Go MB31;
    color: #0054A0;
  }
  .q_a_c {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    background-color: #ffd900;
    display: inline-block;
  }
  /** ベース設計 **/
  header {
    position: fixed;
    top: 0px;
    width: 100%;
    max-width: 3000px;
    margin-left: auto;
    margin-right: auto;
    background-color: #00B0C5;
    z-index: 100;
    height: 60px;
  }
  #msta_langArea.msta-default {
    position: inherit;
    z-index: 99999999;
    background-color: #fff;
    color: #fff;
    padding: 3px 0px;
    transition: left 300ms 0s ease;
    transition: right 300ms 0s ease;
  }
  .logo2 {
    width: 90px;
    height: auto;
  }
  .logo {
    width: 35px;
    height: auto;
  }
  img.t_x {
    width: 25px;
    height: auto;
    margin-left: 5px;
  }
  .f_b {
    height: auto;
    width: 35px;
  }
  .flex_sp_top div {
    margin-right: 10px;
  }
  .naikakufu_and_logo {
    display: flex;
    margin-top: 0px;
    justify-content: space-around;
    align-items: center;
  }
  .flex_sp_top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .sns {
    height: 20px;
  }
  .sns img {
    height: 100%;
  }
  .flex1 {
    display: flex;
    justify-content: space-around;
    align-items: end;
  }
  .main-copy {
    margin-top: 30px;
    text-align: center;
    text-indent: 1em;
    line-height: 1.5em;
    color: #FFFFFF;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  /*menu*/
  .menu {
    width: 95%;
    margin: auto;
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-top: 10px;
  }
  .top-main {
    width: 100%;
    background-color: #00B0C5;
    text-align: center;
    padding-bottom: 50px;
  }
  .kobo {
    max-width: 300px;
  }
  #msta_langArea {
    margin-left: 5px;
  }
  /*概要*/
  .overview {
    background-color: #fdd841;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 5%;
    padding-right: 5%;
    color: #08549c;
  }
  .overview .title {
    font-size: 20px;
    line-height: 24px;
    font-family: Midashi Go MB31;
    margin-bottom: 30px;
  }
  .overview_list {
    background: #08549c;
    color: #ffffff;
    font-size: 13px;
    display: inline-block;
    border-radius: 30px;
    padding-top: 3px;
    padding-bottom: 3px;
    margin-bottom: 5px;
    text-align: center;
    min-width: 80px;
    margin-right: 10px;
  }
  .top-date, .arrow_flex li {
    font-size: 18px;
    line-height: 23px;
  }
  .top-date a:link {
    color: #FFFFFF;
  }
  .top-date a:hover {
    color: #FFFFFF;
  }
  .top-date a:visited {
    color: #FFFFFF;
  }
  .top-date2 {
    margin-top: 5px;
    font-size: 14px;
    line-height: 20px;
  }
  .image {
    width: 100%;
    max-width: 450px;
    margin-right: auto;
    margin-left: auto;
  }
  .image img {
    width: 100%;
    height: auto;
  }
  .arrow_flex {
    display: flex;
    align-content: center;
  }
  .arrow_flex img {
    width: 20px;
    height: auto;
  }
  /*お知らせ*/
  .top-info {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    line-height: 1.2em;
  }
  .top-info-flex {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 30px;
    padding-bottom: 5px;
    text-align: left;
  }
  .top-info-frame a:link {
    color: #0054A0;
    text-decoration: underline;
  }
  .top-info-frame {
    background-color: white;
    padding: 16px;
    border: 2px solid #00B0C5;
    border-radius: 15px;
  }
  .top-info-frame p {
    line-height: 1.5rem;
    margin-bottom: 8px;
  }
  .top-info-title {
    height: 25px;
    margin-bottom: -2px;
  }
  .top-info-title img {
    height: 100%;
    width: auto;
    margin-left: 15px;
  }
  dt {
    color: #0054A0;
  }
  dd {
    margin-left: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 1.2em;
  }
  .scroll {
    overflow: auto;
    margin: auto;
    height: 250px;
  }
  .scroll span {
    background-color: #ffd900;
    color: #0054A0;
    padding-left: 5px;
    padding-right: 5px;
    margin-right: 5px;
  }
  /*トピックス*/
  .top-topic-frame, .top-topic-frame2 {
    background-color: white;
    padding: 16px;
    border: 2px solid #00B0C5;
    border-radius: 15px;
  }
  .top-topic-frame_photo {
    width: 170px;
    margin-right: auto;
    margin-left: auto;
  }
  .top-topic-frame img {
    width: 100%;
    height: auto;
  }
  .topic_1 {
    margin-top: 20px;
    font-size: 18px;
    color: #0054A0;
    font-family: Midashi Go MB31;
  }
  .topic_2 {
    margin-top: 5px;
    font-size: 21px;
    color: #0054A0;
    line-height: 23px;
    font-family: Midashi Go MB31;
  }
  .pdf_download {
    display: flex;
    align-items: center;
    font-size: 20px;
    color: #D66052;
  }
  .pdf_download img {
    width: 24px;
    height: auto;
    margin-right: 10px;
  }
  /*SNS*/
  .info_facebook {
    margin-left: auto;
    margin-right: auto;
    width: 300px;
  }

  /*プログラム*/
  .top_program {
    padding-top: 70px;
    padding-bottom: 60px;
    text-align: center;
    background-color: #00B0C5;
  }
  .top_program h1 {
    font-size: 40px;
    color: #ffffff;
  }
  .program_category {
    width: 90%;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
  }
  .program_category li {
    margin-bottom: 10px;
    width: 100%;
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
  .program_category li img {
    width: 100%;
  }
  /*footer*/
  footer {
    padding-top: 40px;
  }
  #pagetop {
    width: 40px;
    height: 40px;
    position: fixed;
    right: 25px;
    bottom: 30px;
  }
  #pagetop a {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    text-decoration: none;
    text-align: center;
  }
  #pagetop a::before {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 18px;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
  }
  /*過去イベント*/
  .accordion-001 {
    width: 90%;
    max-width: 280px;
    background-color: #00B0C5;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
  }
  .accordion-001:not([open]) {
    margin-bottom: 7px;
  }
  .accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.5em 1em;
    background-color: #00B0C5;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    border-radius: 30px;
  }
  .accordion-001 summary::-webkit-details-marker {
    display: none;
  }
  .accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 20px;
    height: 20px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
  }
  .accordion-001[open] summary::after {
    transform: rotate(225deg);
  }
  .accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #00B0C5;
    transition: transform .5s, opacity .5s;
  }
  .accordion-001[open] p {
    transform: none;
    opacity: 1;
  }
  .past-event {
    margin-bottom: 40px;
  }
  .past-event ul {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .past-event li {
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .past-event li a:link {
    color: #FFFFFF;
  }
  .past-event li a:hover {
    color: #0c328b;
  }
  .past-event li a:visited {
    color: #005895;
  }
  /*フッター要素*/
  .bousai-logo1 {
    width: 200px;
    margin-right: 20px;
  }
  .naikakufu-logo2 {
    width: 120px;
  }
  .bousai-logo1 img, .naikakufu-logo2 img {
    width: 100%;
    height: auto;
  }
  .bousai-logo {
    display: flex;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
  }
  .credit {
    margin-top: 0px;
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #0054A0;
    color: #FFFFFF;
    text-align: center;
  }
  .bottom-info {
    text-align: center;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .bottom-info .overview_list {
    font-size: 12px;
    min-width: 60px;
  }
  .bottom-info .d-p-f {
    margin-bottom: 10px;
  }
  .bottom-info .top-date, .arrow_flex li {
    font-size: 18px;
  }
  .indent1 {
    padding-left: 3em;
  }
  .font12 {
    font-size: 13px;
  }
  .blue-text {
    color: #0054A0;
    font-size: 18px;
    line-height: 22px;
  }
  .blue-text-s {
    font-size: 12px;
  }
  /*プライバシーポリシー*/
  .sec02 ol, .sec02 ul, .sec02 li {
    list-style: decimal;
    line-height: 1.4rem;
    margin-left: 1em;
  }
  .sec02 p {
    margin-top: 20px;
    line-height: 1.3em;
  }
  #privacy {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #privacy h1 {
    font-size: 30px;
    margin-bottom: 30px;
  }
  /*コンタクトフォーム*/
  /* フォーム全体のスタイル */
  .wpcf7 {
    background-color: #f0f0f0; /* ライトグレー */
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    max-width: 600px;
    margin: auto;
  }
  /* ラベルのスタイル */
  .wpcf7-form label {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    color: #333333; /* ダークグレー */
  }
  /* 必須フィールドのラベルスタイル */
  .wpcf7-form .required {
    background-color: #ff0000; /* レッド */
    color: white;
    padding: 2px 5px;
    border-radius: 3px;
    margin-left: 10px;
    font-size: 12px;
  }
  /* インプットフィールドのスタイル */
  .wpcf7-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #cccccc; /* ライトグレー */
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 16px;
    background-color: #ffffff; /* 白 */
  }
  /* テキストエリアのスタイル */
  .wpcf7-form textarea {
    height: 150px;
    resize: vertical;
    margin-top: 10px;
  }
  /* 送信ボタンのスタイル */
  .wpcf7-form input[type="submit"] {
    background-color: #0054A0; /* ブルー */
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 2px;
  }
  .wpcf7-form input[type="submit"]:hover {
    background-color: #0056b3; /* 濃いブルー */
  }
  /* エラーメッセージと成功メッセージのスタイル */
  .wpcf7-form .wpcf7-not-valid-tip {
    color: red;
    font-size: 14px;
  }
  .wpcf7-form .wpcf7-mail-sent-ok {
    color: green;
    font-size: 16px;
    margin-bottom: 20px;
  }
  .wpcf7-form input {
    height: 40px;
    margin-top: 10px;
    width: 100%;
    border: 1px solid #cccccc;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 16px;
  }
  .d-p-f {
    margin-bottom: 15px;
  }
  .top-date a:link {
    text-decoration: none;
    color: #005895;
  }
  .top-date a:hover {
    color: #0c328b;
  }
  .top-date a:visited {
    color: #005895;
  }
}
@media all and (min-width: 480px) {
  .blue-flame .item02 {
    margin-top: 0px;
  }
  .request ul {
    display: flex;
    align-items: center;
  }
  .request1 {
    width: 90px;
    margin-right: 10px;
  }
  .request2 {
    flex: 1;
    text-align: left;
  }
  .blue-flame .d-p-f {
    align-items: center;
    justify-content: center;
  }
  .d-p-f {
    display: flex;
    align-items: flex-start;
    align-items: flex-start;
    margin-bottom: 15px;
  }
  .top-topic-frame {
    display: flex;
    align-items: flex-start;
  }
  .top-topic-frame_photo {
    min-width: 150px;
    flex-grow: 1;
    margin-right: 20px;
  }
  .top-topic-frame_text {
    flex-grow: 2;
  }
  .topic_1 {
    margin-top: 0px;
  }
  .program_category ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
  }
  .program_category img {
    width: 100%;
  }
  .program_category li {
    margin-bottom: 10px;
    max-width: 250px;
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media all and (min-width: 700px) {
  .p-50 {
    padding-top: 0px;
  }
  .contact_banner {
    margin-left: 0;
    margin-right: 0;
  }
  .bottom-info {
    text-align: left;
  }
  .overview_list {
    font-size: 15px;
    min-width: 90px;
  }
  .top-date, .arrow_flex li {
    font-size: 20px;
    line-height: 25px;
  }
  .overview {
    padding-top: 50px;
    padding-bottom: 20px;
    padding-left: 5%;
    padding-right: 5%;
    color: #08549c;
  }
  .overview .title {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 20px;
  }
  .fukidashi {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .close_txt {
    margin-top: 50px;
    margin-bottom: 50px;
    text-align: center;
    font-family: Midashi Go MB31;
    font-size: 30px;
    line-height: 35px;
    color: #005895;
  }
  .place_map_d3 {
    text-align: left;
    padding-left: 30px;
  }
  .blue-flame {
    display: flex;
    justify-content: space-between;
  }
  .login-page, .tml-lostpassword {
    min-height: 60vh;
  }
  .message-area {
    margin-top: 40px;
  }
  .theme_list_detail img {
    width: 15px;
    height: auto;
    margin-top: 10px;
  }
  .theme_en {
    background-color: #E66052;
    color: #FFFFFF;
    border-radius: 50px;
    width: 80px;
    height: 80px;
    margin-left: 0;
    margin-right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
  }
  .theme {
    display: flex;
    margin-top: 20px;
  }
  .message_name {
    font-size: 26px;
    line-height: 30px;
    font-family: Midashi Go MB31;
  }
  .balloon2 h5 {
    font-size: 17px;
  }
  main {
    margin-top: 40px;
  }
  .blue-line {
    margin-top: 25px;
    margin-bottom: 25px;
  }
  .page_title h1 {
    font-size: 2em;
  }
  .poster_leaflet {
    display: flex;
    justify-content: center;
  }
  .poster_leaflet li {
    margin-left: 20px;
    margin-right: 20px;
  }
  .poster, .leaflet {
    width: auto;
    height: 326px;
    margin-bottom: 10px;
  }
  .request {
    display: inline-block;
    width: auto;
    max-width: 90%;
  }
  .message-area li {
    display: flex;
    justify-content: center;
    width: 80%;
    max-width: 1000px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
  }
  .m-left {
    margin-right: 10px;
    width: 198px;
  }
  .m-right {
    margin-left: 10px;
    flex: 1;
  }
  .m-left img {
    width: 100%;
    height: auto;
  }
  .message-area p {
    width: auto;
    max-width: 800px;
    margin-left: 0;
  }
  .position {
    margin-top: 0;
    max-width: 800px;
  }
  .kobo-d, .qa-d {
    width: 340px;
  }
  .kobo-d2 {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
  }
  .kobo-area {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .kobo-area1 {
    margin-right: 15px;
  }
  .kobo-area2 {
    margin-left: 15px;
    width: 250px;
  }
  .banner {
    width: 480px;
  }
  .character {
    display: flex;
    justify-content: space-around;
  }
  .blue-back1 h2, .list {
    display: inline-block;
    width: auto;
  }
  .about-title {
    margin-top: 80px;
    margin-bottom: 50px;
  }
  .member {
    display: flex;
    justify-content: center;
  }
  .member ul {
    margin-left: 10px;
    margin-right: 10px;
  }
  .member li {
    display: flow-root;
  }
  .top-topic-frame2 {
    display: flex;
  }
  .info_facebook {
    margin-top: 0px;
  }
  .entry_form {
    text-align: center;
    margin-top: 40px;
  }
}
@media all and (min-width: 940px) {
  .place_map_d, .place_map_d2 {
    margin-top: -60px;
  }
  .place_map_d img {
    width: 70%;
  }
  .place_map_d2 img {
    width: 60%;
  }
  .place_map_d3 img {
    width: 30%;
  }
  .menu {
    margin-top: 10px;
  }
  .menu-in {
    margin-top: 25px;
  }
  .menu-in ul {
    display: flex;
  }
  .menu-in ul li {
    margin-left: 8px;
    margin-right: 8px;
  }
  .menu-in ul li a {
    font-size: 1.3vw;
  }
  .top-main {
    width: 100%;
  }
  .overview .width1200 {
    display: flex;
    justify-content: space-around;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .width1200 {
    max-width: 1200px;
  }
  .overview .image {
    max-width: 400px;
    margin-right: 0;
    margin-left: 0;
  }
  .top-info-flex {
    display: flex;
    justify-content: space-around;
  }
  .top-info-flex-left {
    width: 60%;
  }
  ..top-info-flex-right {
    width: 40%;
  }
  .top-topic-frame2 {
    display: block;
  }
  .top-info-title {
    margin-left: 0%;
  }
  .top-topic-frame_photo {
    min-width: 180px;
    margin-right: 20px;
  }
  .top_program {
    margin-top: 0px;
  }
  .footer-con {
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
  .bottom-info {
    flex-shrink: 2;
    width: fit-content;
    margin-right: 0;
  }
  .bousai-logo {
    display: flex;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0px;
  }
  .footer-contact {
    display: flex;
  }
  .top-info {
    width: 100%;
  }
  .bousai-logo1 {
    width: 250px;
    margin-right: 20px;
  }
}
@media all and (min-width: 1200px) {
  .map_f {
    display: flex;
    width: 990px;
    margin-left: auto;
    margin-right: auto;
  }
  .access_map {
    width: 700px;
    margin-bottom: 30px;
  }
  .menu-in ul li a {
    font-size: 16px;
  }
  .menu-in ul li {
    margin-left: 10px;
    margin-right: 10px;
  }
}