@charset "UTF-8";
@import "responsive.min.css";
/* foundation/_base.scss */
@media screen and (min-width: 1024px) {
  .--sp-only {
    display: none;
  }
}
/* header
--------------------------------------- 
*/
#header {
  position: absolute;
  top: 0;
  overflow-x: hidden;
}

/* mainImg
--------------------------------------- 
*/
#mainImg {
  position: relative;
  clear: both;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}

#mainImg img {
  margin: 0 auto;
}

#mainImg .slider img {
  width: 100%;
  object-fit: cover;
}

#mainImg .slider .slick-slide {
  height: auto;
}

#mainImg .slick-dotted.slick-slider {
  margin-bottom: 0;
}

#mainImg .slick-dots {
  margin: auto;
  height: 100%;
  position: absolute;
  z-index: 10;
  text-align: right;
}

#mainImg .slick-dots::before {
  content: "";
  min-height: 270px;
  display: block;
  background: url("images/mainimg_txt.png") no-repeat;
  background-size: contain;
  z-index: 5;
  filter: drop-shadow(0 0 5px rgba(0, 70, 136, 0.5));
}

#mainImg::before {
  content: "";
  width: 50%;
  height: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.1);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#mainImg .wrap::before {
  content: "";
  width: 30%;
  height: 100%;
  display: block;
  background: rgba(0, 134, 187, 0.4);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#mainImg .slick-dots li {
  margin: 0 10px;
}

#mainImg .slick-dots li button:before {
  color: #ffffff;
  font-size: 1.8rem;
  opacity: 1;
}

#mainImg .slick-dots li.slick-active button:before {
  color: #cc6600;
}

#mainImg .slider::before {
  content: "";
  width: 15%;
  height: 100%;
  display: block;
  background: rgba(0, 70, 136, 0.3);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  #mainImg .slider img {
    width: 100%;
    height: 70vh;
    min-height: 633px;
  }
  #mainImg .slick-dots {
    margin: auto;
    padding-top: 200px;
    max-width: 390px;
    height: 100%;
    position: absolute;
    right: 0;
    left: 35%;
    bottom: 0;
  }
}
/* Pick up
--------------------------------------- 
*/
#TopPickUp {
  background: linear-gradient(to bottom, #ffffff 0%, #ffffff 60%, #cad8e6 60%, #cad8e6 60%, #cad8e6 80%, #d6e1ed 80%, #d6e1ed 92%, #e8edf1 92%);
  position: relative;
}
#TopPickUp::before, #TopPickUp::after {
  content: "";
  width: 13%;
  height: 70%;
  max-width: 300px;
  display: block;
  background: pink;
  position: absolute;
  top: 0;
  z-index: -1;
}
#TopPickUp::before {
  left: 0;
  background: linear-gradient(to right, #004688 0%, #004688 50%, #336b9f 50%, #336b9f 80%, #668eb7 80%, #668eb7 100%);
}
#TopPickUp::after {
  right: 0;
  background: linear-gradient(to right, #668eb7 0%, #668eb7 20%, #336b9f 20%, #336b9f 50%, #004688 50%, #004688 100%);
}
#TopPickUp ul {
  margin: auto;
  padding: 0 4vw;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: inherit;
  top: -40px;
  z-index: 2;
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
}
#TopPickUp ul .facility {
  background: #339ec9;
}
#TopPickUp ul .support {
  background: #004688;
}
#TopPickUp ul .lovefan {
  background: #be3065;
}
#TopPickUp ul .lovefan .SubTitle {
  display: block;
  font-weight: normal;
  font-size: 4vw;
}
#TopPickUp ul li {
  width: 44vw;
  text-align: center;
  position: relative;
  padding-top: 2.6666666667vw;
  margin: 0 0 4vw;
}
#TopPickUp ul li:last-child {
  margin-bottom: 0;
}
#TopPickUp ul li img {
  width: 10vw;
}
#TopPickUp ul li::before, #TopPickUp ul li::after {
  position: absolute;
  content: "";
  bottom: 15px;
  top: 80%;
  width: 50%;
  max-width: 300px;
  background: #777;
  box-shadow: 0 15px 10px #777777;
  transform: rotate(-3deg);
  z-index: -1;
}
#TopPickUp ul li::after {
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}
#TopPickUp ul li::before {
  left: 10px;
}
#TopPickUp ul li a {
  display: block;
  color: #004688;
  position: relative;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  font-size: 5.5vw;
}
#TopPickUp ul li a p {
  margin-bottom: 1.5em;
  padding: 0.5em 0 1em;
  width: 100%;
  height: 50%;
  line-height: 1.8;
  display: block;
  position: relative;
  background: #ffffff;
  border-radius: 0 0 100% 100%;
}
#TopPickUp ul li a p::before {
  content: "";
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
  border-width: 40px 20px 0 20px;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -15px;
}
#TopPickUp ul li a p .En {
  position: inherit;
  display: block;
  color: #cc6600;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  #TopPickUp {
    min-height: 32.1428571429vw;
    z-index: 10;
  }
  #TopPickUp ul {
    width: 85.7142857143vw;
    gap: 2.1428571429vw;
    flex-wrap: nowrap;
  }
  #TopPickUp ul li {
    width: 26.7857142857vw;
    margin: 0;
  }
  #TopPickUp ul li img {
    width: 5.3571428571vw;
  }
  #TopPickUp ul li:hover {
    bottom: 1em;
  }
  #TopPickUp ul li a {
    font-size: 3.2rem;
  }
  #TopPickUp ul li a p::before {
    border-width: 3.5714285714vw 2.5vw 0 2.5vw;
    bottom: -1.7857142857vw;
  }
  #TopPickUp ul .lovefan .SubTitle {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1400px) {
  #TopPickUp {
    min-height: 450px;
  }
  #TopPickUp ul {
    width: 1200px;
    gap: 30px;
  }
  #TopPickUp ul li {
    width: 375px;
  }
  #TopPickUp ul li img {
    width: 75px;
  }
  #TopPickUp ul li a p::before {
    border-width: 50px 35px 0 35px;
    bottom: -25px;
  }
}
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  80%, 100% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}
/* section
--------------------------------------- 
*/
section {
  text-align: center;
  position: relative;
}

section > .wrap {
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

section h1 {
  margin-right: auto;
  margin-bottom: 100px;
  margin-left: auto;
  color: #004688;
  display: inline-block;
  position: relative;
}

section h1 .En {
  display: block;
  color: #cc6600;
}

@media screen and (min-width: 1024px) {
  section {
    padding-top: 100px;
  }
  section > .wrap {
    width: 1024px;
  }
}
/* Support
-------------------------------- */
#Support {
  background: #f1f1f1;
  border-top: 12px double #ffffff;
  border-bottom: 12px double #ffffff;
}

#Support h1 {
  border: 1px solid #004688;
  position: relative;
  z-index: 3;
  background: #ffffff;
}

#Support h1 .En {
  padding-left: 0.4em;
  padding-right: 0.2em;
  display: inline-block;
  position: absolute;
  right: 5%;
  bottom: -0.5em;
  background: #ffffff;
}

#Support .wrap {
  text-align: center;
  background: #ffffff;
  position: relative;
  z-index: 1;
  word-break: keep-all;
}

#Support .wrap p:nth-last-child(n+2) {
  margin-bottom: 1.5em;
}

#Support .linkBox {
  margin-top: 2em;
  margin-right: auto;
  margin-left: auto;
}

#Support .linkBox li {
  display: block;
}

#Support .linkBox a {
  padding: 1em 2em;
  display: block;
  color: #004688;
  border: 1px solid #004688;
  border-radius: 100px;
  position: relative;
  vertical-align: middle;
  text-decoration: none;
}

#Support .linkBox a::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 10px;
  border-top: 1px solid #004688;
  border-right: 1px solid #004688;
  transform: rotate(45deg);
}

#Support .linkBox a:hover {
  background: #cc6600;
  color: #ffffff;
  border-color: #cc6600;
}

#Support .linkBox a:hover::after {
  border-color: #ffffff;
}

@media screen and (min-width: 1024px) {
  #Support .wrap {
    padding: 120px 50px;
    top: -150px;
  }
  #Support h1 {
    padding: 1em 1.5em;
  }
  #Support .linkBox {
    max-width: 50%;
  }
}
/* pamphlet
-------------------------------- */
#Pamphlet h1 {
  border: 1px solid #004688;
  position: relative;
  z-index: 3;
  background: #ffffff;
}
#Pamphlet h1 .En {
  padding-left: 0.4em;
  padding-right: 0.2em;
  display: inline-block;
  position: absolute;
  right: 5%;
  bottom: -0.5em;
  background: #ffffff;
}
#Pamphlet > .wrap {
  padding-bottom: 20px;
}
#Pamphlet > .wrap h2 {
  margin-bottom: 50px;
}
#Pamphlet > .wrap h2 small {
  font-size: clamp(10px, 3vw, 15px);
}
#Pamphlet .lead {
  font-size: clamp(10px, 3vw, 13px);
}
#Pamphlet .linkBox li {
  margin-bottom: 15px;
}
#Pamphlet .linkBox li a {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid #004688;
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}
#Pamphlet .linkBox i {
  margin-right: 10px;
  background-color: #004688;
  text-align: center;
}
#Pamphlet .linkBox i img {
  width: 50%;
  height: auto;
  vertical-align: sub;
}
#Pamphlet .footBox {
  padding-top: 20px;
  background-color: #f1f1f1;
  overflow: hidden;
}
#Pamphlet .footBox h2 {
  margin-bottom: 20px;
}
#Pamphlet .footBox h3,
#Pamphlet .footBox p {
  display: block;
}
#Pamphlet .footBox table {
  margin-right: auto;
  margin-left: auto;
  border-collapse: collapse;
  font-size: clamp(10px, 3vw, 13px);
  text-align: left;
}
#Pamphlet .footBox table th {
  border: 1px solid #ffffff;
  width: 33.3333333333%;
  background-color: rgb(244, 238, 205);
}
#Pamphlet .footBox table td {
  border-bottom: 1px solid #cccccc;
}
#Pamphlet .footBox table td:first-of-type {
  border-right: 1px solid #cccccc;
}
#Pamphlet .footBox div.lead {
  margin-bottom: 40px;
  text-align: left;
}
#Pamphlet .openLabel {
  margin-right: auto;
  margin-left: auto;
  padding: 0.8em;
  display: block;
  font-weight: bold;
  text-align: center;
  background-color: #ffffff;
  border: 1px solid #004688;
  border-radius: 10px;
}
#Pamphlet .openLabel:active {
  box-shadow: 0 0 0 0;
}
#Pamphlet .openLabel:hover {
  color: #cc6600;
  box-shadow: 0 0 3px #888888;
}
#Pamphlet .open {
  margin-top: 30px;
  padding: 0 1em;
  height: 0;
  background-color: #ffffff;
  opacity: 0;
  transition: 0.5s;
}

input[type=checkbox].onoff {
  opacity: 0;
}

#Pamphlet .onoff:checked ~ .open {
  padding: 1.5em 1em;
  height: auto;
  opacity: 1;
}

@media screen and (min-width: 1024px) {
  #Pamphlet h1 {
    border: none;
    border-bottom: 0.1428571429vw solid #004688;
    font-size: 1.1428571429vw;
  }
  #Pamphlet > .wrap {
    width: 100%;
    padding-bottom: 20px;
  }
  #Pamphlet > .wrap h2 {
    margin-bottom: 0.75vw;
    font-size: 1vw;
    letter-spacing: 0;
    line-height: 1.415rem;
  }
  #Pamphlet > .wrap h2 small {
    font-size: 1vw;
    letter-spacing: 0;
    line-height: 1.415rem;
  }
  #Pamphlet .lead {
    font-size: clamp(10px, 3vw, 13px);
  }
  #Pamphlet .linkBox li {
    margin-bottom: 0.7857142857vw;
  }
  #Pamphlet .linkBox li a {
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    font-size: 0.7142857143vw;
  }
  #Pamphlet .linkBox i {
    margin-right: 0.5vw;
    width: 2.3571428571vw;
  }
  #Pamphlet .footBox {
    padding-top: 0;
    background-color: #fff;
  }
  #Pamphlet .footBox h2 {
    font-size: 1vw;
    letter-spacing: 0;
    line-height: 1.71428571;
  }
  #Pamphlet .footBox h3 {
    font-size: 1vw;
    letter-spacing: 0;
  }
  #Pamphlet .footBox p {
    font-size: 0.8571428571vw;
  }
  #Pamphlet .footBox .tableScroll {
    overflow-x: scroll;
    scrollbar-width: auto;
    /* Firefox用 */
    -ms-overflow-style: auto;
  }
  #Pamphlet .footBox table {
    margin-right: auto;
    margin-left: auto;
    border-collapse: collapse;
    font-size: 0.8571428571vw;
    text-align: left;
    width: 23.2142857143vw;
  }
  #Pamphlet .footBox table th {
    border: 1px solid #ffffff;
    background-color: rgb(244, 238, 205);
  }
  #Pamphlet .footBox table th.--row {
    width: 6vw;
  }
  #Pamphlet .footBox table th.--col {
    width: 8.1428571429vw;
  }
  #Pamphlet .footBox table td {
    border-bottom: 1px solid #cccccc;
  }
  #Pamphlet .footBox table td:first-of-type {
    border-right: 1px solid #cccccc;
  }
  #Pamphlet .footBox div.lead {
    margin-bottom: 40px;
    text-align: left;
  }
  #Pamphlet .openLabel {
    margin-right: auto;
    margin-left: auto;
    padding: 0.8em;
    display: block;
    font-weight: bold;
    text-align: center;
    background-color: #ffffff;
    border: 1px solid #004688;
    border-radius: 10px;
  }
  #Pamphlet .openLabel:active {
    box-shadow: 0 0 0 0;
  }
  #Pamphlet .openLabel:hover {
    box-shadow: 0 0 3px #888888;
  }
  #Pamphlet .open {
    margin-top: 30px;
    padding: 0;
    height: auto;
    background-color: #ffffff;
    opacity: 1;
    transition: 0.5s;
  }
}
@media screen and (min-width: 1400px) {
  #Pamphlet h1 {
    border-bottom: 2px solid #004688;
    font-size: 16px;
  }
  #Pamphlet > .wrap {
    padding-bottom: 20px;
  }
  #Pamphlet > .wrap h2 {
    margin-bottom: 10.5px;
    font-size: 14px;
  }
  #Pamphlet > .wrap h2 small {
    font-size: 14px;
  }
  #Pamphlet .lead {
    font-size: clamp(10px, 3vw, 13px);
  }
  #Pamphlet .linkBox li {
    margin-bottom: 11px;
  }
  #Pamphlet .linkBox li a {
    font-size: 10px;
  }
  #Pamphlet .linkBox i {
    margin-right: 7px;
    width: 33px;
  }
  #Pamphlet .footBox {
    padding-top: 20px;
  }
  #Pamphlet .footBox h2 {
    margin-bottom: 20px;
  }
  #Pamphlet .footBox h3,
  #Pamphlet .footBox p {
    display: block;
  }
  #Pamphlet .footBox table {
    margin-right: auto;
    margin-left: auto;
    border-collapse: collapse;
    font-size: clamp(10px, 3vw, 13px);
    text-align: left;
  }
  #Pamphlet .footBox table th {
    border: 1px solid #ffffff;
    width: 33.3333333333%;
    background-color: rgb(244, 238, 205);
  }
  #Pamphlet .footBox table td {
    border-bottom: 1px solid #cccccc;
  }
  #Pamphlet .footBox table td:first-of-type {
    border-right: 1px solid #cccccc;
  }
  #Pamphlet .footBox div.lead {
    margin-bottom: 40px;
    text-align: left;
  }
  #Pamphlet .openLabel {
    margin-right: auto;
    margin-left: auto;
    padding: 0.8em;
    display: block;
    font-weight: bold;
    text-align: center;
    background-color: #ffffff;
    border: 1px solid #004688;
    border-radius: 10px;
  }
  #Pamphlet .openLabel:active {
    box-shadow: 0 0 0 0;
  }
  #Pamphlet .openLabel:hover {
    color: #cc6600;
    box-shadow: 0 0 3px #888888;
  }
  #Pamphlet .open {
    margin-top: 30px;
    padding: 0 1em;
    height: 0;
    background-color: #ffffff;
    opacity: 0;
    transition: 0.5s;
  }
}
/* Video
-------------------------------- */
#Video {
  background-color: #f1f1f1;
  border-top: 12px double #ffffff;
  border-bottom: 12px double #ffffff;
}

#Video h1 {
  border: 1px solid #004688;
  position: relative;
  z-index: 3;
  background-color: #f1f1f1;
}

#Video h1 .En {
  padding-left: 0.4em;
  padding-right: 0.2em;
  display: inline-block;
  position: absolute;
  right: 5%;
  bottom: -0.5em;
  background-color: #f1f1f1;
}

#Video .wrap {
  margin-bottom: 1.5em;
  text-align: center;
  background-color: #f1f1f1;
  position: relative;
  z-index: 1;
  word-break: keep-all;
}

#Video ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: top;
}

#Video ul li figure img {
  width: 100%;
  height: auto;
}

#Video ul li figcaption {
  text-align: left;
}

@media screen and (min-width: 1024px) {
  #Video .wrap {
    padding-top: 120px;
    top: -150px;
  }
  #Video h1 {
    padding: 1em 1.5em;
  }
  #Video ul li {
    padding: 2%;
    width: 50%;
  }
}
/* recentDocsTab
----------------------------------------------- */
#recentDocsTab {
  margin-bottom: 40px;
}
#recentDocsTab .pieceHeader {
  margin-bottom: 5px;
}
#recentDocsTab .pieceHeader h2 {
  font-size: 200%;
  text-align: left;
}
#recentDocsTab .pieceHeader h2::before {
  content: "";
  display: inline-block;
  width: 42px;
  height: 34px;
  margin: 0 10px 5px;
  background: url(../img/i_news.png) center center no-repeat;
  vertical-align: middle;
}
#recentDocsTab .pieceBody .tabs ul {
  display: -webkit-flex;
  display: flex;
  margin-bottom: 30px;
}
#recentDocsTab .pieceBody .tabs ul li {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
  -webkit-flex-basis: 0;
  flex-basis: 0;
  position: relative;
  margin-right: 8px;
  padding: 5px;
  border: 2px solid #ec6100;
  text-align: center;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
#recentDocsTab .pieceBody .tabs ul li:last-child {
  margin-right: 0;
}
#recentDocsTab .pieceBody .tabs ul li:hover, #recentDocsTab .pieceBody .tabs ul li.current {
  background-color: #ec6100;
  color: #fff;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
#recentDocsTab .pieceBody .tabs ul li.current::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate(-50%, 0);
  border-top: 8px solid #ec6100;
  border-left: 8px solid transparent !important;
  border-right: 8px solid transparent !important;
}
#recentDocsTab .pieceBody .tabs ul li a {
  color: inherit;
  font-size: 125%;
  font-weight: bold;
  text-decoration: none;
}
#recentDocsTab .pieceBody .tabs ul li a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: none !important;
}
#recentDocsTab .pieceBody .content ul {
  border-top: 1px dotted #ccc;
}
#recentDocsTab .pieceBody .content ul li {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  padding: 15px 5px;
  border-bottom: 1px dotted #ccc;
}
#recentDocsTab .pieceBody .content ul li:hover {
  background-color: #e7f7fd;
}
#recentDocsTab .pieceBody .content ul li span.publish_date {
  -webkit-flex-grow: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  margin-right: 15px;
  white-space: nowrap;
}
#recentDocsTab .pieceBody .content ul li span.title_link {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
}
#recentDocsTab .pieceBody .content ul li span.title_link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: none !important;
}
#recentDocsTab .pieceBody .links {
  position: relative;
  margin-top: 15px;
}
#recentDocsTab .pieceBody .links .feed {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#recentDocsTab .pieceBody .links .more {
  text-align: right;
}
#recentDocsTab .pieceBody .links .more a {
  padding-left: 20px;
  background: url(../img/ic-more.png) left center no-repeat;
}

@media only screen and (max-width: 900px) {
  #recentDocsTab {
    margin-bottom: 20px;
  }
  #recentDocsTab .pieceHeader {
    margin-bottom: 10px;
  }
  #recentDocsTab .pieceHeader h2 {
    font-size: 150%;
    text-align: center;
  }
  #recentDocsTab .pieceHeader h2::before {
    width: 21px;
    height: 17px;
    background-size: cover;
  }
  #recentDocsTab .pieceBody .tabs ul {
    margin-bottom: 20px;
    padding: 0 10px;
  }
  #recentDocsTab .pieceBody .tabs ul li {
    margin-right: 5px;
  }
  #recentDocsTab .pieceBody .tabs ul li.current::before {
    bottom: -12px;
    border-width: 10px !important;
  }
  #recentDocsTab .pieceBody .tabs ul li a {
    font-size: 90%;
  }
  #recentDocsTab .pieceBody .content ul li {
    display: block;
    padding: 10px;
    overflow: hidden;
    font-size: 90%;
  }
  #recentDocsTab .pieceBody .content ul li span.publish_date {
    margin-right: 10px;
  }
  #recentDocsTab .pieceBody .links .more a {
    padding-left: 10px;
    background-size: 6px auto;
    font-size: 90%;
  }
}
/* calendar
----------------------------------------------- */
#calendar {
  margin-bottom: 20px;
  border-top: 3px solid #000;
  background: url(../img/cha_event.png) left 5px/48px auto no-repeat;
}

#calendar .pieceHeader h2 {
  padding: 20px 0 0 50px;
  font-size: 90%;
}

#calendar .pieceBody h3 {
  margin-bottom: 15px;
  font-size: 100%;
  text-align: right;
}

#calendar .pieceBody table {
  width: 100%;
  border: 1px solid #ccc;
  font-size: 90%;
  border-collapse: collapse;
}

#calendar .pieceBody th,
#calendar .pieceBody td {
  padding: 2px 0;
  border: 1px solid #ccc;
  text-align: center;
}

#calendar .pieceBody thead.wdays th {
  background-color: #f2f2f2;
}

#calendar .pieceBody .sat {
  background-color: #dff6fe;
  color: #3366ff;
}

#calendar .pieceBody .sun {
  background-color: #ffe6f1;
  color: #ee0000;
}

#calendar .pieceBody .prevMonth,
#calendar .pieceBody .nextMonth {
  color: #ccc;
}

#calendar .pieceBody .links {
  margin-top: 10px;
  font-size: 90%;
  text-align: center;
}

@media only screen and (max-width: 900px) {
  #calendar .pieceHeader h2 {
    padding: 15px 0 0 55px;
    font-size: 110%;
  }
  #calendar .pieceBody h3 {
    font-style: 110%;
    text-align: center;
  }
  #calendar .pieceBody .links {
    display: none;
  }
}
.l-top-container {
  display: flex;
  flex-direction: column;
}
.l-top-container .p-left-sidebar {
  order: 2;
  margin: 0 0 13.3333333333vw;
}
.l-top-container .l-top-main {
  order: 1;
  margin: 0 0 13.3333333333vw;
}
.l-top-container .p-right-sidebar {
  order: 3;
}

@media screen and (min-width: 1024px) {
  .l-top-container {
    flex-direction: row;
    justify-content: space-between;
    width: 85.7142857143vw;
    padding: 2.1428571429vw 0 0 0;
    margin: 0 auto;
  }
  .l-top-container .p-left-sidebar {
    order: 1;
    width: 12.8571428571vw;
    margin: 0;
  }
  .l-top-container .l-top-main {
    order: 2;
    width: 49.2857142857vw;
    margin: 0;
  }
  .l-top-container .p-right-sidebar {
    width: 12.8571428571vw;
    order: 3;
  }
}
@media screen and (min-width: 1400px) {
  .l-top-container {
    width: 1200px;
    padding: 30px 0 0;
  }
  .l-top-container .p-left-sidebar {
    width: 180px;
  }
  .l-top-container .l-top-main {
    width: 690px;
  }
  .l-top-container .p-right-sidebar {
    width: 180px;
  }
}
@media screen and (min-width: 1024px) {
  .l-top-main {
    padding: 0;
  }
}
.p-left-sidebar {
  padding: 0 4vw;
}
.p-left-sidebar__item {
  margin: 0 0 10.6666666667vw;
}
.p-left-sidebar #Pamphlet {
  padding-top: 0;
}

@media screen and (min-width: 1024px) {
  .p-left-sidebar {
    padding: 0;
  }
  .p-left-sidebar__item {
    margin: 0 0 2.1428571429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-left-sidebar__item {
    margin: 0 0 30px;
  }
}
.p-right-sidebar {
  padding: 0 4vw;
}

@media screen and (min-width: 1024px) {
  .p-right-sidebar {
    padding: 0;
  }
}
.p-banners {
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-banners__item {
  width: 44.6666666667vw;
  height: auto;
}
.p-banners__link {
  display: block;
  width: 100%;
  height: auto;
}

.p-sidebar-pr__content .c-sidebar-pr {
  margin: 0 0 5.3333333333vw;
}
.p-sidebar-pr__content .c-sidebar-pr:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1024px) {
  .p-sidebar-pr__content .c-sidebar-pr {
    margin: 0 0 1.1428571429vw;
  }
}
@media screen and (min-width: 1400px) {
  .p-sidebar-pr__content .c-sidebar-pr {
    margin: 0 0 16px;
  }
}
.c-sidebar-section-title {
  text-align: left;
  color: #004688;
  border-bottom: 0.2666666667vw solid #004688;
  font-size: 4.2666666667vw;
  padding: 0 0 2.6666666667vw;
  margin: 0 0 2.6666666667vw;
}

@media screen and (min-width: 1024px) {
  .c-sidebar-section-title {
    border-bottom: 0.1428571429vw solid #004688;
    font-size: 1.2857142857vw;
    padding: 0 0 0.75vw;
    margin: 0 0 0.75vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-sidebar-section-title {
    border-bottom: 2px solid #004688;
    font-size: 18px;
    padding: 0 0 10.5px;
    margin: 0 0 10.5px;
  }
}
.c-sidebar-pr {
  display: block;
}
.c-sidebar-pr__title {
  font-size: 4vw;
  letter-spacing: 0;
  line-height: 1;
}

@media screen and (min-width: 1024px) {
  .c-sidebar-pr__title {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1400px) {
  .c-sidebar-pr__title {
    font-size: 14px;
  }
}
.--sp-only {
  display: block;
}

.--pc-only {
  display: none;
}

@media screen and (min-width: 1024px) {
  .--sp-only {
    display: none;
  }
  .--pc-only {
    display: block;
  }
}
/* ===========================================

 	PC向け表示設定

============================================== */
@media only screen and (min-width: 1024px) {
  /* -------------------------------------------
  animation
  ============================================== */
  #header #gnav ul {
    transform: translateX(-100%);
    animation: bk_anim 1s ease-in-out forwards;
  }
  @keyframes bk_anim {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(0);
    }
  }
  #header #gnav ul li a span {
    overflow-y: hidden;
    animation: SlideIn 2.5s ease-in-out forwards;
  }
  @keyframes SlideIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}
/* end */
/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

PC以外向け表示設定

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
@media only screen and (max-width: 1023px) {
  #main {
    padding-top: 1em;
  }
  #mainImg .slick-dots {
    padding-top: 10vh;
    padding-bottom: 10vh;
    width: 70vw;
    right: 0;
    bottom: 0;
    left: 0;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
  mainImg
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  .slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 350px;
    margin: auto;
    background: #fff;
  }
  .slider img {
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: 40% 0;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
  TopPickUp
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  #mainImg .slider img {
    width: 100%;
    height: 60vh;
    min-height: 480px;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
  section
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  section > .wrap {
    width: 90%;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜
  About
  〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  #About h1 {
    padding: 1.5em 1em;
    width: 90%;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜
  Support
  〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  #Support {
    padding-top: 1em;
  }
  #Support h1 {
    margin-bottom: 0 !important;
    padding: 1.5em 1em;
    width: 90%;
  }
  #Support .wrap {
    padding-top: 1.5em;
    padding-right: 1em;
    padding-bottom: 2em;
    padding-left: 1em;
  }
  #Support .wrap p {
    text-align: left;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜
  Pamphlet
  〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  #Pamphlet h1 {
    margin-bottom: 0 !important;
    padding: 1.5em 1em;
    width: 90%;
  }
  #Pamphlet .wrap {
    padding-top: 1.5em;
    padding-right: 1em;
    padding-bottom: 2em;
    padding-left: 1em;
  }
  #Pamphlet .footBox .tableScroll {
    overflow-x: scroll;
  }
  #Pamphlet .footBox table,
  #Pamphlet .footBox div.lead {
    width: 540px;
    overflow-x: scroll;
  }
  #Pamphlet .footBox table th,
  #Pamphlet .footBox table td {
    padding-right: 0.5em;
    padding-left: 1em;
  }
  #Pamphlet .footBox h3 {
    font-size: clamp(16px, 3vw, 18px);
  }
  #Pamphlet .footBox div.lead {
    padding-left: 3em;
  }
  #Pamphlet .footBox div.lead p {
    text-indent: -3em;
  }
  /* 〜〜〜〜〜〜〜〜〜〜〜〜〜
  Video
  〜〜〜〜〜〜〜〜〜〜〜〜〜 */
  #Video {
    padding-top: 1em;
  }
  #Video h1 {
    margin-bottom: 0 !important;
    padding: 1.5em 1em;
    width: 90%;
  }
  #Video .wrap {
    padding-top: 1.5em;
    padding-right: 1em;
    padding-bottom: 2em;
    padding-left: 1em;
  }
  #Video .wrap p {
    text-align: left;
  }
  #Video ul li {
    padding: 2%;
    width: auto;
    min-width: 50%;
  }
  #Video ul li:nth-last-child(n+2) {
    margin-bottom: 20px;
  }
}
/* end */