@charset "UTF-8";
/* ===========================================================
   # BASE
=========================================================== */
/* = LAYOUT
----------------------------------------------------------- */
/* HEAD */
.pageTtl {
  background: url(./img/mv.jpg) 0 bottom/cover no-repeat;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 3px;
  padding: 16rem 0;
}

.pageTtl strong {
  display: block;
  font-size: 3.2rem;
  letter-spacing: 6px;
  margin-bottom: 2rem;
}

.pageTtl .posRe {
  padding-bottom: 5rem;
}

.pageTtl .posRe::before, .pageTtl .posRe::after {
  content: "";
  margin: auto;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  bottom: 0;
  transform: rotate(45deg);
}

.pageTtl .posRe::before {
  background: #0B41A0;
  right: calc(50% + -2px);
}

.pageTtl .posRe::after {
  background: #CEB21E;
  left: calc(50% + -2px);
}

.entryTtl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
}

.entryTtl.posRe {
  border-bottom: 1px solid #CCD8EE;
}

.entryTtl.posRe::after {
  background: #0B41A0;
  content: "";
  width: 3.5rem;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 1.5rem;
}

/* MAIN */
.main {
  padding: 3rem 0;
}

.blog .main, .archive .main {
  padding-top: 0;
}

.single .main {
  background: url(./img/single_bg.jpg) 50% 0/contain repeat-y;
}

.single .cont {
  background: #fff;
  padding: 2rem 1rem;
}

/* SIDE */
@media (min-width: 768px) {
  /* HEAD */
  .pageTtl {
    padding: 19rem 0 24rem;
  }
  .pageTtl strong {
    font-size: 4.8rem;
    letter-spacing: 9px;
  }
  .entryTtl {
    font-size: 4rem;
    margin-bottom: 10rem;
    padding-bottom: 4.5rem;
  }
  .entryTtl.posRe::after {
    bottom: 2.5rem;
  }
  /* MAIN */
  .single .cont {
    padding: 6.4rem;
  }
}

@media (min-width: 1024px) {
  /* MAIN */
  .main {
    padding: 12rem 0 6rem;
  }
}

/* ===========================================================
   # PAGINATION
=========================================================== */
.pageNav {
  border-top: 1px solid #0B41A0;
  border-bottom: 1px solid #0B41A0;
  line-height: 6rem;
}

.pageNav .pagination {
  display: flex;
  justify-content: space-between;
}

.pageNav li {
  width: 33.33%;
}

.pageNav a {
  color: #020A19;
  font-weight: 500;
  transition: all 300ms 0s ease;
}

.pageNav a::before, .pageNav a::after {
  color: #0B41A0;
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

.pageNav a:hover {
  color: #0B41A0;
}

.pageNav .align_l a::before {
  content: "\f060";
  margin-right: 1.3rem;
}

.pageNav .align_r a::after {
  content: "\f061";
  margin-left: 1.3rem;
}

@media (min-width: 768px) {
  .pageNav .align_l a::before {
    margin-right: 2.3rem;
  }
  .pageNav .align_r a::after {
    margin-left: 2.3rem;
  }
}

/* ===========================================================
   # CONTENT
=========================================================== */
.entryBody {
  line-height: 2;
  padding-bottom: 3em;
  /* POINT */
  /* BOX */
  /* MORE */
}

.entryBody > * {
  margin: 1.5em 0;
}

.entryBody h2, .entryBody h3, .entryBody h4, .entryBody h5, .entryBody h6 {
  color: #0B41A0;
  font-weight: 700;
  line-height: 1.3;
}

.entryBody h2 {
  font-size: 2.4rem;
  margin: 3em 0 0;
}

.entryBody h3 {
  font-size: 2.2rem;
  margin-bottom: 0;
}

.entryBody h4 {
  font-size: 2rem;
  margin-bottom: 0;
}

.entryBody h5 {
  font-size: 1.8rem;
  margin-bottom: 0;
}

.entryBody h6 {
  margin-bottom: 0;
}

.entryBody img {
  display: block;
  margin: 0 auto 1rem;
}

.entryBody .wp-caption {
  max-width: 100%;
}

.entryBody .wp-caption.alignleft {
  margin: 0 30px 0 0;
}

.entryBody .wp-caption p.wp-caption-text {
  line-height: 1.2;
  text-align: center;
  padding: 0 0 1rem;
}

.entryBody ol, .entryBody ul {
  line-height: 1.4;
}

.entryBody ol li, .entryBody ul li {
  margin-bottom: 5px;
  padding-left: 3rem;
  position: relative;
}

.entryBody ol li::before, .entryBody ul li::before {
  color: #0B41A0;
  font-weight: 700;
  letter-spacing: 1px;
  position: absolute;
  left: 0;
  top: 0;
}

.entryBody ol li {
  counter-increment: number;
}

.entryBody ol li::before {
  content: counter(number, decimal-leading-zero) ".";
}

.entryBody ul li::before {
  content: "━";
}

.entryBody hr {
  border-top: 1px solid #ccc;
  clear: both;
}

.entryBody hr.clear {
  border: none;
  margin: 0;
}

.entryBody .tblWrap {
  overflow: auto;
  padding-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
}

.entryBody .tblWrap::-webkit-scrollbar {
  height: 5px;
}

.entryBody .tblWrap::-webkit-scrollbar-track {
  background: #F1F1F1;
}

.entryBody .tblWrap::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}

.entryBody .tbl01 {
  width: 100%;
}

.entryBody .tbl01 th, .entryBody .tbl01 td {
  display: block;
  line-height: 1.2;
}

.entryBody .tbl01 th {
  font-weight: 500;
  border-bottom: 1px solid #625f59;
}

.entryBody .tbl01 td {
  padding: 0.5rem 0 2em 0;
}

.entryBody .tbl01.flex dt, .entryBody .tbl01.flex dd {
  line-height: 1.4;
  padding: 3px 0;
  width: 100%;
}

.entryBody .tbl01.flex dt {
  border-bottom: 1px solid #020A19;
  font-weight: 500;
}

.entryBody .tbl01.flex dd {
  padding-bottom: 2rem;
}

.entryBody a.linkBtn {
  background: #86526d;
  color: #fff;
  display: inline-block;
  line-height: 4rem;
  padding: 0 4.6em;
  opacity: .9;
  text-decoration: none;
  transition: all 500ms 0s ease;
}

.entryBody a.linkBtn:hover {
  opacity: 1;
}

.entryBody a.linkBox {
  border: 1px solid #020A19;
  color: #020A19;
  display: inline-block;
  line-height: 4rem;
  width: 60rem;
  max-width: 100%;
  text-decoration: none;
  transition: all 500ms 0s ease;
}

.entryBody a.linkBox:hover {
  background: #86526d;
  border-color: #86526d;
  color: #fff;
}

.entryBody .point01 {
  margin: 0 0.3em;
  padding: 0 3px;
  position: relative;
  z-index: 1;
}

.entryBody .point01::after {
  background: rgba(255, 0, 0, 0.2);
  content: "";
  width: 100%;
  height: 90%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.entryBody .box01 {
  background: #fcfcfc;
  border: 5px dotted #ddd;
  margin-bottom: 1rem;
  padding: 2rem;
}

.entryBody .box01 p {
  margin: 0;
}

.entryBody a.moretext {
  background: #165292;
  border-radius: 6px;
  color: #fff;
  display: inline-block;
  float: right;
  font-size: 11px;
  font-weight: 700;
  margin: 7px 0 0;
  padding: 0 12px;
  text-decoration: none;
  vertical-align: 1px;
}

@media (min-width: 768px) {
  .entryBody {
    padding-bottom: 6em;
    /* IMG */
  }
  .entryBody img.alignleft, .entryBody img.alignright {
    float: none;
  }
  .entryBody .tbl01 th, .entryBody .tbl01 td {
    font-size: 1.6rem;
    padding: 1rem;
  }
  .entryBody .tbl01.flex {
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    margin-bottom: 3rem;
  }
  .entryBody .tbl01.flex dt, .entryBody .tbl01.flex dd {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 1.4;
    padding: 2rem;
  }
  .entryBody .tbl01.flex dt {
    background: #eee;
    width: 20rem;
  }
  .entryBody .tbl01.flex dd {
    width: calc(100% - 20rem);
  }
  .entryBody a.linkBtn {
    line-height: 6rem;
  }
}

@media (min-width: 1024px) {
  .entryBody {
    /* IMG */
  }
  .entryBody img {
    display: inline;
  }
  .entryBody img.aligncenter {
    display: block;
    margin: 0 auto 1rem;
  }
  .entryBody img.alignleft {
    float: left;
    margin: 0.5em 2rem 1rem 0;
  }
  .entryBody img.alignright {
    float: right;
    margin: 0.5em 0 1rem 2rem;
  }
}

/* ===========================================================
   # RESET
=========================================================== */
.entryBody > *:first-child,
.entryBody h4 + *, .entryBody h5 + *, .entryBody h6 + *,
.entryBody p.btm0 + * {
  margin-top: 0;
}

.entryBody h2 + *, .entryBody h3 + * {
  margin-top: 1rem;
}

.entryBody > *:last-child,
.entryBody p.btm0 {
  margin-bottom: 0;
}

.entryBody p.inPreparation {
  padding: 10rem 0 5rem;
}

.entryBody ul.noStyle,
.entryBody ul.flex {
  list-style: none;
  margin-left: 0;
}

figure.aligncenter img {
  display: block;
  margin: auto;
}

/* ===========================================================
   # FEATURE
=========================================================== */
.featureBody .featureHead {
  font-size: 2rem;
}

.featureBody .featureSub {
  font-size: 2rem;
}

.featureBody .blueTtl span {
  letter-spacing: 2px;
  padding-left: 3px;
}

.featureBody h2.ttl {
  font-size: 3.4em;
  margin: 6rem 0 3rem;
  padding: 2rem 0 0 5rem;
}

.featureBody h2.ttl span {
  color: #CCD8EE;
  font-size: 8rem;
  left: 0;
  bottom: -5px;
}

.featureBody h2.ttl strong {
  left: 5rem;
}

.featureBody h3 {
  color: #0B41A0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 3rem 0;
}

.featureBody h4 {
  border: 1px solid #0B41A0;
  color: #0B41A0;
  display: inline-block;
  font-size: 2rem;
  letter-spacing: 5px;
  margin: 1rem 0;
  padding: 5px 5px 5px 10px;
  white-space: nowrap;
}

.featureBody h4.has-text-align-center {
  margin-left: 50%;
  transform: translateX(-50%);
}

.featureBody p {
  line-height: 2;
  margin: 3rem 0;
}

.featureBody h4 + h3 {
  margin-top: 0;
}

.featureBody .btm0 {
  margin-bottom: 0;
}

.featureBody h4 + p,
.featureBody .btm0 + * {
  margin-top: 0;
}

.featureBody .list01 {
  margin: 3rem 0;
}

.featureBody .list01 li {
  line-height: 1.2;
  padding: 0.5rem 1.5rem;
  position: relative;
}

.featureBody .list01 li::before {
  color: #E3C31C;
  content: "●";
  font-size: 1rem;
  position: absolute;
  left: 0;
  top: 1rem;
}

.featureBody .flex {
  background: #fff;
}

.featureBody .flex li {
  line-height: 1.6;
  padding-bottom: 2rem;
  width: 100%;
}

.featureBody .flex li img {
  margin-bottom: 5px;
  width: 100%;
}

.featureBody .detail {
  font-size: 2.4rem;
  font-weight: 500;
}

.featureBody .detail::before, .featureBody .detail::after {
  border-left: 2px solid #020A19;
  border-right: 2px solid #020A19;
  content: "";
  display: inline-block;
  margin: 0 12px 0 8px;
  width: 6px;
  height: 2.4rem;
  transform: rotate(-30deg) translateY(-1.2rem);
}

.featureBody .detail::after {
  transform: rotate(30deg) translateY(-1.2rem);
}

.featureBody a.link {
  background: #E5810E;
  color: #fff;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 8rem;
  padding: 0 7rem 0 2rem;
  width: 100%;
  max-width: 33rem;
  position: relative;
  text-decoration: none;
  transition: all 500ms 0s ease;
}

.featureBody a.link::after {
  content: "\f08e";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  margin: auto;
  position: absolute;
  right: 2rem;
  top: 0;
  bottom: 0;
}

.featureBody a.link:hover {
  background: #C12424;
}

@media (min-width: 768px) {
  .featureBody .featureHead {
    font-size: 2.4rem;
  }
  .featureBody .blueTtl span {
    font-size: 3.2rem;
    letter-spacing: 1rem;
    padding-left: 1rem;
  }
  .featureBody h2.ttl {
    font-size: 5em;
    margin: 12rem 0 8rem;
    padding: 6rem 0 0 11rem;
  }
  .featureBody h2.ttl span {
    font-size: 20rem;
    bottom: -12px;
  }
  .featureBody h2.ttl strong {
    left: 12rem;
  }
  .featureBody h3 {
    font-size: 2.4rem;
    margin-top: 6rem;
  }
  .featureBody h4 {
    font-size: 2.4rem;
    margin: 7rem 0 3rem;
  }
  .featureBody h4 + h3 {
    margin-top: -1rem;
  }
  .featureBody .flex {
    padding: 1.2rem;
    margin: 0 -2.4rem;
  }
  .featureBody .flex li {
    padding: 1.2rem;
  }
  .featureBody .flex01 li {
    width: 33.33%;
  }
  .featureBody .flex02 li {
    width: 50%;
  }
}

@media (min-width: 1024px) {
  .featureBody {
    overflow: initial;
  }
  .featureBody .sizeL {
    font-size: 2rem;
  }
  .featureBody .flexTtl {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .featureBody .flexTtl01 .featureSub {
    max-width: 41rem;
  }
  .featureBody .flexTtl02 .featureSub {
    max-width: 50rem;
  }
  .featureBody .bgImg {
    max-width: 50vw;
    opacity: .4;
    z-index: -1;
  }
  .featureBody .bg01 {
    max-width: 66%;
  }
  .featureBody .bg01 img {
    margin-top: -5rem;
    max-height: 52rem;
    right: 0;
  }
  .featureBody .bg02 {
    padding-left: 46%;
  }
  .featureBody .bg02 img {
    max-width: 42vw;
    max-height: 37rem;
    left: 0;
  }
  .featureBody .bg03 {
    max-width: 50%;
  }
  .featureBody .bg03 img {
    margin-top: 12rem;
    max-height: 45rem;
    right: 0;
  }
  .featureBody .bg04 {
    padding-left: 58%;
  }
  .featureBody .bg04 img {
    margin-top: 6rem;
    max-height: 52rem;
    left: 0;
  }
  .featureBody .bg05 {
    max-width: 52%;
  }
  .featureBody .bg05 img {
    margin-top: 7rem;
    max-height: 47rem;
    right: 0;
  }
  .featureBody .bg06 {
    padding-left: 42%;
  }
  .featureBody .bg06 img {
    margin-top: 7rem;
    max-height: 50rem;
    left: 0;
  }
  .featureBody .bg07 > img {
    margin-top: -2rem;
    max-height: 57rem;
    opacity: 1;
    right: 0;
  }
  .featureBody .bg07 p {
    background: #fff;
    font-size: 2rem;
    margin-top: -3rem;
    padding: 2.4rem 2.4rem 2.4rem 0;
    overflow: hidden;
  }
  .featureBody .bg07 p .alignright {
    font-size: 1.6rem;
    margin-left: 2.4rem;
  }
}

@media (min-width: 1920px) {
  .featureBody .bg02 {
    min-height: 37rem;
  }
}

/* ===========================================================
   # NEWS
=========================================================== */
/* = MV
----------------------------------------------------------- */
.newsNav {
  background: url(./img/news_nav_bg.jpg) center 0/cover no-repeat;
  padding: 2rem 0;
}

.newsNav h2 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.newsNav h2 strong {
  display: block;
  font-size: 2em;
  margin-bottom: 3px;
}

.newsNav input[type="radio"] {
  display: none;
}

.newsNav label {
  cursor: pointer;
  margin-right: 1em;
  padding-left: 2.4rem;
  position: relative;
}

.newsNav label::before, .newsNav input[type="radio"] + span::after {
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
}

.newsNav label::before {
  background: #fff;
  border: 1px solid #D9D9D9;
  width: 2rem;
  height: 2rem;
  left: 0;
  top: 2px;
}

.newsNav input[type="radio"]:checked + span::after {
  background: #0B41A0;
  border-radius: 50%;
  left: 4px;
  top: 6px;
  width: 1.2rem;
  height: 1.2rem;
}

@media (min-width: 768px) {
  .newsNav {
    background-size: 192rem;
    padding: 7.8rem 0;
  }
  .newsNav h2 {
    margin-bottom: 2rem;
  }
  .newsNav h2 strong {
    margin-bottom: 5px;
  }
  .newsNav label {
    font-size: 2rem;
    padding-left: 3.6rem;
  }
  .newsNav label::before {
    width: 2.8rem;
    height: 2.8rem;
  }
  .newsNav input[type="radio"]:checked + span::after {
    left: 8px;
    top: 10px;
  }
}

/* = LIST
----------------------------------------------------------- */
.newsCont {
  background: transparent linear-gradient(110deg, #E4EEFF 0%, #E4FBF4 100%);
  padding: 2rem 0 1rem;
}

.newsCont .newsList {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .newsCont {
    padding: 3rem 0 2rem;
  }
}

@media (min-width: 1024px) {
  .newsCont {
    padding: 8.5rem 0 6rem;
  }
}

/* = SINGLE
----------------------------------------------------------- */
.single .contBody .newsHead {
  padding: 0 0 2rem 0;
}

.single .contBody .newsHead .date {
  font-size: 2rem;
}

.single .contBody .newsHead .date::after {
  background: #0B41A0;
  content: "";
  display: inline-block;
  margin: 0 1.5rem 0 2rem;
  width: 2.4rem;
  height: 1px;
  transform: translateY(-1rem);
}

@media (min-width: 1024px) {
  .single .contBody .newsHead {
    padding-bottom: 6rem;
  }
}

.newsCont.report .newsList li a p .date::after {
  display: none;
}

/* ===========================================================
   # EVENT
=========================================================== */
/* = HEAD
----------------------------------------------------------- */
.eventMv {
  margin: 7rem 0 3rem;
}

.eventMv_ttl {
  max-width: 90%;
  left: 0;
  right: 0;
  top: 0;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .eventMv {
    margin-top: 15rem;
  }
}

@media (min-width: 1024px) {
  .eventMv {
    margin-top: 20rem;
  }
}

.eventHeading {
  letter-spacing: 2px;
  margin-bottom: 2rem;
}

.eventHeading strong {
  display: block;
  font-size: 2em;
  font-weight: 700;
  margin-bottom: 5px;
}

@media (min-width: 768px) {
  .eventHeading {
    letter-spacing: 4px;
    margin-bottom: 5rem;
  }
  .eventHeading strong {
    font-size: 4rem;
    margin-bottom: 1rem;
  }
}

/* = LIST
----------------------------------------------------------- */
.eventWrap {
  background: #fff;
  box-sizing: content-box;
  z-index: 1;
}

.eventWrap .eventList {
  justify-content: space-between;
}

.eventWrap .eventList li {
  width: 100%;
}

.eventWrap .eventList li a {
  background: #0B41A0;
  color: #fff;
  display: block;
  margin-bottom: 2.4rem;
  padding: 4px;
}

.eventWrap .eventList li a:hover {
  background: #C12424;
}

.eventWrap .eventList li .date {
  background: #fff;
  color: #020A19;
  font-size: 2rem;
  font-weight: 700;
  width: 100%;
  height: 12rem;
}

.eventWrap .eventList li .date > div {
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.eventWrap .eventList li .date strong {
  font-size: 5.7rem;
  font-weight: 700;
  vertical-align: 0;
}

.eventWrap .eventList li .date span {
  background: #020A19;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  line-height: 2.8rem;
  margin: 1rem 3px 0;
  width: 3rem;
  height: 3rem;
}

.eventWrap .eventList li .eventTtl {
  padding: 1rem 0;
}

.eventWrap .eventList li .eventTtl strong {
  display: block;
  padding-bottom: 1em;
}

.eventWrap .eventList li.past a {
  background: #020A19;
  opacity: .3;
}

.eventWrap .eventList li:not(.past) .sat {
  background: #24A3CB;
}

.eventWrap .eventList li:not(.past) .sun {
  background: #FC6471;
}

@media (min-width: 768px) {
  .eventWrap {
    padding: 5rem 0;
  }
  .eventWrap .eventList li {
    width: 32%;
  }
  .eventWrap .eventList li .date {
    height: 15rem;
  }
}

@media (min-width: 1024px) {
  .eventWrap {
    margin-top: -18rem;
    padding: 5rem 1.4rem;
  }
  .eventWrap .eventList li {
    width: 23%;
  }
}

@media (min-width: 1366px) {
  .eventWrap {
    padding: 5rem 2.4rem;
  }
}

/* = SINGLE
----------------------------------------------------------- */
.eventSingle .eventTtl {
  letter-spacing: 2px;
  padding: 0;
}

.eventSingle .eventTtl span {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 5px;
}

.eventSingle .entryBody {
  line-height: 1.8;
}

.eventSingle .eventTbl {
  justify-content: space-between;
}

.eventSingle .eventTbl dt, .eventSingle .eventTbl dd {
  border-top: 1px solid #0B41A0;
  border-bottom: 1px solid #0B41A0;
  margin-top: -1px;
  width: 100%;
}

.eventSingle .eventTbl dt {
  background: #F5F8FF;
  font-weight: 500;
  padding: 5px 0;
}

.eventSingle .eventTbl dd {
  border-color: #E6E9EF;
  padding: 1rem 0 3rem;
}

.eventSingle .gallList {
  justify-content: space-between;
  margin: -2rem 0 2rem 0;
}

.eventSingle .gallList li {
  margin-bottom: 1rem;
  width: 31%;
}

.eventSingle .linkBox {
  background: linear-gradient(180deg, #E4EEFF 0%, #E4FBF4 100%);
  font-size: 2rem;
  line-height: 6rem;
  width: 50rem;
}

.eventSingle .linkBox::after {
  right: 2rem;
}

@media (min-width: 768px) {
  .eventSingle .eventTtl {
    letter-spacing: 4px;
    margin-bottom: 7rem;
  }
  .eventSingle .eventTtl span {
    margin-top: 1rem;
  }
  .eventSingle .eventTbl {
    margin-top: 5rem;
  }
  .eventSingle .eventTbl dt, .eventSingle .eventTbl dd {
    padding: 3rem 0;
  }
  .eventSingle .eventTbl dt {
    font-size: 2rem;
    width: 24%;
    width: 21rem;
    min-width: 18rem;
  }
  .eventSingle .eventTbl dd {
    padding-left: 3rem;
    width: 62%;
    width: calc(100% - 21rem);
  }
  .eventSingle .gallList {
    margin: -5rem 0 12rem 0;
  }
  .eventSingle .gallList li {
    margin-bottom: 2rem;
  }
  .eventSingle .linkBox {
    font-size: 2.4rem;
    line-height: 10rem;
  }
}

/*# sourceMappingURL=content.map */