@charset "UTF-8";
:root {
  --baceFontColor: #333333;
}

/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/
/*** main px ***/
#preamble {
  padding: 0 0 0 0;
  width: auto;
}

.normal_box {
  padding: 60px 0;
}
.normal_box > div {
  margin: 0 auto;
  width: min(100% - 40px, 1200px);
  padding: 60px 0;
}
.normal_box > div > h3 {
  font-size: 1.8rem;
}
.normal_box > div > h3 span {
  display: inline-block;
  background: #EB6EA6;
  color: white;
  padding: 0.1em 1em;
  border-radius: 10px;
}

#top_img {
  margin: 30px auto 0 auto;
  overflow: hidden;
  position: relative !important;
}
#top_img img {
  border-radius: 15px;
}
#top_img a:hover {
  opacity: 0.75;
  filter: alpha(opacity=75);
}

.swiper-wrapper {
  position: static !important;
}

.swiper-container {
  padding-bottom: 42px;
}

.swiper-button-next:after, .swiper-button-prev:after {
  display: none;
}

.fa-arrow-circle-left, .fa-arrow-circle-right {
  color: white;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);
}
.fa-arrow-circle-left:hover, .fa-arrow-circle-right:hover {
  color: #EB6EA6;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 50% !important;
  margin-left: -580px;
}
@media screen and (max-width: 1199px) {
  .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 20px !important;
    margin-left: 0;
  }
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 50% !important;
  margin-right: -580px;
}
@media screen and (max-width: 1199px) {
  .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 20px !important;
    margin-right: 0;
  }
}

#breadcrumb {
  display: none;
}

#concept {
  padding-top: 0px;
}
#concept > div > h3 {
  font-size: 1.7rem;
}
#concept > div > h3 strong {
  font-size: 2rem;
  color: red;
}
#concept > div > ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 40px;
  margin: 40px auto 0 auto;
}
#concept > div > ul li {
  border: 3px solid #EB6EA6;
  padding: 30px;
  border-radius: 10px;
  position: relative;
}
#concept > div > ul li::before {
  display: block;
  content: "";
  background-color: #EB6EA6;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z"/></svg>');
  -webkit-mask-size: contain;
  mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M0 48V487.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400 345.7 507.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48z"/></svg>');
  mask-size: contain;
  height: 2.9rem;
  width: 2.2rem;
  position: absolute;
  top: -3px;
  left: 10px;
}
#concept > div > ul li figure img {
  width: 250px;
  max-width: 100%;
}
#concept > div > ul li p {
  margin: 20px auto 0 auto;
  font-size: 1.2rem;
}
#concept > div > ul li p strong {
  display: block;
  font-size: 1.7rem;
  font-weight: 600;
  color: #ff5e06;
}
#concept > div > div {
  margin: 80px auto 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  align-items: center;
}
#concept > div > div figure img {
  border-radius: 15px;
}
#concept > div > div div h3 {
  font-size: 1.7rem;
  font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro";
}
#concept > div > div div h3 strong {
  color: red;
}
#concept > div > div div p {
  margin: 1rem 0 0 0;
  font-size: 1.1rem;
  text-align: left;
}
#concept > div > div div p strong {
  background: linear-gradient(transparent 60%, #ff6 60%);
}
#concept > div > p {
  line-height: 1em;
  margin: 50px auto 0 auto;
}
#concept > div > p a {
  display: inline-block;
  padding: 10px 20px;
  background: #e5418a;
  color: white;
  font-size: 1.2rem;
  border-radius: 10px;
}
#concept > div > p a svg {
  height: 1.2rem;
  margin: 0 0.3em 0 0;
  color: white;
}
#concept > div > p a:hover {
  background: #EB6EA6;
}
@media screen and (max-width: 1199px) {
  #concept > div > h3 {
    text-align: left;
  }
  #concept > div > div {
    display: block;
  }
  #concept > div > div figure {
    width: 540px;
    max-width: 100%;
    margin: 0 auto;
  }
  #concept > div > div > div {
    margin: 20px auto 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #concept > div > div div h3 {
    text-align: left;
  }
}

#infobox {
  background: #ffdaca;
}
#infobox ul {
  width: 860px;
  max-width: 100%;
  margin: 30px auto 0 auto;
  border-bottom: 1px solid silver;
}
#infobox ul li {
  display: grid;
  grid-template-columns: 7rem 8rem 1fr;
  align-items: start;
  gap: 1rem;
  padding: 2.5rem 10px;
  border-top: 1px solid silver;
  display: none;
}
#infobox ul li span {
  background: #333;
  color: white;
  font-size: 0.9rem;
  padding: 0 0.1em 0;
}
#infobox ul li p {
  text-align: left;
}
#infobox ul li p a {
  color: #333333;
  text-decoration: underline;
}
#infobox ul li p a:hover {
  text-decoration: none;
}
#infobox ul li:nth-child(-n+3) {
  display: grid;
}
@media screen and (max-width: 768px) {
  #infobox ul li {
    text-align: left;
  }
  #infobox ul li time {
    display: inline-block;
    margin: 0 1em 0 0;
  }
  #infobox ul li span {
    padding: 0 0.5em 0.1em 0.5em;
  }
  #infobox ul li p {
    width: 100%;
    margin: 5px auto 0 auto;
    font-size: 1.1rem;
  }
  #infobox ul li:nth-child(-n+3) {
    display: block;
  }
}

#callender_map > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}
#callender_map > div > div > h3 {
  font-size: 1.7rem;
}
#callender_map > div > div:nth-of-type(1) iframe {
  width: 100%;
  height: 400px;
  margin: 40px auto 0 auto;
}
#callender_map > div > div:nth-of-type(1) p#for_soudan {
  margin: 20px auto 0 auto;
}
#callender_map > div > div:nth-of-type(1) p#for_soudan a {
  display: inline-block;
  border: 3px solid #EB6EA6;
  color: #333333;
  font-size: 1.5rem;
  padding: 0.3em 0.8em;
  border-radius: 10px;
}
#callender_map > div > div:nth-of-type(1) p#for_soudan a svg {
  margin: 0 0 0 0.3em;
  height: 1.5rem;
  color: #EB6EA6;
}
#callender_map > div > div:nth-of-type(1) p#for_soudan a:hover {
  background: #ffffbb;
}
#callender_map > div > div:nth-of-type(2) > div {
  margin: 40px auto 0 auto;
  width: 100%;
  height: 400px;
  overflow: hidden;
  border-radius: 15px;
}
#callender_map > div > div:nth-of-type(2) > div iframe {
  width: 100%;
  height: 800px;
  margin-top: -170px;
}
#callender_map > div > div:nth-of-type(2) > p {
  margin: 20px auto 0 auto;
  text-align: left;
}
#callender_map > div > div:nth-of-type(2) > p span {
  font-size: 1.3rem;
}
@media screen and (max-width: 1199px) {
  #callender_map > div {
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  #callender_map > div {
    display: block;
  }
  #callender_map > div > div:nth-of-type(2) {
    margin-top: 50px;
  }
}

#link_list {
  background: #ffe3f1;
}
#link_list > div {
  padding: 30px;
}
#link_list > div > ul {
  width: 860px;
  max-width: 100%;
  margin: 40px auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}
#link_list > div > ul li a {
  display: block;
  font-size: 1.2rem;
  border-radius: 10px;
  background: white;
  border: 2px solid #EB6EA6;
  padding: 0.3rem 1rem;
  color: #333333;
}
@media screen and (max-width: 768px) {
  #link_list > div > ul {
    justify-content: start;
  }
}

footer#globalFooter {
  margin-top: 0;
}/*# sourceMappingURL=index.css.map */