@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* Device Width */
/* font weight */
@media print {
  body {
    width: 1280px; } }
/*------------------------------ */
/*Common - setting*/
/*------------------------------ */
body {
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body, div, p, span, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, figure {
  margin: 0;
  padding: 0; }

img {
  width: 100%;
  height: auto; }

h2 {
  margin: 28px 0 45px;
  padding-bottom: 25px;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  border-bottom: solid 1px #e6e6e6; }
  @media only screen and (max-width: 736px) {
    h2 {
      margin: 25px 0 20px;
      padding-bottom: 20px;
      font-size: 20px;
      text-align: left; } }

h3 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 500;
  color: #4fc3df; }
  @media only screen and (max-width: 736px) {
    h3 {
      margin-bottom: 10px;
      font-size: 18px; } }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.pcItem {
  display: inline; }

.spItem {
  display: none; }

@media only screen and (max-width: 736px) {
  .pcItem {
    display: none; }

  .spItem {
    display: inline; } }
.box-content {
  width: 1020px;
  margin: 0 auto 65px; }
  @media only screen and (max-width: 1019px) {
    .box-content {
      width: 92%;
      margin: 0 auto 10.2941176471vw; } }
  @media only screen and (max-width: 768px) {
    .box-content {
      width: 83.33333%; } }

.box-fixed {
  padding-top: 56px; }

.flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between; }

a {
  color: #0168b7;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

.txt-link li a, a.txt-link {
  padding-left: 20px;
  color: #000;
  text-decoration: underline;
  background: url("../img/icn_arrow.png") left 4px no-repeat;
  background-size: 16px auto; }
  .txt-link li a:hover, a.txt-link:hover {
    text-decoration: none; }

.btn-link li a, a.btn-link, button.btn-link,
.wp-block-button__link {
  display: block;
  width: 320px;
  height: 45px;
  padding: 15px 0 0;
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-decoration: none;
  background: url(../img/icn_box_btn03.png) right center no-repeat #999;
  background-size: 32px auto;
  border: 0;
  border-radius: 3px;
  transition: background 0.5s; }
  @media only screen and (max-width: 736px) {
    .btn-link li a, a.btn-link, button.btn-link,
    .wp-block-button__link {
      width: 100%;
      height: 43px;
      padding: 17px 0 0;
      font-size: 14px; } }
  .btn-link li a:hover, a.btn-link:hover, button.btn-link:hover,
  .wp-block-button__link:hover {
    background: url(../img/icn_box_btn03.png) right center no-repeat #55c0e2;
    background-size: 32px auto; }

.btn-all {
  display: block;
  width: 318px;
  margin: 0 auto 10px;
  padding: 13px 0;
  color: #000;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.1em;
  transition: all 0.5s;
  background: url(../img/icn_arrow_btn01.png) right center no-repeat #fff;
  background-size: 32px auto;
  border: solid 1px #000; }
  @media only screen and (max-width: 736px) {
    .btn-all {
      width: auto; } }
  .btn-all:hover {
    color: #fff;
    text-decoration: none;
    background: url(../img/icn_arrow_btn01_hov.png) right center no-repeat #55c0e2;
    background-size: 32px auto;
    border: solid 1px #55c0e2; }

.btn-submit {
  display: block;
  width: 400px;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  background: url(../img/icn_box_btn03.png) right center no-repeat #999;
  background-size: 46px auto;
  border-radius: 3px;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background 0.5s; }
  @media only screen and (max-width: 1019px) {
    .btn-submit {
      width: 100%; } }
  @media only screen and (max-width: 736px) {
    .btn-submit {
      font-size: 14px; } }
  .btn-submit:hover {
    background: url(../img/icn_box_btn03.png) right center no-repeat #55c0e2;
    background-size: 46px auto; }

.btn-back {
  background: url(../img/icn_arrow_back.png) 18px center no-repeat #999;
  background-size: auto 19px; }
  .btn-back:hover {
    background: url(../img/icn_arrow_back.png) 18px center no-repeat #55c0e2;
    background-size: auto 19px; }

.btn-entry {
  padding: 35px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1; }
  @media only screen and (max-width: 768px) {
    .btn-entry {
      padding: 25px 0;
      font-size: 16px; } }
  @media only screen and (max-width: 736px) {
    .btn-entry {
      font-size: 14px; } }

.btn-entry-blue {
  padding: 35px 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  background: url(../img/icn_box_btn03.png) right center no-repeat #55c0e2;
  background-size: 46px auto; }
  @media only screen and (max-width: 768px) {
    .btn-entry-blue {
      font-size: 14px; } }
  .btn-entry-blue:hover {
    background: url(../img/icn_box_btn03.png) right center no-repeat #999;
    background-size: 46px auto; }
  .btn-entry-blue span {
    display: block;
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 400; }
    @media only screen and (max-width: 768px) {
      .btn-entry-blue span {
        font-size: 12px; } }

input[type=text],
input[type=password],
input[type=tel] {
  width: calc(100% - 30px);
  padding: 15px;
  font-size: 16px;
  border: solid 1px #ccc; }
  @media only screen and (max-width: 768px) {
    input[type=text],
    input[type=password],
    input[type=tel] {
      width: 97%;
      -webkit-appearance: none;
      border-radius: 0; } }
  @media only screen and (max-width: 736px) {
    input[type=text],
    input[type=password],
    input[type=tel] {
      width: 94%; } }
  @media only screen and (max-width: 320px) {
    input[type=text],
    input[type=password],
    input[type=tel] {
      width: 92%; } }

select {
  font-size: 16px; }
  @media only screen and (max-width: 736px) {
    select {
      font-size: 14px; } }

form table {
  width: 100%;
  margin-bottom: 60px;
  border-collapse: collapse;
  border-top: solid 1px #ccc; }
  @media only screen and (max-width: 736px) {
    form table {
      margin-bottom: 30px; } }
  form table th, form table td {
    text-align: left;
    vertical-align: top;
    font-size: 16px;
    font-weight: 500;
    border-bottom: solid 1px #ccc; }
    @media only screen and (max-width: 736px) {
      form table th, form table td {
        display: block;
        font-size: 14px; } }
  form table th {
    padding: 30px 0; }
    @media only screen and (max-width: 768px) {
      form table th {
        min-width: 35%; } }
    @media only screen and (max-width: 736px) {
      form table th {
        min-width: inherit;
        padding: 30px 0 0;
        border-bottom: none; } }
  form table .valignC {
    padding: 0;
    vertical-align: middle; }
    @media only screen and (max-width: 736px) {
      form table .valignC {
        padding: 20px 0 0; } }
  form table td {
    max-width: 740px;
    padding: 30px 0; }
    @media only screen and (max-width: 736px) {
      form table td {
        padding: 10px 0 20px; } }
  form table.form th {
    min-width: 15em; }
    @media only screen and (max-width: 736px) {
      form table.form th {
        min-width: inherit; } }
  form table.form td {
    padding: 30px 0; }
    @media only screen and (max-width: 736px) {
      form table.form td {
        padding: 10px 0 20px; } }
    form table.form td #graduation-year {
      font-size: 16px; }
      @media only screen and (max-width: 736px) {
        form table.form td #graduation-year {
          font-size: 14px; } }
    form table.form td #gendor-0 {
      margin-left: 2em; }
    form table.form td #name01,
    form table.form td #kana01 {
      margin-right: 2em; }
      @media only screen and (max-width: 736px) {
        form table.form td #name01,
        form table.form td #kana01 {
          margin-right: 0; } }
form .flex-box {
  justify-content: start; }
  @media only screen and (max-width: 736px) {
    form .flex-box {
      display: block; } }
form .error-message {
  display: block;
  color: #c00;
  font-size: 14px;
  font-weight: 500; }

input.inputType-ll,
input.inputType-l,
input.inputType-m,
input.inputType-s {
  margin-bottom: 5px;
  padding: 5px; }

input.inputType-ll {
  width: 39.2156862745vw; }
  @media only screen and (max-width: 736px) {
    input.inputType-ll {
      width: 96%; } }

input.inputType-l {
  width: 32.9411764706vw; }
  @media only screen and (max-width: 736px) {
    input.inputType-l {
      width: 90%; } }

input.inputType-m {
  width: 130px; }
  @media only screen and (max-width: 736px) {
    input.inputType-m {
      width: 86%; } }

input.inputType-s {
  width: 100px; }
  @media only screen and (max-width: 736px) {
    input.inputType-s {
      width: 60%; } }

input.zipcode {
  margin-bottom: 10px; }

textarea {
  width: 55.8823529412vw;
  max-width: 100%;
  height: 4em;
  margin-bottom: 10px;
  padding: 15px;
  font-size: 16px;
  border: solid 1px #ccc; }
  @media only screen and (max-width: 768px) {
    textarea {
      width: 90%;
      max-width: inherit;
      -webkit-appearance: none;
      border-radius: 0; } }
  @media only screen and (max-width: 736px) {
    textarea {
      width: 92%; } }
  @media only screen and (max-width: 320px) {
    textarea {
      width: 90%; } }
  textarea.large {
    height: 10em; }

select.pref {
  margin-bottom: 10px; }

.required,
.optional {
  display: inline-block;
  margin-right: 1em;
  padding: 0 9px;
  text-align: center; }

.required {
  color: #fff;
  background-color: #55c0e2; }

.optional {
  color: #000;
  background-color: #ccc; }

.message {
  padding: 10px 0;
  font-size: 14px;
  text-align: center;
  background-color: #FFFF5A; }

/*------------------------------ */
/*Header*/
/*------------------------------ */
@media only screen and (max-width: 1019px) {
  header {
    width: 100%; } }
header .box-header {
  background-color: #fff;
  text-align: center; }
  header .box-header .copy {
    margin: 0 auto 24px; }
    @media only screen and (max-width: 1019px) {
      header .box-header .copy {
        margin: 0 auto 24px; } }
    @media only screen and (max-width: 320px) {
      header .box-header .copy {
        margin: 0 auto 14px; } }
    header .box-header .copy img {
      max-width: 1028px;
      line-height: 1; }
      @media only screen and (max-width: 768px) {
        header .box-header .copy img {
          width: 98%;
          max-width: inherit;
          margin-left: 2%; } }
header .logged-in .copy {
  margin: 0 auto; }
  @media only screen and (max-width: 1019px) {
    header .logged-in .copy {
      margin: 0 auto; } }

.navi, .navi-second {
  width: 100%;
  position: relative;
  transition: all 0.5s;
  top: 0; }
  @media only screen and (max-width: 1019px) {
    .navi, .navi-second {
      background-color: #55BFE1; } }
  .navi .flex-box, .navi-second .flex-box {
    width: 1020px;
    margin: 0 auto;
    padding: 17px 0 13px;
    border-bottom: solid 1px #666;
    align-items: baseline; }
    @media only screen and (max-width: 1019px) {
      .navi .flex-box, .navi-second .flex-box {
        width: 83.333%;
        border-bottom: none; } }
    .navi .flex-box h1, .navi-second .flex-box h1 {
      font-size: 28px;
      font-weight: 500;
      line-height: 1; }
      @media only screen and (max-width: 736px) {
        .navi .flex-box h1, .navi-second .flex-box h1 {
          font-size: 24px; } }
      @media only screen and (max-width: 320px) {
        .navi .flex-box h1, .navi-second .flex-box h1 {
          font-size: 20px; } }
      .navi .flex-box h1 a, .navi-second .flex-box h1 a {
        color: #000;
        text-decoration: none; }
        @media only screen and (max-width: 1019px) {
          .navi .flex-box h1 a, .navi-second .flex-box h1 a {
            color: #fff; } }
    @media only screen and (max-width: 1019px) {
      .navi .flex-box nav, .navi-second .flex-box nav {
        display: none; } }
    .navi .flex-box li, .navi-second .flex-box li {
      display: inline;
      margin-left: 25px;
      line-height: 1;
      list-style: none; }
      .navi .flex-box li a, .navi-second .flex-box li a {
        font-size: 14px;
        font-weight: 500;
        color: #000;
        letter-spacing: 0.16em;
        text-decoration: none;
        transition: color 0.3s; }
        .navi .flex-box li a:hover, .navi-second .flex-box li a:hover {
          color: #4fc3df; }

@media only screen and (max-width: 1019px) {
  .navi .flex-box {
    padding: 16px 0; } }
@media only screen and (max-width: 320px) {
  .navi .flex-box {
    padding: 16px 0; } }

@media only screen and (min-width: 320px) {
  .navi .flex-box h1 {
    font-size: 20px; } }
.sp-fixed {
  position: fixed;
  top: 0;
  z-index: 101; }

.navi-second {
  position: fixed;
  top: 0;
  transition: all 0.5s;
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  background-color: #4fc3df;
  z-index: 100; }
  .navi-second .flex-box {
    border-bottom: none; }
    .navi-second .flex-box h1 a, .navi-second .flex-box li a {
      color: #fff; }
      .navi-second .flex-box h1 a:hover, .navi-second .flex-box li a:hover {
        color: #000; }

.navi-second-on {
  transform: translateY(0);
  -webkit-transform: translateY(0); }

div.logged-in {
  height: auto;
  margin-bottom: 10px;
  padding-bottom: 20px;
  background-color: #55c0e2; }
  @media only screen and (max-width: 1019px) {
    div.logged-in {
      margin-bottom: 0;
      padding-bottom: 0; } }
  div.logged-in .senior {
    margin: 20px 0 0;
    padding-bottom: 0;
    font-size: 22px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.1em; }
    div.logged-in .senior .txt-waiting {
      padding-right: 1em; }
      @media only screen and (max-width: 736px) {
        div.logged-in .senior .txt-waiting {
          display: block;
          padding: 0; } }
    @media only screen and (max-width: 768px) {
      div.logged-in .senior {
        margin: 20px 0 0;
        font-size: 20px; } }
    @media only screen and (max-width: 736px) {
      div.logged-in .senior {
        margin: 0;
        font-size: 14px; } }
    @media only screen and (max-width: 667px) {
      div.logged-in .senior {
        margin: 5px 0 0;
        padding: 10px 0; } }

.frontlogin .logged-in {
  padding-bottom: 84px; }
  @media only screen and (max-width: 1019px) {
    .frontlogin .logged-in {
      padding-bottom: 100px; } }
  @media only screen and (max-width: 736px) {
    .frontlogin .logged-in {
      padding-bottom: 68px; } }
  @media only screen and (max-width: 320px) {
    .frontlogin .logged-in {
      padding-bottom: 56px; } }

/*------------------------------ */
/*Fix button*/
/*------------------------------ */
.box-btn-fix {
  position: absolute;
  top: 113px;
  right: 0;
  z-index: 2; }
  @media only screen and (max-width: 1019px) {
    .box-btn-fix {
      display: none; } }
  .box-btn-fix p {
    background-color: #000;
    transition: background 0.5s; }
    .box-btn-fix p:hover {
      background-color: #55c0e2; }
    .box-btn-fix p a {
      display: block;
      width: 60px;
      height: 200px;
      color: #fff;
      font-size: 16px;
      text-align: center;
      text-decoration: none;
      position: relative; }
      @media only screen and (max-width: 736px) {
        .box-btn-fix p a {
          font-size: 14px; } }
      .box-btn-fix p a span {
        display: inline-block;
        height: 200px;
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        text-orientation: upright;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .box-btn-fix p a img {
        width: 16px;
        height: auto;
        margin-bottom: 10px; }
    .box-btn-fix p:first-child {
      margin-bottom: 10px; }

.fixed {
  position: fixed;
  top: 60px;
  z-index: 2; }

/*------------------------------ */
/*Sp nav*/
/*------------------------------ */
#drawer {
  display: none; }
  @media only screen and (max-width: 1019px) {
    #drawer {
      display: block;
      position: absolute;
      right: 58px;
      top: 126px;
      width: 25px;
      height: 25px;
      padding: 5px;
      cursor: pointer;
      z-index: 500;
      /*background-color: #55BFE1;*/
      -webkit-tap-highlight-color: transparent; }
      #drawer div {
        position: relative; }
        #drawer div span {
          display: block;
          position: absolute;
          height: 2px;
          width: 18px;
          background: #fff;
          left: 4px;
          zoom: 1;
          -webkit-transition: 0.35s ease-in-out;
          transition: 0.35s ease-in-out; }
          #drawer div span:nth-child(1) {
            top: 6px; }
          #drawer div span:nth-child(2) {
            top: 12px; }
          #drawer div span:nth-child(3) {
            top: 18px; } }
  @media only screen and (max-width: 768px) {
    #drawer {
      top: 103px; } }
  @media only screen and (max-width: 736px) {
    #drawer {
      top: 73px;
      right: 26px; }
      #drawer.drawer-fiexd {
        position: fixed;
        top: 11px; } }
  @media only screen and (max-width: 375px) {
    #drawer {
      top: 70px; } }
  @media only screen and (max-width: 360px) {
    #drawer {
      top: 70px; } }
  @media only screen and (max-width: 320px) {
    #drawer {
      top: 55px; }
      #drawer.drawer-fiexd {
        position: fixed;
        top: 8px; } }

@media only screen and (max-width: 1019px) {
  .member {
    top: 151px !important; } }
@media only screen and (max-width: 768px) {
  .member {
    top: 125px !important; } }
@media only screen and (max-width: 736px) {
  .member {
    top: 111px !important; } }
@media only screen and (max-width: 375px) {
  .member {
    top: 108px !important; } }
@media only screen and (max-width: 320px) {
  .member {
    top: 103px !important; } }

@media only screen and (max-width: 1019px) {
  .bbs,
  .users {
    top: 102px !important; } }
@media only screen and (max-width: 768px) {
  .bbs,
  .users {
    top: 80px !important; } }
@media only screen and (max-width: 736px) {
  .bbs,
  .users {
    top: 50px !important; } }
@media only screen and (max-width: 375px) {
  .bbs,
  .users {
    top: 46px !important; } }
@media only screen and (max-width: 320px) {
  .bbs,
  .users {
    top: 41px !important; } }

.drawer-fixed {
  position: fixed !important; }
  @media only screen and (max-width: 1019px) {
    .drawer-fixed {
      top: 9px !important; } }
  @media only screen and (max-width: 768px) {
    .drawer-fixed {
      top: 9px !important; } }
  @media only screen and (max-width: 736px) {
    .drawer-fixed {
      top: 9px !important; } }

#drawerNav {
  display: none; }
  @media only screen and (max-width: 1019px) {
    #drawerNav {
      display: block;
      width: 100%;
      height: 92%;
      padding: 0;
      position: fixed;
      color: #fff;
      right: 0;
      top: 0;
      bottom: 0;
      /*background-color: #4fc3df;*/
      z-index: -1;
      opacity: 0;
      -webkit-transition: opacity 0.3s ease-out;
      transition: opacity 0.3s ease-out; }
      #drawerNav.open {
        opacity: 1;
        z-index: 1000;
        -webkit-transition: all 0.3s ease-out;
        transition: all 0.3s ease-out;
        right: 0; }
      #drawerNav ul {
        width: 70%;
        margin: 0 auto 35px !important;
        list-style: none;
        flex-wrap: wrap; }
        #drawerNav ul li {
          flex-basis: 50%;
          width: 50%; }
          #drawerNav ul li a {
            display: block;
            margin: 0 0 20px;
            font-size: 16px;
            line-height: 1.35;
            color: #fff;
            text-align: center;
            text-decoration: none; } }
        @media only screen and (max-width: 1019px) and (max-width: 320px) {
          #drawerNav ul li a {
            font-size: 18px; } }
  @media only screen and (max-width: 1019px) {
      #drawerNav .sp-btn {
        width: 70%;
        margin: 0 auto 20px; }
        #drawerNav .sp-btn a {
          display: block;
          padding: 20px 0;
          font-size: 18px;
          text-align: center;
          text-decoration: none; }
      #drawerNav .sp-contact {
        background-color: #989898; }
        #drawerNav .sp-contact a {
          color: #fff; }
        #drawerNav .sp-contact span {
          padding-left: 40px;
          background: url(../img/icn_sp_contact.png) left center no-repeat;
          background-size: 20px auto; }
      #drawerNav .sp-regist {
        background-color: #fff; }
        #drawerNav .sp-regist a {
          color: #000; }
        #drawerNav .sp-regist span {
          padding-left: 40px;
          background: url("../img/icn_sp_register.png") left center no-repeat;
          background-size: 18px auto; }
      #drawerNav .sp-login {
        background-color: #fff; }
        #drawerNav .sp-login a {
          color: #000; }
        #drawerNav .sp-login span {
          padding-left: 40px;
          background: url("../img/icn_sp_login.png") left center no-repeat;
          background-size: 16px auto; } }
  @media only screen and (max-width: 768px) {
    #drawerNav {
      height: 577px; } }
  #drawerNav .flex-box {
    width: 83.333%;
    margin: 0 auto;
    position: relative; }
    #drawerNav .flex-box p {
      margin-bottom: 50px;
      padding: 15px 0 0;
      font-size: 20px; }
      #drawerNav .flex-box p a {
        color: #fff;
        text-decoration: none; }
    #drawerNav .flex-box #close {
      cursor: pointer; }
      #drawerNav .flex-box #close span {
        display: block;
        position: absolute;
        height: 2px;
        width: 18px;
        background: #fff;
        right: 0;
        zoom: 1;
        -webkit-transition: 0.35s ease-in-out;
        transition: 0.35s ease-in-out; }
        #drawerNav .flex-box #close span:nth-child(1) {
          top: 28px;
          -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg); }
        #drawerNav .flex-box #close span:nth-child(2) {
          width: 0;
          left: 50%; }
        #drawerNav .flex-box #close span:nth-child(3) {
          top: 28px;
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg); }
  #drawerNav:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: -1;
    opacity: 0.95;
    background-color: #55BFE1; }
  #drawerNav .box-outer {
    width: 70%; }

.open #drawer-bg {
  width: 100%;
  height: 100%;
  z-index: 500;
  position: fixed;
  top: 0;
  /*background-color: #000;*/
  opacity: 0.4;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }

/*------------------------------ */
/*Footer*/
/*------------------------------ */
footer {
  background-color: #efefef; }
  footer .box-footer {
    width: 1020px;
    margin: 0 auto;
    padding: 50px 0 30px; }
    @media only screen and (max-width: 1019px) {
      footer .box-footer {
        width: 92%; } }
    @media only screen and (max-width: 736px) {
      footer .box-footer {
        display: block; } }
    footer .box-footer .box-footer-fb {
      flex-basis: 320px;
      width: 320px; }
      @media only screen and (max-width: 736px) {
        footer .box-footer .box-footer-fb {
          width: 100%;
          margin-bottom: 50px; } }
    footer .box-footer .box-footer-nav {
      flex-basis: 670px;
      width: 670px; }
      @media only screen and (max-width: 1019px) {
        footer .box-footer .box-footer-nav {
          flex-basis: 45%; } }
      @media only screen and (max-width: 736px) {
        footer .box-footer .box-footer-nav {
          width: 100%; } }
      footer .box-footer .box-footer-nav p {
        margin-bottom: 20px;
        padding-bottom: 20px;
        font-size: 18px;
        line-height: 1;
        border-bottom: solid 1px #ccc; }
        footer .box-footer .box-footer-nav p a {
          color: #000;
          text-decoration: none; }
      footer .box-footer .box-footer-nav .txt-link {
        margin-bottom: 40px; }
        @media only screen and (max-width: 736px) {
          footer .box-footer .box-footer-nav .txt-link {
            margin-bottom: 0; } }
        footer .box-footer .box-footer-nav .txt-link li {
          display: inline-block;
          margin: 0 33px 20px 0;
          list-style: none; }
        footer .box-footer .box-footer-nav .txt-link #link-bbs {
          display: block; }
          @media only screen and (max-width: 736px) {
            footer .box-footer .box-footer-nav .txt-link #link-bbs {
              display: inline-block; } }
      footer .box-footer .box-footer-nav .btn-link {
        flex-wrap: wrap; }
        @media only screen and (max-width: 736px) {
          footer .box-footer .box-footer-nav .btn-link {
            display: block; } }
        footer .box-footer .box-footer-nav .btn-link li {
          flex-basis: 320px;
          margin-bottom: 20px;
          list-style: none; }
          @media only screen and (max-width: 736px) {
            footer .box-footer .box-footer-nav .btn-link li {
              width: 100%; } }
  footer .box-copyright {
    background-color: #fff; }
    footer .box-copyright p {
      width: 1020px;
      margin: 0 auto;
      padding: 30px 0 25px;
      font-size: 11px;
      line-height: 1; }
      @media only screen and (max-width: 1019px) {
        footer .box-copyright p {
          width: 92%; } }
  footer .btn-pagetop {
    width: 40px;
    position: fixed;
    right: 40px;
    bottom: 45px;
    transition: opacity 0.5s;
    opacity: 0; }
    @media only screen and (max-width: 768px) {
      footer .btn-pagetop {
        right: 20px; } }
    @media only screen and (max-width: 736px) {
      footer .btn-pagetop {
        right: 10px; } }
  footer .btn-pagetop-active {
    opacity: 1; }
  footer .box-footer-logged-in {
    width: 1020px;
    margin: 0 auto;
    padding: 30px 0 5px; }
    @media only screen and (max-width: 1019px) {
      footer .box-footer-logged-in {
        width: 92%; } }
    footer .box-footer-logged-in p {
      display: inline;
      padding-right: 20px;
      font-size: 18px;
      line-height: 1; }
      footer .box-footer-logged-in p a {
        color: #000;
        text-decoration: none; }
    footer .box-footer-logged-in ul {
      display: inline; }
    footer .box-footer-logged-in li {
      display: inline-block;
      margin: 0 33px 20px 0;
      list-style: none; }

#fb-container {
  max-width: 500px; }

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 0; }

/*------------------------------ */
/*Page - Top*/
/*------------------------------ */
.box-read {
  width: 956px;
  margin: 56px auto 43px;
  position: relative; }
  @media only screen and (max-width: 1019px) {
    .box-read {
      width: 93.137254902vw;
      margin: 30px auto 43px; } }
  @media only screen and (max-width: 768px) {
    .box-read {
      width: 100%;
      flex-wrap: wrap;
      justify-content: flex-end; } }
  @media only screen and (max-width: 736px) {
    .box-read {
      width: 100%;
      margin: 30px auto 10px; } }
  .box-read div:first-child {
    flex-basis: 245px;
    width: 245px;
    margin-top: 23px;
    text-align: justify; }
    @media only screen and (max-width: 1019px) {
      .box-read div:first-child {
        flex-basis: 24.0196078431vw;
        width: 24.0196078431vw; } }
    @media only screen and (max-width: 768px) {
      .box-read div:first-child {
        flex-basis: 100%;
        width: 100%;
        margin-top: 43px;
        order: 2; } }
    .box-read div:first-child p {
      margin-bottom: 1em; }
    .box-read div:first-child a {
      font-size: 16px; }
      @media only screen and (max-width: 736px) {
        .box-read div:first-child a {
          font-size: 14px; } }
  .box-read div:nth-child(2) {
    flex-basis: 400px;
    width: 400px;
    margin: 30px 15px 20px 0; }
    @media only screen and (max-width: 1019px) {
      .box-read div:nth-child(2) {
        flex-basis: 39.2156862745vw;
        width: 39.2156862745vw; } }
    @media only screen and (max-width: 768px) {
      .box-read div:nth-child(2) {
        flex-basis: 100%;
        width: 100%;
        margin: 0 0 36px;
        order: 3; } }
    .box-read div:nth-child(2) a {
      display: block;
      padding: 20px 0 35px;
      color: #fff;
      font-size: 24px;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      background: url(../img/icn_box_btn03.png) right center no-repeat #4fc3df;
      background-size: 44px auto;
      border-radius: 3px;
      letter-spacing: 0.1em;
      transition: background 0.5s; }
      .box-read div:nth-child(2) a:hover {
        background: url(../img/icn_box_btn03.png) right center no-repeat #999;
        background-size: 44px auto; }
        @media only screen and (max-width: 320px) {
          .box-read div:nth-child(2) a:hover {
            background: url(../img/icn_box_btn03.png) right center no-repeat #999;
            background-size: 32px auto; } }
      @media only screen and (max-width: 736px) {
        .box-read div:nth-child(2) a {
          font-size: 20px; } }
      @media only screen and (max-width: 667px) {
        .box-read div:nth-child(2) a {
          font-size: 18px; } }
      @media only screen and (max-width: 320px) {
        .box-read div:nth-child(2) a {
          padding: 15px 0 20px;
          font-size: 14px;
          background: url(../img/icn_box_btn03.png) right center no-repeat #4fc3df;
          background-size: 32px auto; } }
      .box-read div:nth-child(2) a span {
        font-size: 14px;
        font-weight: 500; }
        @media only screen and (max-width: 320px) {
          .box-read div:nth-child(2) a span {
            font-size: 14px; } }
  @media only screen and (max-width: 768px) {
    .box-read div:nth-child(3) {
      order: 1; } }
  .box-read figure {
    width: 230px; }
    @media only screen and (max-width: 1019px) {
      .box-read figure {
        width: 22.5490196078vw; } }
    @media only screen and (max-width: 768px) {
      .box-read figure {
        width: 68.6274509804vw;
        margin-bottom: 30px; } }
  .box-read #obj-01,
  .box-read #obj-02,
  .box-read #obj-03,
  .box-read #obj-04 {
    position: absolute; }
  .box-read #obj-01 {
    width: 72px;
    bottom: -20px;
    left: 235px; }
    @media only screen and (max-width: 1019px) {
      .box-read #obj-01 {
        width: 7.0588235294vw;
        bottom: -1.9607843137vw;
        left: 23.0392156863vw; } }
    @media only screen and (max-width: 768px) {
      .box-read #obj-01 {
        width: 120px;
        bottom: 260px;
        left: 0; } }
    @media only screen and (max-width: 736px) {
      .box-read #obj-01 {
        width: 80px;
        bottom: 275px; } }
    @media only screen and (max-width: 320px) {
      .box-read #obj-01 {
        width: 56px;
        bottom: 270px; } }
  .box-read #obj-02 {
    width: 42px;
    bottom: -52px;
    left: 580px; }
    @media only screen and (max-width: 1019px) {
      .box-read #obj-02 {
        width: 4.1176470588vw;
        bottom: -5.0980392157vw;
        left: 56.862745098vw; } }
    @media only screen and (max-width: 768px) {
      .box-read #obj-02 {
        width: 66px;
        bottom: 283px;
        left: 266px; } }
    @media only screen and (max-width: 736px) {
      .box-read #obj-02 {
        width: 46px;
        bottom: 295px;
        left: 118px; } }
    @media only screen and (max-width: 320px) {
      .box-read #obj-02 {
        width: 32px;
        bottom: 285px;
        left: 100px; } }
  .box-read #obj-03 {
    width: 38px;
    bottom: -42px;
    right: 212px; }
    @media only screen and (max-width: 1019px) {
      .box-read #obj-03 {
        width: 3.7254901961vw;
        bottom: -4.1176470588vw;
        right: 20.7843137255vw; } }
    @media only screen and (max-width: 768px) {
      .box-read #obj-03 {
        width: 61px;
        bottom: 268px;
        right: 216px; } }
    @media only screen and (max-width: 736px) {
      .box-read #obj-03 {
        width: 39px;
        bottom: 282px;
        right: 128px; } }
    @media only screen and (max-width: 320px) {
      .box-read #obj-03 {
        width: 28px;
        right: 93px;
        bottom: 270px; } }
  .box-read #obj-04 {
    width: 66px;
    bottom: -100px;
    right: 108px; }
    @media only screen and (max-width: 1019px) {
      .box-read #obj-04 {
        width: 6.4705882353vw;
        bottom: -9.8039215686vw;
        right: 10.5882352941vw; } }
    @media only screen and (max-width: 768px) {
      .box-read #obj-04 {
        width: 116px;
        bottom: 261px;
        right: 0; } }
    @media only screen and (max-width: 736px) {
      .box-read #obj-04 {
        width: 74px;
        bottom: 276px; } }
    @media only screen and (max-width: 320px) {
      .box-read #obj-04 {
        width: 56px;
        bottom: 270px; } }

/*------------------------------ */
/*Content - News*/
/*------------------------------ */
.box-news {
  width: 100%; }
  .box-news h2 {
    margin: 0 0 17px;
    padding-bottom: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    border-bottom: none; }
    @media only screen and (max-width: 736px) {
      .box-news h2 {
        text-align: center; } }
    .box-news h2 span:before, .box-news h2 span:after {
      content: "";
      display: inline-block;
      width: 18px;
      height: 16px;
      background: url(../img/bg_ttl_news.gif) center center no-repeat;
      background-size: 18px auto; }
    .box-news h2 span:before {
      margin-right: 1.5em; }
    .box-news h2 span:after {
      margin-left: 1.5em; }
  .box-news .flex-box {
    flex-wrap: wrap;
    justify-content: normal; }
    @media only screen and (max-width: 768px) {
      .box-news .flex-box {
        justify-content: space-between; } }
    @media only screen and (max-width: 736px) {
      .box-news .flex-box {
        display: block; } }
  .box-news article {
    flex-basis: 320px;
    width: 320px;
    margin: 0 0 30px 30px; }
    @media only screen and (max-width: 1019px) {
      .box-news article {
        flex-basis: 28.6274509804vw;
        width: 28.6274509804vw;
        margin: 0 0 2.9411764706vw 2.9411764706vw; } }
    @media only screen and (max-width: 768px) {
      .box-news article {
        flex-basis: 48%;
        margin: 0 0 35px; } }
    @media only screen and (max-width: 736px) {
      .box-news article {
        width: 100%; } }
    .box-news article:nth-child(3n+1) {
      margin: 0 0 35px; }
    .box-news article div {
      margin-bottom: 5px;
      padding-bottom: 10px;
      background: url(../img/bg_days.png) 17px bottom no-repeat;
      background-size: auto 10px;
      position: relative; }
      .box-news article div figure img {
        line-height: 1;
        vertical-align: bottom; }
      .box-news article div time {
        width: 92px;
        height: 24px;
        padding-top: 10px;
        position: absolute;
        bottom: 10px;
        left: 0;
        font-size: 12px;
        color: #fff;
        line-height: 1;
        text-align: center;
        background-color: #4fc3df; }
    .box-news article h3 {
      margin-bottom: 10px;
      font-size: 16px;
      font-weight: 500; }
      .box-news article h3 a {
        color: #4086c0; }
        .box-news article h3 a:hover {
          text-decoration: none; }
    .box-news article p {
      text-align: justify; }

/*------------------------------ */
/*Page - Bylow*/
/*------------------------------ */
.page-bylow section {
  margin-bottom: 50px;
  font-size: 16px;
  font-weight: 400; }
  @media only screen and (max-width: 736px) {
    .page-bylow section {
      margin-bottom: 30px;
      font-size: 14px; } }
.page-bylow dl dt {
  clear: left;
  float: left; }
.page-bylow dl dd {
  width: calc( 100% - 5em);
  margin-left: 1em;
  float: left; }
.page-bylow ol {
  counter-reset: number;
  list-style: none; }
  .page-bylow ol li {
    margin-left: 1.5em;
    text-indent: -1.5em; }
    .page-bylow ol li:before {
      counter-increment: number;
      content: counter(number);
      display: inline-block;
      margin-right: 1em;
      text-indent: 0; }
.page-bylow .img-diagram {
  width: 312px; }
  @media only screen and (max-width: 320px) {
    .page-bylow .img-diagram {
      width: 100%; } }
.page-bylow .spacer {
  margin-bottom: 1em; }

.spacer {
  /*class外用*/
  margin-bottom: 1em; }

/*------------------------------ */
/*Page - About*/
/*------------------------------ */
.page-about h3 {
  margin-left: 2em;
  text-indent: -2em; }

.spacer2 {
  margin-bottom: 2em; }

/*------------------------------ */
/*Entry*/
/*------------------------------ */
.entry-box {
  margin: 60px auto 0; }
  @media only screen and (max-width: 736px) {
    .entry-box {
      display: block; } }
  .entry-box div {
    flex-basis: 480px;
    width: 480px;
    background-color: #fff;
    border: solid 1px #e6e6e6; }
    @media only screen and (max-width: 1019px) {
      .entry-box div {
        flex-basis: 48%; } }
    @media only screen and (max-width: 736px) {
      .entry-box div {
        width: 100%;
        margin-bottom: 10px; } }
    .entry-box div h2 {
      margin: 0 0 30px;
      padding: 25px 0;
      font-size: 22px;
      font-weight: 500;
      text-align: center;
      background-color: #e6e6e6; }
      @media only screen and (max-width: 736px) {
        .entry-box div h2 {
          padding: 15px 0;
          font-size: 18px; } }
    .entry-box div .entry-box-inner {
      width: calc(100% - 78px);
      margin: 0 auto 30px;
      font-size: 16px;
      font-weight: 400;
      border: none; }
      @media only screen and (max-width: 736px) {
        .entry-box div .entry-box-inner {
          font-size: 14px; } }
    .entry-box div span {
      display: block;
      margin-bottom: 5px; }
    .entry-box div input[type=text],
    .entry-box div input[type=password] {
      margin-bottom: 10px; }
    .entry-box div a {
      display: block;
      margin-bottom: 18px;
      font-size: 18px;
      color: #0168b7;
      line-height: 1;
      text-decoration: underline; }
      @media only screen and (max-width: 736px) {
        .entry-box div a {
          font-size: 14px; } }
      .entry-box div a:hover {
        text-decoration: none; }
    .entry-box div p {
      margin-bottom: 1em; }
    .entry-box div .btn-entry-blue {
      font-weight: 700;
      color: #fff;
      text-decoration: none; }

#entry-logged-in {
  margin: -84px auto 0; }
  @media only screen and (max-width: 1019px) {
    #entry-logged-in {
      margin: -74px auto 0; } }
  @media only screen and (max-width: 736px) {
    #entry-logged-in {
      margin: -50px auto 0; } }
  #entry-logged-in .btn-entry-blue {
    font-size: 18px; }
    @media only screen and (max-width: 768px) {
      #entry-logged-in .btn-entry-blue {
        font-size: 16px; } }
    @media only screen and (max-width: 736px) {
      #entry-logged-in .btn-entry-blue {
        font-size: 14px; } }

/*------------------------------ */
/*Page - Change, Contact, BBS*/
/*------------------------------ */
.page-change p,
.page-contact p,
.page-regist p,
.page-bbs p {
  margin-bottom: 60px;
  font-size: 16px;
  font-weight: 400; }
  @media only screen and (max-width: 736px) {
    .page-change p,
    .page-contact p,
    .page-regist p,
    .page-bbs p {
      width: 100%;
      margin-bottom: 20px;
      font-size: 14px; } }
.page-change .att,
.page-contact .att,
.page-regist .att,
.page-bbs .att {
  display: inline-block;
  margin: 10px 0;
  color: #ff7777; }
.page-change .after-space:after,
.page-contact .after-space:after,
.page-regist .after-space:after,
.page-bbs .after-space:after {
  content: "";
  display: inline-block;
  margin-right: 2em; }
  @media only screen and (max-width: 736px) {
    .page-change .after-space:after,
    .page-contact .after-space:after,
    .page-regist .after-space:after,
    .page-bbs .after-space:after {
      margin-right: 0; } }

/*------------------------------ */
/*Logged in*/
/*------------------------------ */
.box-info-btn {
  width: 860px;
  margin: 60px auto; }
  @media only screen and (max-width: 1019px) {
    .box-info-btn {
      width: 84.3137254902vw; } }
  @media only screen and (max-width: 736px) {
    .box-info-btn {
      display: block;
      width: 100%;
      margin: 20px auto; } }
  @media only screen and (max-width: 1019px) {
    .box-info-btn div {
      flex-basis: 45%; } }
  @media only screen and (max-width: 768px) {
    .box-info-btn div {
      flex-basis: 48%; } }
  @media only screen and (max-width: 736px) {
    .box-info-btn div {
      width: 100%; }
      .box-info-btn div:first-child {
        margin-bottom: 10px; } }
  .box-info-btn div a {
    padding: 40px 0; }
    @media only screen and (max-width: 736px) {
      .box-info-btn div a {
        padding: 25px 0; } }

/*------------------------------ */
/*Page - News, report */
/*------------------------------ */
#pagenation .flex-box {
  justify-content: flex-start; }
  @media only screen and (max-width: 736px) {
    #pagenation .flex-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
#pagenation li {
  flex-basis: 35px;
  width: 35px;
  margin: 0 15px 15px 0;
  list-style: none; }
#pagenation a, #pagenation span {
  display: block;
  margin: 0;
  padding: 10px 0 11px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background-color: #000; }
#pagenation span, #pagenation a:hover {
  color: #000;
  background-color: #f3f3f3; }

.box-post {
  font-size: 16px; }
  @media only screen and (max-width: 736px) {
    .box-post {
      font-size: 14px; } }
  .box-post time {
    display: block;
    width: 92px;
    height: 24px;
    margin-bottom: 20px;
    padding-top: 10px;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    text-align: center;
    background-color: #4fc3df;
    position: relative; }
    .box-post time:after {
      content: "";
      display: block;
      width: 20px;
      height: 10px;
      background: url(../img/bg_days.png) left bottom no-repeat;
      background-size: auto 10px;
      position: absolute;
      bottom: -10px;
      left: 18px; }
  .box-post h2 {
    margin: 2em 0 1em;
    padding: 0;
    font-size: 24px;
    font-weight: 500;
    text-align: left;
    color: #55c0e2;
    border-bottom: none; }
    .box-post h2#page-ttl {
      margin: 28px 0 40px;
      padding: 0; }
      @media only screen and (max-width: 736px) {
        .box-post h2#page-ttl {
          line-height: 1.5;
          letter-spacing: 0; } }
  .box-post h3 {
    color: #000; }
  .box-post h4 {
    margin: 0 0 1em;
    font-size: 18px;
    font-weight: 500; }
  .box-post p {
    margin-bottom: 2em; }
  .box-post ul, .box-post ol {
    margin-bottom: 2em;
    list-style-position: inside; }
  .box-post table {
    margin-bottom: 2em; }
  .box-post .wp-block-image {
    width: 100%;
    max-width: 640px;
    margin-bottom: 2em; }
    @media only screen and (max-width: 768px) {
      .box-post .wp-block-image {
        max-width: inherit; } }
  .box-post figcaption {
    text-align: left; }
  .box-post img {
    width: inherit; }
  .box-post #post_nav {
    margin-top: 50px; }
    .box-post #post_nav li {
      display: inline-block;
      margin-right: 10px;
      list-style: none; }
      .box-post #post_nav li a {
        display: block;
        padding: 10px;
        font-size: 12px;
        line-height: 1;
        color: #fff;
        text-align: center;
        text-decoration: none;
        letter-spacing: 0.1em;
        background-color: #000;
        transition: background 0.5s; }
        .box-post #post_nav li a:hover {
          background-color: #999; }

#news-top {
  margin: 28px 0 17px; }

.box-post .wp-block-table {
  width: auto;
  min-width: inherit; }

.wp-block-table td,
.wp-block-table th {
  padding: 0 1em 0.5em 0;
  vertical-align: top;
  border: none; }
  @media only screen and (max-width: 736px) {
    .wp-block-table td,
    .wp-block-table th {
      display: block;
      padding: 0; } }

@media only screen and (max-width: 736px) {
  .wp-block-table td:last-child {
    padding-bottom: 1em; } }

/*------------------------------ */
/*Page - BBS */
/*------------------------------ */
.box-bbs .flex-box {
  margin-bottom: 40px;
  justify-content: flex-start; }
  @media only screen and (max-width: 736px) {
    .box-bbs .flex-box {
      flex-wrap: wrap;
      justify-content: space-between; } }
  .box-bbs .flex-box a {
    flex-basis: 23%;
    margin: 0 20px 0 0; }
    @media only screen and (max-width: 768px) {
      .box-bbs .flex-box a {
        height: auto;
        padding: 10px 0;
        font-size: 14px; } }
    @media only screen and (max-width: 736px) {
      .box-bbs .flex-box a {
        flex-basis: 48%;
        margin: 0 0 10px; } }
    @media only screen and (max-width: 320px) {
      .box-bbs .flex-box a {
        font-size: 12px; } }
.box-bbs article {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #ccc; }
  .box-bbs article h3 {
    display: inline;
    font-size: 16px;
    font-weight: 700;
    color: #000; }
    @media only screen and (max-width: 736px) {
      .box-bbs article h3 {
        display: block; } }
  .box-bbs article p {
    margin: 0; }
  .box-bbs article div {
    margin-top: 1em;
    padding-top: 1em;
    border-top: dotted 1px #ccc; }
    .box-bbs article div:first-child {
      border-top: none; }
.box-bbs .outer {
  display: inline-block;
  margin-bottom: 0.5em;
  padding-left: 2em; }
  @media only screen and (max-width: 736px) {
    .box-bbs .outer {
      display: block;
      padding-left: 0; } }
.box-bbs .form-bbs {
  text-align: right; }
  @media only screen and (max-width: 320px) {
    .box-bbs .form-bbs {
      text-align: left; } }
  .box-bbs .form-bbs input {
    width: 4em;
    margin: 0 0.5em;
    padding: 5px; }
  .box-bbs .form-bbs button {
    display: inline-block;
    width: 80px;
    height: auto;
    padding: 5px;
    font-size: 14px;
    background: url(../img/icn_box_btn03.png) right center no-repeat #999;
    background-size: 18px auto;
    cursor: pointer; }
    .box-bbs .form-bbs button:hover {
      background: url(../img/icn_box_btn03.png) right center no-repeat #55c0e2;
      background-size: 18px auto; }
    @media only screen and (max-width: 320px) {
      .box-bbs .form-bbs button {
        margin-top: 5px; } }
