@charset "UTF-8";
/* Responsive overrides (mobile-first additions) */

#font_switch {
  display: none;
}

#top_banner_mobile {
  display: none;
}

#sub_footer_mobile {
  display: none;
}

@media (max-width: 600px) {
  #hdr_wrap {
    display: none;
  }
  #sub_footer_inline {
    display: none;
  }
  #sub_footer_mobile {
    display: block;
  }
  #subnavi_lst {
    display: none;
  }
  body {
    font-size: 16px;
    line-height: 1.7;
  }
  html,
  body {
    overflow-x: hidden;
  }
  .wrap,
  #wrap_ftrback_a .wrap,
  #wrap_ftrback_b .wrap,
  #hdr_box,
  #main_box,
  #content_back,
  #content_block {
    width: 100%;
  }

  #content_back {
    background: url(../img/contentback.gif) repeat-y 0 0;
  }

  #content_block {
    background: #fff url(../img/contentback.jpg) no-repeat top;
    padding: 24px 12px 24px;
    box-sizing: border-box;
  }

  #content_block,
  #content_block .fontSizeArea {
    font-size: 16px;
    line-height: 1.7;
  }

  #content_block h2 {
    font-size: 20px;
    line-height: 1.4;
    margin-top: 0;
  }

  #content_block h3 {
    font-size: 18px;
    line-height: 1.5;
  }

  #hdr_box {
    height: auto;
    background-size: cover;
    padding: 8px 0 12px;
  }

  #logo {
    float: none;
    margin: 8px auto 0;
    text-align: center;
  }

  #logo img {
    max-width: 80%;
    height: auto;
  }

  #hdr_navi_wrap {
    float: none;
    margin: 8px auto 0;
    background: none;
    height: auto;
  }

  #hdr_navi_wrap #hdr_navi ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
  }

  #hdr_navi_wrap #hdr_navi li {
    float: none;
  }

  #hdr_navi_wrap #hdr_navi li a {
    width: auto;
  }

  #font_switch {
    display: none;
  }

  #main_box {
    height: auto;
    padding: 0;
    background-position: top center;
    background-size: cover;
    position: relative;
    z-index: 1;
  }

  #main_navi ul {
    width: 100%;
    padding: 0 8px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 0;
  }

  #main_navi li {
    float: none;
  }

  #main_navi li a {
    width: 100%;
    font-size: 15px;
    padding: 10px 8px;
    box-sizing: border-box;
  }

  #content_block #main_block,
  #content_block #side_block {
    float: none;
    width: 100%;
  }

  .corocoroPhotoWrap {
    top: 40px !important;
    height: 220px;
    overflow: visible;
  }

  .corocoroPhotoFlame {
    width: 130px !important;
    height: 180px !important;
    background-size: 100% 100% !important;
  }

  .corocoroPhotoFlame img {
    margin: 15px !important;
    width: 100px !important;
    height: auto !important;
  }

  .corocoroPhotoScrollWrapA,
  .corocoroPhotoScrollWrapB {
    height: 220px;
  }

  #top_banner_mobile {
    display: block;
    margin: 8px 0 16px;
  }

  #top_banner_mobile img {
    width: 100%;
    height: auto;
    display: block;
  }

  #content_block img,
  #main_block img,
  #side_block img {
    max-width: 100%;
    height: auto;
  }

  #main_block #contents_wrap {
    width: 100%;
    float: none;
    padding: 0 0 40px;
  }

  #main_block #contents_wrap .contents_box {
    margin: 16px 0 0;
  }

  #contents_wrap .contents_box .pht_l,
  #contents_wrap .contents_box .pht_lf,
  #contents_wrap .contents_box .pht_r,
  #contents_wrap .contents_box .pht_rf {
    float: none;
    margin: 0 auto 12px;
    display: block;
  }

  #contents_wrap .contents_box .dtl320,
  #contents_wrap .contents_box .dtl320l,
  #contents_wrap .contents_box .dtl320r2,
  #contents_wrap .contents_box .dtl320r,
  #contents_wrap .contents_box .dtl320_maria,
  #contents_wrap .contents_box .dtl345,
  #contents_wrap .contents_box .dtl345u {
    width: 100%;
    float: none;
  }

  #contents_wrap .contents_box .dtl312,
  #contents_wrap .contents_box .dtl312m,
  #contents_wrap .contents_box .dtl312r,
  #contents_wrap .contents_box .dtl370,
  #contents_wrap .contents_box .dtl390,
  #contents_wrap .contents_box .dtl410,
  #contents_wrap .contents_box .dtl420,
  #contents_wrap .contents_box .dtl485 {
    width: 100%;
    float: none;
    margin: 0;
  }

  .column_box,
  .column_box_end,
  .column_box_bus,
  .column_box_non,
  .column_box_non_end,
  .column_cmt,
  .column_cmt_bus,
  .column_cmt_end {
    width: 100%;
    float: none;
    margin: 0 0 12px;
  }

  #contents_wrap .contents_box .dtl320l,
  #contents_wrap .contents_box .dtl320r {
    text-align: left;
  }

  #contents_wrap .contents_box .dtl320l li,
  #contents_wrap .contents_box .dtl320r li {
    display: block;
    margin: 0 0 8px;
  }

  .lstbox-table table {
    width: 100%;
    border-collapse: collapse;
  }

  .lstbox-table th,
  .lstbox-table td {
    text-align: left;
    vertical-align: top;
    padding: 4px 0;
  }

  .lstbox-table th {
    width: 30%;
    font-weight: bold;
  }

  .lstbox-table td {
    width: 70%;
  }

  #subnavi_lst ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
  }

  #subnavi_lst li {
    width: calc(50% - 8px);
    margin: 0;
  }

  #subnavi_lst img {
    width: 100%;
    height: auto;
    display: block;
  }

  #bnr_lst a {
    display: block;
  }

  #bnr_lst img {
    width: 100%;
    height: auto;
  }

  #side_block #bnr_lst ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  #side_block #bnr_lst li {
    width: calc(33.333% - 8px);
    margin: 0;
    background: none;
  }

  #side_block #bnr_lst li.bnr-wide {
    width: 100%;
  }

  #side_block #bnr_lst li.bnr-wide img {
    width: 33.333%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  #side_block #bnr_lst img {
    max-width: 100%;
    margin: 0 auto;
  }

  #bnr_lst img[height="1"] {
    display: none;
  }

  #calendarpic,
  iframe {
    width: 100%;
    max-width: 100%;
  }

  #wrap_ftrback_a,
  #wrap_ftrback_a .wrap {
    width: 100%;
  }

  #wrap_ftrback_a #group ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 12px 8px 0;
    box-sizing: border-box;
  }

  #wrap_ftrback_a #group li {
    float: none;
    margin: 0;
  }

  #ftr_lnkbox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    padding: 10px 8px 16px;
    box-sizing: border-box;
  }

  #ftr_lnkbox .footerlnk_fst,
  #ftr_lnkbox .footerlnk {
    float: none;
    width: calc(50% - 8px);
    margin: 0;
  }
}

@media (max-width: 600px) {
  #wrap_ftrback_a {
    display: none;
  }

  #hdr_navi_wrap,
  #font_switch {
    display: none;
  }

  #logo {
    float: none;
    margin: 8px auto 0;
    text-align: center;
  }
  #hdr_box {
    background: none;
  }

  .corocoroPhotoWrap {
    top: 40px !important;
    height: 180px;
    overflow: visible;
  }

  .corocoroPhotoFlame {
    width: 120px !important;
    height: 170px !important;
    background-size: 100% 100% !important;
  }

  .corocoroPhotoFlame img {
    margin: 15px !important;
    width: 90px !important;
    height: auto !important;
  }

  .corocoroPhotoScrollWrapA,
  .corocoroPhotoScrollWrapB {
    height: 180px;
  }

  #subnavi_lst {
    display: none;
  }

  #content_block {
    padding-top: 32px;
  }

  #wrap_ftrback_b,
  #wrap_ftrback_b .wrap,
  #copy_box,
  #copy_box #copyright {
    width: 100% !important;
    box-sizing: border-box;
  }

  #copy_box {
    padding: 0 12px;
  }

  #copy_box #copyright {
    padding: 12px 0;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  #copyright,
  #copyright * {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  #bosyuu + #contents_wrap {
    text-align: left;
  }

  #bosyuu + #contents_wrap .contents_box {
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0.02em;
    padding-right: 4px;
  }

  #content_block,
  #content_block p,
  #content_block li,
  #content_block a,
  #content_block span,
  #content_block td,
  #content_block th {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  .fee-list {
    margin: 8px 0 4px;
  }

  .fee-item {
    margin: 6px 0;
  }

  .fee-label {
    display: block;
    font-weight: bold;
    margin-bottom: 2px;
  }

  .fee-body {
    display: block;
  }

  #content_block .fontSizeArea,
  #content_block #contents_wrap,
  #content_block #main_block,
  #content_block .contents_box {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  #content_block .fontSizeArea * {
    max-width: 100%;
    box-sizing: border-box;
  }

  #content_block table {
    width: 100% !important;
    table-layout: fixed;
  }

  #content_block img,
  #content_block .wp-caption,
  #content_block .entry,
  #content_block .contents_box {
    max-width: 100%;
    box-sizing: border-box;
  }

  .lstbox-table table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .lstbox-table th,
  .lstbox-table td {
    display: table-cell !important;
    vertical-align: top;
    padding: 4px 6px;
    word-break: break-word;
  }

  .lstbox-table th {
    width: 30% !important;
    font-weight: bold;
  }

  .lstbox-table td {
    width: 70% !important;
  }

  #content_block:before {
    content: "";
    display: block;
    width: 100%;
    max-width: 400px;
    height: 88px;
    margin: 0 auto 10px;
    background: url(../img/logo.png) no-repeat center;
    background-size: contain;
  }

  body:before {
    content: "";
    position: fixed;
    top: 8px;
    left: 8px;
    width: 240px;
    height: 56px;
    background: url(../img/logo.png) no-repeat left center;
    background-size: contain;
    z-index: 9999;
    pointer-events: none;
  }

  #content_block #main_block {
    padding-top: 4px;
  }

  #contents_wrap {
    margin-top: 8px;
  }

  #event_back {
    width: 100%;
    min-height: 220vw;
    background-size: 100% auto;
    background-position: top center;
  }

  #contents_wrap {
    text-align: center;
  }

  #contents_wrap img {
    display: block;
    margin: 0 auto;
  }

  #contents_wrap ul,
  #contents_wrap li,
  #contents_wrap p,
  #contents_wrap a {
    text-align: center;
  }

  #important {
    width: 100%;
  }

  #important h3 {
    width: 100%;
    background-size: contain;
    background-position: center top;
  }

  #important li {
    height: auto;
    line-height: 1.6;
    padding: 26px 0 8px 24px;
    background-position: 0 6px;
  }

  #important span {
    display: block;
    padding-right: 0;
    margin-bottom: 6px;
  }

  #important a {
    display: block;
    line-height: 1.6;
    margin-top: 2px;
  }

  .fr_box,
  .txtbox,
  .fr_box_up,
  .fr_box_un,
  .fr_box_p {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .textbox_site {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  #subnavi_lst li {
    width: 100%;
  }

  #main_box {
    background: none;
    padding: 0;
  }

  #main_navi {
    background: none;
  }
  #hdr_navi_wrap {
    width: 100%;
    background-size: contain;
  }

  #hdr_navi_wrap #hdr_navi {
    width: 100%;
  }

  #hdr_navi_wrap #hdr_navi ul {
    display: block;
    margin: 0;
    padding: 0;
  }

  #hdr_navi_wrap #hdr_navi li {
    width: 100%;
  }

  #hdr_navi_wrap #hdr_navi #bus {
    display: none;
  }

  #font_switch {
    display: none;
  }

  #hdr_navi_wrap #hdr_navi li a {
    background: none;
    height: auto;
    padding: 8px 12px;
    text-indent: 0;
    color: #1b3d6b;
    font-size: 14px;
    border-bottom: 1px solid #d8e2f3;
  }

  #main_navi li a {
    height: auto;
    height: 46px;
    padding: 0;
    margin: 6px 4px;
    text-indent: -9999px;
    overflow: hidden;
    border: 0;
    background-size: 888px 92px;
  }

  #side_block #bnr_lst ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
    margin: 0;
  }

  #side_block #bnr_lst li {
    width: calc(50% - 4px);
    margin: 0;
    background: none;
  }

  #side_block #bnr_lst li.bnr-wide {
    width: 100%;
  }

  #side_block #bnr_lst li.bnr-wide img {
    width: 50%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
  }

  #side_block #bnr_lst li a,
  #side_block #bnr_lst li img {
    display: block;
    width: 100%;
    height: auto;
  }

  #main_navi ul {
    padding: 0;
    display: block;
  }

  #main_navi li {
    float: none;
    width: 100%;
  }

  #main_navi ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #main_navi li {
    width: 33.333%;
  }

  #main_navi li:nth-child(7) {
    width: 100%;
  }

  #main_navi li a,
  #main_navi li a:hover {
    text-decoration: none;
  }

  #main_navi {
    position: relative;
    z-index: 2;
  }

  #main_navi ul li {
    margin: 0;
  }

  #main_navi ul li a {
    display: block;
  }

  #hdr_box,
  #main_box {
    background: #fff;
  }

  #main_box {
    margin: 8px 0 12px;
  }

  #content_back {
    margin-top: 8px;
  }
}

@media (max-width: 401px) {
  .lstbox-table th,
  .lstbox-table td {
    font-size: 13px;
    line-height: 1.5;
    padding: 4px 4px;
  }

  .lstbox-table th {
    width: 35% !important;
  }

  .lstbox-table td {
    width: 65% !important;
  }
}
