@charset "UTF-8";
body, div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, figure {
  margin: 0;
  padding: 0; }

img {
  border: 0;
  vertical-align: bottom; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ul {
  list-style: none; }

caption, th {
  text-align: left; }

/* html
------------------------------------------------- */
html {
  overflow-y: scroll;
  height: 100%;
  scroll-behavior: smooth; }

/* body
------------------------------------------------- */
body {
  width: 100%;
  height: 100%;
  color: #333;
  font-size: 16px;
  font-family: "Noto Sans JP","Yu Gothic", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN",sans-serif;
  line-height: 1.6;
  _display: inline;
  _zoom: 1; }
  body .pc {
    display: block; }
  body .sp {
    display: none; }

@media (min-device-width: 641px) and (max-device-width: 1024px) {
  body {
    min-width: 1024px; } }
@media (max-width: 640px) {
  body {
    min-width: 320px;
    max-width: 640px;
    font-size: 13px; }
    body img {
      width: 100%;
      height: auto; }
    body .pc {
      display: none; }
    body .sp {
      display: block; } }
/* wrapper
------------------------------------------------- */
#wrapper {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  position: relative; }

/* header
------------------------------------------------- */
.header {
  width: 100%; }
  .header__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 1430px;
    margin: 0 auto;
    padding: 20px 20px; }
    .header__inner .logo {
      width: 220px; }
      .header__inner .logo img {
        width: 100%;
        height: auto; }
    .header__inner--right {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      align-items: center;
      margin-left: auto; }
      .header__inner--right .name {
        margin-right: 20px;
        font-weight: bold; }
        .header__inner--right .name span {
          margin-right: 5px; }
      .header__inner--right .btn {
        display: flex;
        flex-wrap: wrap;
        width: 380px; }
        .header__inner--right .btn li {
          width: 49%; }
          .header__inner--right .btn li:first-child a{
            display:block;
            border-radius: 50px;
            background: #ffaa2c;
            margin-right: 2%;
            padding: 12px 0;
            text-align: center;
            color: #fff;
            font-weight: bold;
            cursor: pointer;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__inner--right .btn li:first-child a:hover {
              background: #ffba53;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
          .header__inner--right .btn li:last-child a {
            display: block;
            border-radius: 50px;
            background: #31beb6;
            padding: 12px 0;
            text-align: center;
            color: #fff;
            font-weight: bold;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__inner--right .btn li:last-child a span {
              padding-right: 15px;
              position: relative; }
              .header__inner--right .btn li:last-child a span:after {
                content: "";
                position: absolute;
                top: 50%;
                right: 0;
                border-top: 1.5px solid #fff;
                border-right: 1.5px solid #fff;
                width: 6px;
                height: 6px;
                margin-top: -3px;
                transform: rotate(45deg); }
            .header__inner--right .btn li:last-child a:hover {
              background: #52d4cd;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }

@media (max-width: 640px) {
  .header {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999; }
    .header__inner {
      max-width: 96%;
      padding: 1% 2%; }
      .header__inner .logo {
        width: 50%; }
      .header__inner--right {
        display: none; }
      .header__inner .spmenu {
        width: 15%;
        margin-left: auto;
        z-index: 10001; }
        .header__inner .spmenu #panel-btn #panel-btn-icon {
          display: block;
          background: url("../img/btn_menu_sp.png") no-repeat center center;
          background-size: cover;
          width: 100%;
          height: 100%;
          padding: 33.7% 0;
          position: relative;
          text-indent: -9999px;
          transition: 0.3s; }
          .header__inner .spmenu #panel-btn #panel-btn-icon.close {
            background: url("../img/btn_menu_close_sp.png") no-repeat center center;
            background-size: cover;
            transition: 0.3s; }
    .header .menu-box {
      position: fixed;
      top: 0;
      right: 0;
      background: rgba(33, 193, 174, 0.95);
      width: 240px;
      height: 100%;
      padding: 18% 20px 0;
      z-index: 10000;
      transform: translate(300px);
      transition: all 0.2s;
      overflow-y: scroll; }
      .header .menu-box.open {
        transform: translate(0); }
      .header .menu-box:after {
        content: ""; }
      .header .menu-box .menu-box-inner .name {
        border-bottom: 1.5px solid #fff;
        margin-bottom: 5%;
        padding-bottom: 4%;
        color: #fff;
        font-size: 16px;
        font-weight: bold; }
        .header .menu-box .menu-box-inner .name span {
          margin-right: 5px; }
      .header .menu-box .menu-box-inner ul {
        margin-bottom: 8%; }
        .header .menu-box .menu-box-inner ul li.act a {
          color: #ee7800;
          font-weight: bold; }
        .header .menu-box .menu-box-inner ul li a {
          display: block;
          border-bottom: 1px dotted #fff;
          padding: 4% 0 3%;
          color: #fff; }
          .header .menu-box .menu-box-inner ul li a:hover {
            text-decoration: none; }
      .header .menu-box .menu-box-btn ul {
        width: 100%; }
        .header .menu-box .menu-box-btn ul li {
          width: 100%; }
          .header .menu-box .menu-box-btn ul li:first-child {
            border-radius: 50px;
            background: #ffaa2c;
            margin-bottom: 4%;
            padding: 4% 0;
            text-align: center;
            color: #fff;
            font-weight: bold; }
          .header .menu-box .menu-box-btn ul li:last-child a {
            display: block;
            border-radius: 50px;
            background: #fff;
            padding: 4% 0;
            text-align: center;
            color: #31beb6;
            font-weight: bold; }
            .header .menu-box .menu-box-btn ul li:last-child a span {
              padding-right: 15px;
              position: relative; }
              .header .menu-box .menu-box-btn ul li:last-child a span:after {
                content: "";
                position: absolute;
                top: 50%;
                right: 0;
                border-top: 1.5px solid #31beb6;
                border-right: 1.5px solid #31beb6;
                width: 5px;
                height: 5px;
                margin-top: -2.5px;
                transform: rotate(45deg); }
            .header .menu-box .menu-box-btn ul li:last-child a:hover {
              text-decoration: none; } }
/* article
------------------------------------------------- */
.mv {
  background: url("../img/bg_mv.jpg") no-repeat center top/auto 100%;
  max-width: 1430px;
  min-height: 400px;
  margin: 0 auto; }
  .mv__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    .mv__inner h1 {
      padding-top: 170px; }
      .mv__inner h1 span {
        border-radius: 5px;
        background: #31beb6;
        padding: 10px 30px;
        color: #fff;
        font-size: 30px; }

@media (max-width: 640px) {
  .mv {
    min-height: 220px;
    margin: 16% auto 0; }
    .mv__inner {
      max-width: 94%;
      padding: 0; }
      .mv__inner h1 {
        padding-top: 26%; }
        .mv__inner h1 span {
          border-radius: 3px;
          padding: 2% 3%;
          font-size: 20px; } }
.bread {
  max-width: 1160px;
  margin: 20px auto 60px; }
  .bread__inner ul {
    display: flex;
    flex-wrap: wrap; }
    .bread__inner ul li {
      color: #333;
      font-size: 14px;
      letter-spacing: 0.1em; }
      .bread__inner ul li a {
        color: #333;
        font-size: 14px;
        text-decoration: none; }
        .bread__inner ul li a:hover {
          text-decoration: underline; }
      .bread__inner ul li a::after {
        display: inline-block;
        content: '>';
        margin: 0 12px;
        color: #222; }

@media (max-width: 640px) {
  .bread {
    max-width: 94%;
    margin: 4% auto 10%; }
    .bread__inner ul li {
      font-size: 12px; }
      .bread__inner ul li a {
        font-size: 12px; } }
/* footer
------------------------------------------------- */
.footer {
  width: 100%;
  padding: 100px 0 40px; }
  .footer__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    .footer__inner .logo {
      width: 220px;
      margin: 0 auto 30px; }
      .footer__inner .logo img {
        width: 100%;
        height: auto; }
    .footer__inner .btn {
      width: 200px;
      margin: 0 auto 70px; }
      .footer__inner .btn a {
        display: block;
        border-radius: 50px;
        background: #31beb6;
        padding: 12px 0;
        text-align: center;
        color: #fff;
        font-weight: bold;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        .footer__inner .btn a span {
          padding-right: 15px;
          position: relative; }
          .footer__inner .btn a span:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            border-top: 1.5px solid #fff;
            border-right: 1.5px solid #fff;
            width: 6px;
            height: 6px;
            margin-top: -3px;
            transform: rotate(45deg); }
        .footer__inner .btn a:hover {
          background: #52d4cd;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
    .footer__inner .copy {
      text-align: center;
      font-size: 12px;
      letter-spacing: 0.1em; }

@media (max-width: 640px) {
  .footer {
    padding: 8% 0 5%; }
    .footer__inner {
      max-width: 94%;
      padding: 0; }
      .footer__inner .logo {
        width: 50%;
        margin: 0 auto 5%; }
      .footer__inner .btn {
        width: 50%;
        margin: 0 auto 7%; }
        .footer__inner .btn a {
          padding: 5% 0; }
          .footer__inner .btn a span {
            padding-right: 12px; }
            .footer__inner .btn a span:after {
              width: 5px;
              height: 5px;
              margin-top: -2.5px; }
          .footer__inner .btn a:hover {
            background: #31beb6; }
      .footer__inner .copy {
        text-align: center;
        letter-spacing: 0.1em; } }
/* link
------------------------------------------------- */
a:link,
a:visited {
  color: #333;
  text-decoration: none; }

a:hover,
a:active {
  color: #333;
  text-decoration: underline; }

/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

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

/* *******************************************
     会員ログイン
******************************************* */
#login .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #login .sec01__title {
    border-bottom: 1px solid #ccc;
    margin-bottom: 50px;
    padding-bottom: 30px;
    position: relative; }
    #login .sec01__title:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      background: #31beb6;
      width: 300px;
      height: 2px; }
    #login .sec01__title h2 {
      border-left: 5px solid #31beb6;
      padding: 0 0 0 20px;
      font-size: 30px;
      font-weight: bold; }
  #login .sec01 .read {
    margin-bottom: 50px;
    text-align: center;
    line-height: 2.0; }
    #login .sec01 .read a {
      color: #469cec;
      text-decoration: underline; }
  #login .sec01__box {
    background: #31beb6;
    margin-bottom: 30px;
    padding: 50px 50px 25px; }
    #login .sec01__box dl {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      #login .sec01__box dl dt {
        width: 200px;
        margin-bottom: 25px;
        color: #fff;
        font-size: 20px;
        font-weight: bold; }
      #login .sec01__box dl dd {
        width: calc(100% - 200px);
        margin-bottom: 25px; }
        #login .sec01__box dl dd input[type=text] {
          border: 1px solid #fff;
          background: #fff;
          width: 80%;
          padding: 20px 20px;
          font-size: 18px; }
  #login .sec01 .caution {
    margin-bottom: 50px;
    text-align: center; }
    #login .sec01 .caution a {
      color: #469cec;
      text-decoration: underline; }
  #login .sec01 .btn_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 500px;
    margin: 0 auto; }
    #login .sec01 .btn_area li {
      width: 49%; }
      #login .sec01 .btn_area li:nth-child(2) {
        margin-left: 2%; }
      #login .sec01 .btn_area li button {
        display: block;
        border-radius: 50px;
        border: none;
        background: #ffaa2c;
        width: 100%;
        padding: 18px 0;
        text-align: center;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #login .sec01 .btn_area li button:hover {
          background: #ffba53;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #login .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #login .sec01__title {
      margin-bottom: 8%;
      padding-bottom: 4%; }
      #login .sec01__title:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        background: #31beb6;
        width: 300px;
        height: 2px; }
      #login .sec01__title h2 {
        border-left: 3px solid #31beb6;
        padding: 0 0 0 18px;
        font-size: 20px; }
    #login .sec01 .read {
      margin-bottom: 8%; }
    #login .sec01__box {
      margin-bottom: 5%;
      padding: 5% 8% 4%; }
      #login .sec01__box dl dt {
        width: 100%;
        margin-bottom: 2%;
        font-size: 16px; }
      #login .sec01__box dl dd {
        width: 100%;
        margin-bottom: 4%; }
        #login .sec01__box dl dd input[type=text] {
          width: 94%;
          padding: 3% 3%;
          font-size: 16px; }
    #login .sec01 .caution {
      margin-bottom: 8%; }
    #login .sec01 .btn_area {
      width: 100%; }
      #login .sec01 .btn_area li {
        width: 49%; }
        #login .sec01 .btn_area li:nth-child(2) {
          margin-left: 2%; }
        #login .sec01 .btn_area li button {
          padding: 8% 0;
          font-size: 15px; }
          #login .sec01 .btn_area li button:hover {
            background: #ffaa2c; } }
/* *******************************************
     メニュー
******************************************* */
.mymenu {
  max-width: 1160px;
  margin: 0 auto 120px;
  padding: 0 20px; }
  .mymenu h2 {
    margin-bottom: 50px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
  .mymenu ul {
    display: flex;
    flex-wrap: wrap; }
    .mymenu ul li {
      width: 24%;
      margin-right: 1.3333%;
      margin-bottom: 15px; }
      .mymenu ul li:nth-child(4n) {
        margin-right: 0; }
      .mymenu ul li:nth-child(3) a {
        font-size: min(1vw, 14px); }
      .mymenu ul li.act a {
        background: #fff;
        color: #ee7800; }
        .mymenu ul li.act a span:after {
          border-top: 10px solid #ee7800; }
      .mymenu ul li a {
        display: block;
        border: 5px solid #ee7800;
        background: #ee7800;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        font-size: min(1.2vw, 16px);
        font-weight: bold;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        .mymenu ul li a span {
          position: relative; }
          .mymenu ul li a span:after {
            content: "";
            display: inline-block;
            border-right: 6px solid transparent;
            border-left: 6px solid transparent;
            border-top: 10px solid #fff;
            border-bottom: 0;
            margin-left: 5px; }
        .mymenu ul li a:hover {
          background: #fff;
          color: #ee7800;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
          .mymenu ul li a:hover span:after {
            border-top: 10px solid #ee7800; }

@media (max-width: 640px) {
  .mymenu {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    .mymenu h2 {
      margin-bottom: 5%;
      font-size: 20px; }
    .mymenu ul li {
      width: 49%;
      margin-right: 2%;
      margin-bottom: 2%; }
      .mymenu ul li:nth-child(even) {
        margin-right: 0; }
      .mymenu ul li:nth-child(3) a {
        padding: 2.2px 0;
        font-size: 12px; }
      .mymenu ul li:nth-child(10) a {
        padding: 2.2px 0; }
      .mymenu ul li a {
        padding: 10px 0;
        font-size: 12px;
        line-height: 1.3; }
        .mymenu ul li a span:after {
          display: none; }
        .mymenu ul li a:hover {
          background: #ee7800;
          color: #fff; }
          .mymenu ul li a:hover span:after {
            border-top: 10px solid #fff; } }
/* *******************************************
     マイページトップ
******************************************* */
#top .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #top .sec01 h2 {
    margin-bottom: 50px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
  #top .sec01__title {
    border-bottom: 5px solid #31beb6;
    margin-bottom: 20px;
    padding-bottom: 12px;
    position: relative; }
    #top .sec01__title h3 {
      font-size: 26px;
      font-weight: bold; }
      #top .sec01__title h3 span {
        margin-left: 15px;
        font-size: 16px; }
    #top .sec01__title .btn {
      position: absolute;
      top: 0;
      right: 0; }
      #top .sec01__title .btn a {
        display: block;
        border-radius: 5px;
        background: #31beb6;
        padding: 10px 30px;
        color: #fff;
        font-weight: bold;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #top .sec01__title .btn a span {
          padding-right: 12px;
          position: relative; }
          #top .sec01__title .btn a span:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            border-top: 1.5px solid #fff;
            border-right: 1.5px solid #fff;
            width: 6px;
            height: 6px;
            margin-top: -3px;
            transform: rotate(45deg); }
        #top .sec01__title .btn a:hover {
          background: #52d4cd;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
  #top .sec01__list {
    margin-bottom: 60px; }
    #top .sec01__list li a {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding: 15px 10px;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #top .sec01__list li a .date {
        width: 140px;
        margin-right: 20px;
        font-size: min(1.6vw, 18px); }
      #top .sec01__list li a .cate {
        width: 160px;
        margin-right: 20px;
        padding: 5px 0;
        text-align: center;
        color: #000;
        font-size: min(1.6vw, 18px);
        /*font-weight: bold;*/ }
        #top .sec01__list li a .cate.org {
          background: #ee7800; }
        #top .sec01__list li a .cate.blu {
          background: #2f5597; }
        #top .sec01__list li a .cate.grn {
          background: #00b050; }
      #top .sec01__list li a .ttl {
        width: calc(100% - 340px);
        font-size: min(1.6vw, 18px); }
      #top .sec01__list li a:hover {
        background: #edfffd;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }

@media (max-width: 640px) {
  #top .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #top .sec01 h2 {
      margin-bottom: 5%;
      font-size: 20px; }
    #top .sec01__title {
      margin-bottom: 3%;
      padding-bottom: 3%; }
      #top .sec01__title h3 {
        width: 70%;
        font-size: 18px;
        line-height: 1.4; }
        #top .sec01__title h3 span {
          margin-left: 3%;
          font-size: 13px; }
      #top .sec01__title .btn {
        top: auto;
        bottom: 8px !important; }
        #top .sec01__title .btn a {
          padding: 4px 12px;
          font-size: 12px; }
          #top .sec01__title .btn a span {
            padding-right: 12px; }
            #top .sec01__title .btn a span:after {
              width: 5px;
              height: 5px;
              margin-top: -2.5px; }
          #top .sec01__title .btn a:hover {
            background: #31beb6; }
    #top .sec01__list {
      margin-bottom: 15%; }
      #top .sec01__list li a {
        border-bottom: 1.5px dashed #ccc;
        padding: 3% 0; }
        #top .sec01__list li a .date {
          width: 120px;
          margin: 0 2% 2% 0;
          font-size: 14px; }
        #top .sec01__list li a .cate {
          width: 100px;
          margin: 0 0 2%;
          padding: 1px 0;
          font-size: 11px; }
        #top .sec01__list li a .ttl {
          width: 100%;
          font-size: 14px; }
        #top .sec01__list li a:hover {
          background: #fff; } }
/* *******************************************
     お知らせ
******************************************* */
#info .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #info .sec01__title {
    border-bottom: 5px solid #31beb6;
    margin-bottom: 20px;
    padding-bottom: 12px;
    position: relative; }
    #info .sec01__title h3 {
      font-size: 26px;
      font-weight: bold; }
      #info .sec01__title h3 span {
        margin-left: 15px;
        font-size: 16px; }
    #info .sec01__title .btn {
      position: absolute;
      top: 0;
      right: 0; }
      #info .sec01__title .btn a {
        display: block;
        border-radius: 5px;
        background: #31beb6;
        padding: 10px 30px;
        color: #fff;
        font-weight: bold;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #info .sec01__title .btn a span {
          padding-right: 12px;
          position: relative; }
          #info .sec01__title .btn a span:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            border-top: 1.5px solid #fff;
            border-right: 1.5px solid #fff;
            width: 6px;
            height: 6px;
            margin-top: -3px;
            transform: rotate(45deg); }
        #info .sec01__title .btn a:hover {
          background: #52d4cd;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
  #info .sec01__list {
    margin-bottom: 100px; }
    #info .sec01__list li a {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      padding: 15px 10px;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #info .sec01__list li a .date {
        width: 140px;
        margin-right: 20px;
        font-size: min(1.6vw, 18px); }
      #info .sec01__list li a .cate {
        width: 160px;
        margin-right: 20px;
        padding: 5px 0;
        text-align: center;
        color: #000;
        font-size: min(1.6vw, 18px);
        /*font-weight: bold;*/ }
        #info .sec01__list li a .cate.org {
          background: #ee7800; }
        #info .sec01__list li a .cate.blu {
          background: #2f5597; }
        #info .sec01__list li a .cate.grn {
          background: #00b050; }
      #info .sec01__list li a .ttl {
        width: calc(100% - 340px);
        font-size: min(1.6vw, 18px); }
      #info .sec01__list li a:hover {
        background: #edfffd;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }
  #info .sec01 .pager ul.pageNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    #info .sec01 .pager ul.pageNav li {
      margin: 0 5px; }
      #info .sec01 .pager ul.pageNav li.current span {
        display: block;
        border-radius: 3px;
        background: #31beb6;
        width: 40px;
        height: 33px;
        padding-top: 7px;
        text-align: center;
        color: #fff;
        font-weight: bold; }
      #info .sec01 .pager ul.pageNav li a {
        display: block;
        border-radius: 3px;
        background: #f0f0f0;
        width: 40px;
        height: 33px;
        padding-top: 7px;
        text-align: center;
        color: #333;
        font-weight: bold;
        text-decoration: none;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #info .sec01 .pager ul.pageNav li a:hover {
          background: #31beb6;
          color: #fff;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
  #info .sec01 .entry_area {
    margin-bottom: 100px;
    line-height: 1.8; }
    #info .sec01 .entry_area h4 {
      border-bottom: 1px solid #31beb6;
      margin-bottom: 60px;
      padding: 10px 0 30px;
      font-weight: bold; }
    #info .sec01 .entry_area strong {
      font-weight: bold; }
    #info .sec01 .entry_area a {
      color: #469cec;
      text-decoration: underline; }
  #info .sec01 .btn_back {
    width: 180px;
    margin: 0 auto; }
    #info .sec01 .btn_back a {
      display: block;
      border-radius: 5px;
      background: #31beb6;
      padding: 10px 0;
      text-align: center;
      color: #fff;
      font-weight: bold;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #info .sec01 .btn_back a span {
        padding-right: 12px;
        position: relative; }
        #info .sec01 .btn_back a span:after {
          content: "";
          position: absolute;
          top: 50%;
          right: 0;
          border-top: 1.5px solid #fff;
          border-right: 1.5px solid #fff;
          width: 6px;
          height: 6px;
          margin-top: -3px;
          transform: rotate(45deg); }
      #info .sec01 .btn_back a:hover {
        background: #52d4cd;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }

@media (max-width: 640px) {
  #info .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #info .sec01__title {
      margin-bottom: 3%;
      padding-bottom: 3%; }
      #info .sec01__title h3 {
        width: 70%;
        font-size: 18px;
        line-height: 1.4; }
        #info .sec01__title h3 span {
          margin-left: 3%;
          font-size: 13px; }
      #info .sec01__title .btn {
        top: auto;
        bottom: 8px !important; }
        #info .sec01__title .btn a {
          padding: 4px 12px;
          font-size: 12px; }
          #info .sec01__title .btn a span {
            padding-right: 12px; }
            #info .sec01__title .btn a span:after {
              width: 5px;
              height: 5px;
              margin-top: -2.5px; }
          #info .sec01__title .btn a:hover {
            background: #31beb6; }
    #info .sec01__list {
      margin-bottom: 10%; }
      #info .sec01__list li a {
        border-bottom: 1.5px dashed #ccc;
        padding: 3% 0; }
        #info .sec01__list li a .date {
          width: 120px;
          margin: 0 2% 2% 0;
          font-size: 14px; }
        #info .sec01__list li a .cate {
          width: 100px;
          margin: 0 0 2%;
          padding: 1px 0;
          font-size: 11px; }
        #info .sec01__list li a .ttl {
          width: 100%;
          font-size: 14px; }
        #info .sec01__list li a:hover {
          background: #fff; }
    #info .sec01 .pager ul.pageNav li {
      margin: 0 4px; }
      #info .sec01 .pager ul.pageNav li.current span {
        width: 30px;
        height: 25px;
        padding-top: 5px; }
      #info .sec01 .pager ul.pageNav li a {
        width: 30px;
        height: 25px;
        padding-top: 5px; }
        #info .sec01 .pager ul.pageNav li a:hover {
          background: #f0f0f0;
          color: #333; }
    #info .sec01 .entry_area {
      margin-bottom: 10%;
      line-height: 1.8; }
      #info .sec01 .entry_area h4 {
        margin-bottom: 8%;
        padding: 3% 0 6%; }
    #info .sec01 .btn_back {
      width: 150px; }
      #info .sec01 .btn_back a {
        padding: 6% 0; }
        #info .sec01 .btn_back a span {
          padding-right: 12px; }
          #info .sec01 .btn_back a span:after {
            width: 5px;
            height: 5px;
            margin-top: -2.5px; }
        #info .sec01 .btn_back a:hover {
          background: #31beb6; } }
/* *******************************************
     会員登録情報の確認・変更入力フォーム・変更確認
******************************************* */
#member .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #member .sec01 h2 {
    margin-bottom: 50px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
  #member .sec01 .result {
    margin-bottom: 20px;
    text-align: center;}
  #member .sec01 .caution {
    margin-bottom: 20px;
    text-align: center;
    color: #f00; }
  #member .sec01 .table_member {
    border-top: 5px solid #31beb6;
    width: 100%;
    margin-bottom: 50px; }
    #member .sec01 .table_member th {
      border-bottom: 1px solid #31beb6;
      background: #89ebdf;
      width: 250px;
      padding: 30px 30px;
      font-size: 18px;
      line-height: 1.0; }
      #member .sec01 .table_member th.required:after {
        content: '必須';
        background: #f00;
        margin-left: 12px;
        padding: 3px 12px;
        color: #fff;
        font-size: 11px;
        line-height: 1.8; }
    #member .sec01 .table_member td {
      border-bottom: 1px solid #31beb6;
      padding: 30px 50px;
      font-size: 18px; }
      #member .sec01 .table_member td input[type=text] {
        border: 1px solid #666;
        padding: 9px 15px;
        font-size: 16px; }
        #member .sec01 .table_member td input[type=text].size01 {
          width: 30%;
          margin-left: 10px;
          margin-right: 15px; }
        #member .sec01 .table_member td input[type=text].size02 {
          width: 30%;
          margin-left: 10px; }
        #member .sec01 .table_member td input[type=text].size03 {
          width: 15%;
          margin: 0 10px 15px; }
        #member .sec01 .table_member td input[type=text].size04 {
          width: 20%;
          margin-left: 10px; }
        #member .sec01 .table_member td input[type=text].size05 {
          width: 55%;
          margin: 0 0 15px 10px; }
        #member .sec01 .table_member td input[type=text].size06 {
          width: 55%;
          margin: 0 0 0 10px; }
        #member .sec01 .table_member td input[type=text].size07 {
          width: 40%;
          margin: 0; }
        #member .sec01 .table_member td input[type=text].size08 {
          width: 20%;
          margin: 0 10px 0 0; }
        #member .sec01 .table_member td input[type=text].size09 {
          width: 20%;
          margin: 0 10px; }
        #member .sec01 .table_member td input[type=text].size10 {
          width: 20%;
          margin: 0 0 0 10px; }
      #member .sec01 .table_member td select {
        border: 1px solid #666;
        padding: 9px 15px;
        font-size: 16px; }
        #member .sec01 .table_member td select.sec01 {
          width: 40%;
          margin: 0 10px 15px; }
        #member .sec01 .table_member td select.sec02 {
          width: 40%; }
        #member .sec01 .table_member td select.sec03 {
          width: 85%;
          margin: 0 0 10px; }
      #member .sec01 .table_member td input.search {
        border-radius: 50px;
        border: none;
        background: #31beb6;
        padding: 10px 30px;
        text-align: center;
        color: #fff;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #member .sec01 .table_member td input.search:hover {
          background: #52d4cd;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
      #member .sec01 .table_member td span {
        font-size: 14px; }
  #member .sec01 .btn_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 500px;
    margin: 0 auto; }
    #member .sec01 .btn_area.mb {
      margin: 0 auto 60px; }
    #member .sec01 .btn_area li {
      width: 49%; }
      #member .sec01 .btn_area li:nth-child(2) {
        margin-left: 2%; }
      #member .sec01 .btn_area li button {
        display: block;
        border-radius: 50px;
        border: none;
        background: #ffaa2c;
        width: 100%;
        padding: 20px 0;
        text-align: center;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #member .sec01 .btn_area li button:hover {
          background: #ffba53;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #member .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #member .sec01 h2 {
      margin-bottom: 5%;
      font-size: 20px; }
    #member .sec01 .caution {
      margin-bottom: 3%; }
    #member .sec01 .table_member {
      border-top: none;
      margin-bottom: 5%; }
      #member .sec01 .table_member tr {
        display: block; }
      #member .sec01 .table_member th {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3%;
        font-size: 14px; }
      #member .sec01 .table_member td {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3% 6%;
        font-size: 14px; }
        #member .sec01 .table_member td input[type=text] {
          padding: 2% 3%;
          font-size: 13px; }
          #member .sec01 .table_member td input[type=text].size01 {
            width: 30%;
            margin-left: 5px;
            margin-right: 10px; }
          #member .sec01 .table_member td input[type=text].size02 {
            width: 30%;
            margin-left: 5px; }
          #member .sec01 .table_member td input[type=text].size03 {
            width: 15%;
            margin: 0 5px 10px; }
          #member .sec01 .table_member td input[type=text].size04 {
            width: 20%;
            margin-left: 5px; }
          #member .sec01 .table_member td input[type=text].size05 {
            width: 55%;
            margin: 0 0 10px 5px; }
          #member .sec01 .table_member td input[type=text].size06 {
            width: 55%;
            margin: 0 0 0 5px; }
          #member .sec01 .table_member td input[type=text].size07 {
            width: 40%;
            margin: 0; }
          #member .sec01 .table_member td input[type=text].size08 {
            width: 20%;
            margin: 0 5px 0 0; }
          #member .sec01 .table_member td input[type=text].size09 {
            width: 20%;
            margin: 0 5px; }
          #member .sec01 .table_member td input[type=text].size10 {
            width: 20%;
            margin: 0 0 0 5px; }
        #member .sec01 .table_member td select {
          padding: 2% 3%;
          font-size: 13px; }
          #member .sec01 .table_member td select.sec01 {
            width: 40%;
            margin: 0 5px 10px; }
          #member .sec01 .table_member td select.sec02 {
            width: 40%; }
          #member .sec01 .table_member td select.sec03 {
            width: 100%;
            margin: 0 0 5px; }
        #member .sec01 .table_member td input.search {
          padding: 6px 30px; }
          #member .sec01 .table_member td input.search:hover {
            background: #31beb6; }
        #member .sec01 .table_member td span {
          font-size: 13px; }
    #member .sec01 .btn_area {
      width: 100%; }
      #member .sec01 .btn_area.mb {
        margin: 0 auto 8%; }
      #member .sec01 .btn_area li {
        width: 49%; }
        #member .sec01 .btn_area li:nth-child(2) {
          margin-left: 2%; }
        #member .sec01 .btn_area li button {
          padding: 6% 0;
          font-size: 14px; }
          #member .sec01 .btn_area li button:hover {
            background: #ffaa2c; } }
/* *******************************************
     表彰歴情報の確認
******************************************* */
#award .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #award .sec01 h2 {
    border-bottom: 5px solid #31beb6;
    margin-bottom: 40px;
    padding-bottom: 30px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
    #award .sec01 h2.no {
      border-bottom: none;
      padding-bottom: 0; }
      #award .sec01 .result {
        margin-bottom: 20px;
        text-align: center;}
  #award .sec01 .btn_regist {
    width: 230px;
    margin: 0 auto 80px; }
    #award .sec01 .btn_regist a {
      display: block;
      background: #ee7800;
      padding: 15px 0;
      text-align: center;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #award .sec01 .btn_regist a span {
        padding-right: 12px;
        position: relative; }
        #award .sec01 .btn_regist a span:after {
          content: "";
          position: absolute;
          top: 50%;
          right: 0;
          border-top: 1.5px solid #fff;
          border-right: 1.5px solid #fff;
          width: 6px;
          height: 6px;
          margin-top: -3px;
          transform: rotate(45deg); }
      #award .sec01 .btn_regist a:hover {
        background: #f58b1f;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }
  #award .sec01__list li {
    border: 2px dashed #31beb6;
    margin-bottom: 30px;
    padding: 30px 50px 15px;
    position: relative; }
    #award .sec01__list li dl {
      display: flex;
      flex-wrap: wrap;
      width: calc(100% - 180px); }
      #award .sec01__list li dl dt {
        width: 180px;
        margin-bottom: 15px;
        font-size: 18px; }
      #award .sec01__list li dl dd {
        width: calc(100% - 180px);
        margin-bottom: 15px;
        font-size: 18px; }
    #award .sec01__list li .btn_edit {
      position: absolute;
      right: 30px;
      bottom: 30px;
      width: 180px; }
      #award .sec01__list li .btn_edit button {
        display: block;
        border: none;
        background: #ee7800;
        width: 100%;
        padding: 13px 0;
        text-align: center;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #award .sec01__list li .btn_edit button span {
          padding-right: 12px;
          position: relative; }
          #award .sec01__list li .btn_edit button span:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            border-top: 1.5px solid #fff;
            border-right: 1.5px solid #fff;
            width: 6px;
            height: 6px;
            margin-top: -4px;
            transform: rotate(45deg); }
        #award .sec01__list li .btn_edit button:hover {
          background: #f58b1f;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
  #award .sec01 .table_award {
    border-top: 5px solid #31beb6;
    width: 100%;
    margin-bottom: 50px; }
    #award .sec01 .table_award th {
      border-bottom: 1px solid #31beb6;
      background: #89ebdf;
      width: 250px;
      padding: 30px 30px;
      font-size: 18px;
      line-height: 1.0; }
      #award .sec01 .table_award th.required:after {
        content: '必須';
        background: #f00;
        margin-left: 12px;
        padding: 3px 12px;
        color: #fff;
        font-size: 11px;
        line-height: 1.8; }
    #award .sec01 .table_award td {
      border-bottom: 1px solid #31beb6;
      padding: 30px 50px;
      font-size: 18px; }
      #award .sec01 .table_award td input[type=text] {
        border: 1px solid #666;
        padding: 9px 15px;
        font-size: 16px; }
        #award .sec01 .table_award td input[type=text].size01 {
          width: 70%; }
      #award .sec01 .table_award td select {
        border: 1px solid #666;
        width: 40%;
        padding: 9px 15px;
        font-size: 16px; }
  #award .sec01 .btn_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 500px;
    margin: 0 auto; }
    #award .sec01 .btn_area li {
      width: 49%; }
      #award .sec01 .btn_area li:nth-child(2) {
        margin-left: 2%; }
      #award .sec01 .btn_area li button {
        display: block;
        border-radius: 50px;
        border: none;
        background: #ffaa2c;
        width: 100%;
        padding: 20px 0;
        text-align: center;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #award .sec01 .btn_area li button:hover {
          background: #ffba53;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #award .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #award .sec01 h2 {
      border-bottom: 3px solid #31beb6;
      margin-bottom: 6%;
      padding-bottom: 3%;
      font-size: 20px; }
    #award .sec01 .btn_regist {
      width: 50%;
      margin: 0 auto 10%; }
      #award .sec01 .btn_regist a {
        padding: 5% 0;
        font-size: 14px; }
        #award .sec01 .btn_regist a span {
          padding-right: 12px; }
          #award .sec01 .btn_regist a span:after {
            width: 5px;
            height: 5px;
            margin-top: -2.5px; }
        #award .sec01 .btn_regist a:hover {
          background: #ee7800; }
    #award .sec01__list li {
      margin-bottom: 6%;
      padding: 5% 5%; }
      #award .sec01__list li dl {
        width: 100%;
        margin-bottom: 4%; }
        #award .sec01__list li dl dt {
          width: 100px;
          margin-bottom: 3%;
          font-size: 14px; }
        #award .sec01__list li dl dd {
          width: calc(100% - 100px);
          margin-bottom: 3%;
          font-size: 14px; }
      #award .sec01__list li .btn_edit {
        position: relative;
        right: 0;
        bottom: 0;
        width: 50%;
        margin: 0 auto; }
        #award .sec01__list li .btn_edit a {
          padding: 5% 0;
          font-size: 14px; }
          #award .sec01__list li .btn_edit a span {
            padding-right: 12px;
            position: relative; }
            #award .sec01__list li .btn_edit a span:after {
              width: 5px;
              height: 5px;
              margin-top: -2.5px; }
          #award .sec01__list li .btn_edit a:hover {
            background: #ee7800; }
    #award .sec01 .table_award {
      border-top: none;
      margin-bottom: 5%; }
      #award .sec01 .table_award tr {
        display: block; }
      #award .sec01 .table_award th {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3%;
        font-size: 14px; }
        #award .sec01 .table_award th.required:after {
          content: '必須';
          background: #f00;
          margin-left: 12px;
          padding: 3px 12px;
          color: #fff;
          font-size: 11px;
          line-height: 1.8; }
      #award .sec01 .table_award td {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3% 6%;
        font-size: 14px; }
        #award .sec01 .table_award td input[type=text] {
          padding: 2% 3%;
          font-size: 13px; }
          #award .sec01 .table_award td input[type=text].size01 {
            width: 94%; }
        #award .sec01 .table_award td select {
          width: 50%;
          padding: 2% 3%;
          font-size: 13px; }
    #award .sec01 .btn_area {
      width: 100%; }
      #award .sec01 .btn_area li button {
        padding: 7% 0;
        font-size: 14px; }
        #award .sec01 .btn_area li button:hover {
          background: #ffaa2c; } }
/* *******************************************
     会員専用カレンダー
******************************************* */
#calendar .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #calendar .sec01 h2 {
    margin-bottom: 40px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
  #calendar .sec01 .month {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #31beb6;
    border-bottom: 1px solid #31beb6;
    margin-bottom: 20px;
    padding: 8px 0; }
    #calendar .sec01 .month .prev a {
      display: block;
      border-radius: 50px;
      background: #31beb6;
      padding: 5px 30px;
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #calendar .sec01 .month .prev a span {
        padding-left: 15px;
        position: relative; }
        #calendar .sec01 .month .prev a span:before {
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          border-top: 1.5px solid #fff;
          border-left: 1.5px solid #fff;
          width: 6px;
          height: 6px;
          margin-top: -3px;
          transform: rotate(-45deg); }
      #calendar .sec01 .month .prev a:hover {
        background: #52d4cd;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }
    #calendar .sec01 .month .date {
      font-size: 20px;
      font-weight: bold;
      letter-spacing: 0.05em; }
    #calendar .sec01 .month .next a {
      display: block;
      border-radius: 50px;
      background: #31beb6;
      padding: 5px 30px;
      color: #fff;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #calendar .sec01 .month .next a span {
        padding-right: 15px;
        position: relative; }
        #calendar .sec01 .month .next a span:before {
          content: "";
          position: absolute;
          top: 50%;
          right: 0;
          border-top: 1.5px solid #fff;
          border-right: 1.5px solid #fff;
          width: 6px;
          height: 6px;
          margin-top: -3px;
          transform: rotate(45deg); }
      #calendar .sec01 .month .next a:hover {
        background: #52d4cd;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }
  #calendar .sec01 .schedule {
    background: #ebf9f9;
    padding: 20px 20px; }
    #calendar .sec01 .schedule .table_schedule {
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc;
      width: 100%; }
      #calendar .sec01 .schedule .table_schedule th {
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        background: #333;
        width: 14%;
        padding: 5px 0;
        text-align: center;
        color: #fff;
        font-size: 14px;
        font-weight: bold; }
        #calendar .sec01 .schedule .table_schedule th.sun {
          background: #ee8d94; }
        #calendar .sec01 .schedule .table_schedule th.sat {
          background: #308fbd; }
      #calendar .sec01 .schedule .table_schedule td {
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        background: #fff;
        padding: 5px 8px 20px;
        font-size: 14px;
        vertical-align: top; }
        #calendar .sec01 .schedule .table_schedule td span {
          font-weight: bold; }
        #calendar .sec01 .schedule .table_schedule td.sun span {
          color: #ee8d94; }
        #calendar .sec01 .schedule .table_schedule td.sat span {
          color: #308fbd; }
        #calendar .sec01 .schedule .table_schedule td.no {
          background: #f0f0f0; }
        #calendar .sec01 .schedule .table_schedule td .grn {
          border-radius: 5px;
          background: #9bc638;
          margin-top: 5px;
          padding: 2px 8px;
          color: #fff;
          font-size: 12px; }
        #calendar .sec01 .schedule .table_schedule td .org {
          border-radius: 5px;
          background: #ffaa2d;
          margin-top: 5px;
          padding: 2px 8px;
          color: #fff;
          font-size: 12px; }

@media (max-width: 640px) {
  #calendar .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #calendar .sec01 h2 {
      margin-bottom: 6%;
      font-size: 20px; }
    #calendar .sec01 .month {
      margin-bottom: 6%;
      padding: 3% 0; }
      #calendar .sec01 .month .prev a {
        padding: 5px 15px;
        font-size: 12px; }
        #calendar .sec01 .month .prev a span {
          padding-left: 10px; }
          #calendar .sec01 .month .prev a span:before {
            width: 5px;
            height: 5px;
            margin-top: -2.5px; }
        #calendar .sec01 .month .prev a:hover {
          background: #31beb6; }
      #calendar .sec01 .month .date {
        font-size: 16px;
        letter-spacing: 0; }
      #calendar .sec01 .month .next a {
        padding: 5px 15px;
        font-size: 12px; }
        #calendar .sec01 .month .next a span {
          padding-right: 10px; }
          #calendar .sec01 .month .next a span:before {
            width: 5px;
            height: 5px;
            margin-top: -2.5px; }
        #calendar .sec01 .month .next a:hover {
          background: #31beb6; }
    #calendar .sec01 .schedule_wrap {
      position: relative;
      overflow-y: scroll; }
      #calendar .sec01 .schedule_wrap .schedule {
        width: 780px;
        padding: 10px 10px; }
        #calendar .sec01 .schedule_wrap .schedule .table_schedule th {
          width: 14%;
          padding: 5px 0;
          font-size: 12px; }
        #calendar .sec01 .schedule_wrap .schedule .table_schedule td {
          padding: 5px 1% 15px;
          font-size: 12px; }
          #calendar .sec01 .schedule_wrap .schedule .table_schedule td .grn {
            margin-top: 5px;
            padding: 2px 3px;
            font-size: 11px; }
          #calendar .sec01 .schedule_wrap .schedule .table_schedule td .org {
            margin-top: 5px;
            padding: 2px 3px;
            font-size: 11px; } }
/* *******************************************
     会員専用カレンダー編集
******************************************* */
#calendar_edit .sec01 {
  max-width: 960px;
  margin: 0 auto 100px;
  padding: 0 20px; }
  #calendar_edit .sec01 h2 {
    margin-bottom: 50px;
    text-align: center;
    font-size: 30px;
    font-weight: bold; }
  #calendar_edit .sec01 .result {
    margin-bottom: 20px;
    text-align: center;}
  #calendar_edit .sec01 .caution {
    margin-bottom: 20px;
    text-align: center;
    color: #f00; }
  #calendar_edit .sec01 .table_calendar_edit {
    border-top: 5px solid #31beb6;
    width: 100%;
    margin-bottom: 50px; }
    #calendar_edit .sec01 .table_calendar_edit th {
      border-bottom: 1px solid #31beb6;
      background: #89ebdf;
      width: 250px;
      padding: 30px 30px;
      font-size: 18px;
      line-height: 1.0; }
      #calendar_edit .sec01 .table_calendar_edit th.required:after {
        content: '必須';
        background: #f00;
        margin-left: 12px;
        padding: 3px 12px;
        color: #fff;
        font-size: 11px;
        line-height: 1.8; }
    #calendar_edit .sec01 .table_calendar_edit td {
      border-bottom: 1px solid #31beb6;
      padding: 30px 50px;
      font-size: 18px; }
      #calendar_edit .sec01 .table_calendar_edit td input[type=text] {
        border: 1px solid #666;
        padding: 9px 15px;
        font-size: 16px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size01 {
          width: 30%;
          margin-left: 10px;
          margin-right: 15px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size02 {
          width: 30%;
          margin-left: 10px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size03 {
          width: 15%;
          margin: 0 10px 15px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size04 {
          width: 20%;
          margin-left: 10px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size05 {
          width: 55%;
          margin: 0 0 15px 10px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size06 {
          width: 55%;
          margin: 0 0 0 10px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size07 {
          width: 40%;
          margin: 0; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size08 {
          width: 20%;
          margin: 0 10px 0 0; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size09 {
          width: 20%;
          margin: 0 10px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text].size10 {
          width: 20%;
          margin: 0 0 0 10px; }
      #calendar_edit .sec01 .table_calendar_edit td select {
        border: 1px solid #666;
        padding: 9px 15px;
        font-size: 16px; }
        #calendar_edit .sec01 .table_calendar_edit td select.sec01 {
          width: 40%;
          margin: 0 10px 15px; }
        #calendar_edit .sec01 .table_calendar_edit td select.sec02 {
          width: 40%; }
        #calendar_edit .sec01 .table_calendar_edit td select.sec03 {
          width: 85%;
          margin: 0 0 10px; }
      #calendar_edit .sec01 .table_calendar_edit td input.search {
        border-radius: 50px;
        border: none;
        background: #31beb6;
        padding: 10px 30px;
        text-align: center;
        color: #fff;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #calendar_edit .sec01 .table_calendar_edit td input.search:hover {
          background: #52d4cd;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }
      #calendar_edit .sec01 .table_calendar_edit td span {
        font-size: 14px; }
  #calendar_edit .sec01 .btn_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 500px;
    margin: 0 auto; }
    #calendar_edit .sec01 .btn_area.mb {
      margin: 0 auto 60px; }
    #calendar_edit .sec01 .btn_area li {
      width: 49%; }
      #calendar_edit .sec01 .btn_area li:nth-child(2) {
        margin-left: 2%; }
      #calendar_edit .sec01 .btn_area li button {
        display: block;
        border-radius: 50px;
        border: none;
        background: #ffaa2c;
        width: 100%;
        padding: 20px 0;
        text-align: center;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #calendar_edit .sec01 .btn_area li button:hover {
          background: #ffba53;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #calendar_edit .sec01 {
    max-width: 94%;
    margin: 0 auto 12%;
    padding: 0; }
    #calendar_edit .sec01 h2 {
      margin-bottom: 5%;
      font-size: 20px; }
    #calendar_edit .sec01 .caution {
      margin-bottom: 3%; }
    #calendar_edit .sec01 .table_calendar_edit {
      border-top: none;
      margin-bottom: 5%; }
      #calendar_edit .sec01 .table_calendar_edit tr {
        display: block; }
      #calendar_edit .sec01 .table_calendar_edit th {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3%;
        font-size: 14px; }
      #calendar_edit .sec01 .table_calendar_edit td {
        display: list-item;
        border-bottom: none;
        list-style: none;
        width: 94%;
        padding: 3% 3% 6%;
        font-size: 14px; }
        #calendar_edit .sec01 .table_calendar_edit td input[type=text] {
          padding: 2% 3%;
          font-size: 13px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size01 {
            width: 30%;
            margin-left: 5px;
            margin-right: 10px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size02 {
            width: 30%;
            margin-left: 5px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size03 {
            width: 15%;
            margin: 0 5px 10px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size04 {
            width: 20%;
            margin-left: 5px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size05 {
            width: 55%;
            margin: 0 0 10px 5px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size06 {
            width: 55%;
            margin: 0 0 0 5px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size07 {
            width: 40%;
            margin: 0; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size08 {
            width: 20%;
            margin: 0 5px 0 0; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size09 {
            width: 20%;
            margin: 0 5px; }
          #calendar_edit .sec01 .table_calendar_edit td input[type=text].size10 {
            width: 20%;
            margin: 0 0 0 5px; }
        #calendar_edit .sec01 .table_calendar_edit td select {
          padding: 2% 3%;
          font-size: 13px; }
          #calendar_edit .sec01 .table_calendar_edit td select.sec01 {
            width: 40%;
            margin: 0 5px 10px; }
          #calendar_edit .sec01 .table_calendar_edit td select.sec02 {
            width: 40%; }
          #calendar_edit .sec01 .table_calendar_edit td select.sec03 {
            width: 100%;
            margin: 0 0 5px; }
        #calendar_edit .sec01 .table_calendar_edit td input.search {
          padding: 6px 30px; }
          #calendar_edit .sec01 .table_calendar_edit td input.search:hover {
            background: #31beb6; }
        #calendar_edit .sec01 .table_calendar_edit td span {
          font-size: 13px; }
    #calendar_edit .sec01 .btn_area {
      width: 100%; }
      #calendar_edit .sec01 .btn_area.mb {
        margin: 0 auto 8%; }
      #calendar_edit .sec01 .btn_area li {
        width: 49%; }
        #calendar_edit .sec01 .btn_area li:nth-child(2) {
          margin-left: 2%; }
        #calendar_edit .sec01 .btn_area li button {
          padding: 6% 0;
          font-size: 14px; }
          #calendar_edit .sec01 .btn_area li button:hover {
            background: #ffaa2c; } }
/* *******************************************
     エラー表示
******************************************* */
.err{
  color:#ff0000;
}