@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0.01em;
  ffont-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  color: #333333; }

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 3;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* SP */
@media screen and (max-width: 800px) {
  html {
    font-size: calc(1vw * 100 / 750); }

  body {
    font-size: 16rem; }

  .pconly {
    display: none !important; }

  .btn01 {
    display: inline-block;
    color: #fff;
    min-width: 440rem;
    border-radius: 100rem;
    border: solid 1rem #004a78;
    background: #004a78;
    transition: 0.3s;
    font-size: 30rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding: 1.2em 50rem;
    box-sizing: border-box;
    text-align: center;
    font-weight: 700; }
    .btn01:hover {
      background: #fff;
      color: #004a78;
      cursor: pointer; }

  .btn02 {
    display: inline-block;
    color: #004a78;
    min-width: 440rem;
    border-radius: 100rem;
    border: solid 1rem #fff;
    background: #fff;
    transition: 0.3s;
    font-size: 30rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding: 1.2em 50rem;
    box-sizing: border-box;
    text-align: center;
    font-weight: 700; }
    .btn02:hover {
      background: #004a78;
      color: #fff;
      cursor: pointer; }

  .mttl {
    text-align: center;
    font-size: 40rem;
    font-style: italic;
    letter-spacing: 0.1em;
    line-height: 2.6em;
    font-family: "gelica", sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #004a78; }

  main {
    padding-bottom: 100rem;
    background: #fafafa; }
    main#topmain {
      padding-bottom: 0; }

  #mv {
    position: relative; }
    #mv:before {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 98rem;
      background: url("../img/mv_town.png") no-repeat center top;
      background-size: cover;
      z-index: 2; }
    #mv:after {
      content: '';
      display: block;
      z-index: 3;
      width: 286rem;
      height: 286rem;
      background: url("../img/logo_c.svg") no-repeat center;
      background-size: contain;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -143rem; }
    #mv .prev-arrow {
      position: absolute;
      z-index: 2;
      width: 30rem;
      top: 45%;
      transform: translateY(-50%);
      left: 20rem; }
      #mv .prev-arrow:hover {
        cursor: pointer; }
    #mv .next-arrow {
      position: absolute;
      z-index: 2;
      width: 30rem;
      top: 45%;
      transform: translateY(-50%);
      right: 20rem; }
      #mv .next-arrow:hover {
        cursor: pointer; }

  #top_news {
    width: 100%;
    padding: 210rem 0 230rem;
    background: #fff; }
    #top_news .news_btn {
      text-align: center;
      margin-top: 38rem; }

  #top_month {
    padding: 200rem 0; }
    #top_month .month_ttl {
      text-align: center;
      color: #004a78;
      font-size: 34rem;
      font-weight: 700;
      margin-bottom: 60rem; }
    #top_month .month_box {
      box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
      box-sizing: border-box;
      width: 680rem;
      margin: 0 auto;
      padding: 27rem;
      background: #fff; }
      #top_month .month_box .month_box_img {
        margin-bottom: 35rem; }
        #top_month .month_box .month_box_img img {
          width: 100%;
          height: auto;
          display: block; }
      #top_month .month_box .month_box_ttl {
        text-align: center;
        color: #004a78;
        font-size: 30rem;
        font-weight: 700;
        margin-bottom: 30rem; }
        #top_month .month_box .month_box_ttl span {
          font-size: 20rem; }
      #top_month .month_box .month_box_txt {
        font-size: 22rem;
        line-height: 1.4em;
        color: #333333;
        margin-bottom: 30rem;
        text-align: left; }
      #top_month .month_box .date {
        text-align: center;
        font-size: 24rem;
        color: #4d4d4d; }
    #top_month .month_btn {
      margin-top: 60rem;
      text-align: center; }

  #phi {
    background: #fff;
    padding: 200rem 0;
    text-align: center; }
    #phi .phi_ttl {
      color: #004a78;
      font-size: 65rem;
      padding: 15rem 0 110rem; }
      #phi .phi_ttl span {
        color: #00b3ff; }
    #phi .txt {
      font-size: 26rem;
      line-height: 2em;
      font-weight: 700;
      color: #333333; }

  #top_action {
    position: relative;
    background: url("../img/top_action_sp.png") no-repeat center top;
    background-size: cover; }
    #top_action .top_action_inner {
      background: url("../img/acbg_01_sp.png") no-repeat center top -1rem;
      background-size: contain; }
      #top_action .top_action_inner .top_action_inner2 {
        padding: 260rem 0;
        background: url("../img/acbg_02_sp.png") no-repeat center bottom -1rem;
        background-size: contain; }
        #top_action .top_action_inner .top_action_inner2 .mttl {
          color: #fff;
          margin-bottom: 85rem; }
        #top_action .top_action_inner .top_action_inner2 .top_action_btn {
          text-align: center;
          padding-top: 5rem; }
        #top_action .top_action_inner .top_action_inner2 .antion_boxes {
          width: 630rem;
          margin: 0 auto; }
          #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box {
            box-sizing: border-box;
            margin-bottom: 120rem; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img {
              box-sizing: border-box;
              background: #fff;
              padding: 10rem;
              border-radius: 10rem; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img div {
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat; }
                #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img div:before {
                  content: '';
                  display: block;
                  padding-bottom: 68%; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info {
              display: flex;
              align-items: center;
              justify-content: space-between;
              margin: 34rem 0 22rem; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info .cat {
                width: 282rem;
                background: #fff;
                text-align: center;
                font-size: 24rem;
                color: #004a78;
                font-weight: 700;
                line-height: 1.6em; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info .date {
                font-size: 19rem;
                color: #cccccc;
                letter-spacing: 0.1em; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_ttl {
              color: #fff;
              line-height: 1.5em;
              font-size: 30rem;
              font-weight: 700;
              margin-bottom: 25rem; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .txt {
              color: #fff;
              font-size: 22rem;
              line-height: 1.5em; }

  #top_column {
    background: #e7f3f6;
    padding-top: 110rem;
    padding-top: 110rem; }
    #top_column .top_column_ttl {
      text-align: center;
      font-size: 34rem;
      color: #004a78;
      font-weight: 700;
      margin-bottom: 60rem; }
    #top_column .top_column_box {
      width: 630rem;
      margin: 0 auto;
      border-bottom: solid 2rem #004a78;
      border-top: solid 2rem #004a78;
      padding: 60rem 0; }
      #top_column .top_column_box .top_column_box_left {
        margin-bottom: 50rem; }
        #top_column .top_column_box .top_column_box_left div {
          box-sizing: border-box;
          background: #fff;
          padding: 5rem;
          border-radius: 10rem; }
      #top_column .top_column_box .top_column_box_right .top_column_box_info {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        #top_column .top_column_box .top_column_box_right .top_column_box_info .cat span {
          display: inline-block;
          background: #004a78;
          line-height: 1.8em;
          color: #fff;
          font-size: 24rem;
          padding: 6rem 25rem 3rem;
          text-align: center;
          font-weight: 700; }
        #top_column .top_column_box .top_column_box_right .top_column_box_info .date {
          font-size: 24rem;
          color: #999999;
          letter-spacing: 0.1em; }
      #top_column .top_column_box .top_column_box_right .top_column_box_ttl {
        margin: 34rem 0 28rem;
        font-size: 30rem;
        line-height: 1.4em;
        font-weight: 700; }
      #top_column .top_column_box .top_column_box_right .txt {
        font-size: 24rem;
        line-height: 2em; }
      #top_column .top_column_box .top_column_btn {
        margin-top: 70rem;
        text-align: center; }

  #top_links {
    background: #e7f3f6;
    padding: 160rem 0 200rem; }
    #top_links .top_links_inner {
      width: 630rem;
      margin: 0 auto; }
      #top_links .top_links_inner .top_link {
        background: url("../img/top_link_bg_sp.png") no-repeat center;
        background-size: contain;
        width: 630rem;
        height: 278rem;
        text-align: center;
        position: relative;
        box-sizing: border-box;
        padding: 0 30rem 0 240rem; }
        #top_links .top_links_inner .top_link .mttl {
          margin-bottom: 20rem;
          line-height: 1; }
        #top_links .top_links_inner .top_link:nth-child(1) {
          margin-bottom: 60rem;
          padding-top: 60rem; }
          #top_links .top_links_inner .top_link:nth-child(1) .top_link_img img {
            height: 145rem; }
        #top_links .top_links_inner .top_link:nth-child(2) {
          padding-top: 75rem; }
          #top_links .top_links_inner .top_link:nth-child(2) .top_link_img img {
            height: 115rem; }
        #top_links .top_links_inner .top_link .top_link_img {
          width: 239rem;
          height: 145rem;
          left: 10rem;
          top: 50%;
          transform: translateY(-50%);
          position: absolute;
          text-align: center; }
          #top_links .top_links_inner .top_link .top_link_img img {
            position: absolute;
            left: 50%;
            top: 50%;
            width: auto;
            transform: translateX(-50%) translateY(-50%); }
        #top_links .top_links_inner .top_link .txt {
          color: #004a78;
          font-size: 22rem;
          line-height: 1.4em;
          font-weight: 700;
          text-align: center; }

  footer {
    background: #fafafa;
    position: relative; }
    footer.topfoot:before {
      content: '';
      display: block;
      height: 230rem;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #e7f3f6;
      z-index: 1; }
    footer .foot_joinus {
      position: relative;
      z-index: 2;
      width: 680rem;
      margin: 0 auto;
      border-radius: 20rem;
      background: #02acc2;
      padding: 70rem 0 80rem;
      text-align: center; }
      footer .foot_joinus .foot_joinus_inner .mttl {
        color: #fff;
        line-height: 2.2em; }
      footer .foot_joinus .foot_joinus_inner .txt {
        font-size: 24rem;
        font-weight: 700;
        line-height: 44rem;
        letter-spacing: 0.13em;
        color: #fff;
        margin-bottom: 33rem; }
      footer .foot_joinus .foot_joinus_inner .btn02 {
        width: 440rem;
        padding-top: 1.5em;
        padding-bottom: 1.5em;
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        font-family: "gelica", sans-serif;
        font-weight: 400;
        font-style: italic; }
    footer .foot_infobg {
      background: url("../img/foot_bg.png") no-repeat center bottom -22rem;
      background-size: 100vw; }
    footer .foot_info {
      margin: 0 auto;
      padding: 95rem 0 140rem; }
      footer .foot_info .foot_info_logo {
        width: 394rem;
        margin: 0 auto 45rem; }
      footer .foot_info .foot_info_link {
        text-align: center; }
        footer .foot_info .foot_info_link li {
          margin-bottom: 20rem;
          display: inline-block; }
          footer .foot_info .foot_info_link li:last-child {
            margin-bottom: 0; }
          footer .foot_info .foot_info_link li a {
            width: 394rem;
            text-align: center;
            display: block;
            border: solid 2rem #004a78;
            border-radius: 10rem;
            background: #fff;
            color: #004a78;
            font-size: 22rem;
            line-height: 1.2em;
            font-weight: 700;
            padding: 32rem 0; }
    footer .foot_btm {
      background: #004a78;
      box-sizing: border-box;
      padding: 38rem 0 15rem; }
      footer .foot_btm .foot_btm_inner {
        display: flex;
        flex-wrap: wrap; }
      footer .foot_btm #copy {
        width: 100%;
        text-align: center;
        order: 2;
        font-size: 19rem;
        color: #fff;
        letter-spacing: 0.09em;
        line-height: 2em; }
      footer .foot_btm .foot_btm_sns {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 25rem;
        width: 100%; }
        footer .foot_btm .foot_btm_sns li {
          margin-left: 37rem; }
          footer .foot_btm .foot_btm_sns li:first-child {
            margin-left: 0; }
          footer .foot_btm .foot_btm_sns li img {
            height: 50rem; }

  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    transition: 0.3s; }
    header .menuch {
      display: none; }
    header .menuch:checked + .menula {
      background-image: url("../img/menu_02.png") !important; }
    header .menuch:checked + .menula + .spmenu {
      transition: 0.3s;
      opacity: 1;
      right: 0; }
    header .menula {
      position: absolute;
      width: 60rem;
      height: 40rem;
      right: 35rem;
      top: 35rem;
      background: url("../img/menu_01.png") no-repeat center;
      background-size: contain;
      z-index: 12; }
    header .spmenu {
      position: fixed;
      top: 0;
      right: -100vw;
      z-index: 11;
      width: 100vw;
      height: 100vh;
      box-sizing: border-box;
      overflow-y: scroll;
      padding: 50rem 0 30rem;
      background: #004a78;
      transition: 0.3s;
      opacity: 0; }
      header .spmenu .spmenu_list {
        width: 90%;
        margin: 0 auto; }
        header .spmenu .spmenu_list li {
          font-size: 34rem;
          border-bottom: dashed 1px #fff; }
          header .spmenu .spmenu_list li a {
            display: block;
            color: #fff;
            padding: 1em 0; }
    header.sc .menula {
      background-image: url("../img/menu_01.png") !important; }
    header.tophead .menula {
      background-image: url("../img/menu_03.png"); }

  .FontGelica {
    font-family: "gelica", sans-serif;
    font-weight: 500;
    font-style: italic; }

  #under_head {
    position: relative;
    background: url("../img/head_bg_sp.png") no-repeat top center;
    background-size: cover;
    height: 288rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    #under_head .under_head_ttl {
      width: 680rem;
      margin: 0 auto; }
      #under_head .under_head_ttl .under_head_ttl_inner {
        font-family: "gelica", sans-serif;
        font-weight: 500;
        font-style: italic;
        color: #004a78;
        font-size: 33rem; }
        #under_head .under_head_ttl .under_head_ttl_inner.under_head_ttl_inner2 {
          font-size: 26rem; }
      #under_head .under_head_ttl .jp {
        font-size: 18rem;
        color: #004a78; }

  #under_body {
    /* common */
    /* messe */
    /* mem */
    /* モーダル全体（最初は非表示） */
    /* モーダル表示時のスタイル */
    /* モーダルの背景（オーバーレイ） */
    /* モーダルのコンテンツ本体 */
    /* 閉じるボタン */
    /* month_s */ }
    #under_body .pankuzu {
      padding-top: 35rem;
      width: 680rem;
      margin: 0 auto;
      font-size: 18rem;
      color: #595757;
      letter-spacing: 0.1em;
      overflow-x: scroll;
      white-space: nowrap; }
      #under_body .pankuzu a {
        color: #000; }
    #under_body #common {
      width: 680rem;
      margin: 0 auto;
      padding-top: 70rem; }
      #under_body #common .common_ttl {
        color: #fff;
        background: #02acc2;
        font-size: 30rem;
        line-height: 1.57em;
        font-weight: 700;
        padding: 18rem 22rem;
        box-sizing: border-box;
        margin-bottom: 25rem; }
      #under_body #common .box01 {
        margin-bottom: 50rem; }
        #under_body #common .box01 img {
          width: 100%;
          height: auto;
          display: block; }
      #under_body #common .box02 {
        margin-bottom: 50rem; }
        #under_body #common .box02 .box02_txt {
          font-size: 24rem;
          line-height: 1.8em; }
      #under_body #common .box03 {
        margin-bottom: 50rem; }
        #under_body #common .box03 .box03_ttl {
          border-left: solid 6rem #02acc2;
          font-weight: 700;
          font-size: 30rem;
          line-height: 1.7em;
          padding: 2rem 0 2rem 20rem;
          margin-bottom: 20rem; }
        #under_body #common .box03 .box03_txt {
          font-size: 24rem;
          line-height: 1.8em;
          box-sizing: border-box;
          padding: 14rem 20rem 0 20rem; }
          #under_body #common .box03 .box03_txt ul br {
            display: none; }
          #under_body #common .box03 .box03_txt ul li {
            font-size: 23rem;
            font-weight: 700;
            position: relative;
            padding-left: 1.4em; }
            #under_body #common .box03 .box03_txt ul li:before {
              content: '';
              display: block;
              height: 17rem;
              width: 17rem;
              position: absolute;
              left: 0;
              top: 7rem;
              background: url("../img/icon_dot_01.png") no-repeat center;
              background-size: 15rem; }
      #under_body #common .box04 {
        margin-bottom: 50rem;
        display: flex;
        justify-content: space-between; }
        #under_body #common .box04 .box04_img {
          width: 48.5%; }
      #under_body #common .box05 {
        margin-bottom: 50rem;
        display: flex;
        justify-content: space-between; }
        #under_body #common .box05 .box05_img {
          width: 32%; }
      #under_body #common .box06 {
        margin-bottom: 50rem; }
        #under_body #common .box06 .box06_img {
          width: 100%;
          margin-bottom: 30rem; }
        #under_body #common .box06 .box06_info {
          width: 100%; }
          #under_body #common .box06 .box06_info .box06_ttl {
            border-left: solid 6rem #02acc2;
            font-weight: 700;
            font-size: 30rem;
            line-height: 1.7em;
            padding: 2rem 0 2rem 20rem;
            margin-bottom: 20rem; }
          #under_body #common .box06 .box06_info .box06_txt {
            font-size: 24rem;
            line-height: 1.8em;
            box-sizing: border-box; }
            #under_body #common .box06 .box06_info .box06_txt ul br {
              display: none; }
            #under_body #common .box06 .box06_info .box06_txt ul li {
              font-size: 23rem;
              font-weight: 700;
              position: relative;
              padding-left: 1.4em; }
              #under_body #common .box06 .box06_info .box06_txt ul li:before {
                content: '';
                display: block;
                height: 17rem;
                width: 17rem;
                position: absolute;
                left: 0;
                top: 7rem;
                background: url("../img/icon_dot_01.png") no-repeat center;
                background-size: 15rem; }
      #under_body #common .box07 {
        margin-bottom: 50rem; }
        #under_body #common .box07 table {
          width: 100%; }
          #under_body #common .box07 table tr {
            font-size: 18rem; }
            #under_body #common .box07 table tr th {
              padding: 1em;
              text-align: center;
              border: solid 1rem #02acc2;
              background: rgba(2, 172, 194, 0.5);
              line-height: 1.5em;
              font-weight: 700; }
            #under_body #common .box07 table tr td {
              padding: 1em;
              text-align: left;
              border: solid 1rem #02acc2;
              line-height: 1.5em; }
      #under_body #common .box08 {
        text-align: center;
        margin-bottom: 50rem; }
      #under_body #common .boxt01 {
        margin-bottom: 50rem; }
        #under_body #common .boxt01 .boxt01_img {
          margin-bottom: 30rem; }
          #under_body #common .boxt01 .boxt01_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #common .boxt01 .boxt01_txt {
          font-size: 24rem;
          line-height: 1.8em;
          box-sizing: border-box; }
      #under_body #common .boxt02 {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #under_body #common .boxt02.col2 .boxt02_box {
          width: 49%; }
        #under_body #common .boxt02.col3 .boxt02_box {
          width: 32%; }
        #under_body #common .boxt02.col4 .boxt02_box {
          width: 24%; }
        #under_body #common .boxt02 .boxt02_box {
          position: relative; }
          #under_body #common .boxt02 .boxt02_box:before {
            content: '';
            display: block;
            width: 30rem;
            height: 30rem;
            position: absolute;
            left: calc(100% - 12rem);
            transform: translateY(-11rem);
            top: 50%;
            background: url("../img/icon_batsu.svg") no-repeat center;
            background-size: contain;
            z-index: 3; }
          #under_body #common .boxt02 .boxt02_box:last-child:before {
            display: none; }
          #under_body #common .boxt02 .boxt02_box img {
            display: block;
            width: 100%;
            height: auto; }
          #under_body #common .boxt02 .boxt02_box .boxt02_box_info {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            background: rgba(2, 172, 194, 0.6);
            box-sizing: border-box;
            padding: 5rem;
            color: #fff; }
            #under_body #common .boxt02 .boxt02_box .boxt02_box_info .posi {
              font-size: 22rem;
              line-height: 1.5em;
              letter-spacing: 0.1em; }
            #under_body #common .boxt02 .boxt02_box .boxt02_box_info .name {
              font-size: 28rem;
              line-height: 1.5em;
              font-weight: 700;
              letter-spacing: 0.1em; }
      #under_body #common .boxt03 {
        margin-bottom: 50rem; }
        #under_body #common .boxt03 .boxt03_img {
          width: 100%;
          margin-bottom: 30rem; }
          #under_body #common .boxt03 .boxt03_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #common .boxt03 .boxt03_info .boxt03_ttl {
          border-left: solid 6rem #02acc2;
          font-weight: 700;
          font-size: 30rem;
          line-height: 1.7em;
          padding: 2rem 0 2rem 20rem;
          margin-bottom: 20rem; }
        #under_body #common .boxt03 .boxt03_info .boxt03_table table tr th {
          width: 4em;
          font-size: 24rem;
          line-height: 1.5em;
          font-weight: 700;
          text-align: left;
          padding-bottom: 1.5em; }
        #under_body #common .boxt03 .boxt03_info .boxt03_table table tr td {
          width: calc(100% - 4em);
          padding-left: 1em;
          font-size: 24rem;
          line-height: 1.5em;
          padding-bottom: 1.5em; }
      #under_body #common .boxt04 {
        margin-bottom: 50rem;
        background: #f4f4f4;
        border-radius: 20rem;
        box-sizing: border-box;
        padding: 40rem; }
        #under_body #common .boxt04 .boxt04_ttl {
          font-size: 29rem;
          line-height: 1.4em;
          margin-bottom: 10rem; }
        #under_body #common .boxt04 .boxt04_list {
          padding-left: 10rem;
          box-sizing: border-box; }
          #under_body #common .boxt04 .boxt04_list li {
            position: relative;
            font-size: 24rem;
            line-height: 1.4em;
            margin-bottom: 0.3em; }
            #under_body #common .boxt04 .boxt04_list li:last-child {
              margin-bottom: 0; }
            #under_body #common .boxt04 .boxt04_list li:before {
              content: '・';
              position: relative;
              left: 0;
              top: 0; }
    #under_body .messe {
      padding-top: 120rem; }
      #under_body .messe .messe_ttl {
        text-align: center;
        font-size: 34rem;
        line-height: 1.2em;
        font-weight: 700;
        color: #004a78;
        margin-bottom: -0.5em;
        position: relative;
        z-index: 2; }
      #under_body .messe .messe_box {
        background: #fff;
        width: 680rem;
        margin: 0 auto;
        text-align: center; }
        #under_body .messe .messe_box .txt {
          padding: 90rem 0 130rem;
          font-weight: 500;
          font-size: 24rem;
          line-height: 2em; }
        #under_body .messe .messe_box img {
          display: block;
          width: 100%; }
    #under_body .mem {
      padding-top: 130rem; }
      #under_body .mem .mem_boxes {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 630rem;
        margin: 0 auto; }
        #under_body .mem .mem_boxes .mem_box {
          width: 48%;
          margin-bottom: 50rem;
          background: #fff; }
          #under_body .mem .mem_boxes .mem_box .mem_box_posi {
            box-sizing: border-box;
            padding: 26rem 26rem 10rem;
            font-size: 20rem;
            line-height: 1.2em;
            color: #02acc2;
            font-weight: 700; }
          #under_body .mem .mem_boxes .mem_box .mem_box_name {
            font-weight: 700;
            font-size: 28rem;
            padding: 0 26rem 26rem; }
    #under_body .modal {
      display: none;
      /* 初期状態では非表示 */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1000;
      justify-content: center;
      align-items: center; }
    #under_body .modal.active {
      display: flex;
      /* activeクラスが付いたら表示 */ }
    #under_body .modal-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.1);
      /* 半透明の黒 */ }
    #under_body .modal-content {
      position: relative;
      background-color: #fff;
      padding: 50rem 25rem;
      border-radius: 10rem;
      width: 630rem;
      box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
      z-index: 1;
      box-sizing: border-box; }
    #under_body .modal-close-btn {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      background: none;
      border: none;
      cursor: pointer; }
    #under_body .modal_box .modal_box_left {
      width: 242rem;
      margin: 0 auto;
      margin-bottom: 26rem; }
    #under_body .modal_box .modal_box_right .modal_box_posi {
      text-align: center;
      color: #02acc2;
      font-size: 24rem;
      font-weight: 500;
      line-height: 1.6em; }
    #under_body .modal_box .modal_box_right .modal_box_name {
      text-align: center;
      font-size: 35rem;
      line-height: 1.5em;
      letter-spacing: 0.1em;
      margin-bottom: 36rem;
      font-weight: 700; }
    #under_body .modal_box .modal_box_right .modal_box_txt {
      font-size: 24rem;
      letter-spacing: 0.05em;
      line-height: 1.5em;
      text-align: center; }
      #under_body .modal_box .modal_box_right .modal_box_txt strong {
        text-align: center;
        display: block;
        font-weight: 700;
        font-size: 26rem;
        line-height: 1;
        margin-bottom: -5rem; }
    #under_body .modal_box .modal_box_txtarea {
      margin-top: 35rem;
      font-size: 24rem;
      letter-spacing: 0.05em;
      line-height: 1.5em; }
      #under_body .modal_box .modal_box_txtarea strong {
        text-align: center;
        margin-bottom: -5rem;
        display: block;
        font-weight: 700;
        font-size: 26rem;
        line-height: 1; }
    #under_body #month_a {
      padding-top: 130rem;
      width: 630rem;
      margin: 0 auto; }
      #under_body #month_a .month_a_tag {
        padding-bottom: 50rem; }
        #under_body #month_a .month_a_tag dl {
          display: flex; }
          #under_body #month_a .month_a_tag dl dt {
            font-size: 16rem;
            width: 100rem;
            padding-top: 10rem; }
          #under_body #month_a .month_a_tag dl dd {
            width: calc(100% - 110rem); }
            #under_body #month_a .month_a_tag dl dd input[type="radio"] {
              display: none; }
            #under_body #month_a .month_a_tag dl dd label {
              display: inline-block;
              margin-right: 20rem;
              border: solid 1rem #02adc3;
              box-sizing: border-box;
              width: 156rem;
              line-height: 2em;
              border-radius: 100rem;
              font-size: 16rem;
              text-align: center;
              margin-bottom: 10rem; }
              #under_body #month_a .month_a_tag dl dd label:hover {
                background: #02adc3;
                color: #fff; }
            #under_body #month_a .month_a_tag dl dd input[type="radio"]:checked + label {
              background: #02adc3;
              color: #fff; }
      #under_body #month_a .month_a_boxes .month_a_box {
        width: 100%;
        margin-bottom: 110rem; }
        #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img {
          margin-bottom: 30rem; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img div {
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat; }
            #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img div:before {
              content: '';
              display: block;
              padding-bottom: 68%; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #month_a .month_a_boxes .month_a_box .month_a_box_info {
          display: flex;
          align-items: center;
          justify-content: space-between; }
        #under_body #month_a .month_a_boxes .month_a_box .date {
          font-size: 19rem;
          color: #cccccc;
          letter-spacing: 0.1em; }
        #under_body #month_a .month_a_boxes .month_a_box .month_a_box_month {
          display: inline-block;
          box-sizing: border-box;
          border-radius: 100rem;
          font-size: 20rem;
          font-weight: 700;
          color: #02adc3;
          padding: 17rem 40rem;
          text-align: center;
          border: solid 1rem #02adc3; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_month span {
            font-size: 18rem; }
        #under_body #month_a .month_a_boxes .month_a_box .month_a_box_ttl {
          margin-top: 25rem;
          font-weight: 700;
          font-size: 32rem;
          line-height: 1.4em;
          margin-bottom: 25rem; }
        #under_body #month_a .month_a_boxes .month_a_box .txt {
          font-size: 24rem;
          line-height: 1.6em;
          margin-bottom: 30rem; }
        #under_body #month_a .month_a_boxes .month_a_box .place {
          font-size: 19rem;
          line-height: 1.3em;
          color: #808182; }
    #under_body #month_s {
      padding-top: 130rem; }
      #under_body #month_s .month_s_en {
        text-align: center;
        font-size: 31rem;
        color: #004a78;
        margin-bottom: 20rem; }
      #under_body #month_s .month_s_ttl {
        text-align: center;
        font-size: 32rem;
        font-weight: 700;
        color: #004a78;
        margin-bottom: 50rem; }
        #under_body #month_s .month_s_ttl span {
          display: inline-block;
          position: relative;
          padding: 18rem 75rem; }
          #under_body #month_s .month_s_ttl span:before {
            content: '';
            display: block;
            width: 75rem;
            height: 31rem;
            background: url("../img/month_title_bg_01.png") no-repeat left top;
            background-size: contain;
            position: absolute;
            left: 0;
            top: 0; }
          #under_body #month_s .month_s_ttl span:after {
            content: '';
            display: block;
            width: 75rem;
            height: 31rem;
            background: url("../img/month_title_bg_02.png") no-repeat right bottom;
            background-size: contain;
            position: absolute;
            right: 0;
            bottom: 0; }
      #under_body #month_s .month_s_box {
        box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
        box-sizing: border-box;
        width: 680rem;
        margin: 0 auto;
        padding: 25rem 25rem 43rem;
        background: #fff; }
        #under_body #month_s .month_s_box .month_s_img {
          margin-bottom: 30rem; }
          #under_body #month_s .month_s_box .month_s_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #month_s .month_s_box .month_s_biko {
          text-align: right;
          font-size: 17rem;
          color: #333333;
          margin-bottom: 45rem; }
        #under_body #month_s .month_s_box .month_s_sub {
          text-align: center;
          color: #004a78;
          font-size: 30rem;
          font-weight: 700;
          margin-bottom: 25rem; }
          #under_body #month_s .month_s_box .month_s_sub span {
            font-size: 24rem; }
        #under_body #month_s .month_s_box .txt {
          font-size: 24rem;
          line-height: 1.4em;
          color: #333333;
          margin-bottom: 30rem; }
        #under_body #month_s .month_s_box .date {
          text-align: center;
          font-size: 24rem;
          color: #4d4d4d;
          letter-spacing: 0.1em; }

  .common_body p {
    font-size: 20rem;
    line-height: 1.6em; }

  .contact_form table {
    width: 100%; }
    .contact_form table tr th {
      display: block;
      box-sizing: border-box;
      vertical-align: middle;
      font-size: 30rem;
      padding: 20rem 0 5rem;
      text-align: left;
      font-weight: 700;
      width: 100%; }
      .contact_form table tr th span {
        line-height: 1;
        display: inline-block;
        margin-left: 10rem;
        font-size: 14rem;
        padding: 2rem;
        color: #EF171B; }
    .contact_form table tr td {
      vertical-align: middle;
      font-size: 30rem;
      padding: 5rem 0 20rem;
      width: 100%;
      display: block;
      box-sizing: border-box; }
      .contact_form table tr td input[type="text"] {
        width: 100%;
        display: inline-block;
        border: none;
        background: #fff;
        font-size: 30rem;
        border-radius: 100rem;
        padding: 15rem 10rem;
        box-sizing: border-box; }
      .contact_form table tr td textarea {
        width: 100%;
        display: inline-block;
        border: none;
        background: #fff;
        font-size: 30rem;
        height: 300rem;
        border-radius: 10rem;
        padding: 15rem 10rem;
        box-sizing: border-box; }

  .pp {
    text-align: center;
    margin-top: 40rem; }
    .pp .mwform-checkbox-field-text {
      font-size: 0;
      display: inline-block;
      background: url("../img/icon_check_01.png") no-repeat center left;
      background-size: contain;
      width: 35rem;
      height: 35rem;
      vertical-align: middle;
      margin-right: 15rem; }
    .pp .ppttl {
      font-size: 20rem;
      display: inline-block;
      vertical-align: middle; }
      .pp .ppttl a {
        color: #000;
        text-decoration: underline; }
    .pp input[type="checkbox"] {
      display: none; }
    .pp input[type="checkbox"]:checked + .mwform-checkbox-field-text {
      background-image: url("../img/icon_check_02.png"); }

  .contact_send {
    text-align: center;
    margin-top: 40rem; }
    .contact_send input[type="submit"] {
      display: inline-block;
      font-size: 25rem;
      color: #fff;
      background: #E17D24;
      border: solid 1rem #E17D24;
      box-sizing: border-box;
      border-radius: 100rem;
      padding: 1em 5.5em;
      font-weight: 700; }
      .contact_send input[type="submit"]:hover {
        background: #fff;
        color: #E17D24;
        cursor: pointer;
        transition: 0.3s; }

  #news_a {
    padding-top: 70rem;
    background: #fafafa; }
    #news_a .new_lists {
      background: #fafafa;
      width: 630rem;
      margin: 0 auto; }

  .new_lists {
    width: 630rem;
    margin: 0 auto; }
    .new_lists .new_list li {
      border-bottom: solid 1rem #808080;
      padding: 22rem 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      color: #333333; }
      .new_lists .new_list li .date {
        font-size: 24rem;
        margin-right: 50rem; }
      .new_lists .new_list li .cat {
        font-size: 24rem; }
        .new_lists .new_list li .cat span {
          display: inline-block;
          line-height: 1.5em;
          padding: 0 20rem;
          border: solid 1rem #333333; }
      .new_lists .new_list li .ttl {
        width: 100%;
        padding-top: 20rem;
        font-size: 24rem; }
        .new_lists .new_list li .ttl a {
          color: #333333;
          line-height: 1.8em; }
      .new_lists .new_list li:last-child {
        border-bottom: none; } }
/* PC */
@media screen and (min-width: 801px) {
  html {
    font-size: calc(1vw * 100 / 1920); }

  body {
    font-size: 16rem; }

  .sponly {
    display: none !important; }

  .btn01 {
    display: inline-block;
    color: #fff;
    min-width: 285rem;
    border-radius: 100rem;
    border: solid 1rem #004a78;
    background: #004a78;
    transition: 0.3s;
    font-size: 18rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding: 1em 34rem;
    box-sizing: border-box;
    text-align: center; }
    .btn01:hover {
      background: #fff;
      color: #004a78;
      cursor: pointer; }

  .btn02 {
    display: inline-block;
    color: #004a78;
    min-width: 285rem;
    border-radius: 100rem;
    border: solid 1rem #fff;
    background: #fff;
    transition: 0.3s;
    font-size: 18rem;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    padding: 1em 34rem;
    box-sizing: border-box;
    text-align: center; }
    .btn02:hover {
      background: #004a78;
      color: #fff;
      cursor: pointer; }

  .mttl {
    text-align: center;
    font-size: 30rem;
    font-style: italic;
    letter-spacing: 0.1em;
    line-height: 2.6em;
    font-family: "gelica", sans-serif;
    font-weight: 400;
    font-style: italic;
    color: #004a78; }

  main {
    padding-bottom: 100rem;
    background: #fafafa; }
    main#topmain {
      padding-bottom: 0; }

  #mv {
    position: relative; }
    #mv:before {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 250rem;
      background: url("../img/mv_town.png") no-repeat center top;
      background-size: cover;
      z-index: 2; }
    #mv:after {
      content: '';
      display: block;
      z-index: 3;
      width: 584rem;
      height: 584rem;
      background: url("../img/logo_c.svg") no-repeat center;
      background-size: contain;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -297rem; }
    #mv .prev-arrow {
      position: absolute;
      z-index: 2;
      width: 40rem;
      top: 45%;
      transform: translateY(-50%);
      left: 220rem; }
      #mv .prev-arrow:hover {
        cursor: pointer; }
    #mv .next-arrow {
      position: absolute;
      z-index: 2;
      width: 40rem;
      top: 45%;
      transform: translateY(-50%);
      right: 220rem; }
      #mv .next-arrow:hover {
        cursor: pointer; }

  #top_news {
    width: 100%;
    padding: 370rem 0 110rem;
    background: #fff; }
    #top_news .news_btn {
      text-align: center;
      margin-top: 45rem; }

  #top_month {
    padding: 100rem 0; }
    #top_month .month_ttl {
      text-align: center;
      color: #004a78;
      font-size: 30rem;
      font-weight: 700;
      margin-bottom: 40rem; }
    #top_month .month_box {
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
      box-sizing: border-box;
      width: 1200rem;
      margin: 0 auto;
      padding: 40rem;
      background: #fff; }
      #top_month .month_box .month_box_img {
        margin-bottom: 35rem; }
        #top_month .month_box .month_box_img img {
          width: 100%;
          height: auto;
          display: block; }
      #top_month .month_box .month_box_ttl {
        text-align: center;
        color: #004a78;
        font-size: 26rem;
        font-weight: 700;
        margin-bottom: 30rem; }
        #top_month .month_box .month_box_ttl span {
          font-size: 20rem; }
      #top_month .month_box .month_box_txt {
        font-size: 18rem;
        line-height: 1.4em;
        color: #333333;
        margin-bottom: 30rem;
        text-align: center; }
      #top_month .month_box .date {
        text-align: center;
        font-size: 18rem;
        color: #4d4d4d; }
    #top_month .month_btn {
      margin-top: 60rem;
      text-align: center; }

  #phi {
    background: #fff;
    padding: 100rem 0;
    text-align: center; }
    #phi .phi_ttl {
      color: #004a78;
      font-size: 93rem;
      padding: 15rem 0 90rem; }
      #phi .phi_ttl span {
        color: #00b3ff; }
    #phi .txt {
      font-size: 20rem;
      line-height: 2em;
      font-weight: 700;
      color: #333333; }

  #top_action {
    position: relative;
    background: url("../img/top_action.png") no-repeat center;
    background-size: cover; }
    #top_action .top_action_inner {
      background: url("../img/acbg_01.svg") no-repeat center top;
      background-size: 2265rem; }
      #top_action .top_action_inner .top_action_inner2 {
        padding: 215rem 0;
        background: url("../img/acbg_02.svg") no-repeat center bottom;
        background-size: 2265rem; }
        #top_action .top_action_inner .top_action_inner2 .mttl {
          color: #fff;
          margin-bottom: 80rem; }
        #top_action .top_action_inner .top_action_inner2 .top_action_btn {
          text-align: center;
          padding-top: 40rem; }
        #top_action .top_action_inner .top_action_inner2 .antion_boxes {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          width: 1080rem;
          margin: 0 auto; }
          #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box {
            width: 490rem;
            box-sizing: border-box;
            margin-bottom: 60rem; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img {
              box-sizing: border-box;
              background: #fff;
              padding: 10rem;
              border-radius: 10rem; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img div {
                background-size: cover;
                background-position: center;
                background-repeat: no-repeat; }
                #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_img div:before {
                  content: '';
                  display: block;
                  padding-bottom: 68%; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info {
              display: flex;
              align-items: center;
              justify-content: space-between;
              margin: 23rem 0 10rem; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info .cat {
                width: 188rem;
                background: #fff;
                text-align: center;
                font-size: 16rem;
                color: #004a78;
                font-weight: 700;
                line-height: 1.6em; }
              #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_info .date {
                font-size: 13rem;
                color: #cccccc;
                letter-spacing: 0.1em; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .antion_box_ttl {
              color: #fff;
              line-height: 1.5em;
              font-size: 23rem;
              font-weight: 700;
              margin-bottom: 15rem; }
            #top_action .top_action_inner .top_action_inner2 .antion_boxes .antion_box .txt {
              color: #fff;
              font-size: 16rem;
              line-height: 1.8em; }

  #top_column {
    background: #e7f3f6;
    padding-top: 90rem;
    padding-top: 90rem; }
    #top_column .top_column_ttl {
      text-align: center;
      font-size: 30rem;
      color: #004a78;
      font-weight: 700;
      margin-bottom: 60rem; }
    #top_column .top_column_box {
      width: 1100rem;
      margin: 0 auto;
      border-bottom: solid 2rem #004a78;
      border-top: solid 2rem #004a78;
      padding: 80rem 0;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #top_column .top_column_box .top_column_box_left {
        width: 474rem; }
        #top_column .top_column_box .top_column_box_left div {
          box-sizing: border-box;
          background: #fff;
          padding: 5rem;
          border-radius: 10rem; }
      #top_column .top_column_box .top_column_box_right {
        width: 595rem; }
        #top_column .top_column_box .top_column_box_right .top_column_box_info {
          display: flex;
          align-items: center;
          justify-content: space-between; }
          #top_column .top_column_box .top_column_box_right .top_column_box_info .cat span {
            width: 266rem;
            display: inline-block;
            background: #004a78;
            line-height: 1.5em;
            color: #fff;
            font-size: 22rem;
            text-align: center;
            font-weight: 700; }
          #top_column .top_column_box .top_column_box_right .top_column_box_info .date {
            font-size: 16rem;
            color: #999999;
            letter-spacing: 0.1em; }
        #top_column .top_column_box .top_column_box_right .top_column_box_ttl {
          margin: 30rem 0;
          font-size: 32rem;
          line-height: 1.4em;
          font-weight: 700; }
        #top_column .top_column_box .top_column_box_right .txt {
          font-size: 22rem;
          line-height: 2em; }
      #top_column .top_column_box .top_column_btn {
        margin-top: 40rem;
        width: 100%;
        text-align: center; }

  #top_links {
    background: #e7f3f6;
    padding: 130rem 0; }
    #top_links .top_links_inner {
      display: flex;
      justify-content: space-between;
      width: 1100rem;
      margin: 0 auto; }
      #top_links .top_links_inner .top_link {
        background: url("../img/top_link_bg.png") no-repeat center;
        background-size: contain;
        width: 515rem;
        height: 440rem;
        text-align: center;
        padding-top: 70rem; }
        #top_links .top_links_inner .top_link .top_link_img {
          height: 156rem;
          position: relative;
          margin-bottom: 25rem; }
          #top_links .top_links_inner .top_link .top_link_img img {
            position: absolute;
            left: 50%;
            top: 50%;
            height: 155rem;
            width: auto;
            transform: translateX(-50%) translateY(-50%); }
        #top_links .top_links_inner .top_link .txt {
          color: #004a78;
          font-size: 20rem;
          line-height: 1.4em;
          font-weight: 700;
          text-align: center; }

  footer {
    background: #fafafa;
    position: relative; }
    footer.topfoot:before {
      content: '';
      display: block;
      height: 190rem;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #e7f3f6;
      z-index: 1; }
    footer .foot_joinus {
      position: relative;
      z-index: 2;
      width: 1380rem;
      margin: 0 auto;
      border-radius: 20rem;
      background: #02acc2;
      padding: 90rem 0;
      text-align: center; }
      footer .foot_joinus .foot_joinus_inner .mttl {
        color: #fff; }
      footer .foot_joinus .foot_joinus_inner .txt {
        font-size: 20rem;
        font-weight: 700;
        line-height: 2em;
        letter-spacing: 0.13em;
        color: #fff;
        margin-bottom: 50rem; }
      footer .foot_joinus .foot_joinus_inner .btn02 {
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        font-family: "gelica", sans-serif;
        font-weight: 400;
        font-style: italic; }
    footer .foot_infobg {
      background: url("../img/foot_bg.png") no-repeat center bottom -57rem;
      background-size: 1920rem; }
    footer .foot_info {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 1380rem;
      margin: 0 auto;
      padding: 90rem 0 290rem; }
      footer .foot_info .foot_info_logo {
        width: 426rem; }
      footer .foot_info .foot_info_link {
        display: flex; }
        footer .foot_info .foot_info_link li:last-child {
          margin-left: 50rem; }
        footer .foot_info .foot_info_link li a {
          width: 356rem;
          text-align: center;
          display: block;
          border: solid 2rem #004a78;
          border-radius: 5rem;
          background: #fff;
          color: #004a78;
          font-size: 18rem;
          line-height: 1.2em;
          font-weight: 700;
          padding: 30rem 0;
          transition: 0.3s; }
          footer .foot_info .foot_info_link li a:hover {
            background: #004a78;
            color: #fff; }
    footer .foot_btm {
      background: #004a78;
      box-sizing: border-box;
      padding: 27rem 0; }
      footer .foot_btm .foot_btm_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 1380rem;
        margin: 0 auto; }
      footer .foot_btm #copy {
        font-size: 14rem;
        color: #fff;
        letter-spacing: 0.09em;
        line-height: 2em; }
      footer .foot_btm .foot_btm_sns {
        display: flex;
        align-items: center; }
        footer .foot_btm .foot_btm_sns li {
          margin-left: 20rem; }
          footer .foot_btm .foot_btm_sns li img {
            height: 30rem; }

  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 46rem 0;
    transition: 0.3s; }
    header .head_link {
      display: flex;
      justify-content: center;
      font-family: "gelica", sans-serif;
      font-weight: 500;
      font-style: italic; }
      header .head_link li {
        font-size: 21rem;
        margin: 0 60rem; }
        header .head_link li a {
          color: #004a78; }
          header .head_link li a:hover {
            text-decoration: underline; }
    header.sc {
      transition: 0.3s;
      padding: 20rem 0;
      background: #fff; }
      header.sc .head_link li a {
        color: #004a78 !important; }
    header.tophead {
      transition: 0.3s; }
      header.tophead .head_link li a {
        color: #eadfc2; }

  .FontGelica {
    font-family: "gelica", sans-serif;
    font-weight: 500;
    font-style: italic; }

  #under_head {
    position: relative;
    background: url("../img/head_bg.png") no-repeat top center;
    background-size: cover;
    height: 635rem; }
    #under_head .under_head_ttl {
      padding-top: 250rem;
      width: 1380rem;
      margin: 0 auto; }
      #under_head .under_head_ttl .under_head_ttl_inner {
        font-family: "gelica", sans-serif;
        font-weight: 500;
        font-style: italic;
        color: #004a78;
        font-size: 55rem; }
        #under_head .under_head_ttl .under_head_ttl_inner.under_head_ttl_inner2 {
          font-size: 49rem; }
      #under_head .under_head_ttl .jp {
        font-size: 22rem;
        color: #004a78; }

  #under_body {
    /* common */
    /* messe */
    /* mem */
    /* モーダル全体（最初は非表示） */
    /* モーダル表示時のスタイル */
    /* モーダルの背景（オーバーレイ） */
    /* モーダルのコンテンツ本体 */
    /* 閉じるボタン */
    /* month_s */ }
    #under_body .pankuzu {
      padding-top: 55rem;
      width: 1380rem;
      margin: 0 auto;
      font-size: 14rem;
      color: #595757;
      letter-spacing: 0.1em; }
      #under_body .pankuzu a {
        color: #000; }
    #under_body #common {
      width: 1100rem;
      margin: 0 auto;
      padding-top: 100rem; }
      #under_body #common .common_ttl {
        color: #fff;
        background: #02acc2;
        font-size: 28rem;
        line-height: 1.57em;
        font-weight: 700;
        padding: 18rem 22rem;
        box-sizing: border-box;
        margin-bottom: 25rem; }
      #under_body #common .box01 {
        margin-bottom: 50rem; }
        #under_body #common .box01 img {
          width: 100%;
          height: auto;
          display: block; }
      #under_body #common .box02 {
        margin-bottom: 50rem; }
        #under_body #common .box02 .box02_txt {
          font-size: 18rem;
          line-height: 1.8em; }
      #under_body #common .box03 {
        margin-bottom: 50rem; }
        #under_body #common .box03 .box03_ttl {
          border-left: solid 6rem #02acc2;
          font-weight: 700;
          font-size: 28rem;
          line-height: 1.7em;
          padding: 2rem 0 2rem 20rem;
          margin-bottom: 20rem; }
        #under_body #common .box03 .box03_txt {
          font-size: 18rem;
          line-height: 1.8em;
          box-sizing: border-box;
          padding: 14rem 20rem 0 20rem; }
          #under_body #common .box03 .box03_txt ul {
            margin-top: 1em; }
            #under_body #common .box03 .box03_txt ul br {
              display: none; }
            #under_body #common .box03 .box03_txt ul li {
              font-size: 17rem;
              font-weight: 700;
              position: relative;
              padding-left: 1.4em; }
              #under_body #common .box03 .box03_txt ul li:before {
                content: '';
                display: block;
                height: 17rem;
                width: 17rem;
                position: absolute;
                left: 0;
                top: 7rem;
                background: url("../img/icon_dot_01.png") no-repeat center;
                background-size: 15rem; }
      #under_body #common .box04 {
        margin-bottom: 50rem;
        display: flex;
        justify-content: space-between; }
        #under_body #common .box04 .box04_img {
          width: 48.5%; }
      #under_body #common .box05 {
        margin-bottom: 50rem;
        display: flex;
        justify-content: space-between; }
        #under_body #common .box05 .box05_img {
          width: 32%; }
      #under_body #common .box06 {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #under_body #common .box06.box06_2 .box06_img {
          order: 2; }
        #under_body #common .box06 .box06_img {
          width: 440rem; }
        #under_body #common .box06 .box06_info {
          width: 630rem; }
          #under_body #common .box06 .box06_info .box06_ttl {
            border-left: solid 6rem #02acc2;
            font-weight: 700;
            font-size: 28rem;
            line-height: 1.7em;
            padding: 2rem 0 2rem 20rem;
            margin-bottom: 20rem; }
          #under_body #common .box06 .box06_info .box06_txt {
            font-size: 18rem;
            line-height: 1.8em;
            box-sizing: border-box; }
            #under_body #common .box06 .box06_info .box06_txt ul {
              margin-top: 1em; }
              #under_body #common .box06 .box06_info .box06_txt ul br {
                display: none; }
              #under_body #common .box06 .box06_info .box06_txt ul li {
                font-size: 17rem;
                font-weight: 700;
                position: relative;
                padding-left: 1.4em; }
                #under_body #common .box06 .box06_info .box06_txt ul li:before {
                  content: '';
                  display: block;
                  height: 17rem;
                  width: 17rem;
                  position: absolute;
                  left: 0;
                  top: 7rem;
                  background: url("../img/icon_dot_01.png") no-repeat center;
                  background-size: 15rem; }
      #under_body #common .box07 {
        margin-bottom: 50rem; }
        #under_body #common .box07 table {
          width: 100%; }
          #under_body #common .box07 table tr {
            font-size: 18rem; }
            #under_body #common .box07 table tr th {
              padding: 1em;
              text-align: center;
              border: solid 1rem #02acc2;
              background: rgba(2, 172, 194, 0.5);
              line-height: 1.5em;
              font-weight: 700; }
            #under_body #common .box07 table tr td {
              padding: 1em;
              text-align: left;
              border: solid 1rem #02acc2;
              line-height: 1.5em; }
      #under_body #common .box08 {
        text-align: center;
        margin-bottom: 50rem; }
      #under_body #common .boxt01 {
        margin-bottom: 50rem; }
        #under_body #common .boxt01 .boxt01_img {
          margin-bottom: 30rem; }
          #under_body #common .boxt01 .boxt01_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #common .boxt01 .boxt01_txt {
          font-size: 18rem;
          line-height: 1.8em;
          box-sizing: border-box; }
      #under_body #common .boxt02 {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #under_body #common .boxt02.col2 .boxt02_box {
          width: 49%; }
        #under_body #common .boxt02.col3 .boxt02_box {
          width: 32%; }
        #under_body #common .boxt02.col4 .boxt02_box {
          width: 24%; }
        #under_body #common .boxt02 .boxt02_box {
          position: relative; }
          #under_body #common .boxt02 .boxt02_box:before {
            content: '';
            display: block;
            width: 70rem;
            height: 70rem;
            position: absolute;
            left: calc(100% - 27rem);
            transform: translateY(-50%);
            bottom: 30rem;
            background: url("../img/icon_batsu.svg") no-repeat center;
            background-size: contain;
            z-index: 3; }
          #under_body #common .boxt02 .boxt02_box:last-child:before {
            display: none; }
          #under_body #common .boxt02 .boxt02_box img {
            display: block;
            width: 100%;
            height: auto; }
          #under_body #common .boxt02 .boxt02_box .boxt02_box_info {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            background: rgba(2, 172, 194, 0.6);
            box-sizing: border-box;
            padding: 5rem;
            color: #fff; }
            #under_body #common .boxt02 .boxt02_box .boxt02_box_info .posi {
              font-size: 14rem;
              line-height: 1.5em;
              letter-spacing: 0.1em; }
            #under_body #common .boxt02 .boxt02_box .boxt02_box_info .name {
              font-size: 18rem;
              line-height: 1.5em;
              font-weight: 700;
              letter-spacing: 0.1em; }
      #under_body #common .boxt03 {
        margin-bottom: 50rem; }
        #under_body #common .boxt03.box2 {
          display: flex;
          justify-content: space-between; }
          #under_body #common .boxt03.box2 .boxt03_img {
            width: 420rem; }
          #under_body #common .boxt03.box2 .boxt03_info {
            width: 600rem; }
        #under_body #common .boxt03.box3 {
          display: flex;
          justify-content: space-between; }
          #under_body #common .boxt03.box3 .boxt03_img {
            order: 2;
            width: 420rem; }
          #under_body #common .boxt03.box3 .boxt03_info {
            width: 600rem; }
        #under_body #common .boxt03 .boxt03_img {
          width: 100%;
          margin-bottom: 40rem; }
          #under_body #common .boxt03 .boxt03_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #common .boxt03 .boxt03_info .boxt03_ttl {
          border-left: solid 6rem #02acc2;
          font-weight: 700;
          font-size: 28rem;
          line-height: 1.7em;
          padding: 2rem 0 2rem 20rem;
          margin-bottom: 20rem; }
        #under_body #common .boxt03 .boxt03_info .boxt03_table table tr th {
          width: 4em;
          font-size: 18rem;
          line-height: 1.5em;
          font-weight: 700;
          text-align: left;
          padding-bottom: 1.5em; }
        #under_body #common .boxt03 .boxt03_info .boxt03_table table tr td {
          width: calc(100% - 4em);
          padding-left: 1em;
          font-size: 18rem;
          line-height: 1.5em;
          padding-bottom: 1.5em; }
      #under_body #common .boxt04 {
        margin-bottom: 50rem;
        background: #f4f4f4;
        border-radius: 20rem;
        box-sizing: border-box;
        padding: 40rem; }
        #under_body #common .boxt04 .boxt04_ttl {
          font-size: 29rem;
          line-height: 1.4em;
          margin-bottom: 10rem; }
        #under_body #common .boxt04 .boxt04_list {
          padding-left: 10rem;
          box-sizing: border-box; }
          #under_body #common .boxt04 .boxt04_list li {
            position: relative;
            font-size: 18rem;
            line-height: 1.4em;
            margin-bottom: 0.3em; }
            #under_body #common .boxt04 .boxt04_list li:last-child {
              margin-bottom: 0; }
            #under_body #common .boxt04 .boxt04_list li:before {
              content: '・';
              position: relative;
              left: 0;
              top: 0; }
    #under_body .messe {
      padding-top: 140rem; }
      #under_body .messe .messe_ttl {
        text-align: center;
        font-size: 41rem;
        line-height: 1.2em;
        font-weight: 700;
        color: #004a78;
        margin-bottom: -0.5em;
        position: relative;
        z-index: 2; }
      #under_body .messe .messe_box {
        background: #fff;
        width: 1380rem;
        margin: 0 auto;
        text-align: center; }
        #under_body .messe .messe_box .txt {
          padding: 135rem 0 140rem;
          font-weight: 500;
          font-size: 20rem;
          line-height: 2em; }
        #under_body .messe .messe_box img {
          display: block;
          width: 100%; }
    #under_body .mem {
      padding-top: 160rem; }
      #under_body .mem .mem_boxes {
        display: flex;
        flex-wrap: wrap;
        width: 1100rem;
        margin: 0 auto; }
        #under_body .mem .mem_boxes .mem_box {
          width: 31%;
          margin-right: 3.5%;
          margin-bottom: 80rem;
          background: #fff; }
          #under_body .mem .mem_boxes .mem_box .mem_box_posi {
            box-sizing: border-box;
            padding: 26rem 26rem 10rem;
            font-size: 20rem;
            line-height: 1.2em;
            color: #02acc2;
            font-weight: 700; }
          #under_body .mem .mem_boxes .mem_box .mem_box_name {
            font-weight: 700;
            font-size: 28rem;
            padding: 0 26rem 26rem; }
          #under_body .mem .mem_boxes .mem_box:nth-child(3n) {
            margin-right: 0; }
    #under_body .modal {
      display: none;
      /* 初期状態では非表示 */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1000;
      justify-content: center;
      align-items: center; }
    #under_body .modal.active {
      display: flex;
      /* activeクラスが付いたら表示 */ }
    #under_body .modal-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.1);
      /* 半透明の黒 */ }
    #under_body .modal-content {
      position: relative;
      background-color: #fff;
      padding: 65rem 80rem;
      border-radius: 10rem;
      width: 1014rem;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
      z-index: 1;
      box-sizing: border-box; }
    #under_body .modal-close-btn {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      background: none;
      border: none;
      cursor: pointer; }
    #under_body .modal_box {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #under_body .modal_box .modal_box_left {
        width: 242rem; }
      #under_body .modal_box .modal_box_right {
        width: 560rem; }
        #under_body .modal_box .modal_box_right .modal_box_posi {
          color: #02acc2;
          font-size: 22rem;
          font-weight: 500;
          line-height: 1.6em; }
        #under_body .modal_box .modal_box_right .modal_box_name {
          font-size: 28rem;
          line-height: 1.5em;
          letter-spacing: 0.1em;
          margin-bottom: 20rem;
          font-weight: 700; }
        #under_body .modal_box .modal_box_right .modal_box_txt {
          font-size: 20rem;
          letter-spacing: 0.05em;
          line-height: 1.5em; }
          #under_body .modal_box .modal_box_right .modal_box_txt strong {
            font-weight: 700;
            font-size: 23rem;
            line-height: 1.4em; }
      #under_body .modal_box .modal_box_txtarea {
        margin-top: 20rem;
        font-size: 20rem;
        letter-spacing: 0.05em;
        line-height: 1.5em; }
        #under_body .modal_box .modal_box_txtarea strong {
          font-weight: 700;
          font-size: 23rem;
          line-height: 1.4em; }
    #under_body #month_a {
      padding-top: 100rem;
      width: 1100rem;
      margin: 0 auto; }
      #under_body #month_a .month_a_tag {
        padding-bottom: 50rem; }
        #under_body #month_a .month_a_tag dl {
          display: flex; }
          #under_body #month_a .month_a_tag dl dt {
            font-size: 16rem;
            width: 100rem;
            padding-top: 10rem; }
          #under_body #month_a .month_a_tag dl dd {
            width: calc(100% - 110rem); }
            #under_body #month_a .month_a_tag dl dd input[type="radio"] {
              display: none; }
            #under_body #month_a .month_a_tag dl dd label {
              display: inline-block;
              margin-right: 10rem;
              border: solid 1rem #02adc3;
              box-sizing: border-box;
              width: 156rem;
              line-height: 2em;
              border-radius: 100rem;
              font-size: 16rem;
              text-align: center;
              margin-bottom: 10rem; }
              #under_body #month_a .month_a_tag dl dd label:hover {
                background: #02adc3;
                color: #fff; }
            #under_body #month_a .month_a_tag dl dd input[type="radio"]:checked + label {
              background: #02adc3;
              color: #fff; }
      #under_body #month_a .month_a_boxes {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #under_body #month_a .month_a_boxes .month_a_box {
          width: 45%;
          margin-bottom: 50rem; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img {
            margin-bottom: 25rem; }
            #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img div {
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat; }
              #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img div:before {
                content: '';
                display: block;
                padding-bottom: 68%; }
            #under_body #month_a .month_a_boxes .month_a_box .month_a_box_img img {
              width: 100%;
              height: auto;
              display: block; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_info {
            display: flex;
            align-items: center;
            justify-content: space-between; }
          #under_body #month_a .month_a_boxes .month_a_box .date {
            font-size: 13rem;
            color: #cccccc;
            letter-spacing: 0.1em; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_month {
            display: inline-block;
            box-sizing: border-box;
            border-radius: 100rem;
            font-size: 18rem;
            font-weight: 700;
            color: #02adc3;
            width: 232rem;
            padding: 17rem 0;
            text-align: center;
            border: solid 1rem #02adc3; }
            #under_body #month_a .month_a_boxes .month_a_box .month_a_box_month span {
              font-size: 16rem; }
          #under_body #month_a .month_a_boxes .month_a_box .month_a_box_ttl {
            margin-top: 20rem;
            font-weight: 700;
            font-size: 23rem;
            line-height: 1.4em;
            margin-bottom: 20rem; }
          #under_body #month_a .month_a_boxes .month_a_box .txt {
            font-size: 16rem;
            line-height: 1.6em;
            margin-bottom: 25rem; }
          #under_body #month_a .month_a_boxes .month_a_box .place {
            font-size: 13rem;
            line-height: 1.3em;
            color: #808182; }
    #under_body #month_s {
      padding-top: 100rem; }
      #under_body #month_s .month_s_en {
        text-align: center;
        font-size: 25rem;
        color: #004a78;
        margin-bottom: 20rem; }
      #under_body #month_s .month_s_ttl {
        text-align: center;
        font-size: 32rem;
        font-weight: 700;
        color: #004a78;
        margin-bottom: 80rem; }
        #under_body #month_s .month_s_ttl span {
          display: inline-block;
          position: relative;
          padding: 17rem 50rem; }
          #under_body #month_s .month_s_ttl span:before {
            content: '';
            display: block;
            width: 75rem;
            height: 31rem;
            background: url("../img/month_title_bg_01.png") no-repeat left top;
            background-size: contain;
            position: absolute;
            left: 0;
            top: 0; }
          #under_body #month_s .month_s_ttl span:after {
            content: '';
            display: block;
            width: 75rem;
            height: 31rem;
            background: url("../img/month_title_bg_02.png") no-repeat right bottom;
            background-size: contain;
            position: absolute;
            right: 0;
            bottom: 0; }
      #under_body #month_s .month_s_box {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        box-sizing: border-box;
        width: 1200rem;
        margin: 0 auto;
        padding: 40rem;
        background: #fff; }
        #under_body #month_s .month_s_box .month_s_img {
          margin-bottom: 35rem; }
          #under_body #month_s .month_s_box .month_s_img img {
            width: 100%;
            height: auto;
            display: block; }
        #under_body #month_s .month_s_box .month_s_biko {
          text-align: right;
          font-size: 11rem;
          color: #333333;
          margin-bottom: 45rem; }
        #under_body #month_s .month_s_box .month_s_sub {
          text-align: center;
          color: #004a78;
          font-size: 26rem;
          font-weight: 700;
          margin-bottom: 50rem; }
          #under_body #month_s .month_s_box .month_s_sub span {
            font-size: 20rem; }
        #under_body #month_s .month_s_box .txt {
          font-size: 18rem;
          line-height: 1.4em;
          color: #333333;
          margin-bottom: 50rem; }
        #under_body #month_s .month_s_box .date {
          text-align: center;
          font-size: 18rem;
          color: #4d4d4d; }

  .common_body p {
    font-size: 20rem;
    line-height: 1.6em; }

  .contact_form table {
    width: 100%; }
    .contact_form table tr th {
      vertical-align: middle;
      font-size: 24rem;
      padding: 20rem 0;
      text-align: left;
      font-weight: 700;
      width: 24%; }
      .contact_form table tr th span {
        line-height: 1;
        display: inline-block;
        margin-left: 10rem;
        font-size: 14rem;
        padding: 2rem;
        color: #EF171B; }
    .contact_form table tr td {
      vertical-align: middle;
      font-size: 24rem;
      padding: 20rem 0;
      width: 76%; }
      .contact_form table tr td input[type="text"] {
        width: 100%;
        display: inline-block;
        border: none;
        background: #fff;
        font-size: 24rem;
        border-radius: 100rem;
        padding: 15rem 10rem;
        box-sizing: border-box; }
      .contact_form table tr td textarea {
        width: 100%;
        display: inline-block;
        border: none;
        background: #fff;
        font-size: 24rem;
        height: 300rem;
        border-radius: 10rem;
        padding: 15rem 10rem;
        box-sizing: border-box; }

  .pp {
    text-align: center;
    margin-top: 40rem; }
    .pp .mwform-checkbox-field-text {
      font-size: 0;
      display: inline-block;
      background: url("../img/icon_check_01.png") no-repeat center left;
      background-size: contain;
      width: 25rem;
      height: 25rem;
      vertical-align: middle;
      margin-right: 5rem; }
    .pp .ppttl {
      font-size: 20rem;
      display: inline-block;
      vertical-align: middle; }
      .pp .ppttl a {
        color: #000;
        text-decoration: underline; }
    .pp input[type="checkbox"] {
      display: none; }
    .pp input[type="checkbox"]:checked + .mwform-checkbox-field-text {
      background-image: url("../img/icon_check_02.png"); }

  .contact_send {
    text-align: center;
    margin-top: 40rem; }
    .contact_send input[type="submit"] {
      display: inline-block;
      font-size: 25rem;
      color: #fff;
      background: #E17D24;
      border: solid 1rem #E17D24;
      box-sizing: border-box;
      border-radius: 100rem;
      padding: 1em 5.5em;
      font-weight: 700; }
      .contact_send input[type="submit"]:hover {
        background: #fff;
        color: #E17D24;
        cursor: pointer;
        transition: 0.3s; }

  #news_a {
    padding-top: 70rem;
    background: #fafafa; }
    #news_a .new_lists {
      background: #fafafa;
      width: 1100rem;
      margin: 0 auto; }

  .new_lists {
    width: 1100rem;
    margin: 0 auto; }
    .new_lists .new_list li {
      border-bottom: solid 1rem #808080;
      padding: 30rem 0;
      display: flex;
      color: #333333; }
      .new_lists .new_list li .date {
        font-size: 16rem;
        width: 160rem;
        padding-top: 5rem; }
      .new_lists .new_list li .cat {
        font-size: 16rem;
        width: 130rem; }
        .new_lists .new_list li .cat span {
          display: inline-block;
          line-height: 1.5em;
          padding: 0 10rem;
          border: solid 1rem #333333; }
      .new_lists .new_list li .ttl {
        width: calc(100% - 290rem);
        padding-top: 3rem;
        font-size: 16rem; }
        .new_lists .new_list li .ttl a {
          color: #333333;
          line-height: 1.3em; }
      .new_lists .new_list li:last-child {
        border-bottom: none; } }
