@charset "UTF-8";
/* =============================================
utility
============================================= */
.pc {
  display: block;
}
@media (max-width: 700px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 700px) {
  .sp {
    display: block;
  }
}

.d-flex {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 700px) {
  .reverse {
    flex-direction: column-reverse;
  }
}

.items-center {
  align-items: center;
}

.j-between {
  justify-content: space-between;
}

.j-center {
  justify-content: center;
}

.under-line {
  text-decoration: underline;
}

.sm-txt {
  font-size: 16px;
}
@media (max-width: 700px) {
  .sm-txt {
    font-size: 14px;
  }
}

.u-bold {
  font-weight: bold;
}

.u-red {
  color: #E3272D;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}
@media (max-width: 700px) {
  .mt30 {
    margin-top: 20px !important;
  }
}

@media (max-width: 700px) {
  .pb0-sp {
    padding-bottom: 0 !important;
  }
}

/* =============================================
common
============================================= */
.gradation {
  display: inline-block;
  background: linear-gradient(135deg, #b64535 0%, #db7a6e 100%);
  background: -webkit-linear-gradient(-45deg, #b64535 0%, #db7a6e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.grad-red {
  display: inline-block;
  background: linear-gradient(135deg, #b64535 0%, #db7a6e 100%);
  background: -webkit-linear-gradient(-45deg, #b64535 0%, #db7a6e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bg-white {
  background: white;
  padding: 50px;
  margin-bottom: 40px;
}
@media (max-width: 700px) {
  .bg-white {
    padding: 30px 15px;
  }
}

.bg-gray {
  background: #F2F2F2;
}

.btn__container {
  display: flex;
  justify-content: center;
  max-width: 1200px;
  margin: 40px auto 0;
  flex-wrap: wrap;
}
@media (max-width: 700px) {
  .btn__container {
    margin: 20px auto 0;
  }
}
.btn__container.mg0 {
  margin: 0px auto;
}
.btn__container.left {
  justify-content: start;
}
@media (max-width: 700px) {
  .btn__container.left {
    justify-content: center;
  }
}
.btn__container .btn {
  padding: 0 30px;
  width: 100%;
  max-width: 400px;
}

.btn__container a {
  color: white;
  font-size: 19px;
  font-weight: 500;
  padding: 20px;
  width: 360px;
  text-align: center;
  display: block;
  position: relative;
  text-indent: -1rem;
}
@media (max-width: 700px) {
  .btn__container .mail a {
    padding: 10px 20px;
    width: 200px;
    font-size: 16px;
    text-indent: 0;
  }
}
@media (max-width: 700px) {
  .btn__container .mail {
    margin-bottom: 20px;
  }
}
.btn__container .btn__ryosan {
  background: #0542b1;
}
.btn__container .btn__jitsuyo {
  background: #0587c3;
}
.btn__container .btn__contact a {
  background: #fff;
  color: #132c4b;
}
.btn__container a::after {
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  background: url(../img/arrow-white.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.btn__container .btn__simple {
  height: 70px;
  margin-top: auto;
}
.btn__container .btn__simple a {
  text-indent: 0;
}
.btn__container .btn__contact a::after {
  background: url(../img/arrow-black.png) no-repeat;
  content: "";
  display: block;
  height: 14px;
  width: 14px;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
}
.btn__container .btn__simple a::after,
.btn__container .mail a::after {
  content: none;
}
.btn__container .btn__green,
.btn__container .btn__blue {
  margin: 10px 30px;
}
@media (max-width: 700px) {
  .btn__container .btn__green a,
  .btn__container .btn__blue a {
    margin: 10px auto;
  }
}
.btn__container .btn__green a,
.btn__container .btn__blue a {
  color: white;
  font-size: 20px;
  font-weight: bold;
  padding: 20px;
  width: 480px;
  text-align: center;
  display: block;
  position: relative;
}
@media (max-width: 700px) {
  .btn__container .btn__green a,
  .btn__container .btn__blue a {
    font-size: 16px;
    width: 380px;
  }
}
.btn__container .btn__green a::after,
.btn__container .btn__blue a::after {
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  background: url(../img/arrow-white.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
.btn__container .btn__green a {
  background: linear-gradient(50deg, #2bc501, #9ade27);
}
.btn__container .btn__blue a {
  background: linear-gradient(50deg, #4169af, #669cd0);
}
.btn__container .btn__sm {
  width: 200px !important;
  border-radius: 10px;
  height: 70px;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
@media (max-width: 700px) {
  .btn__container .btn__sm {
    border-radius: 5px;
    font-size: 16px !important;
    height: 60px;
  }
}
.btn__container .btn__round {
  margin: 0 15px 10px;
}
.btn__container .btn__round a.blue {
  color: white;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 60px 10px 20px;
  text-align: center;
  display: block;
  position: relative;
  background: linear-gradient(50deg, #4169af, #669cd0);
  min-width: 300px;
  border-radius: 10px;
}
@media (max-width: 700px) {
  .btn__container .btn__round a.blue {
    font-size: 16px;
  }
}
.btn__container .btn__round a.blue::after {
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  background: url(../img/arrow-white02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
}
.link__container {
  display: flex;
  margin: 40px 60px 0;
  padding-bottom: 20px; 
}
@media (max-width: 700px) {
  .link__container {
    flex-flow: column;
    margin-top: 40px; 
  }
}
.link__container .link__info,
.link__container .btn__container {
  width: 50%;
  margin: 0 auto;
}
@media (max-width: 700px) {
  .link__container .link__info,
  .link__container .btn__container {
    width: 100%;
  }
}
.link__container .link__info {
  font-weight: 500;
  padding-left: 50px;
  font-size: 20px;
  line-height: 1.7;
/*  text-indent: -1rem; */
}
@media (max-width: 700px) {
  .link__container .link__info {
    padding: 0;
    font-size: 16px;
    margin-bottom: 30px;
    text-align: center;
  }
}

.section-schedule .link__container .link__info,
.section-event .link__container .link__info {
  text-indent: -1rem;
}
.link__container .link__info .info_ttl {
  text-indent: 0;
}
.txt-green {
  display: inline-block;
  background: linear-gradient(135deg, #69a062 0%, #abcc61 100%);
  background: -webkit-linear-gradient(-45deg, #69a062 0%, #abcc61 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.txt-blue {
  display: inline-block;
  background: linear-gradient(135deg, #4169af, #669cd0 100%);
  background: -webkit-linear-gradient(-45deg, #4169af, #669cd0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* =============================================
element
============================================= */
* {
  line-height: 1.5;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}

ul {
  list-style-type: none;
}

li {
  text-indent: -16px;
  padding-left: 16px;
  margin-top: 10px;
}
@media (max-width: 700px) {
  li {
    text-indent: -14px;
    padding-left: 14px;
  }
}

p {
  font-size: 20px;
}
@media (max-width: 700px) {
  p {
    font-size: 14px;
  }
}
@media (max-width: 700px) {
  .contact__txt p {
    font-size: 15px;
  }
}
img {
  width: 100%;
  vertical-align: bottom;
}

main {
  overflow-x: hidden;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 700px) {
  .container {
    padding: 0 15px;
  }
}

.section__ttl {
  font-size: 60px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 40px;
  color: #0a447c;
}
@media (max-width: 700px) {
  .section__ttl {
    font-size: 32px;
    margin-bottom: 0;
    margin-top: 20px;
  }
}
.section-contact .contact__txt .section__ttl {
  color: #fff;
  text-align: center;
}
.section__sub-ttl {
  font-size: 20px;
  color: black;
  margin: 0 auto;
  padding-bottom: 0.8rem;
  width: 140px;
  border-bottom: 3px solid #9ade27;
}
@media (max-width: 700px) {
  .section__sub-ttl {
    font-size: 16px;
  }
}
.contact__txt .section__sub-ttl {
  border-bottom: none;
  width: 260px;
  color: #fff;  
}



a {
  color: black;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
  cursor: pointer;
}

section {
  padding: 40px 0;
}
@media (max-width: 700px) {
  section {
    padding: 30px 0;
  }
}

main {
  padding-top: 100px;
}
@media (max-width: 700px) {
  main {
    padding-top: 80px;
  }
}

/* =============================================
page-original
============================================= */
.section-mv {
  position: relative;
  padding: 0;
  background: #053973;
}
.section-mv .mv__container {
/*  max-width: 1600px; */
  margin: 0 auto;
}
@media (max-width: 700px) {
  .section-mv .mv__container {
/*    padding: 40px 0 20px; */
  }
}
.bnr-news {
  position: absolute;
  right: 0;
  display: flex;
  background: linear-gradient(90deg, #b64535, #cd7267);
  color: white;
  padding: 10px;
  align-items: center;
  font-weight: bold;
  bottom: -80px;
  z-index: 10;
}
@media (max-width: 700px) {
  .bnr-news {
    position: relative;
    bottom: -50px;
    margin: 0 10px;
    margin-top: -50px;
  }
}
.bnr-news .btn-news__ttl {
  font-size: 20px;
  text-align: center;
  border-right: 2px solid white;
  padding: 10px;
}
@media (max-width: 700px) {
  .bnr-news .btn-news__ttl {
    font-size: 14px;
    padding: 0 10px 0 0;
  }
}
.bnr-news .text-sm {
  font-size: 16px;
}
@media (max-width: 700px) {
  .bnr-news .text-sm {
    font-size: 12px;
  }
}
.bnr-news .bnr-news__date {
  padding-left: 10px;
  font-size: 20px;
  letter-spacing: 3px;
}
@media (max-width: 700px) {
  .bnr-news .bnr-news__date {
    font-size: 14px;
  }
}
.bnr-news .number {
  font-size: 32px;
}
@media (max-width: 700px) {
  .bnr-news .number {
    font-size: 20px;
  }
}

.section-gaiyou {
  margin-bottom: 60px;
}
@media (max-width: 700px) {
  .section-gaiyou {
    margin-bottom: 40px;
    margin-top: 100px;
  }
}
.section-gaiyou .gaiyou__container {
  background: #f7ebeb;
  width: 80%;
  padding: 50px 30px 30px 40px;
  position: relative;
}
@media (max-width: 700px) {
  .section-gaiyou .gaiyou__container {
    width: 100%;
    padding: 50px 20px 30px 20px;
  }
}
.section-gaiyou .border-left {
  border-left: 4px solid #b64534;
  padding-left: 20px;
  margin-top: -80px;
}
@media (max-width: 700px) {
  .section-gaiyou .border-left {
    margin-top: -65px;
  }
}
.section-gaiyou .gaiyou__ttl {
  font-size: 32px;
  font-weight: bold;
  color: #b64534;
  padding-bottom: 20px;
}
@media (max-width: 700px) {
  .section-gaiyou .gaiyou__ttl {
    font-size: 20px;
    padding-bottom: 10px;
  }
}

.section-news {
  background: #e5ecf3;
}
.section-news .news__article a {
  background: white;
  padding: 20px;
  display: flex;
  margin-bottom: 10px;
  font-weight: bold;
  position: relative;
  flex-wrap: wrap;
}
.section-news .news__article a::before {
  content: "";
  position: absolute;
  right: 20px;
  width: 20px;
  height: 20px;
  background: url(../img/arrow-black.png) no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 700px) {
  .section-news .news__article a::before {
    right: 5px;
  }
}
.section-news .news__date {
  min-width: 240px;
}
@media (max-width: 700px) {
  .section-news .news__date {
    margin-bottom: 5px;
    font-size: 14px;
    width: 100%;
  }
}
@media (max-width: 700px) {
  .section-news .news__ttl {
    font-size: 14px;
  }
}
.section-news .news__ttl {
    padding-right: 2em;
}
.section-overview {
/*  background: #f7eded; */
}
.section-overview .overview__container {
/*  background: white;
  padding: 50px 30px 30px 40px; */
  padding-top: 50px;
  height: 480px;
  position: relative;
}
@media (max-width: 700px) {
  .section-overview .overview__container {
    padding: 0 30px 100px 0;
    height: auto;
  }
}
@media (max-width: 700px) {
  .section-overview .overview__container.overview02 {
    padding: 0 0 100px 30px;
    height: auto;
  }
}
.card-white {
  z-index: 100;
  width: 63%;
  padding: 50px;
  background: url(../img/deco-green.png) white no-repeat;
  box-shadow: 0 0 2px gray;
}
@media (max-width: 700px) {
  .card-white {
    z-index: 100;
    width: calc(100% - 10px);
    padding: 30px;
  }
}
.section-about .card-white {
  width: 100%;
}

.section-overview .overview02 .card-white {
  margin-left: auto;
  margin-top: 30px;
}
@media (max-width: 700px) {
  .section-overview .overview02 .card-white {
    margin-left: auto;
    margin-top: 0;
  }
}
.section-about .overview__ttl,
.section-overview .overview__ttl {
  font-size: 28px;
  font-weight: 500;
  color: #0a447c;
  padding-bottom: 20px;
}
@media (max-width: 700px) {
  .section-about .overview__ttl,
  .section-overview .overview__ttl {
    font-size: 20px;
    padding-bottom: 10px;
  }
}

@media (max-width: 700px) {
  .section-overview .overview__txt {
    font-size: 14px;
  }
}
.section-overview .overview01 {
  background: url(../img/overview_img01.png) right top no-repeat;
  background-size: 730px;
}
@media (max-width: 700px) {
  .section-overview .overview01 {
    margin-top: 40px;
    background: url(../img/overview_img01.png) right bottom no-repeat;
    background-size: 90% 80%;
  }
}
@media (max-width: 700px) {
  .section-overview .overview01 {
    width: 100%;
  }
}
.section-overview .overview02 {
  margin-left: auto;
  background: url(../img/overview_img02.png) no-repeat;
  background-size: 730px;
}
@media (max-width: 700px) {
  .section-overview .overview02 {
    width: 100%;
    margin-top: 40px;
    background: url(../img/overview_img02.png) left bottom no-repeat;
    background-size: 90% 90%;;
  }
}

.text_navy {
  font-size: 28px;
  font-weight: 500;
  color: #0a447c; 
  text-align: center;
}
@media (max-width: 700px) {
  .text_navy {
    font-size: 1rem;
    margin-top: 40px;
  }
}
.text_red {
  font-weight: 500;
  color: #f41111;
  padding-bottom: 0.5rem;
}
.text_bold {
  font-weight: 500;
}
.text_large {
  font-size: 1.5rem;
}
@media (max-width: 700px) {
  .text_large {
    font-size: 1.3rem;
  }
}
.bg_inner {
  padding: 30px;
}

.section-overview .overview__tbl {
  width: 800px;
  margin: 80px auto;
  overflow-y: scroll;
}
@media (max-width: 700px) {
  .section-overview .overview__tbl {
    width: 100%;
    margin: 30px auto;
  }
}
.section-overview .overview__tbl th {
  width: 220px;
}
@media (max-width: 700px) {
.section-overview .overview__tbl th {
  width: 40%;
}
}
.section-overview .overview__tbl th,
.section-overview .overview__tbl td {
  border: 2px solid #d9d9d9;
  border-collapse: collapse;
  font-weight: 400;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}


.section-overview .course__ttl {
  padding: 5px 20px;
  margin: 100px auto 30px;
  font-size: 32px;
  font-weight: 500;
  color: #1a2a5e;
  line-height: 2.2;
  text-align: center;
}
@media (max-width: 700px) {
  .section-overview .course__ttl {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
.section-overview .course__ttl .number {
  width: 100px;
}
@media (max-width: 700px) {
  .section-overview .course__ttl .number {
    width: 60px;
  }
}
.section-overview .overview__md-txt {
  font-size: 24px;
  margin-bottom: 30px;
  padding-left: 30px;
  font-weight: bold;
}
@media (max-width: 700px) {
  .section-overview .overview__md-txt {
    font-size: 16px;
    padding-left: 0;
    margin-bottom: 20px;
  }
}
.section-overview .overview__img {
  width: 760px;
  margin: 0 auto;
}
.section-overview .overview__img.table {
  overflow: auto;
}
.section-overview .overview__img.table img {
  min-width: 700px;
}
.section-overview .overview__img.pd {
/*  padding: 20px; */
}
@media (max-width: 700px) {
  .section-overview .overview__img.pd {
    padding: 0;
  }
}
@media (max-width: 700px) {
  .section-overview .overview__img {
    max-width: 100%;
    margin: 0 auto;
  }
}
.section-overview .overview__btn-txt {
  font-size: 32px;
  padding: 30px 0;
  text-align: center;
  font-weight: bold;
}
@media (max-width: 700px) {
  .section-overview .overview__btn-txt {
    font-size: 20px;
    padding: 0;
  }
}

.section-schedule .schedule__img {
  margin-bottom: 30px;
  overflow: auto;
  width: 85%;
  /*  width: fit-content; */
  margin: 60px 10% 40px auto;
}
.section-schedule .schedule__img img {
  min-width: 600px;
}
@media (max-width: 700px) {
  .section-schedule .schedule__img {
    margin-bottom: 20px;
  }
}
.section-office {
  background: linear-gradient(#ffffff 0%, #93aec6 100%);
  padding: 100px 0;
}
@media (max-width: 700px) {
  .section-office {
    background: linear-gradient(#ffffff 40%, #93aec6 100%);
    padding: 60px 0;
  }
}
.section-office .office__ttl {
  background-color: #053973;
  padding: 20px 0;
  color: white;
  font-weight: bold;
  font-size: 20px;
  margin-right: 20px;
  text-align: center;
  min-width: 250px;
}
@media (max-width: 700px) {
  .section-office .office__ttl {
    font-size: 16px;
    min-width: auto;
    width: 100%;
    padding: 5px;
    margin-right: 0;
    margin-top: 20px;
  }
}
.section-office .office__txt {
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  width: calc(100% - 301px);
}
@media (max-width: 700px) {
  .section-office .office__txt {
    font-size: 14px;
    line-height: 1.8;
    width: 100%;
  }
}
.section-office .table-row {
  margin-bottom: 40px;
}
@media (max-width: 700px) {
  .section-office .table-row {
    margin-bottom: 0;
  }
  .section-office .table-row:first-of-type .office__ttl {
    margin-top: 0;
  }
}
.section-office .office__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.section-office .md-txt {
  font-size: 18px;
  margin-bottom: 30px;
}
@media (max-width: 700px) {
  .section-office .md-txt {
    font-size: 14px;
  }
}

.section-information {
  background: #f1f1f1;
}

.section-links {
  background: #f1f1f1;
}

.section-contact {
  background: url(../img/contact-bg.png) no-repeat;
  background-position: bottom;
  background-size: cover;
}
@media (max-width: 700px) {
  .section-contact {
    background: url(../img/contact-bg_sp.png) no-repeat;
    padding: 0;
    background-size: cover;
  }
}
.section-contact .contact__img {
  width: 50%;
}
@media (max-width: 700px) {
  .section-contact .contact__img {
    width: 100%;
    margin-top: 20px;
  }
}
.section-contact .contact__img img {
  max-height: 400px;
  object-fit: contain;
}
@media (max-width: 700px) {
  .section-contact .contact__img img {
    max-height: 170px;
  }
}
.section-contact .contact__txt {
  color: #fff;
  width: 50%;
  margin-left: auto;
}
@media (max-width: 700px) {
  .section-contact .contact__txt {
    width: 65%;
  }
}

.section-footer {
  padding: 40px 0;
  border-top: 1px solid rgba(204, 204, 204, 0.8);
}
@media (max-width: 700px) {
  .section-footer {
    padding: 0 0 30px;
  }
}
.section-footer .footer__logo {
  width: 20%;
}
@media (max-width: 700px) {
  .section-footer .footer__logo {
    width: 100%;
    max-width: 200px;
  }
}
.section-footer .footer__txt {
  width: 75%;
}
.section-footer .footer__copy {
	width: 100%;
	margin-top:30px;
	color:#666;
	text-align: center;
	font-size: .8rem
}
.section-footer .footer__policy {
  width: 100%;
	text-align: right;
	font-size: 1rem
}
@media (max-width: 700px) {
  .section-footer .footer__txt {
    width: 100%;
  }
  .section-footer .footer__txt p {
    font-size: 12px;
  }
}
.section-event div.event_img {
  margin: 80px auto;
  text-align: center;
}
@media (max-width: 700px) {
  .section-event div.event_img {
    overflow-x: auto;
  }
}
.section-event img {
  width: fit-content;
}
@media all and (-ms-high-contrast: none) { /* IEモード対応 */
  .section-event img  {
    width: 735px; 
  }
}

/* =============================================
ハンバーガーメニュー
============================================= */
#toggle {
  position: fixed;
  top: 25px;
  right: 25px;
  display: none;
  z-index: 1000000;
}

@media (max-width: 1240px) {
  #toggle {
    display: block;
  }
}
#toggle-box {
  position: relative;
  width: 36px;
  height: 32px;
  cursor: pointer;
}

#toggle-box > span {
  width: 100%;
  height: 2px;
  left: 0;
  display: block;
  background: #000;
  position: absolute;
  transition: transform 0.6s ease-in-out, top 0.5s ease, bottom 0.5s ease;
}

#toggle-box > span:nth-child(1) {
  top: 0;
}

#toggle-box > span:nth-child(2) {
  top: 50%;
  transform: translatey(-50%);
}

#toggle-box > span:nth-child(3) {
  bottom: 0;
}

#main {
  position: relative;
  z-index: 100;
}

#nav-content {
  padding-top: 80px;
  padding-bottom: 50px;
  z-index: 1000000;
  overflow: auto;
  width: 300px;
  height: 100%;
  background: #dee5eb;
  color: black;
  position: fixed;
  top: 0;
  right: 0;
  text-align: center;
  transform: translateX(100%);
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#nav-content li a {
  position: relative;
}
#nav-content li a::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: url(../img/arrow-black.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

#nav-content ul {
  list-style: none;
  text-align: left;
}

.nav-parent {
  padding-left: 20px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.nav-child {
  font-size: 14px;
}

#nav-content a {
  display: block;
  color: black;
  text-decoration: none;
  padding: 10px 10px 10px 30px;
  transition: opacity 0.6s ease;
}
@media (max-width: 700px) {
#nav-content, #nav-content a {
  color: #0a447c;
  font-weight: 500;
}
}
#nav-content a:hover {
  opacity: 0.6;
}

.is-open {
  overflow: hidden;
}

.is-open #toggle-box > span {
  background: black;
}

.is-open #toggle-box > span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg) translatey(-50%);
}

.is-open #toggle-box > span:nth-child(2) {
  width: 0;
}

.is-open #toggle-box > span:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg) translatey(-50%);
}

.is-open #nav-content {
  z-index: 999;
  transform: translateX(0);
}

.overlay {
  background: rgba(0, 0, 0, 0.5);
  height: 100vh;
  position: fixed !important;
  width: 100%;
}

/* =============================================
ヘッダー
============================================= */
.dropdown__lists {
  display: none;
  /*デフォルトでは非表示の状態にしておく*/
  width: max-content;
  min-width: 180px;
  position: absolute;
  top: 80px;
  left: 0;
}
@media (max-width: 1600px) {
  .dropdown__lists {
    top: 70px;
    z-index:1000;
  }
}

.gnavi__list:hover .dropdown__lists {
  display: block;
  /*Gナビメニューにホバーしたら表示*/
}

.dropdown__list {
  background-color: #f1f1f1;
  transition: all 0.3s;
  position: relative;
}

.dropdown__list:not(:first-child)::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
}

.dropdown__list:hover {
  background-color: rgb(225, 225, 225);
}

.dropdown__list a {
  display: flex;
  align-items: center;
  color: black;
  text-decoration: none;
  position: relative;
  padding: 15px 40px 15px 20px !important;
}

header {
  position: fixed;
  width: 100%;
  background: white;
  z-index: 1000;
}
@media (max-width: 700px) {
  header {
    height: 80px;
  }
}
header .gnavi__wrap {
  display: flex;
  align-items: center;
}
@media (max-width: 1240px) {
  header .gnavi__wrap {
    display: none;
  }

}
header .header__container {
  padding: 0 10px;
}
header .header__logo {
  width: 200px;
}
@media (max-width: 700px) {
  header .header__logo {
    width: 170px;
  }
}
header .gnavi__lists {
  display: flex;
  align-items: center;
}
@media (min-width: 1239px) {
  header .gnavi__wrap {
  width: calc(100% - 200px);
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-bottom: 1em;
}
}
header .gnavi__lists li:nth-of-type(6),
header .gnavi__lists li:nth-of-type(7) {
      padding-right: 20px;
    }
header .gnavi__lists a {
  padding: 30px 10px;
}
header .gnavi__list {
  padding: 30px 20px;
}
header .header__btn {
  display: flex;
  align-items: center;
}
header .header__btn .sns {
  width: 30px;
  margin: 5px 5px 0;
}
header .header__btn .sns a {
  display: block;
}
header li {
  margin-top: 0;
  text-indent: 0;
  padding-left: 0;
  position: relative;
}
header .tokyo {
  margin-left: 20px;
  margin-right: 20px;
}
header .tokyo a {
  background: #e5ecf3;
  padding: 4px 16px 5px;
  border-radius: 50px;
}
@media (max-width: 700px) {
  header #nav-content .tokyo a {
    background: #174e83;
    color: #fff;
  }
}
/*
header .tokyo a::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(../img/icon-copy.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}*/
header .ham__sns-container {
  display: flex;
  padding-left: 20px;
}
@media (max-width: 700px) {
  header .ham__sns-container {
    margin: 3rem auto 2rem;
  }
}
header .ham__sns {
  width: 30px;
  margin: 5px;
}
header .ham__sns a {
  padding: 0 !important;
}

/* =============================================
パーツ
============================================= */
.section-top {
  position: relative;
  text-align: center;
  margin-bottom: 30px;

}
.top_bg {

}
.section-top .top__img.sm {
  width: 180px;
}
.section-top .top__ttl {
  font-size: 50px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 45%;
  width: 100%;
}
@media (max-width: 700px) {
  .section-top .top__ttl {
    top: 40%;
    font-size: 32px;
  }
}
.section-mv .top__ttl {
  font-size: 4vw;
  /* font-size: 58px; */
  font-weight: 500;
  color: #fff;
  position: absolute;
  top: 15%; 
/*  left: 15%; */
  left: 3%;
  
}
@media (max-width: 700px) {
  .section-mv .top__ttl {
    font-size: 32px;
    left: 8%;
    top: 12%;
  }
}
/*
.section-mv .top__txt {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  position: absolute;
  top: 43%;
  left: 15%;
  width: 30%;
  line-height: 1.7;
}
@media (max-width: 700px) {
  .section-mv .top__txt {
    width: 84%;
    top: 36%;
    left: 8%;
  }
}*/
.section-mv .sub__ttl {
  font-size:calc(1.75vw);
/*  font-size: 24px; */
  font-weight: 400;
  color: #013266;
  position: absolute;
  top: 67%;
  left: 3%;
}
@media (max-width: 700px) {
  .section-mv .sub__ttl {
    top: 59%;
    left: 8%;
    font-size: 1.2rem;
  }
}
.section-mv .sub__txt {
  font-size: calc(1.85vw);
  /* font-size: 30px; */
  font-weight: 500;
  color: #013266;
  position: absolute;
  top: 68%;
  left: 15%;
  line-height: 1.7;
  padding-top: 0.5rem;
}
@media (max-width: 700px) {
  .section-mv .sub__txt {
    top: 67%;
    left: 8%;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
  }
}
.section-mv .schedule__txt {
  font-size: calc(1.35vw);
  /* font-size: 21px; */
  padding-left: 1.5rem;
  font-weight: 600;
}
@media (max-width: 700px) {
  .section-mv .schedule__txt {
    font-size: 16px;
    padding: 0;
    margin-bottom: 5px;
    line-height: 2;
  }
}



.content__ttl {
  color: white;
  font-size: 24px;
  padding: 10px 20px;
  margin-bottom: 20px;
}
@media (max-width: 700px) {
  .content__ttl {
    font-size: 18px;
  }
}
@media (max-width: 700px) {
  .news__article,
  .section-office .md-txt {
    margin-top: 40px;
  }
}



.bg_ryosan {
  background: linear-gradient(135deg, #0542b2 0%, #2f78f2 100%);
}
.bg_jitsuyo {
  background: linear-gradient(135deg, #1d73a7 0%, #059be1 100%);
}


.contents__container.type01 {
  padding-left: 50px;
}
@media (max-width: 700px) {
  .contents__container.type01 {
    padding-left: 0;
  }
}

.content__sub-ttl {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 5px;
  margin-bottom: 10px;
  margin-top: 20px;
}
@media (max-width: 700px) {
  .content__sub-ttl {
    font-size: 16px;
  }
}
.content__sub-ttl.border_ryosan {
  border-bottom: 4px solid;
  border-image: linear-gradient(135deg, #0542b2 0%, #2f78f2 100%);
  border-image-slice: 1;
}
.border_jitsuyo {
  border-bottom: 2px solid;
  border-image: linear-gradient(135deg, #1d73a7 0%, #059be1 100%);
  border-image-slice: 1;
}
.content__sub-ttl.border_jitsuyo {
  border-bottom: 4px solid;
  border-image: linear-gradient(135deg, #1d73a7 0%, #059be1 100%);
  border-image-slice: 1;
}

.bg_navy {
  background: #053973;
}

.border-red {
  border-bottom: 4px solid #c85c50;
  border-image: linear-gradient(to right, #c85c50 0%, #e48b7e 100%);
  border-image-slice: 1;
}

.green__ttl {
  font-size: 24px;
  margin-top: 30px;
  margin-bottom: 20px;
  color: #009245;
  font-weight: bold;
}
@media (max-width: 700px) {
  .green__ttl {
    font-size: 18px;
  }
}

.blue__ttl {
  font-size: 24px;
  margin-top: 30px;
  margin-bottom: 20px;
  color: #5683c4;
  font-weight: bold;
}
@media (max-width: 700px) {
  .blue__ttl {
    font-size: 18px;
  }
}

.table__type01 {
  border: 1px solid #39B54A;
  background: white;
  margin-top: 30px;
}
.table__type01 .table__row {
  display: flex;
  flex-wrap: wrap;
}
.table__type01 .table__row:nth-of-type(even) {
  background: #f5fdf5;
}
@media (max-width: 700px) {
  .table__type01 .table__row {
    padding: 30px 20px;
  }
}
.table__type01 .table__left {
  width: 40%;
  padding: 30px;
}
@media (max-width: 700px) {
  .table__type01 .table__left {
    width: 100%;
    padding: 0px;
  }
}
.table__type01 .table__right {
  width: 60%;
  padding: 30px;
}
@media (max-width: 700px) {
  .table__type01 .table__right {
    width: 100%;
    padding: 0px;
  }
}
.table__type01 .table__ttl {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 700px) {
  .table__type01 .table__ttl {
    font-size: 18px;
  }
}
.table__type01 .table__icon {
  max-width: 150px;
  margin: 20px auto;
}
@media (max-width: 700px) {
  .table__type01 .table__icon {
    width: 100px;
  }
}
.table__type01 .table__sub-ttl {
  font-size: 18px;
  color: white;
  background: linear-gradient(135deg, #69a062 0%, #abcc61 100%);
  padding: 5px 20px;
}
@media (max-width: 700px) {
  .table__type01 .table__sub-ttl {
    font-size: 16px;
    padding: 2px 20px;
  }
}
.table__type01 .table__text {
  margin: 10px 20px 20px;
  font-size: 18px;
}
@media (max-width: 700px) {
  .table__type01 .table__text {
    font-size: 14px;
    margin: 10px 0px 20px 20px;
  }
}
.table__type01 li {
  margin-top: 5px;
}
@media (max-width: 700px) {
  .table__type01 li {
    font-size: 14px;
  }
}
.table__type01 li:first-of-type {
  margin-top: 10px;
}

.table__type02 {
  margin: 30px;
  font-size: 20px;
  color: #132c4b;
  font-weight: 500;
}
@media (max-width: 700px) {
  .table__type02 {
    margin: 30px 0;
    font-size: inherit;
    color: #132c4b;
    font-weight: 500;
  }
}
.table__type02 .table__row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.table__type02 .table__ttl {
  width: 15%;
  text-align: center;
  color: #132c4b;
  background: #dee5eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}
@media (max-width: 700px) {
  .table__type02 .table__ttl {
    width: 100%;
    padding: 3px;
  }
}
.table__type02 .table__txt {
  padding: 20px;
  width: 70%;
}
@media (max-width: 700px) {
  .table__type02 .table__txt {
    width: 100%;
    padding: 5px 10px 0;
  }
}
.table__type02 .table__lists {
  padding: 0 20px;
  width: 70%;
}
@media (max-width: 700px) {
  .table__type02 .table__lists {
    width: 100%;
    padding: 0 10px;
  }
}
.table__type02 .table__lists .table__list {
  display: flex;
  border-bottom: 1px solid #DEE5EB;
  padding: 20px 0px 10px;
}
.table__type02 .table__lists .table__list:last-of-type {
  border-bottom: none;
}
.table__type02 .table__lists li {
  margin-top: 0;
  margin-bottom: 10px;
}
@media (max-width: 700px) {
  .table__type02 .table__lists li {
    margin-bottom: 5px;
  }
}
@media (max-width: 700px) {
  .table__type02 .table__lists .table__list-ul li {
    font-size: 14px;
  }
}
.table__type02 .table__lists .table__list-ttl {
  min-width: 200px;
}
@media (max-width: 700px) {
  .table__type02 .table__lists .table__list-ttl {
    font-size: 14px;
    min-width: 100px;
  }
}

.map__img {
  max-width: 500px;
  margin: 0 auto;
}

.btn__dl {
  margin: 40px;
}
@media (max-width: 700px) {
.btn__dl {
  margin: 10px auto;
}
}
.btn__dl a {
  color: white;
  font-size: 20px;
  font-weight: 500;
  padding: 10px 40px 10px 20px;
  text-align: center;
  display: block;
  position: relative;
  text-indent: 0;
  width: 300px;
}
.btn__dl a.ryosan {
  background: linear-gradient(135deg, #0542b2 0%, #2f78f2 100%);
}
.btn__dl a.jitsuyo {
  background: linear-gradient(135deg, #1d73a7 0%, #059be1 100%);
}
@media (max-width: 700px) {
  .btn__dl a {
    font-size: 16px;
  }
}



.btn__dl a::after {
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  background: url(../img/arrow-white02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
}
.exam__ul {
  margin-bottom: 20px;
}
.exam__ul .ul__ttl {
  color: #4169af;
}

.table__type03 {
  border: 1px solid #c85c50;
  max-width: 800px;
  margin: 30px auto;
}
.table__type03 .table__number {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 3px;
}
.table__type03 .table__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding: 20px 20px 0 20px;
}
@media (max-width: 700px) {
  .table__type03 .table__container {
    padding: 20px 0;
  }
}
.table__type03 .table__row {
  padding: 30px 50px;
  margin-bottom: 0;
}
@media (max-width: 700px) {
  .table__type03 .table__row {
    padding: 20px 20px 0 20px;
  }
}
.table__type03 .table__row:nth-of-type(even) {
  background: #f9eceb;
}
.table__type03 .table__info {
  font-size: 18px;
  width: 60%;
}
@media (max-width: 700px) {
  .table__type03 .table__info {
    width: 100%;
    font-size: 14px;
  }
}
.table__type03 .btn__container {
  width: 40%;
}
@media (max-width: 700px) {
  .table__type03 .btn__container {
    width: 100%;
    margin-top: 20px;
  }
}

.table__type04 {
  border: 1px solid #c85c50;
  max-width: 800px;
  margin: 30px auto;
}
.table__type04 .table__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 10px;
}
.table__type04 .table__row:nth-of-type(odd) {
  background: #f9eceb;
}
@media (max-width: 700px) {
  .table__type04 .table__row {
    padding: 10px 0;
  }
}
.table__type04 .table__ttl {
  min-width: 150px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 20px;
}
@media (max-width: 700px) {
  .table__type04 .table__ttl {
    min-width: 80px;
    font-size: 14px;
    padding: 0;
  }
}
.table__type04 .table__txt {
  width: 100%;
  padding: 0 20px 0 40px;
  font-size: 18px;
  font-weight: bold;
  border-left: 1px solid #c85c50;
}
.table__type04 .table__txt.pd {
  padding: 20px 20px 20px 40px;
}
@media (max-width: 700px) {
  .table__type04 .table__txt {
    padding: 20px;
    font-size: 14px;
  }
}

.faq__links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.faq__links a {
  border: 2px solid #0A447C;
  color: #0A447C;
  display: block;
  text-align: center;
  padding: 5px 0;
  background: white;
  font-size: 14px;
  font-weight: 500;
  text-indent: -1rem;
}
.faq__link {
  width: 30%;
  margin: 10px;
  position: relative;
}
.faq__link::after {
  content: "";
  display: block;
  height: 8px;
  width: 12px;
  background: url(../img/arrow-black2.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
@media (max-width: 1000px) {
  .faq__link {
    width: 100%;
    margin: 5px;
    max-width: 500px;
  }
}

.faq__container {
  background: white;
  padding: 30px 20px 30px 70px;
  margin-bottom: 30px;
}
@media (max-width: 700px) {
  .faq__container {
    padding: 20px;
  }
}

.faq__ttl {
  position: relative;
  margin-bottom: 20px;
  font-weight: bold;
}
@media (max-width: 700px) {
  .faq__ttl {
    margin-left: 50px;
    margin-bottom: 20px;
    margin-top: 10px;
  }
}
.faq__ttl.faq-q::before {
  content: "";
  display: block;
  height: 40px;
  width: 40px;
  background: url(../img/faq-q.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -7px;
  left: -50px;
}
.faq__txt {
  padding: 20px 20px 20px 50px;
  position: relative;
}
.faq__txt.faq-a {
  background: #E5ECF3;
}
.faq__txt.faq-a::before {
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  background: url(../img/faq-a.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 15px;
  left: 10px;
}
.faq__section {
  padding: 30px 20px 100px;
}
.maintenance {
  padding: 200px 100px;
  margin-bottom: 80px;
  font-weight: 500;
}
@media (max-width: 700px) {
  .maintenance {
    padding: 100px 20px;
  }
}



.section-links .link__ttl {
  font-size: 20px;
  font-weight: bold;
}
.section-links .links {
  margin-bottom: 30px;
}
.section-links a {
  color: #4169af;
}

@media (max-width: 700px) {
  .target__img {
    max-width: 300px;
    margin: 0 auto;
  }
}

.img__map {
  margin-top: 20px;
}

.empty {
  text-align: center;
  padding: 200px 0;
}

.no-click {
  pointer-events: none;
}

.no-click::before {
  display: none;
}/*# sourceMappingURL=style.css.map */


/*サイトポリシー*/
.policy__ttl {
	font-size: 32px;
	font-weight: bold;
	color: #b64534;
	padding: 5px 20px;
	border-left: 4px solid #b64534;
	margin-bottom: 30px;
}
@media (max-width: 700px) {
  .policy__ttl {
    font-size: 20px;
    padding-bottom: 10px;
  }
}

.content__policy {
	margin-bottom: 50px;
}
.content__policy__secondary {
	margin-left: 20px;
}
.content__policy p,
.content__policy__secondary p{
	margin-bottom: 30px;
}

/*移植分*/
.c-lowpage--content {
 position:relative;
 width:1000px;
 /*margin-left:calc(50% - 395px);*/
 padding-bottom:40px;
 padding-left:40px;
 overflow:hidden;
 background-color:#fff
}
.c-lowpage--content .c-text--grad-text {
 margin:30px 0;
}
 .c-lowpage--content {
  width:auto;
  margin:0 5.1282051282vw;
  padding-bottom:7.6923076923vw;
  padding-left:0
 }

.c-text--grad-text dt {
 padding:19px 30px;
 background:linear-gradient(90deg,transparent 0,rgba(200,92,80,.2) 65%,rgba(200,92,80,.5));
 color:#c85c50;
 font-weight:normal;
 font-size:1.2rem;
 line-height:1.3333333333
}
.c-text--grad-text dd {
 padding:24px 30px 0;
 font-weight:normal;
 font-size:1.2rem;
 line-height:1.5
}
.c-text--grad-text dd span {
 margin-right:.5em
}
.c-text--grad-text dd small {
 font-size:.8rem
}
.c-lowpage--report table {
  width: 100%;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.5;
}
.c-lowpage--report table th {
  background-color: #efefef;
  padding: 1vw 2.5641025641vw;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid #dcdddd;
}
.c-lowpage--report table td {
  padding: 1vw;
  text-align: center;
  border: 1px solid #dcdddd;
}
.c-lowpage--report table tr td:nth-of-type(3) {
  text-align: left;
}
@media (max-width: 700px) {
.c-lowpage--report table,
.c-text--grad-text dt,
.c-text--grad-text dd
	{
  font-size: 1rem;
  line-height: 1.25;
}
.c-text--grad-text dd {
	padding: 20px 3% 0 0;}
.c-lowpage--report {
margin: 0;
overflow-x: auto;		
	}
}


/*プロジェクト　20240319追加*/
.c-text--grad-text dt {
  padding: 14px 30px 16px 20px;
  background:linear-gradient(90deg,transparent 0,rgba(200,92,80,.2) 65%,rgba(200,92,80,.5));
  /*background: linear-gradient(90deg,transparent 0 rgba(254,48,0,0.2) 0%, rgba(254,48,0,0.5) 65%);*/
  /*background: linear-gradient(90deg,transparent 0,rgba(0,8,57,.2) 65%,rgba(0,20,140,.5));*/
  /*color:#1a8c7e;*/
  color: #b64534;
  font-weight: 700;
  font-size: /*2.4*/1.6rem;
  line-height: 1.3333333333;
	margin-bottom: 1rem;
}

.c-lowpage--list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin: 30px 30px 40px 0;
  list-style: none;
}
.c-lowpage--list li {
  width: calc(50% - 15px);
}
.c-lowpage--list figure img {
  width: 100%;
	min-width:50px;
	height: auto;
}
.c-lowpage--list li nav {
  width: 270px;
  margin: -20px 0 0 auto;
}
.c-lowpage--list li nav .c-btn--link-s {
  padding: 0 30px;
  margin-bottom: 30px;
}
.c-btn--link-s {
  justify-content: space-between;
  padding: 0 45px;
}
.c-btn--link, .c-btn--link-sgr {
  display: flex;
  z-index: 0;
  position: relative;
  align-items: center;
  height: 60px;
  padding: 0 20px;
  border: 1px solid #fff;
  background-color: #009245;
  color: #fff;
}
.c-btn--link, .c-btn--link-sbl {
  display: flex;
  z-index: 0;
  position: relative;
  align-items: center;
  height: 60px;
  padding: 0 20px;
  border: 1px solid #fff;
  background-color: #00148c;
  color: #fff;
}
.c-btn--link-sgr p, .c-btn--link-sbl p, .c-btn--link p {
  position: relative;
  font-weight: 700;
  font-size: /*1.8*/1rem;
  line-height: 1.3333333333;
	width: 330px;
  margin: 0 auto 0 15px;
}
.c-btn--link-sgr p::before, .c-btn--link-sbl p::before, .c-btn--link p::before {
  z-index: -1;
  position: absolute;
  top: 38%;
  right: 0;
  width: 80px;
  height: 5px;
  background: url(../img/project/thin_arrow.png) no-repeat;
  background-size: contain;
  content: "";
}
.c-btn--link-sgr::before, .c-btn--link-sbl::before, .c-btn--link::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #191919;
  content: "";
  transition: width .5s ease;
}

.c-lowpage--list--g li dl {
  margin-top: 25px;
}
.c-lowpage--list li dl dt {
  font-weight: 700;
  font-size: /*2.4*/1.6rem;
  line-height: 1.3333333333;
  text-align: center;
}
.c-lowpage--list li dl dd.bl {
  margin-top: 10px;
  padding: 10px 10px 10px 25px;
  background-color: #f2f4fd;
  color: #00148c;
  font-weight: 400;
  font-size: /*1.6*/1rem;
  line-height: 1.3125;
  text-align: center;
}.c-lowpage--list li dl dd.gr {
  margin-top: 10px;
  padding: 10px 10px 10px 25px;
  background-color: #f7fadc;
  color: #009245;
  font-weight: 400;
  font-size: /*1.6*/1rem;
  line-height: 1.3125;
  text-align: center;
}

@media (max-width: 700px) {
.c-lowpage--list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin: 30px 30px 40px 0;
  list-style: none;
}
	.c-lowpage--list li {
  width: calc(100% - 15px);
}
	 .c-lowpage--list li dl dt {
    font-size: 1.6rem;
  }
  .c-lowpage--list li dl dd.gr,
  .c-lowpage--list li dl dd.bl{
    margin-top: 2.5641025641vw;
    padding: 1.0256410256vw;
    font-size: 1.4rem;
  }
}

/*プロジェクト　下層　20240319追加*/
.c-mv--project,
.c-mv--project-gr,
.c-mv--project-bl{
  z-index: 0;
  position: relative;
  min-height: 190px;
  text-align: right;
  left: -23px;
}

.c-mv--project::before, .c-mv--project-gr::before, .c-mv--project-bl::before, .c-mv::before {
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(50% + 200px);
  height: 190px;
  /*background-color: #02105f;*/
  content: "";
  mix-blend-mode: multiply;
}
.c-mv--project::before {
  background-color: #b64534/*#00148c*/;
}
.c-mv--project-gr::before {
  background-color: #009245;
}
.c-mv--project-bl::before {
  background-color: #00148c
}
.c-mv--project div,.c-mv--project-gr div,.c-mv--project-bl div, .c-mv div {
  display: flex;
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
  flex-direction: column;
  justify-content: center;
  height: 190px;
  padding-left: calc(50vw - 705px);
  color: #fff;
  text-align: left !important;
	margin-left: 20px;
}

.c-mv--project-gr div{background: #009245;}
.c-mv--project-bl div{background: #00148c;}

.c-mv--project div h2,
.c-mv--project-gr div h2,
.c-mv--project-bl div h2{
  font-size: 5rem;
}
.c-mv--project div h2, .c-mv--project-gr div h2, .c-mv--project-bl div h2, .c-mv div h2 {
  font-style: italic;
  font-weight: 300;
  font-size: 2.4rem;
  line-height: 1.1530612245;
  font-family: Helvetica Neue,Helvetica,Open Sans,sans-serif;
}
.c-mv--project div aside, .c-mv--project-gr div aside,.c-mv--project-bl div aside {
  font-size: 2rem;
}
.c-mv--project div aside, .c-mv--project-gr div aside,.c-mv--project-bl div aside, .c-mv div aside {
  margin-top: 5px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.3214285714;
}

.c-lowpage {
  position: relative;
  margin-top: 30px;
}
.c-lowpage--wrapper, .c-lowpage--wrapper-gr,.c-lowpage--wrapper-bl {
  z-index: 2;
  position: relative;
  padding-bottom: 30px;
}
.c-lowpage--wrapper::before,
.c-lowpage--wrapper-gr::before,
.c-lowpage--wrapper-bl::before{
  position: absolute;
  top: 50px;
  right: 0;
  width: 100%/*calc(50% + 605px)*/;
  height: calc(100% - 50px);
  /*background: linear-gradient(165deg,transparent,rgba(0,8,57,.2) 35%,rgba(0,20,140,.5));*/
  content: "";
  opacity: .78;
}
.c-lowpage--wrapper-gr::before{
	/*background: linear-gradient(165deg,transparent,rgba(0,8,57,.2) 35%,rgba(0,20,140,.5));*/
	background: linear-gradient(165deg, rgba(105,160,98,0.1) 0%, rgba(105,160,98,0.4) 45%);
	z-index: -1;
	margin-right: calc(50% - 50vw);
}
.c-lowpage--wrapper-bl::before{
	background: linear-gradient(165deg,transparent,rgba(0,8,57,.2) 35%,rgba(0,20,140,.5));
	z-index: -1;
	margin-right: calc(50% - 50vw);
}
.c-lowpage--wrapper h2,
.c-lowpage--wrapper-gr h2,
.c-lowpage--wrapper-bl h2{
  display: flex;
  align-items: center;
  width: 560px;
  height: 100px;
  margin-left: calc(50% - 395px);
  padding: 10px 40px;
  color: #fff;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.3333333333;
}
.c-lowpage--wrapper-gr h2{
	background: #009245;
}
.c-lowpage--wrapper-bl h2{
	background: #00148c;
}
.c-lowpage--content {
  position: relative;
  width: 1000px;
  max-width: 100%;
  margin-left: calc(50% - 395px);
  padding-bottom: 40px;
  padding-left: 40px;
  overflow: hidden;
  background-color: #fff;
}
.c-lowpage--table, .c-lowpage--table-schedule {
  margin: 30px 30px 0 0;
}
.c-lowpage--table dl {
  display: flex;
  align-items: flex-start;
}
.c-lowpage--table dl:nth-of-type(n+2) {
  margin-top: 8px;
}
.c-lowpage--table dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  min-width: 280px;
  height: 40px;
  border-radius: 20px;
  background-color: #f2f4fd;
  color: #00148c;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.5;
}
.c-lowpage--table dl dt.gr{
  background-color: #f7fadc;
  color: #009245;
  font-weight: 700;
} 

.c-lowpage--table dl dd {
  margin-top: .45em;
  margin-left: 30px;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.5;
}

.c-text--grad-text dt.gr {
  padding: 14px 30px 16px 20px;
  background:linear-gradient(90deg, rgba(105,160,98,0.1) 0%, rgba(105,160,98,0.5) 65%);
  color:#009245;
  font-weight: 700;
  font-size: /*2.4*/1.6rem;
  line-height: 1.3333333333;
	margin-bottom: 1rem;
}
.c-text--grad-text dt.bl {
  padding: 14px 30px 16px 20px;
  background: linear-gradient(90deg,transparent 0,rgba(0,8,57,.2) 65%,rgba(0,20,140,.5));
  color:#00148c;
  font-weight: 700;
  font-size: /*2.4*/1.6rem;
  line-height: 1.3333333333;
	margin-bottom: 1rem;
}
.c-lowpage--image-list {
  display: flex;
  justify-content: center;
  margin: 0 30px 0 0;
    margin-top: 20px;
}
.c-lowpage--image-list figure img{
		height: auto;
	}
.c-lowpage--evaluation {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 30px 30px 0 0;
}
.c-lowpage--evaluation figure {
  width: calc(33.33333% - 15px);
  margin-right: 15px;
}
.c-lowpage--evaluation figure a {
  display: block;
  border: 1px solid #efefef;
  transition: opacity .5s ease;
}
.c-lowpage--evaluation figure figcaption {
  margin: 18px auto 0px;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}
.c-lowpage--evaluation figure img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.c-lowpage--subhead-gr {
  display: block;
  margin: 30px 30px 0 20px;
  color: #009245;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}
.c-lowpage--subhead-bl {
  display: block;
  margin: 30px 30px 0 20px;
  color: #00148c;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}
.c-lowpage--subhead-gr + .c-lowpage--text-m,
.c-lowpage--subhead-bl + .c-lowpage--text-m{
  margin: 20px 30px 0 60px;
}

@media (max-width: 1100px) {
.c-lowpage--content {
  width: 1000px;
  max-width: 90%;
}
}
@media (max-width: 960px) {
.c-lowpage--content {
  width: 1000px;
  max-width: 90%;
}
}
@media (max-width: 920px) {
.c-lowpage--content {
  width: 1000px;
  max-width: 95%;
}
}
@media (max-width: 840px) {
.c-lowpage--content {
  width: 1000px;
  min-width: 103%;
}
}
@media (max-width: 700px) {
.c-lowpage--content {
  width: 1000px;
  min-width: 98%;
}
}


@media (max-width: 700px) {
.c-mv--project div h2, .c-mv--project-gr div h2, .c-mv--project-bl div h2, .c-mv div h2 {
  font-size: 2rem;
}
.c-lowpage--image-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 30px 0 0;
    margin-top: 20px;
}
.c-mv--project,
.c-mv--project-gr,
.c-mv--project-bl{
  z-index: 0;
  position: relative;
  width: auto;
  min-height: 190px;
  text-align: right;
  left: 0/*-15px*/;
}
.c-mv--project::before, .c-mv--project-gr::before, .c-mv--project-bl::before, .c-mv::before{
	padding: 0 5% 0 0;	
	}	

.c-lowpage--wrapper h2,
.c-lowpage--wrapper-gr h2,
.c-lowpage--wrapper-bl h2{
  display: flex;
  align-items: center;
  width: 80%;
  height: 100px;
  margin-left: 0/*-15px*/;
  padding: 10px 40px;
  font-size: 2rem;
}
.c-lowpage--content {
  margin-left: 1%;
  padding-left: 0px;
}
.c-lowpage--table, .c-lowpage--table-schedule {
  margin: 30px 0px 0 0;
}
.c-lowpage--table dl dt {
  width: 120px;
  min-width: 120px;
}
.c-lowpage--table dl {
		padding-right: 3%;
	}
.c-lowpage--table dl dd {
		line-break: anywhere;
	}
.c-lowpage--ul{
  padding-right: 3%;
	}
.c-lowpage--evaluation figure {
  width: 100%;
  margin-right: 0px;
}
.c-lowpage--evaluation figure figcaption {
  margin: 18px auto 30px;
}
.c-lowpage--subhead-gr {
  font-size: 1rem;
}
.c-lowpage--subhead-bl {
  font-size: 1rem;
}
}


/* 202505 */
.c-lowpage--content.s-projects {
  padding: 30px;
}

.s-projects {
  margin-bottom: 1.5em;
}

.s-projects h4 {
  font-size: 1.5rem;
  background: #f2f4fd;
  border-left: 10px solid #7078b9;
  color: #00148c;
  height: auto;
  padding: .5em 1em;
  margin-bottom: 1em;
}

.s-projects dd {
  margin-bottom: 2em;
}

.s-projects > dl > dt, .s-projects > ul {
  margin-left: 30px;
  background: #fff;
  padding-left: .5em;
  padding-bottom: .3em;
}

.s-projects > dl > dt {
  border-bottom: 2px solid #00148c;
  font-size: 1.4rem;
}

.s-projects dt {
  background: #f2f4fd;
  color: #00148c;
  height: auto;
  font-size: 1.3rem;
  margin-bottom: 0;
}

.s-projects--list dt {
  margin-bottom: 1em;
}

.s-projects--list dt {
  padding: 10px 30px;
  font-size: 1.2rem;
  border-radius: 9999px;
  margin-right: 2%;
}

.s-projects--list dd {
  padding: .3em 10px;
}

.s-projects--list dd:last-of-type {
  margin-bottom: 0;
  margin-top: 0;
}

.s-projects .d-flex {
  gap: 1em;
}

.s-projects .d-flex li {
  margin-top: 0;
}

.s-projects a {
  text-decoration: underline;
}

.s-projects img {
  height: auto;
}

a.a-blank {
  position: relative;
}

a.a-blank::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../img/icon-copy.png) no-repeat;
  background-size: auto;
  background-size: contain;
}

@media (max-width: 1360px) {
  .s-projects > dl > dt, .s-projects > ul {
    margin-left: 0;
  }
}

#content04 .c-lowpage--wrapper-bl.s-projects::before {
  background: linear-gradient(165deg,transparent,rgba(0,8,57,.2) 3%,rgba(0,20,140,.5));
}

.section-news .news__past_btn {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: 30px;
    margin-bottom: 1em;
    padding-right: 30px;
    position: relative;
    font-weight: bold;
}
.section-news .news__past_btn {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: 30px;
  margin-bottom: 1em;
  padding-right: 30px;
  position: relative;
  font-weight: bold;
}
.section-news .news__past_btn::after {
  content: "";
  display: block;
  height: 14px;
  width: 22px;
  background: url(../img/arrow-black2.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0;
}
.section-news .news__past_btn.is-open::after {
  rotate: 180deg;
}
.section-news .news__past {
  position: relative;
  z-index: 0;
  max-height: 0;
  transition: max-height .5s;
  overflow: hidden;
  box-sizing: border-box;
}
.section-news .news__past.is-open {
  max-height: 10000px;
  height: auto;
}

.list_disc li {
  list-style-type: disc;
  margin-left: 1.5em;
}