@charset "UTF-8";
@keyframes h1br {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }
#Bc {
  margin: 0 -6vw;
  padding: 0 6vw;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0px;
  background: #fff;
  z-index: 2; }
  #Bc ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0px;
    padding: 1.25rem 0; }
  #Bc li {
    margin: 0px;
    list-style: none;
    font-size: 0.95rem;
    margin: 0px;
    line-height: 1.25; }
    #Bc li a {
      border: none; }
  #Bc li {
    margin: 0px;
    list-style: none;
    font-size: 0.95rem;
    margin: 0px;
    line-height: 1.25; }
    #Bc li a {
      border: none; }
  #Bc li + li::before {
    content: '／';
    margin: 0 0.5rem; }

#Tt {
  margin-bottom: 3rem; }
  #Tt .tt-hl {
    margin: 2rem 0;
    padding: 1rem 0; }
    #Tt .tt-hl p {
      font-size: 1.25rem;
      line-height: 1.25;
      margin: 0.5rem 0;
      font-weight: bold; }
    #Tt .tt-hl h1 {
      font-size: 2.5rem;
      line-height: 1.25;
      /*margin:0.5rem 0;*/
      font-weight: bold; }
      #Tt .tt-hl h1.br {
        display: inline-block; }
        #Tt .tt-hl h1.br::after {
          content: '';
          display: block;
          height: 4px;
          background: #005d91;
          margin-top: 1.5rem;
          /*animation: h1br 1s;*/
          background: linear-gradient(to bottom, #38a0db 0% 0%, #005d91 0% 65%, #38a0db 65% 100%); }
      #Tt .tt-hl h1.nobr::after {
        display: none !important; }
  #Tt .tt-img {
    margin: 0 0 0 -6vw; }
    #Tt .tt-img img {
      object-fit: cover;
      min-width: 100%;
      min-height: 240px; }
  @media screen and (max-width: 959px) {
    #Tt .tt-hl p {
      font-size: 0.9rem; }
    #Tt .tt-hl h1 {
      font-size: 1.9rem; } }

body {
  position: relative; }
  body #Rt {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 45px;
    height: 45px; }
    body #Rt a {
      display: block;
      width: 45px;
      height: 45px;
      line-height: 45px;
      background: #003E74;
      color: #fff;
      font-family: 'Icons';
      transform: rotate(-90deg);
      border-radius: 0%;
      opacity: 0;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease;
      pointer-events: none; }
    body #Rt.view-ft {
      position: absolute; }
    @media screen and (max-width: 959px) {
      body #Rt {
        display: none; } }

body.SCRL #Rt a {
  opacity: 1;
  z-index: 1;
  pointer-events: auto; }
  body.SCRL #Rt a:hover {
    opacity: 0.5; }

.editor-styles-wrapper {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'Noto Sans JP', "Century Gothic",Arial, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif !important; }

article,
.wrap,
.editor-styles-wrapper {
  text-align: left;
  padding: 0 6vw;
  /*font-family: 'IBM Plex Sans JP', sans-serif;font-weight:300;*/
  /*font-family: 'Noto Sans JP', sans-serif;font-weight:400;*/
  color: rgba(0, 0, 0, 0.85);
  /*h2 + h3 {margin-top:-1rem;margin-bottom:3rem;}*/ }
  article h2,
  .wrap h2,
  .editor-styles-wrapper h2 {
    font-size: 2rem;
    line-height: 1.5;
    margin: 4rem 0 3rem; }
    article h2::after,
    .wrap h2::after,
    .editor-styles-wrapper h2::after {
      content: '';
      display: block;
      width: 4rem;
      height: 2px;
      background: #38a0db;
      margin-top: 2rem;
      /*background: linear-gradient(to bottom, rgba($ColorCp,1) 0 35%, rgba($ColorCpL,1) 65% 100%);*/ }
  article h2.h2-01,
  .wrap h2.h2-01,
  .editor-styles-wrapper h2.h2-01 {
    margin: 5rem 0 4rem; }
    article h2.h2-01 span,
    .wrap h2.h2-01 span,
    .editor-styles-wrapper h2.h2-01 span {
      background: #38A0DB;
      color: #fff;
      display: inline;
      padding: 1rem 2rem; }
    article h2.h2-01::before, article h2.h2-01::after,
    .wrap h2.h2-01::before,
    .wrap h2.h2-01::after,
    .editor-styles-wrapper h2.h2-01::before,
    .editor-styles-wrapper h2.h2-01::after {
      display: none; }
  article h3,
  .wrap h3,
  .editor-styles-wrapper h3 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin: 3rem 0 2rem; }
  article h4,
  .wrap h4,
  .editor-styles-wrapper h4 {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 2rem 0 1rem 0; }
  article p,
  .wrap p,
  .editor-styles-wrapper p {
    font-size: 1.05rem;
    line-height: 2;
    margin: 1rem 0; }
  article img,
  .wrap img,
  .editor-styles-wrapper img {
    max-width: 100%; }
  article hr,
  .wrap hr,
  .editor-styles-wrapper hr {
    margin: 6rem -6vw;
    border: 0px;
    line-height: 0px;
    height: 0px;
    border-top: 1px solid #ddd; }
  article table,
  .wrap table,
  .editor-styles-wrapper table {
    border-collapse: collapse;
    width: 100%;
    background: #fff; }
    article table td, article table th,
    .wrap table td,
    .wrap table th,
    .editor-styles-wrapper table td,
    .editor-styles-wrapper table th {
      padding: 0.5rem 1rem;
      border: 1px solid #ddd;
      font-size: 1rem; }
    article table th,
    .wrap table th,
    .editor-styles-wrapper table th {
      background: #f8f8f8; }
    article table caption,
    .wrap table caption,
    .editor-styles-wrapper table caption {
      font-size: 0.95rem;
      line-height: 1.25;
      margin-bottom: 0.25rem; }
  article ul, article ol,
  .wrap ul,
  .wrap ol,
  .editor-styles-wrapper ul,
  .editor-styles-wrapper ol {
    margin: 2rem 0 2rem; }
  article li,
  .wrap li,
  .editor-styles-wrapper li {
    font-size: 1rem;
    line-height: 1.5;
    margin: 0.5rem 0; }
    article li ol,
    .wrap li ol,
    .editor-styles-wrapper li ol {
      margin: 1rem 0;
      margin-left: 1.25rem; }
      article li ol li,
      .wrap li ol li,
      .editor-styles-wrapper li ol li {
        list-style: decimal outside;
        margin: 0.25rem 0;
        margin-left: 1.25rem;
        font-size: 0.95rem; }
  article ol li,
  .wrap ol li,
  .editor-styles-wrapper ol li {
    list-style: decimal outside;
    margin-left: 1.25rem; }
  article ul li,
  .wrap ul li,
  .editor-styles-wrapper ul li {
    list-style: disc outside;
    margin-left: 1.25rem; }
    article ul li ul,
    .wrap ul li ul,
    .editor-styles-wrapper ul li ul {
      margin: 1rem 0; }
      article ul li ul li,
      .wrap ul li ul li,
      .editor-styles-wrapper ul li ul li {
        list-style: circle outside; }
  article ul.-circle li,
  .wrap ul.-circle li,
  .editor-styles-wrapper ul.-circle li {
    list-style: circle outside; }
  article p a[href], article li a[href], article dd a[href], article th a[href], article td a[href],
  .wrap p a[href],
  .wrap li a[href],
  .wrap dd a[href],
  .wrap th a[href],
  .wrap td a[href],
  .editor-styles-wrapper p a[href],
  .editor-styles-wrapper li a[href],
  .editor-styles-wrapper dd a[href],
  .editor-styles-wrapper th a[href],
  .editor-styles-wrapper td a[href] {
    /*border-bottom:1px solid;*/
    text-decoration: underline; }
    article p a[href]:hover, article li a[href]:hover, article dd a[href]:hover, article th a[href]:hover, article td a[href]:hover,
    .wrap p a[href]:hover,
    .wrap li a[href]:hover,
    .wrap dd a[href]:hover,
    .wrap th a[href]:hover,
    .wrap td a[href]:hover,
    .editor-styles-wrapper p a[href]:hover,
    .editor-styles-wrapper li a[href]:hover,
    .editor-styles-wrapper dd a[href]:hover,
    .editor-styles-wrapper th a[href]:hover,
    .editor-styles-wrapper td a[href]:hover {
      /*color:$ColorCpL;*/
      opacity: 0.5; }
  article a,
  .wrap a,
  .editor-styles-wrapper a {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  article b,
  .wrap b,
  .editor-styles-wrapper b {
    font-weight: bold; }
  @media screen and (min-width: 960px), print {
    article,
    .wrap,
    .editor-styles-wrapper {
      margin-left: 240px;
      margin-bottom: 10vw; } }
  @media screen and (max-width: 959px) {
    article,
    .wrap,
    .editor-styles-wrapper {
      margin-bottom: 6rem; }
      article h2,
      .wrap h2,
      .editor-styles-wrapper h2 {
        font-size: 1.5rem;
        margin: 3rem 0 2rem; }
      article h2.h2-01,
      .wrap h2.h2-01,
      .editor-styles-wrapper h2.h2-01 {
        margin: 3rem 0 2rem; }
        article h2.h2-01 span,
        .wrap h2.h2-01 span,
        .editor-styles-wrapper h2.h2-01 span {
          font-size: 1.5rem;
          display: inline-block; }
      article h3,
      .wrap h3,
      .editor-styles-wrapper h3 {
        font-size: 1.25rem;
        margin: 2rem 0 1.5rem; }
      article hr,
      .wrap hr,
      .editor-styles-wrapper hr {
        margin: 4rem -6vw; }
      article p,
      .wrap p,
      .editor-styles-wrapper p {
        font-size: 1rem;
        margin: 0.95rem 0; }
      article li,
      .wrap li,
      .editor-styles-wrapper li {
        font-size: 0.95rem; } }
  @media screen and (max-width: 559px) {
    article h1, article h2, article h3, article h4,
    .wrap h1,
    .wrap h2,
    .wrap h3,
    .wrap h4,
    .editor-styles-wrapper h1,
    .editor-styles-wrapper h2,
    .editor-styles-wrapper h3,
    .editor-styles-wrapper h4 {
      font-weight: normal; }
    article p,
    .wrap p,
    .editor-styles-wrapper p {
      font-size: 0.95rem;
      margin: 0.9rem 0; }
    article li,
    .wrap li,
    .editor-styles-wrapper li {
      font-size: 0.9rem; } }

.has-small-font-size {
  font-size: 0.9rem; }

.has-normal-font-size {
  font-size: 1.05rem; }

.has-medium-font-size {
  font-size: 1.05rem; }

.has-large-font-size {
  font-size: 1.25rem; }

.has-huge-font-size {
  font-size: 1.5rem; }

.img-full {
  margin: 6rem -6vw 3rem;
  min-height: 320px; }
  .img-full img {
    object-fit: cover;
    min-width: 100%;
    min-height: 320px; }
  .img-full.-map {
    min-height: inherit;
    margin-top: 3rem; }
    .img-full.-map img {
      object-fit: contain;
      width: 100%;
      min-height: inherit; }
  @media screen and (max-width: 959px) {
    .img-full {
      margin: 3rem -6vw 1.5rem; } }

.fs-ss {
  font-size: 0.8rem; }

.fs-s {
  font-size: 0.9rem; }

.fs-m {
  font-size: 1rem; }

.fs-l {
  font-size: 1.25rem; }

.fs-ll {
  font-size: 1.5rem; }

.size-l {
  font-size: 125%; }

@media screen and (max-width: 959px) {
  .size-l {
    font-size: 115%; } }
.c-hover01 {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  .c-hover01:hover {
    opacity: 0.66; }

.c-more {
  cursor: pointer;
  background: rgba(0, 0, 0, 0.1);
  display: inline-block;
  padding: 0.5rem 1rem; }
  .c-more + * {
    display: none; }
  .c-more.opened {
    display: none; }

.c-bg {
  background: #f8f8f8;
  margin: 5rem -6vw;
  padding: 5rem 6vw; }
  .c-bg h1:first-child, .c-bg h2:first-child, .c-bg h3:first-child, .c-bg h4:first-child, .c-bg h5:first-child, .c-bg h6:first-child, .c-bg p:first-child, .c-bg ul:first-child, .c-bg ol:first-child {
    margin-top: 0px; }

.link-01,
.link-02 {
  display: inline-block;
  margin: 0 0.2em; }
  .link-01::before,
  .link-02::before {
    content: '･';
    font-family: 'Icons';
    color: #fff;
    width: 2.1em;
    line-height: 2.1em;
    border-radius: 3em;
    text-align: center;
    display: inline-block;
    background: #38A0DB;
    margin: 0 0.3em 0 0;
    font-size: 55%;
    vertical-align: 0.3em;
    font-weight: normal !important;
    border: 1px solid #38A0DB; }

.link-02::before {
  background: none;
  color: #38A0DB; }

.btn-01 p, .btn-01 li {
  margin: 1rem 0;
  padding: 0px;
  line-height: 1.5;
  list-style: none; }
.btn-01 a {
  display: inline-block;
  border: 1px solid #38A0DB;
  color: #38A0DB;
  padding: 1rem 1.5rem;
  text-decoration: none !important; }
  .btn-01 a::after {
    content: 'Ｌ';
    font-family: 'Icons';
    margin-left: 0.5rem; }
  .btn-01 a:hover {
    background: #38A0DB;
    color: #fff; }

.img-single {
  text-align: center; }
  .img-single > div {
    display: inline-block;
    margin: 0 auto; }
    .img-single > div p {
      font-size: 0.9rem;
      margin: 0.5rem 0;
      line-height: 1.5; }

.tbl-01 {
  margin: 3rem 0; }
  .tbl-01 table {
    border: 1px solid #ddd; }
    .tbl-01 table td, .tbl-01 table th {
      padding: 0.75rem 1rem;
      border: 0px;
      border-bottom: 1px solid #ddd; }
    .tbl-01 table th {
      background: #fff;
      color: #38A0DB;
      border-right: 1px solid #ddd; }
    .tbl-01 table td {
      font-size: 0.95rem;
      font-weight: bold; }
    .tbl-01 table td:last-child {
      font-weight: normal; }
    .tbl-01 table tr:nth-child(2n-1) td {
      background: #fafafa; }
  @media screen and (max-width: 959px) {
    .tbl-01 {
      overflow-x: scroll;
      flex-wrap: nowrap; }
      .tbl-01 table td, .tbl-01 table th {
        white-space: nowrap; } }

.tbl-02 {
  margin: 3rem 0 2rem; }
  .tbl-02 table {
    border: 1px solid #ddd; }
    .tbl-02 table td, .tbl-02 table th {
      padding: 1rem 1rem;
      border: 0px;
      border-bottom: 1px solid #ddd; }
    .tbl-02 table th {
      background: #fff;
      color: #38A0DB;
      width: 10rem; }
    .tbl-02 table td {
      font-size: 0.95rem;
      font-weight: bold; }
    .tbl-02 table td:last-child {
      font-weight: normal; }
    .tbl-02 table tr:nth-child(2n-1) th, .tbl-02 table tr:nth-child(2n-1) td {
      background: #fafafa; }
  @media screen and (max-width: 959px) {
    .tbl-02 {
      overflow-x: scroll;
      flex-wrap: nowrap; }
      .tbl-02 table td, .tbl-02 table th {
        white-space: nowrap; } }

.tbl-scroll {
  margin: 1rem 0;
  overflow-y: hidden !important; }
  @media screen and (min-width: 960px), print {
    .tbl-scroll {
      overflow: hidden !important; } }
  @media screen and (max-width: 959px) {
    .tbl-scroll {
      overflow-x: scroll;
      flex-wrap: nowrap;
      overflow-y: hidden !important; }
      .tbl-scroll table td, .tbl-scroll table th {
        font-size: 0.9rem;
        white-space: nowrap; } }

.tbl-week {
  margin: 1rem 0; }
  .tbl-week table td, .tbl-week table th {
    text-align: center; }
  .tbl-week table td {
    width: 18%; }
  .tbl-week table td:not(:empty) {
    background: rgba(56, 160, 219, 0); }
  @media screen and (max-width: 959px) {
    .tbl-week {
      overflow-x: scroll;
      flex-wrap: nowrap; }
      .tbl-week table td, .tbl-week table th {
        font-size: 0.9rem;
        white-space: nowrap; } }

.tbl-stripe {
  margin: 1rem 0; }
  .tbl-stripe table tr:nth-child(2n-1) td {
    background: #fafafa; }
  @media screen and (max-width: 959px) {
    .tbl-stripe {
      overflow-x: scroll;
      flex-wrap: nowrap; }
      .tbl-stripe table td, .tbl-stripe table th {
        white-space: nowrap; } }

.tbl-curriculum table th {
  font-size: 0.9rem;
  line-height: 1.1;
  text-align: center; }
.tbl-curriculum table td {
  font-size: 0.9rem;
  vertical-align: top;
  width: 24%; }
@media screen and (max-width: 959px) {
  .tbl-curriculum {
    overflow-x: scroll; }
    .tbl-curriculum table {
      white-space: nowrap; } }

.tbl-teacher table td {
  width: 25%;
  font-size: 0.9rem; }
.tbl-teacher table td + td {
  width: 15%; }
.tbl-teacher table td + td + td {
  width: 60%; }
@media screen and (max-width: 1280px) {
  .tbl-teacher table td, .tbl-teacher table th {
    padding: 0.5rem; } }
@media screen and (max-width: 559px) {
  .tbl-teacher {
    overflow-x: scroll; }
    .tbl-teacher table td, .tbl-teacher table th {
      font-size: 0.8rem; }
    .tbl-teacher table td {
      min-width: 13rem; }
    .tbl-teacher table td + td {
      min-width: 6rem; }
    .tbl-teacher table td + td + td {
      white-space: nowrap; } }

.list-news {
  margin: 3rem 0;
        /*li {@include List;border-bottom:1px solid #aaa;position:relative;
            a {padding:1rem 0;display: block;text-decoration:none;}
            time,p {line-height:1.5rem;margin:0px;}
            time {position:absolute;left:5px;top:1.25rem;font-family: 'Roboto', sans-serif;font-size:1rem;}
            p {padding-left:9rem;}

        }*/ }
  .list-news ul {
    border-top: 1px solid #aaa; }
  .list-news li {
    margin: 0px;
    list-style: none;
    border-bottom: 1px solid #aaa;
    position: relative; }
    .list-news li a {
      border: none; }
    .list-news li a {
      padding: 1.25rem 0;
      display: block;
      text-decoration: none !important; }
    .list-news li time, .list-news li b, .list-news li p {
      line-height: 1.5rem;
      margin: 0px; }
    .list-news li time {
      position: absolute;
      left: 5px;
      top: 1.25rem;
      font-family: 'Roboto', sans-serif;
      font-size: 1rem; }
    .list-news li b {
      position: absolute;
      left: 6.75rem;
      top: 1rem;
      border: 1px solid #ddd;
      background: #fff;
      border-radius: 30px;
      font-size: 0.6rem;
      padding: 0.2rem;
      text-align: center;
      width: 6rem; }
    .list-news li p {
      padding-left: 9rem; }
    .list-news li b + p {
      padding-left: 14rem; }
  @media screen and (max-width: 559px) {
    .list-news li time {
      left: 0px;
      top: 0.5rem;
      font-size: 0.8rem;
      color: #808080; }
    .list-news li b {
      left: 5rem;
      top: 0.6rem;
      line-height: 1rem;
      width: 5rem;
      padding: 0.1rem; }
    .list-news li p,
    .list-news li b + p {
      padding: 0;
      padding-top: 1rem;
      font-size: 0.95rem; } }

.dl-history {
  margin: 3rem 0; }
  .dl-history dl {
    border-bottom: 1px solid #aaa; }
  .dl-history dt, .dl-history dd {
    border-top: 1px solid #aaa;
    font-size: 1rem;
    padding: 1rem 0; }
  .dl-history dt {
    float: left;
    width: 7rem;
    font-family: 'Roboto', sans-serif; }
  .dl-history dd {
    margin-left: 7rem; }
  .dl-history a {
    text-decoration: underline; }
  @media screen and (max-width: 559px) {
    .dl-history dt, .dl-history dd {
      padding: 0px; }
    .dl-history dt {
      float: none;
      width: 100%;
      font-size: 0.8rem;
      color: #808080;
      padding-top: 0.5rem; }
    .dl-history dd {
      margin-left: 0;
      border: none;
      font-size: 0.9rem;
      padding-bottom: 0.5rem; } }

.list-qa > ul > li {
  margin: 0px;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  flex-flow: nowrap;
  margin: 20px 0;
  align-items: flex-start; }
  .list-qa > ul > li a {
    border: none; }
  .list-qa > ul > li b {
    min-width: 40px;
    line-height: 40px;
    background: #808080;
    text-align: center;
    margin-right: 2rem;
    color: #fff; }
  .list-qa > ul > li p {
    margin: 0px; }
  .list-qa > ul > li ul {
    margin: 1rem 0; }
  .list-qa > ul > li div p {
    margin: 1rem 0; }
.list-qa li:nth-child(2n-1) b {
  background: #003E74; }
.list-qa li:nth-child(2n-1) p {
  font-size: 1.25rem;
  font-weight: bold; }
.list-qa li:nth-child(2n) {
  margin-bottom: 3rem; }
  .list-qa li:nth-child(2n) b {
    background: #38A0DB; }
@media screen and (max-width: 559px) {
  .list-qa li b {
    min-width: 30px;
    line-height: 30px;
    margin-right: 1rem; }
  .list-qa li:nth-child(2n-1) p {
    line-height: 1.25; } }

.list-sitemap {
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-width: 0 1px 1px 1px; }
  .list-sitemap li {
    margin: 0px;
    list-style: none;
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    margin: 0px; }
    .list-sitemap li a {
      border: none; }
    .list-sitemap li > a, .list-sitemap li span {
      display: block;
      padding: 1rem 3vw;
      text-decoration: none; }
  .list-sitemap ul {
    margin: 0px; }
    .list-sitemap ul li {
      font-size: 1.1rem; }
      .list-sitemap ul li ul li {
        font-size: 1rem;
        margin-left: 6vw; }
        .list-sitemap ul li ul li a::before {
          content: '･';
          font-family: 'Icons';
          color: #fff;
          width: 16px;
          line-height: 16px;
          border-radius: 30px;
          text-align: center;
          display: inline-block;
          background: #38A0DB;
          margin-right: 0.5rem;
          font-size: 75%;
          font-size: 8px;
          vertical-align: 3px; }
        .list-sitemap ul li ul li a:not([href])::before {
          opacity: 0; }
        .list-sitemap ul li ul li a[href]:hover {
          background: rgba(56, 160, 219, 0.15); }
        .list-sitemap ul li ul li ul li {
          font-size: 0.9rem; }
          .list-sitemap ul li ul li ul li a::before {
            background: none;
            color: #38A0DB;
            border: 1px solid #38A0DB; }
          .list-sitemap ul li ul li ul li ul li a::before {
            border: 0px; }
  .list-sitemap .has_current {
    background: rgba(56, 160, 219, 0.05); }

.list-anno {
  margin: 0.5rem 0; }
  .list-anno li {
    margin: 0px;
    list-style: none;
    font-size: 0.9rem;
    color: #808080;
    padding-left: 1.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }
    .list-anno li a {
      border: none; }
    .list-anno li::before {
      content: '※';
      display: inline-block;
      margin-left: -1.5rem;
      width: 1.5rem; }

.listbtn-01 {
  margin: 3rem 0; }
  .listbtn-01.-x2 li {
    width: 50%; }
  .listbtn-01 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .listbtn-01 li {
    margin: 0px;
    margin: 0px;
    list-style: none;
    min-width: 33.333%;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.25;
    background: #005D91;
    position: relative; }
    .listbtn-01 li a {
      border: none; }
    .listbtn-01 li a {
      display: block;
      width: 100%;
      height: 100%;
      padding: 2rem 4rem 2rem 2rem;
      font-weight: bold;
      border: 1px solid #fff;
      border-width: 0 1px 1px 0;
      text-decoration: none !important; }
      .listbtn-01 li a::after {
        content: 'Ｌ';
        font-family: 'Icons';
        font-weight: normal;
        position: absolute;
        right: 2rem;
        top: 2rem; }
      .listbtn-01 li a:hover {
        color: #fff;
        background: #38A0DB;
        opacity: 1; }
  .listbtn-01 li.current {
    background: #38A0DB; }
    .listbtn-01 li.current a::after {
      display: none; }
  @media screen and (max-width: 959px) {
    .listbtn-01 li {
      width: 100% !important;
      font-size: 1rem; }
      .listbtn-01 li a {
        padding: 1.5rem 3rem 1.5rem 1.5rem; }
        .listbtn-01 li a::after {
          top: 1.5rem; } }

.card-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.5%; }
  .card-01 > div {
    width: 47%;
    margin: 1.5% 1.5%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
    .card-01 > div > figure {
      position: relative;
      overflow: hidden; }
      .card-01 > div > figure::before {
        content: "";
        display: block;
        padding-top: 50%;
        /* 高さを幅の75%に固定 */ }
      .card-01 > div > figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 100%; }
    .card-01 > div > div {
      padding: 2rem 1.75rem; }
    .card-01 > div dl dt {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      flex-flow: nowrap;
      margin-bottom: 1.75rem; }
      .card-01 > div dl dt b {
        width: 50px;
        min-width: 50px;
        line-height: 50px;
        background: #005D91;
        color: #fff;
        text-align: center;
        border-radius: 50%;
        font-family: 'Roboto', sans-serif;
        font-size: 1.5rem;
        margin-right: 1rem; }
      .card-01 > div dl dt span {
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1.1; }
    .card-01 > div dl dd {
      font-size: 0.95rem;
      line-height: 2; }
  @media screen and (max-width: 959px) {
    .card-01 {
      overflow-x: scroll;
      flex-wrap: nowrap;
      margin: 0 -3%; }
      .card-01 > div {
        min-width: 300px;
        width: 300px;
        margin: 1.5% 3%;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); }
        .card-01 > div dl dt {
          display: block; }
          .card-01 > div dl dt b {
            display: block;
            margin: 0 auto 1rem auto; }
          .card-01 > div dl dt span {
            font-size: 1.2rem;
            line-height: 1.25;
            display: block; } }

.card-01.-ex1 > div:last-child {
  width: 100%; }
  .card-01.-ex1 > div:last-child > figure {
    display: none; }
  .card-01.-ex1 > div:last-child > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
  .card-01.-ex1 > div:last-child dl {
    width: 47%; }
  .card-01.-ex1 > div:last-child table {
    width: 47%; }
@media screen and (max-width: 959px) {
  .card-01.-ex1 > div:last-child dl {
    width: 100%; }
  .card-01.-ex1 > div:last-child table {
    width: 100%;
    margin-top: 1rem; }
    .card-01.-ex1 > div:last-child table th, .card-01.-ex1 > div:last-child table td {
      font-size: 0.6rem;
      padding: 0.5rem; } }

.box-aside {
  border: 1px solid rgba(0, 0, 0, 0.25);
  padding: 2rem 3vw;
  margin: 2rem 0; }
  .box-aside > *:first-child {
    margin-top: 0px; }
  .box-aside > *:last-child {
    margin-bottom: 0px; }
  @media screen and (max-width: 959px) {
    .box-aside {
      padding: 2rem; } }
  .box-aside.-bg {
    background: #f8f8f8;
    border: 1px solid rgba(0, 0, 0, 0); }

.box-prof {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  background: #f8f8f8;
  margin: 5rem -6vw;
  padding: 5rem 6vw;
  /*
  .-name {font-size:2rem;font-weight: bold;line-height:1.25;margin:0px;}
  .-read {font-size:1.25rem;font-weight: bold;line-height:1.25;margin:0px;margin-bottom:2rem;}*/ }
  .box-prof > figure {
    width: 30.5%;
    position: relative;
    overflow: hidden; }
    .box-prof > figure::before {
      content: "";
      display: block;
      padding-top: 100%;
      /* 高さを幅の75%に固定 */ }
    .box-prof > figure img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      height: 100%;
      max-width: none; }
  .box-prof > figure.-free::before {
    display: none; }
  .box-prof > figure.-free img {
    position: relative;
    height: auto;
    width: 100%;
    transform: none;
    top: 0;
    left: 0; }
  .box-prof > div {
    width: 60%; }
    .box-prof > div *:first-child {
      margin-top: 0px; }
  .box-prof .-name {
    margin: 2rem 0 2rem 0; }
    .box-prof .-name * {
      margin: 0px; }
    .box-prof .-name h2::before, .box-prof .-name h2::after {
      display: none; }
  .box-prof ul {
    margin: 1rem 0 1.5rem; }
  .box-prof li {
    margin: 0px;
    list-style: none;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0.5rem 0; }
    .box-prof li a {
      border: none; }
  @media screen and (min-width: 560px), print {
    .box-prof:nth-child(2n) {
      flex-flow: row-reverse; } }
  @media screen and (max-width: 559px) {
    .box-prof {
      /*.-name {font-size:1.5rem;}
      .-read {font-size:1rem;}*/ }
      .box-prof > figure {
        max-width: 100%;
        width: 300px;
        margin-bottom: 1rem; }
      .box-prof > div {
        width: 100%; }
        .box-prof > div *:first-child {
          margin-top: 1rem; } }

.box-prof + .box-prof {
  margin-top: -5rem; }

.box-policy {
  border: 1px solid #ddd;
  padding: 4rem 3vw 3rem;
  position: relative;
  margin: 6rem 0;
  background: #fff;
  /*
  .-image {@include Flex;margin-top:2rem;
      & > figure {width:30%;}
      & > div {width:65%;margin-left:5%;
          h4,p {margin-top:0px;}
      }
  }
  */ }
  .box-policy h3 {
    margin: 0px;
    background: #38A0DB;
    color: #fff;
    display: inline-block;
    position: absolute;
    padding: 1rem 0;
    top: -2rem;
    left: 1.5vw; }
    .box-policy h3 span {
      display: inline-block;
      padding: 0 1.5vw; }
    .box-policy h3 span + span {
      border-left: 1px solid #fff; }
  .box-policy h3 + h4 {
    margin-top: 1rem; }
  .box-policy h5 {
    font-size: 1rem;
    margin: 2rem 0 0.75rem;
    color: rgba(0, 0, 0, 0.75); }
  .box-policy p + dl {
    margin-top: 2rem; }
  .box-policy dl {
    font-size: 1.15rem;
    font-weight: bold;
    line-height: 1.5; }
  .box-policy dt, .box-policy dd {
    padding: 0.5rem 0; }
  .box-policy dt {
    float: left;
    width: 2.5rem; }
  .box-policy dd {
    margin-left: 2.5rem;
    zoom: 1; }
  .box-policy .tbl-scroll {
    margin: 2rem 0; }
  .box-policy table td, .box-policy table th {
    font-size: 0.9rem;
    padding: 0.5rem;
    text-align: center; }
  .box-policy *:last-child {
    margin-bottom: 0px; }
  .box-policy .-image {
    *zoom: 1;
    margin-top: 2rem; }
    .box-policy .-image::before {
      content: " ";
      display: table; }
    .box-policy .-image::after {
      content: " ";
      display: table;
      clear: both; }
    .box-policy .-image > figure {
      width: 29%;
      float: left;
      margin-right: 5%;
      margin-bottom: 1rem; }
    .box-policy .-image > div h4, .box-policy .-image > div p {
      margin-top: 0px; }
    @media screen and (max-width: 959px) {
      .box-policy .-image > figure {
        width: 45%; } }
    @media screen and (max-width: 559px) {
      .box-policy .-image > figure {
        float: none;
        width: 100%;
        max-width: 270px;
        margin: 0 auto 1rem; }
        .box-policy .-image > figure img {
          margin: 0 auto; } }
  .box-policy .-image.-r > figure {
    float: right;
    margin-left: 5%;
    margin-right: 0px; }
  .box-policy .box-aside {
    padding: 1rem 2rem; }
    .box-policy .box-aside big {
      font-size: 1.06rem; }
  .box-policy hr {
    margin: 3rem 0; }
  @media screen and (max-width: 959px) {
    .box-policy h3 {
      padding: 1rem; }
      .box-policy h3 span {
        display: block; }
      .box-policy h3 span + span {
        border-left: 0px;
        font-size: 0.9rem; }
    .box-policy dl {
      font-size: 1rem; } }
  @media screen and (max-width: 559px) {
    .box-policy {
      padding: 1rem;
      margin: 4rem 0; }
      .box-policy h3 {
        position: relative;
        top: 0;
        left: 0;
        display: block;
        padding: 0.5rem;
        margin-bottom: 1rem; }
      .box-policy dl {
        font-size: 0.9rem; }
      .box-policy dt {
        width: 1.5rem; }
      .box-policy dd {
        margin-left: 1.5rem; } }
  @media screen and (min-width: 960px), print {
    .box-policy.-three dl, .box-policy.-three ol, .box-policy.-three ul {
      margin-left: 1.5rem; } }
  .box-policy.-three h4 {
    margin: 3rem 0 1rem 0; }
  .box-policy.-three h3 + h4 {
    margin-top: 1rem; }
  .box-policy.-three dl {
    font-weight: normal;
    font-size: 1rem; }
  .box-policy.-three ol ul, .box-policy.-three ol ol {
    margin-top: 0px; }

.box-rinen {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3rem -2%; }
  .box-rinen > div {
    padding-bottom: 1rem;
    width: 29.333%;
    margin: 0 2%; }
    .box-rinen > div h3 {
      margin-top: 0px;
      padding: 2rem 0;
      border: 1px solid #808080;
      border-width: 1px 0; }

.box-target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -2.5%;
  margin-right: -2.5%;
  margin-bottom: 4rem; }
  .box-target.-x1 {
    margin-bottom: 1rem; }
    .box-target.-x1 > div {
      width: 100%; }
  .box-target.-x3 {
    margin-left: -1.5%;
    margin-right: -1.5%; }
    .box-target.-x3 > div {
      width: 30.333%;
      margin-left: 1.5%;
      margin-right: 1.5%; }
  .box-target > div {
    border: 1px solid #ddd;
    width: 45%;
    margin: 1rem 2.5%;
    padding: 2rem 2rem 1rem 2rem;
    background: #fff; }
    .box-target > div h3, .box-target > div p {
      margin: 2rem 0; }
    .box-target > div > span:first-child {
      display: inline-block;
      min-width: 60px;
      background: #005D91;
      color: #fff;
      font-size: 1.1rem;
      padding: 1rem 1.5rem; }
    .box-target > div table td, .box-target > div table th {
      padding: 0.5rem;
      font-size: 0.9rem; }
  @media screen and (max-width: 1280px) {
    .box-target {
      margin-left: -2.5% !important;
      margin-right: -2.5% !important; }
      .box-target > div {
        width: 45% !important;
        margin: 1rem 2.5% !important;
        padding: 1rem; }
        .box-target > div h3, .box-target > div p {
          margin: 1rem 0; } }
  @media screen and (max-width: 559px) {
    .box-target > div {
      width: 100% !important;
      margin-bottom: 0px; } }

.box-msg .-pic {
  text-align: center;
  margin-bottom: 2rem; }
  .box-msg .-pic figure {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-bottom: 2rem; }
    .box-msg .-pic figure::before {
      content: "";
      display: block;
      padding-top: 100%;
      /* 高さを幅の75%に固定 */ }
    .box-msg .-pic figure img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      height: 100%;
      max-width: none; }
  .box-msg .-pic p {
    margin: 0.5rem 0;
    line-height: 1.25; }
  .box-msg .-pic ._nm {
    font-size: 1.75rem; }
    .box-msg .-pic ._nm span {
      font-size: 1rem;
      margin-left: 1rem; }
  .box-msg .-pic ._en {
    font-family: 'Roboto', sans-serif;
    font-size: 1.25rem; }
.box-msg .-doc *:first-child {
  margin-top: 0px; }
@media screen and (min-width: 560px), print {
  .box-msg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    flex-flow: row-reverse; }
    .box-msg .-pic {
      width: 30.5%; }
    .box-msg .-doc {
      width: 60%; } }
@media screen and (max-width: 559px) {
  .box-msg .-pic {
    width: 100%; }
    .box-msg .-pic figure::before {
      padding-top: 75%; }
  .box-msg .-doc {
    width: 100%; } }

.box-campus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 2rem -1.5%;
  padding: 1vw 0; }
  .box-campus > div {
    width: 30.333%;
    margin: 0 1.5% 3rem;
    padding-bottom: 1vw; }
    .box-campus > div .-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 1rem 0;
      flex-flow: nowrap; }
      .box-campus > div .-ttl span {
        display: block;
        width: 45px;
        min-width: 45px;
        height: 45px;
        line-height: 45px;
        background: #38A0DB;
        color: #fff;
        border-radius: 30px;
        text-align: center;
        font-size: 1.5rem;
        margin: 0.5rem 1rem 0.5rem 0;
        font-family: 'Roboto', sans-serif; }
      .box-campus > div .-ttl h3 {
        margin: 0px;
        line-height: 1.25; }
    .box-campus > div figure img {
      width: 100%; }
    .box-campus > div ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: space-between; }
      .box-campus > div ul li {
        margin: 0px;
        list-style: none;
        width: 49.8%;
        margin: 1rem 0 0; }
        .box-campus > div ul li a {
          border: none; }
        .box-campus > div ul li.-full {
          width: 100%; }
        .box-campus > div ul li img {
          width: 100%; }
        .box-campus > div ul li p {
          margin: 0px;
          font-size: 0.9rem; }
    .box-campus > div .-min {
      border: 1px solid #ddd;
      border-width: 1px 0;
      margin-top: -1px; }
      .box-campus > div .-min h4 {
        font-size: 1.1rem;
        margin: 1rem 0; }
        .box-campus > div .-min h4::before {
          content: '■';
          color: #38A0DB;
          margin-right: 0.5rem; }
      .box-campus > div .-min p {
        font-size: 1rem;
        line-height: 1.75; }
    .box-campus > div .-btn a {
      display: block;
      border: 1px solid #38A0DB;
      color: #38A0DB;
      text-align: center;
      padding: 1.5rem 0.5rem;
      font-weight: bold; }
      .box-campus > div .-btn a::after {
        content: 'Ｌ';
        font-family: 'Icons';
        margin-left: 0.5rem; }
      .box-campus > div .-btn a:hover {
        background: #38A0DB;
        color: #fff; }
  @media screen and (max-width: 1280px) {
    .box-campus > div {
      width: 47%; } }
  @media screen and (max-width: 559px) {
    .box-campus > div {
      width: 100%; } }

.box-campus.-topics > div {
  width: 100%;
  padding: 0px;
  margin: 0px;
  border: 1px solid #ddd;
  padding: 1.5%; }
  .box-campus.-topics > div > figure {
    width: 31.333%;
    float: left;
    margin-right: 3%; }
@media screen and (max-width: 1280px) {
  .box-campus.-topics > div > figure {
    width: 48.25%; } }
@media screen and (max-width: 559px) {
  .box-campus.-topics > div {
    padding: 3%; }
    .box-campus.-topics > div > figure {
      width: 100%;
      float: none; } }

.box-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 2rem -1.5%;
  padding: 1vw 0; }
  .box-circle > div {
    width: 17%;
    margin: 0 1.5% 2rem; }
    .box-circle > div h3 {
      margin: 1rem 0 0 0;
      line-height: 1.25;
      font-size: 1.1rem; }
    .box-circle > div figure {
      border: 1px solid #ddd; }
      .box-circle > div figure img {
        width: 100%; }
    .box-circle > div p {
      font-size: 0.96rem;
      margin: 0.5rem 0px;
      line-height: 1.5; }
  @media screen and (max-width: 1440px) {
    .box-circle > div {
      width: 22%; } }
  @media screen and (max-width: 960px) {
    .box-circle > div {
      width: 30.333%; } }
  @media screen and (max-width: 560px) {
    .box-circle > div {
      width: 47%; } }

.box-partner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 2rem -1.5%;
  padding: 1vw 0; }
  .box-partner > div {
    width: 22%;
    margin: 0 1.5% 2rem; }
    .box-partner > div .-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 0.5rem 0;
      flex-flow: nowrap; }
      .box-partner > div .-ttl span {
        display: block;
        width: 30px;
        min-width: 30px;
        height: 30px;
        line-height: 30px;
        background: #38A0DB;
        color: #fff;
        border-radius: 30px;
        text-align: center;
        font-size: 1rem;
        margin: 0.5rem 0.5rem 0.5rem 0;
        font-family: 'Roboto', sans-serif; }
      .box-partner > div .-ttl h3 {
        margin: 0px;
        line-height: 1.25;
        font-size: 1.2rem; }
    .box-partner > div figure img {
      width: 100%; }
    .box-partner > div p {
      font-size: 0.9rem;
      margin-top: 0px; }
    .box-partner > div a .-ttl h3 {
      text-decoration: underline; }
    .box-partner > div a {
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .box-partner > div a:hover {
      opacity: 0.66; }
  .box-partner.-x3 > div {
    width: 30.333%; }
  @media screen and (max-width: 1280px) {
    .box-partner > div {
      width: 47%; } }
  @media screen and (max-width: 960px) {
    .box-partner.-x3 > div {
      width: 47%; } }
  @media screen and (max-width: 559px) {
    .box-partner.-x3 > div {
      width: 100%; }
    .box-partner > div {
      width: 100%; } }

.box-gijiroku {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -2%; }
  .box-gijiroku > div {
    width: 29.333%;
    margin: 0 2%; }
  .box-gijiroku ul {
    margin: 0px; }
  .box-gijiroku li {
    font-size: 0.95rem;
    margin: 0 0 0 1.2rem; }
  .box-gijiroku h2, .box-gijiroku h4 {
    margin: 0px;
    font-size: 2rem;
    line-height: 1.5;
    width: 100%;
    margin: 0 2%; }
  .box-gijiroku h3, .box-gijiroku h5 {
    margin: 1.5rem 0 0.5rem 0;
    line-height: 1.5;
    font-size: 1.1rem; }
  @media screen and (max-width: 1280px) {
    .box-gijiroku > div {
      width: 46%; } }
  @media screen and (max-width: 959px) {
    .box-gijiroku > div {
      width: 100%; } }

.box-img-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-flow: row-reverse;
  margin: 3rem 0; }
  .box-img-r .-img {
    width: 31.3%;
    margin-bottom: 1rem; }
    .box-img-r .-img img {
      width: 100%; }
    .box-img-r .-img p {
      margin: 0.5rem 0;
      line-height: 1.5;
      font-size: 0.95rem; }
  .box-img-r .-doc {
    width: 60%; }
    .box-img-r .-doc *:first-child {
      margin-top: 0px; }
  @media screen and (max-width: 1280px) {
    .box-img-r .-img {
      width: 47.5%; }
    .box-img-r .-doc {
      width: 47.5%; } }
  @media screen and (max-width: 559px) {
    .box-img-r {
      display: block; }
      .box-img-r .-img {
        width: 100%;
        margin-bottom: 2rem;
        max-width: 300px; }
      .box-img-r .-doc {
        width: 100%; } }

.box-img-r.-s .-img {
  width: 25%; }
.box-img-r.-s .-doc {
  width: 65%; }
@media screen and (max-width: 1280px) {
  .box-img-r.-s .-img {
    width: 31.3%; }
  .box-img-r.-s .-doc {
    width: 60%; } }
@media screen and (max-width: 559px) {
  .box-img-r.-s {
    display: block; }
    .box-img-r.-s .-img {
      width: 100%;
      margin-bottom: 2rem;
      max-width: 300px; }
    .box-img-r.-s .-doc {
      width: 100%; } }

.box-right {
  text-align: right; }
  .box-right ul {
    display: inline-block; }
  .box-right li {
    text-align: left; }

.box-anchor {
  text-align: center;
  padding: 2rem;
  background: #f8f8f8; }
  .box-anchor p {
    display: inline-block;
    text-align: left;
    margin: 1rem auto; }
  .box-anchor ul {
    display: inline-block;
    margin: 1rem -1rem;
    text-align: left; }
  .box-anchor li {
    margin: 0px;
    list-style: none;
    margin: 0 0.75rem;
    font-size: 1rem;
    display: inline-block; }
    .box-anchor li a {
      border: none; }
  .box-anchor a {
    display: block;
    padding: 0.5rem 0; }
    .box-anchor a::before {
      background: #003E74;
      color: #fff;
      width: 1.25rem;
      line-height: 1.25rem;
      border-radius: 1.5rem;
      font-size: 0.8rem;
      text-align: center;
      content: '>';
      display: inline-block;
      font-family: 'Kosugi', sans-serif;
      transform: rotate(90deg);
      margin: 0 0.5rem 0 0; }
  @media screen and (max-width: 559px) {
    .box-anchor {
      padding: 1rem 2rem; }
      .box-anchor p + ul {
        margin-top: 0; } }

.box-gmap {
  margin: 3rem 0; }
  .box-gmap iframe {
    border: 0px;
    width: 100%;
    height: 60vh;
    max-height: 600px; }
  .box-gmap.-full {
    margin: 3rem -6vw; }

.box-signature {
  margin: 1rem 0; }
  .box-signature .-nam h4, .box-signature .-nam p {
    margin: 0px; }
  .box-signature .-nam h4 {
    display: inline-block;
    font-size: 1.4rem; }
  .box-signature .-nam p {
    display: inline-block; }
  .box-signature .-txt p {
    font-size: 0.9rem;
    margin: 0px;
    line-height: 1.5; }
  .box-signature.-r {
    text-align: right; }

.box-openclose {
  margin: 3rem 0; }
  .box-openclose details {
    border: 1px solid #ddd;
    padding: 1rem 1.5rem; }
    .box-openclose details * {
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .box-openclose details h6 {
      font-size: 1rem;
      margin: 1rem 0; }
  .box-openclose summary {
    list-style: none;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    cursor: pointer; }
    .box-openclose summary::before {
      content: '＋';
      font-family: 'Zen Kaku Gothic Antique', sans-serif;
      display: inline-block;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease;
      margin-right: 1rem; }
  .box-openclose details[open] > summary::before {
    transform: rotate(45deg); }
  .box-openclose details + details {
    margin-top: -1px; }
  .box-openclose dt p, .box-openclose dd p {
    margin: 0px;
    padding: 0px; }
  .box-openclose dl {
    border: 1px solid #ddd; }
  .box-openclose dt {
    cursor: pointer;
    padding: 1rem;
    font-weight: bold; }
    .box-openclose dt p::before {
      content: '＋';
      font-family: 'Zen Kaku Gothic Antique', sans-serif;
      display: inline-block;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease;
      margin-right: 1rem; }
    .box-openclose dt.opened {
      background: rgba(56, 160, 219, 0.1); }
      .box-openclose dt.opened p::before {
        transform: rotate(45deg); }
      .box-openclose dt.opened + dd {
        background: rgba(56, 160, 219, 0.1); }
    .box-openclose dt.ignore p {
      color: #999; }
      .box-openclose dt.ignore p::before {
        content: '　'; }
  .box-openclose dd {
    display: none;
    padding: 0.001rem 3rem 2rem; }
  .box-openclose dl + dl {
    margin-top: -1px; }

.box-important {
  border: 1px solid #DE0000;
  padding: 2rem 3rem;
  margin: 3rem 0; }
  .box-important > *:first-child {
    margin-top: 0px; }
  .box-important > *:last-child {
    margin-bottom: 0px; }
  .box-important h3 {
    color: #de0000; }
  @media screen and (max-width: 559px) {
    .box-important {
      padding: 1.5rem 1.5rem; } }

.box-area {
  margin: 1rem -1.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-area > div {
    width: 30.333%;
    margin: 1rem 1.5%;
    background: #38A0DB;
    color: #fff;
    text-align: center;
    padding: 2rem; }
    .box-area > div h4 {
      margin: 0px; }
  @media screen and (max-width: 559px) {
    .box-area > div {
      width: 100%;
      margin: 0.25rem 1.5%; } }

.box-greet {
  margin: 3rem 0;
  *zoom: 1; }
  .box-greet::before {
    content: " ";
    display: table; }
  .box-greet::after {
    content: " ";
    display: table;
    clear: both; }
  .box-greet > figure {
    width: 30%;
    float: left;
    margin-right: 5%; }
    .box-greet > figure img {
      margin: 1.5rem 0;
      width: 100%; }
  .box-greet > div .-day {
    text-align: right; }
  .box-greet > div .-ttl {
    text-align: right; }
    .box-greet > div .-ttl p {
      margin: 0; }
  .box-greet > div .-nam {
    text-align: right; }
    .box-greet > div .-nam p {
      font-size: 120%;
      margin: 0px;
      font-weight: bold; }
  @media screen and (max-width: 959px) {
    .box-greet {
      display: block; }
      .box-greet > figure {
        width: 45%; } }
  @media screen and (max-width: 559px) {
    .box-greet {
      display: block;
      margin: 2rem 0; }
      .box-greet > figure {
        float: none;
        width: 100%;
        max-width: 270px;
        margin: 0 auto 1rem; }
        .box-greet > figure img {
          margin: 0 auto; } }

.box-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .box-flow > div {
    border: 1px solid #ddd;
    width: 22%;
    padding: 1.5rem; }
    .box-flow > div h3, .box-flow > div h4 {
      margin: 0px;
      font-size: 1.1rem;
      color: #38A0DB; }
    .box-flow > div p {
      font-size: 0.96rem;
      line-height: 1.5;
      margin: 1rem 0 0; }
  .box-flow > div:nth-child(2n) {
    border: 0px;
    width: 4%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px; }
    .box-flow > div:nth-child(2n)::before {
      content: '＞';
      font-family: 'Icons'; }
  @media screen and (max-width: 959px) {
    .box-flow {
      display: block; }
      .box-flow > div {
        width: 100%;
        padding: 1rem;
        text-align: center; }
        .box-flow > div p {
          text-align: left;
          margin: auto;
          display: inline-block; }
      .box-flow > div:nth-child(2n) {
        width: 100%;
        padding: 0.5rem;
        font-size: 0.9rem; }
        .box-flow > div:nth-child(2n)::before {
          display: block;
          transform: rotate(90deg); } }

article .square:last-child,
article .box-last,
.wrap .square:last-child,
.wrap .box-last {
  background: #f8f8f8;
  margin: 5rem -6vw;
  padding: 5rem 6vw;
  margin-bottom: -10vw; }
  article .square:last-child *:first-child,
  article .box-last *:first-child,
  .wrap .square:last-child *:first-child,
  .wrap .box-last *:first-child {
    margin-top: 0px; }
  @media screen and (max-width: 959px) {
    article .square:last-child,
    article .box-last,
    .wrap .square:last-child,
    .wrap .box-last {
      margin: 3rem -6vw;
      padding: 3rem 6vw;
      margin-bottom: -6rem; } }

.img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3rem 0; }
  .img-list > div {
    padding-bottom: 1rem; }
    .img-list > div > figure {
      position: relative;
      overflow: hidden; }
      .img-list > div > figure::before {
        content: "";
        display: block;
        padding-top: 61.8%;
        padding-top: 66.666%;
        /* 高さを幅の75%に固定 */ }
      .img-list > div > figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 100%; }
    .img-list > div h3 {
      margin: 2rem 0; }
    .img-list > div div {
      font-size: 0.96rem;
      margin: 0.5rem 0 1rem;
      line-height: 1.5; }
    .img-list > div div.-iframe {
      position: relative;
      margin: 0px; }
      .img-list > div div.-iframe:before {
        content: "";
        display: block;
        padding-top: 56.25%; }
      .img-list > div div.-iframe iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        vertical-align: bottom; }
      .img-list > div div.-iframe video {
        border: 1px solid #eee;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        vertical-align: bottom; }

.img-list.-x2 {
  margin-left: -2%;
  margin-right: -2%; }
  .img-list.-x2 > div {
    width: 46%;
    margin: 0 2%;
    padding-bottom: 2rem; }
  @media screen and (max-width: 559px) {
    .img-list.-x2 > div {
      width: 100%; } }

.img-list.-x3 {
  margin-left: -2%;
  margin-right: -2%; }
  .img-list.-x3 > div {
    width: 29.333%;
    margin: 0 2%; }
  @media screen and (max-width: 1280px) {
    .img-list.-x3 > div {
      width: 46%; } }
  @media screen and (max-width: 559px) {
    .img-list.-x3 > div {
      width: 100%; } }

.img-list.-x4 {
  margin-left: -1%;
  margin-right: -1%; }
  .img-list.-x4 > div {
    width: 23%;
    margin: 0 1%; }
  @media screen and (max-width: 1280px) {
    .img-list.-x4 {
      margin-left: -2%;
      margin-right: -2%; }
      .img-list.-x4 > div {
        width: 46%;
        margin: 0 2%; } }
  @media screen and (max-width: 559px) {
    .img-list.-x4 > div {
      width: 100%; } }

.img-list-v {
  margin: 3rem 0; }
  .img-list-v > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem 0;
    align-items: flex-start; }
    .img-list-v > div > figure {
      width: 20%;
      position: relative;
      overflow: hidden; }
      .img-list-v > div > figure::before {
        content: "";
        display: block;
        padding-top: 100%;
        /* 高さを幅の75%に固定 */ }
      .img-list-v > div > figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        height: 100%;
        max-width: none; }
    .img-list-v > div > div {
      width: 80%;
      padding-left: 5vw; }
      .img-list-v > div > div *:first-child {
        margin-top: 0rem; }
    .img-list-v > div h3 {
      margin: 2rem 0; }
      .img-list-v > div h3 span {
        background: #38A0DB;
        color: #fff;
        padding: 0.5rem 1rem;
        font-size: 1.1rem;
        margin-right: 1rem;
        display: inline-block;
        vertical-align: 0.25rem; }
    .img-list-v > div li {
      margin: 0px;
      list-style: none;
      list-style: disc outside; }
      .img-list-v > div li a {
        border: none; }
  @media screen and (min-width: 560px), print {
    .img-list-v > div h3 div {
      display: inline-block; } }
  @media screen and (max-width: 559px) {
    .img-list-v > div > figure {
      width: 100%; }
      .img-list-v > div > figure::before {
        padding-top: 61.8%;
        /* 高さを幅の75%に固定 */ }
      .img-list-v > div > figure img {
        width: 100%;
        height: auto; }
    .img-list-v > div > div {
      width: 100%;
      padding-left: 0vw;
      margin-top: 2rem; }
    .img-list-v > div h3 {
      text-align: center; }
      .img-list-v > div h3 span {
        margin: 0px;
        margin-bottom: 0rem;
        font-size: 1rem;
        margin-bottom: 0.5rem; }
    .img-list-v > div ul {
      margin-left: 1.25rem; } }

.img-pamp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3rem -2%; }
  .img-pamp > div {
    padding-bottom: 1rem;
    width: 21%;
    margin: 0 2%; }
    .img-pamp > div figure {
      border: 1px solid rgba(0, 0, 0, 0.1); }
      .img-pamp > div figure img {
        width: 100%; }
    .img-pamp > div p {
      font-size: 1rem;
      line-height: 1.5; }
      .img-pamp > div p span.new {
        color: #FA0F00;
        font-family: 'Roboto', sans-serif;
        font-size: 95%; }
  .img-pamp.-x3 > div {
    width: 29.333%; }
  @media screen and (min-width: 560px), print {
    .img-pamp a {
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease;
      display: block; }
      .img-pamp a:hover {
        transform: scale(1.02); } }
  @media screen and (max-width: 959px) {
    .img-pamp > div {
      width: 29.333%; } }
  @media screen and (max-width: 559px) {
    .img-pamp {
      margin: 1.5rem -2%; }
      .img-pamp > div {
        width: 46%; } }

span.pdf,
span.xls,
span.doc {
  margin-left: 0.75rem;
  font-size: 70%;
  color: #999; }
  span.pdf::before,
  span.xls::before,
  span.doc::before {
    font-family: 'Icons';
    margin-right: 0.5rem;
    font-size: 1rem; }

span.pdf::before {
  content: '赤';
  color: #FA0F00; }

span.xls::before {
  content: '緑';
  color: #0F783F; }

span.doc::before {
  content: '青';
  color: #1E61BC; }

.menu-tab {
  margin: 0 -6vw; }
  .menu-tab ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 6vw; }
  .menu-tab li {
    margin: 0px;
    list-style: none;
    border: 1px solid #808080; }
    .menu-tab li a {
      border: none; }
  .menu-tab a {
    text-decoration: none !important;
    display: block;
    padding: 1rem; }
  @media screen and (min-width: 960px), print {
    .menu-tab ul {
      border-top: 1px solid #808080;
      flex-flow: nowrap; }
    .menu-tab li {
      margin: 0 5px;
      margin: -1px 5px 0;
      text-align: center;
      line-height: 1.1; }
      .menu-tab li.current {
        border-top: 1px solid #fff;
        position: relative; }
    .menu-tab a {
      min-width: 8rem;
      padding: 1.25rem 1rem; } }
  @media screen and (max-width: 959px) {
    .menu-tab li {
      width: 50%;
      margin: -1px -1px 0 0; }
      .menu-tab li.current {
        background: rgba(0, 0, 0, 0.05); } }

.oc-div {
  border: 1px solid #808080;
  border-width: 1px 0;
  margin: 3rem 0;
  overflow: hidden;
  position: relative;
  zoom: 100%; }
  .oc-div:after {
    content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden; }
  .oc-div .-swc {
    padding: 0.001rem 0;
    cursor: pointer;
    position: relative;
    padding-right: 3rem; }
    .oc-div .-swc p {
      line-height: 1.25;
      padding: 0.4rem 0;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .oc-div .-swc h4 {
      font-size: 1.15rem;
      margin: 1rem 0;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .oc-div .-swc::after {
      content: '＋';
      line-height: 2;
      position: absolute;
      top: 1rem;
      right: 1rem;
      font-family: 'Zen Kaku Gothic Antique', sans-serif;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease;
      vertical-align: middle; }
      @media screen and (max-width: 959px) {
        .oc-div .-swc::after {
          font-size: 0.95rem; } }
      @media screen and (max-width: 559px) {
        .oc-div .-swc::after {
          top: 0.9rem; } }
    .oc-div .-swc.opened::after {
      transform: rotate(45deg); }
    .oc-div .-swc p:hover, .oc-div .-swc h4:hover {
      opacity: 0.5; }
  .oc-div .-doc {
    padding: 2rem 0 3rem;
    display: none; }
    .oc-div .-doc > *:first-child {
      margin-top: 0px; }
    .oc-div .-doc h5 {
      font-size: 1.15rem;
      margin: 1rem 0 1.5rem 0;
      font-weight: normal; }
    .oc-div .-doc .-img {
      max-width: 40%;
      width: 240px;
      margin-left: 5%;
      margin-top: 1rem;
      float: right;
      margin-bottom: 2rem; }
      .oc-div .-doc .-img img {
        width: 100%;
        margin-bottom: 1px; }
  @media screen and (max-width: 959px) {
    .oc-div h4 {
      font-size: 1.05rem; } }
  @media screen and (max-width: 559px) {
    .oc-div h4 {
      font-size: 1rem; } }

.oc-div + .oc-div {
  margin-top: -3rem;
  border-top: 0px; }

.grid-1_2,
.grid-1_3 {
  margin: 3rem 0; }
  .grid-1_2 > div,
  .grid-1_3 > div {
    border: 1px solid #ddd;
    border-width: 1px 0;
    margin-bottom: -1px; }
    .grid-1_2 > div .-ttl,
    .grid-1_3 > div .-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      margin: 1rem 0;
      flex-flow: nowrap; }
      .grid-1_2 > div .-ttl > span,
      .grid-1_3 > div .-ttl > span {
        display: block;
        width: 45px;
        min-width: 45px;
        height: 45px;
        line-height: 45px;
        background: #38A0DB;
        color: #fff;
        border-radius: 30px;
        text-align: center;
        font-size: 1.5rem;
        margin: 0.5rem 1rem 0.5rem 0;
        font-family: 'Roboto', sans-serif; }
      .grid-1_2 > div .-ttl > h3,
      .grid-1_3 > div .-ttl > h3 {
        margin: 0px;
        line-height: 1.25; }
  .grid-1_2 .list-anno ul,
  .grid-1_3 .list-anno ul {
    margin: 1rem 0; }

.grid-1_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 4%;
  grid-row-gap: 0px; }
  .grid-1_2 .div1 {
    grid-area: 1 / 1 / 3 / 2; }
  .grid-1_2 .div2 {
    grid-area: 1 / 2 / 2 / 3; }
  .grid-1_2 .div3 {
    grid-area: 2 / 2 / 3 / 3; }
  @media screen and (max-width: 559px) {
    .grid-1_2 {
      display: block; } }

.grid-1_3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 4%;
  grid-row-gap: 0px; }
  .grid-1_3 .div1 {
    grid-area: 1 / 1 / 4 / 2; }
  .grid-1_3 .div2 {
    grid-area: 1 / 2 / 2 / 3; }
  .grid-1_3 .div3 {
    grid-area: 2 / 2 / 3 / 3; }
  .grid-1_3 .div4 {
    grid-area: 3 / 2 / 4 / 3; }
  @media screen and (max-width: 559px) {
    .grid-1_3 {
      display: block; } }

.grid-1_2_2_2 {
  margin: 3rem 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 5px;
  grid-row-gap: 5px; }
  .grid-1_2_2_2 .div1 {
    grid-area: 1 / 1 / 3 / 3; }
  .grid-1_2_2_2 .div2 {
    grid-area: 1 / 3 / 2 / 4; }
  .grid-1_2_2_2 .div3 {
    grid-area: 1 / 4 / 2 / 5; }
  .grid-1_2_2_2 .div4 {
    grid-area: 1 / 5 / 2 / 6; }
  .grid-1_2_2_2 .div5 {
    grid-area: 2 / 3 / 3 / 4; }
  .grid-1_2_2_2 .div6 {
    grid-area: 2 / 4 / 3 / 5; }
  .grid-1_2_2_2 .div7 {
    grid-area: 2 / 5 / 3 / 6; }
  .grid-1_2_2_2 img {
    width: 100%; }
  @media screen and (max-width: 559px) {
    .grid-1_2_2_2 {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(5, 1fr); }
      .grid-1_2_2_2 .div1 {
        grid-area: 1 / 1 / 3 / 3; }
      .grid-1_2_2_2 .div2 {
        grid-area: 3 / 1 / 4 / 2; }
      .grid-1_2_2_2 .div3 {
        grid-area: 3 / 2 / 4 / 3; }
      .grid-1_2_2_2 .div4 {
        grid-area: 4 / 1 / 5 / 2; }
      .grid-1_2_2_2 .div5 {
        grid-area: 4 / 2 / 5 / 3; }
      .grid-1_2_2_2 .div6 {
        grid-area: 5 / 1 / 6 / 2; }
      .grid-1_2_2_2 .div7 {
        grid-area: 5 / 2 / 6 / 3; } }

.grid-2_2_2_1 {
  margin: 3rem 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 5px;
  grid-row-gap: 5px; }
  .grid-2_2_2_1 .div1 {
    grid-area: 1 / 1 / 2 / 2; }
  .grid-2_2_2_1 .div2 {
    grid-area: 1 / 2 / 2 / 3; }
  .grid-2_2_2_1 .div3 {
    grid-area: 1 / 3 / 2 / 4; }
  .grid-2_2_2_1 .div4 {
    grid-area: 2 / 1 / 3 / 2; }
  .grid-2_2_2_1 .div5 {
    grid-area: 2 / 2 / 3 / 3; }
  .grid-2_2_2_1 .div6 {
    grid-area: 2 / 3 / 3 / 4; }
  .grid-2_2_2_1 .div7 {
    grid-area: 1 / 4 / 3 / 6; }
  .grid-2_2_2_1 img {
    width: 100%; }
  @media screen and (max-width: 559px) {
    .grid-2_2_2_1 {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(5, 1fr); }
      .grid-2_2_2_1 .div1 {
        grid-area: 1 / 1 / 2 / 2; }
      .grid-2_2_2_1 .div2 {
        grid-area: 1 / 2 / 2 / 3; }
      .grid-2_2_2_1 .div3 {
        grid-area: 2 / 1 / 3 / 2; }
      .grid-2_2_2_1 .div4 {
        grid-area: 2 / 2 / 3 / 3; }
      .grid-2_2_2_1 .div5 {
        grid-area: 3 / 1 / 4 / 2; }
      .grid-2_2_2_1 .div6 {
        grid-area: 3 / 2 / 4 / 3; }
      .grid-2_2_2_1 .div7 {
        grid-area: 4 / 1 / 6 / 3; } }

.list-sitemap {
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-width: 0 1px 1px 1px; }
  .list-sitemap li {
    margin: 0px;
    list-style: none;
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    margin: 0px; }
    .list-sitemap li a {
      border: none; }
    .list-sitemap li > a, .list-sitemap li span {
      display: block;
      padding: 1rem 3vw;
      text-decoration: none; }
  .list-sitemap ul {
    margin: 0px; }
    .list-sitemap ul li {
      font-size: 1.1rem; }
      .list-sitemap ul li ul li {
        font-size: 1rem;
        margin-left: 6vw; }
        .list-sitemap ul li ul li a::before {
          content: '･';
          font-family: 'Icons';
          color: #fff;
          width: 16px;
          line-height: 16px;
          border-radius: 30px;
          text-align: center;
          display: inline-block;
          background: #38A0DB;
          margin-right: 0.5rem;
          font-size: 75%;
          font-size: 8px;
          vertical-align: 3px; }
        .list-sitemap ul li ul li a:not([href])::before {
          opacity: 0; }
        .list-sitemap ul li ul li a[href]:hover {
          background: rgba(56, 160, 219, 0.15); }
        .list-sitemap ul li ul li ul li {
          font-size: 0.9rem; }
          .list-sitemap ul li ul li ul li a::before {
            background: none;
            color: #38A0DB;
            border: 1px solid #38A0DB; }
          .list-sitemap ul li ul li ul li ul li a::before {
            border: 0px; }
  .list-sitemap .has_current {
    background: rgba(56, 160, 219, 0.05); }

.list-organ ul {
  margin-bottom: 0px; }
  .list-organ ul li {
    list-style: none;
    line-height: 1.25;
    position: relative;
    margin: 0px;
    padding: 0.5rem 0 0.5rem 10vw; }
    .list-organ ul li:before {
      content: "";
      display: block;
      position: absolute;
      top: 1rem;
      left: 0;
      width: 9vw;
      height: 0;
      border-top: 1px solid #808080; }
    .list-organ ul li:last-child:before {
      top: 1rem;
      bottom: 0;
      height: auto;
      background-color: #fff; }
    .list-organ ul li.-x2 {
      padding-left: 21vw; }
      .list-organ ul li.-x2:before {
        width: 20vw; }
    .list-organ ul li.-x3 {
      padding-left: 32vw; }
      .list-organ ul li.-x3:before {
        width: 31vw; }
  .list-organ ul ul {
    position: relative;
    margin-top: 1rem;
    margin-left: 1vw; }
    .list-organ ul ul:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 0;
      border-left: 1px solid #808080; }
.list-organ .-eq {
  padding: 1rem 0px; }
  .list-organ .-eq::before {
    content: "";
    display: block;
    position: absolute;
    width: 0px;
    top: -0.5rem !important;
    height: 1rem !important;
    left: 1vw !important;
    border-left: 1px solid #808080; }
.list-organ .-direct {
  margin-bottom: -0.5rem; }
  .list-organ .-direct > li:last-child:before {
    background: none; }
.list-organ > ul:first-child > li:first-child::before {
  display: none; }
.list-organ::after {
  content: '';
  display: block;
  width: 100%;
  height: 0px;
  clear: both; }

.box-visitor {
  border: 2px solid #eee;
  border-width: 2px 0; }
  .box-visitor h2 {
    margin: 0px;
    font-size: 1.25rem;
    padding: 0.75rem 0; }
    .box-visitor h2:after {
      width: auto;
      height: auto;
      background: none;
      margin: 0px;
      content: '＞';
      font-family: 'Icons';
      margin-right: 0.5rem;
      float: right;
      display: inline-block;
      transform: rotate(90deg);
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .box-visitor h2.opened:after {
      transform: rotate(-90deg); }
  .box-visitor li {
    margin: 0px;
    list-style: none;
    margin: 0px; }
    .box-visitor li a {
      border: none; }
    .box-visitor li > a, .box-visitor li span {
      display: block;
      padding: 0.5rem;
      text-decoration: none; }
      .box-visitor li > a:before, .box-visitor li span:before {
        content: '＞';
        font-family: 'Icons';
        margin-right: 0.5rem;
        font-size: 70%;
        vertical-align: 15%; }
      .box-visitor li > a:not([href])::before, .box-visitor li span:not([href])::before {
        opacity: 0; }
  .box-visitor > ul {
    border: 1px solid #ddd;
    border-bottom: 0px;
    display: none;
    background: #fff;
    margin: 0 0 2rem 0; }
    .box-visitor > ul > li {
      border-bottom: 1px solid #ddd;
      font-size: 1rem; }
      .box-visitor > ul > li > a, .box-visitor > ul > li span {
        padding: 0.75rem; }
      .box-visitor > ul > li > ul {
        margin: 0 0 0.75rem 2rem; }
        .box-visitor > ul > li > ul > li {
          font-size: 0.9rem; }
          .box-visitor > ul > li > ul > li > a, .box-visitor > ul > li > ul > li span {
            padding: 0.25rem; }
          .box-visitor > ul > li > ul > li ul {
            margin: 0 0 0.25rem 2rem; }
            .box-visitor > ul > li > ul > li ul > li {
              font-size: 0.8rem; }
              .box-visitor > ul > li > ul > li ul > li > a, .box-visitor > ul > li > ul > li ul > li span {
                padding: 0.15rem; }

.box-visitor + .box-visitor {
  border-top: 0px; }

.front-news {
  background: #fff;
  padding: 0.01rem 3rem;
  margin: 1% 0 0.5% 0; }
  .front-news h4 {
    margin-bottom: 0px; }
  .front-news .list-news {
    margin-top: 0px; }
  @media screen and (max-width: 959px) {
    .front-news {
      padding: 0.01rem 2rem; } }
  @media screen and (max-width: 559px) {
    .front-news {
      padding: 0.01rem 1rem; } }

.front {
  margin: 0 -6vw -10vw;
  padding: 0rem 6vw 5rem;
  background-color: #005D91;
  background-image: url("../img/common/bg_wave.png");
  background-size: 100%;
  background-position: top center;
  border-top: #fff solid 6vw; }
  .front.-vis {
    padding-top: 5rem;
    border-top: 0px; }
  .front figure {
    margin-top: -6vw;
    /*margin-right:(0-$WU)/2;margin-left:(0-$WU)/2;*/
    margin-bottom: 0.5%;
    width: 100%;
    position: relative; }
    .front figure img {
      width: 100%;
      height: auto; }
  .front > ul {
    margin-top: 0px; }
    .front > ul li {
      margin: 0px;
      list-style: none;
      margin: 0px;
      background: #fff; }
      .front > ul li a {
        border: none; }
      .front > ul li > a, .front > ul li > span {
        display: block;
        text-decoration: none; }
      .front > ul li a:hover {
        opacity: 1; }
      .front > ul li a[href] {
        -webkit-transition: all 0.2s ease;
        -moz-transition: all 0.2s ease;
        -o-transition: all 0.2s ease;
        -ms-transition: all 0.2s ease;
        transition: all 0.2s ease; }
        .front > ul li a[href]:hover {
          color: #38A0DB; }
      .front > ul li a[href]::before {
        content: '･';
        font-family: 'Icons';
        color: #fff;
        width: 16px;
        line-height: 16px;
        border-radius: 30px;
        text-align: center;
        display: inline-block;
        background: #38A0DB;
        margin-right: 0.5rem;
        font-size: 75%;
        font-size: 8px;
        vertical-align: 3px;
        font-weight: normal !important; }
  .front > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -0.5%; }
    .front > ul > li {
      margin-bottom: 1rem;
      width: 49%;
      padding: 1.5rem;
      margin: 0.5%; }
      .front > ul > li.-full {
        width: 100%; }
        @media screen and (min-width: 560px), print {
          .front > ul > li.-full > ul {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            margin: 0 -0.5%;
            padding: 1rem 0 0 0; }
            .front > ul > li.-full > ul > li {
              width: 49%;
              margin: 0.5%;
              border: 1px solid #ddd;
              padding: 0.75rem 1rem 0.5rem;
              font-weight: bold; }
              .front > ul > li.-full > ul > li > ul {
                margin-top: 0.5rem;
                font-weight: normal; } }
      .front > ul > li > a {
        font-size: 1.1rem;
        font-weight: bold; }
      .front > ul > li > ul {
        margin: 0.5rem 0 0 0; }
        .front > ul > li > ul > li > a {
          padding: 0.1rem 0;
          font-size: 0.9rem; }
          .front > ul > li > ul > li > a[href]::before {
            background: none;
            color: #38A0DB;
            border: 1px solid #38A0DB; }
        .front > ul > li > ul > li > ul {
          margin-left: 0.9rem;
          margin-bottom: 0.5rem;
          margin-top: 0px; }
          .front > ul > li > ul > li > ul > li {
            font-size: 0.8rem; }
            .front > ul > li > ul > li > ul > li > a {
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap; }
              .front > ul > li > ul > li > ul > li > a[href]::before {
                background: none;
                color: #38A0DB; }
  .front.-career > ul > li {
    width: 32.333%; }
  @media screen and (max-width: 1280px) {
    .front > ul > li {
      width: 49%; } }
  @media screen and (max-width: 959px) {
    .front {
      margin-bottom: -6rem; }
      .front > ul > li {
        padding: 1rem; }
        .front > ul > li > a {
          font-size: 1rem; }
      .front.-career > ul > li {
        width: 100%; } }
  @media screen and (max-width: 559px) {
    .front > ul > li {
      width: 100%; } }

.box-err {
  min-height: calc(100vh - 10vw - 60px - 5rem - 240px - 150px); }

.topics-refine {
  background: #f3f3f3;
  padding: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .topics-refine > .-cate, .topics-refine > .-year {
    margin: 0.5rem; }
  .topics-refine > .-cate label {
    margin-right: 2rem;
    font-weight: bold; }
  .topics-refine > .-cate input[type=radio] + label span::before {
    vertical-align: -0.1rem; }
  .topics-refine > .-year select {
    border: 1px solid #808080;
    border-radius: 0px;
    padding: 5px 25px 5px 10px;
    font-size: 1.1rem;
    background: #fff; }

/*
.topics-list {
    ul {border-top:1px solid #999;}
    li {border-bottom:1px solid #999;@include List;
        a {padding:1.5rem 0;display: block;}
        time,b,p,span {line-height:1.5rem;display: inline-block;margin-right:1rem;vertical-align: middle;}
        time {font-family: 'Roboto', sans-serif;font-size:1rem;color:#808080;}
        b {border:1px solid #ddd;border-radius:30px;font-size:0.8rem;text-align: center;width:6rem;}
        p {display: block;padding-top:0.5rem;margin:0px;
            .new::before {content:'NEW';color:#FA0F00;font-family: 'Roboto', sans-serif;margin-left:0.5rem;}
        }
        .-tag {font-weight: bold;font-size:0.95rem;
            &::before {content:'#';}
        }
    }
    @media screen and (max-width: $BP - 1px) {
        li {
            time {font-size:0.85rem;}
            b {font-size:0.75rem;}
            p {font-size:0.95rem;}
            .-tag {display: block;margin-top:0.5rem;}
        }
    }
}
*/
.topics-list ul {
  border-top: 1px solid #999; }
.topics-list li {
  border-bottom: 1px solid #999;
  position: relative;
  margin: 0px;
  list-style: none; }
  .topics-list li a {
    border: none; }
  .topics-list li a {
    padding: 1.5rem 0;
    display: block; }
  .topics-list li time, .topics-list li b, .topics-list li p, .topics-list li span {
    line-height: 1.5rem;
    display: inline-block;
    margin-right: 1rem;
    vertical-align: middle; }
  .topics-list li b {
    position: absolute;
    left: 0px;
    top: 1.5rem; }
    .topics-list li b.-topi {
      color: #F48300; }
    .topics-list li b.-info {
      color: #38A0DB; }
  .topics-list li time {
    padding-left: 6.5rem;
    font-family: 'Roboto', sans-serif;
    font-size: 1rem; }
  .topics-list li p {
    display: block;
    padding-top: 0.5rem;
    margin: 0px; }
    .topics-list li p .new::before {
      content: 'NEW';
      color: #FA0F00;
      font-family: 'Roboto', sans-serif;
      margin-left: 0.5rem; }
  .topics-list li .-tag {
    border: 1px solid #ccc;
    border-radius: 30px;
    font-size: 0.9rem;
    text-align: center;
    padding: 0 1rem;
    font-weight: bold; }
@media screen and (max-width: 559px) {
  .topics-list li b {
    top: 1rem; }
  .topics-list li time, .topics-list li .-tag {
    margin-top: 1.5rem; }
  .topics-list li time {
    padding: 0px;
    font-size: 0.9rem; }
  .topics-list li p {
    font-size: 0.9rem; }
  .topics-list li .-tag {
    font-size: 0.75rem; } }

.topics-header {
  border-bottom: 3px double #808080;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  font-size: 0; }
  .topics-header .-tag, .topics-header h3 {
    line-height: 1rem;
    box-sizing: border-box; }
  .topics-header .-tag {
    background: #003E74;
    border: 1px solid #003E74;
    color: #fff;
    font-size: 1rem;
    padding: 1rem 1.5rem;
    display: inline-block;
    margin: 0px;
    font-weight: bold;
    min-width: 7rem;
    text-align: center; }
  .topics-header h3 {
    font-weight: normal;
    margin: 0px;
    font-size: 1rem;
    display: inline-block;
    font-size: 0.9rem;
    padding: 1rem;
    margin-right: 0.5rem;
    border: 1px solid #ddd; }
    .topics-header h3.-topi {
      color: rgba(244, 131, 0, 0.75);
      border: 1px solid rgba(244, 131, 0, 0.75); }
    .topics-header h3.-info {
      color: rgba(56, 160, 219, 0.75);
      border: 1px solid rgba(56, 160, 219, 0.75); }
  .topics-header h4 {
    font-size: 1.75rem;
    margin: 1rem 0 0 0; }

.entry-content {
  clear: both; }
  .entry-content h5 {
    font-size: 1.2rem;
    border-bottom: 1px solid #808080;
    margin: 3rem 0 2rem;
    padding-bottom: 1rem; }

.evnt-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.5%; }
  .evnt-list > div {
    width: 30.333%;
    margin: 0 1.5% 3rem; }
    .evnt-list > div figure {
      position: relative;
      overflow: hidden;
      width: 100%;
      background: #f8f8f8; }
      .evnt-list > div figure::before {
        content: "";
        display: block;
        padding-top: 61.8%;
        /* 高さを幅の75%に固定 */ }
      .evnt-list > div figure img {
        width: auto !important;
        height: auto !important;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        object-fit: cover;
        min-width: 100%;
        min-height: 100%; }
      .evnt-list > div figure img.-tall {
        min-width: inherit;
        width: auto !important;
        height: 100% !important; }
    .evnt-list > div p {
      margin: 1rem 0;
      line-height: 1.5;
      font-weight: bold; }
    .evnt-list > div time {
      font-family: 'Roboto', sans-serif;
      font-size: 0.85rem;
      color: #808080; }
  @media screen and (min-width: 1921px) {
    .evnt-list > div {
      width: 22%; } }
  @media screen and (max-width: 559px) {
    .evnt-list > div {
      width: 47%; } }

.article_body {
  *zoom: 1; }
  .article_body::before {
    content: " ";
    display: table; }
  .article_body::after {
    content: " ";
    display: table;
    clear: both; }

.wp-pagenavi {
  font-family: 'Zen Kaku Gothic New', sans-serif; }
  .wp-pagenavi a, .wp-pagenavi span {
    width: 2rem !important;
    line-height: 2rem !important;
    display: inline-block !important;
    text-align: center !important;
    font-size: 0.8rem !important;
    padding: 0px !important;
    box-sizing: border-box !important; }
  .wp-pagenavi .dots {
    border: none !important; }
  .wp-pagenavi .current {
    color: #005D91 !important;
    border: 1px solid #005D91 !important;
    background: #005D91 !important;
    color: #fff !important; }

.ex-form td input {
  width: 50%; }
.ex-form td textarea {
  width: 100%; }
.ex-form td input, .ex-form td textarea {
  border: 1px solid #808080;
  padding: 0.5rem; }
.ex-form th {
  width: 14rem; }
@media screen and (max-width: 959px) {
  .ex-form td, .ex-form th {
    display: block;
    width: 100%; }
    .ex-form td input, .ex-form th input {
      width: 100%; } }

.ex-form__btn {
  margin: 0 -5px; }
  .ex-form__btn form {
    display: inline-block; }
  .ex-form__btn input {
    display: inline-block;
    width: 15rem;
    text-align: center;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    padding: 1rem;
    border-radius: 5px;
    margin: 5px;
    color: #fff;
    background: #808080; }
    .ex-form__btn input:hover {
      cursor: pointer;
      opacity: 0.5; }
    .ex-form__btn input[type='submit'] {
      background: #005D91; }
    .ex-form__btn input[type='reset'], .ex-form__btn input.-rtn {
      background: #808080 !important; }
  @media screen and (max-width: 959px) {
    .ex-form__btn input {
      width: 100%; } }

iframe.youtube_full {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; }

.box-teacher {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-top: 1rem; }
  .box-teacher .-img {
    width: 110px; }
    .box-teacher .-img img {
      width: 100%;
      height: auto; }
  .box-teacher .-nam {
    width: calc(100% - 110px);
    padding-right: 3%; }
    .box-teacher .-nam p {
      font-size: 1rem;
      line-height: 2; }
      .box-teacher .-nam p span {
        display: block;
        font-size: 0.9rem; }
      .box-teacher .-nam p em {
        display: block;
        font-style: normal;
        font-size: 0.9rem; }
      .box-teacher .-nam p small {
        font-size: 0.8rem; }

bodr .res-box * {
  box-sizing: content-box !important; }

article div.res-box table {
  border-collapse: inherit; }
  article div.res-box table td, article div.res-box table th {
    border: none; }

.gsc-search-box {
  max-width: 480px; }

.gsc-control-cse {
  padding: 0px !important; }

.gsc-search-button-v2 {
  padding: 1rem 2rem !important; }

.gsc-input,
.gsc-result-info-container {
  padding-left: 0px; }

.gs-image-box {
  box-sizing: content-box; }

.label {
  font-style: normal;
  background: #e4e4e4;
  padding: 5px 12px;
  font-size: 12px;
  border-radius: 100px;
  display: table;
  margin-top: 6px;
  color: #4a4a4a; }

/*:入試インデックス*/
#index_mainbanner figure {
  margin-top: -6vw;
  margin-bottom: 0.5%;
  width: 100%;
  position: relative; }

#page_index_banner ul {
  display: flex;
  margin: 1rem 0; }
  #page_index_banner ul li {
    margin: 0 3% 0 0;
    list-style: none;
    position: relative;
    width: calc((100% / 3) - 2%); }
    #page_index_banner ul li:last-child {
      margin-right: 0; }
    #page_index_banner ul li a img {
      width: 100%;
      height: auto; }

#page_index_important {
  background: #E96466;
  padding: 2vw 2.5vw 3rem; }
  #page_index_important h3.important_ttl {
    color: #fff;
    font-size: 1.25rem;
    margin: 0 0 30px; }
  #page_index_important ul {
    border-top: 1px solid #fff;
    margin: 0; }
    #page_index_important ul li {
      margin: 0px;
      list-style: none;
      border-bottom: 1px solid #fff;
      position: relative; }
      #page_index_important ul li a {
        display: block;
        text-decoration: none;
        padding: 1.25rem 0; }
        #page_index_important ul li a span {
          position: absolute;
          left: 5px;
          top: 1.55rem;
          font-family: 'Roboto', sans-serif;
          font-size: 1rem;
          color: #fff; }
        #page_index_important ul li a p {
          font-size: 1.05rem;
          line-height: 2;
          margin: 0px;
          padding-left: 9rem;
          color: #fff; }

@media screen and (max-width: 559px) {
  #page_index_banner ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0.5rem 0 0.3rem; }
    #page_index_banner ul li {
      margin: 0 1% 1% 0;
      width: calc((100% / 2) - 1%); }
      #page_index_banner ul li:nth-child(2n) {
        margin-right: 0; }

  #page_index_important {
    padding: 2rem 2.5vw; }
    #page_index_important h3.important_ttl {
      color: #fff;
      font-size: 1.25rem;
      margin: 0 0 30px; }
    #page_index_important ul li a {
      display: block;
      text-decoration: none;
      padding: 1.25rem 0; }
      #page_index_important ul li a span {
        left: 0px;
        top: 0.5rem;
        font-size: 0.8rem;
        color: #fff; }
      #page_index_important ul li a p {
        padding: 0;
        padding-top: 1rem;
        font-size: 0.95rem; } }
/*:入試インデックス*/
