@charset "UTF-8";
.pan {
  text-align: center;
  width: 1100px;
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  padding: 6px 0; }
  @media screen and (max-width: 1100px) {
    .pan {
      width: 94%; } }
  @media screen and (max-width: 768px) {
    .pan {
      width: 90%;
      margin: 0 auto 20px; } }
  .pan img {
    width: 12px; }
  .pan .current-page {
    margin-left: 5px;
    color: #98273b; }
    .pan .current-page:before {
      content: "／ "; }

.inner {
  width: 1024px;
  margin: 0 auto 100px; }
  @media screen and (max-width: 1100px) {
    .inner {
      width: 94%; } }
  @media screen and (max-width: 768px) {
    .inner {
      width: 90%;
      margin: 0 auto 80px; } }
  @media screen and (max-width: 480px) {
    .inner {
      margin: 0 auto 50px; } }

.inner-box {
  width: 980px;
  margin: 0 auto; }
  @media screen and (max-width: 1100px) {
    .inner-box {
      width: 94%; } }
  @media screen and (max-width: 768px) {
    .inner-box {
      width: 100%; } }

/*
.title-area{
  position: relative;
  width: 100%;
  padding: 40px 0;
  background-color: #5375B9;
  background-image: linear-gradient(45deg, #5375B9 15%, #344D93 15%, #344D93 85%, #5375B9 85%);
  font-size: 4.0rem;
  font-weight: 500;
  color: #FFF;
  box-shadow: 0px 4px 5px -5px rgba(0, 0, 0, 0.6);
  @include tbt {
    padding: 20px 0;
    font-size: 3.2rem;
  }
  @include sp {
    padding: 10px 0;
    font-size: 2.6rem;
  }
  h2{
    text-align: center;
  }
}
*/
.title-area {
  position: relative;
  width: 100%;
  padding: 50px 0;
  background: linear-gradient(135deg, #1E3A5F, #3B82F6);
  color: #fff;
  text-align: center;
  overflow: hidden; }
  .title-area::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: #60A5FA;
    border-radius: 2px; }
  .title-area h2 {
    font-size: 3.6rem;
    font-weight: 600;
    letter-spacing: 0.05em; }
  @media screen and (max-width: 768px) {
    .title-area {
      padding: 30px 0; }
      .title-area h2 {
        font-size: 2.8rem; } }
  @media screen and (max-width: 480px) {
    .title-area {
      padding: 20px 0; }
      .title-area h2 {
        font-size: 2.2rem; } }

h3 {
  margin: 60px 0 20px;
  padding: 7px 0 7px 15px;
  font-size: 2.6rem;
  font-weight: 700;
  /*
    background: #f5f5f5;
  */
  border-left: 5px solid #e45a5a;
  border-bottom: 1px solid #e45a5a; }
  @media screen and (max-width: 768px) {
    h3 {
      font-size: 2.0rem;
      margin: 50px 0 20px; } }

h4 {
  font-weight: 500;
  font-size: 2.2rem;
  margin-bottom: 20px;
  position: relative;
  border-bottom: 1px solid #e45a5a;
  margin-top: 1em; }
  @media screen and (max-width: 768px) {
    h4 {
      font-size: 2.0rem; } }
  @media screen and (max-width: 480px) {
    h4 {
      font-size: 2.0rem; } }
  h4::before {
    position: absolute;
    bottom: .5em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 0;
    color: rgba(238, 144, 36, 0.1);
    font-size: 1.5em;
    line-height: 1;
    content: attr(data-word);
    pointer-events: none; }

.mg-top {
  margin-top: 1em; }

.en-title {
  font-family: 'Noto Serif JP', serif;
  font-size: 4.0rem;
  line-height: 1.2em;
  color: #013C89; }
  @media screen and (max-width: 768px) {
    .en-title {
      font-size: 3.6rem; } }
  @media screen and (max-width: 480px) {
    .en-title {
      font-size: 3.2rem; } }

.btn-ds1, .btn-ds2 {
  text-align: left;
  color: #FFF;
  box-sizing: border-box; }
  .btn-ds1 a, .btn-ds2 a {
    display: inline-block;
    padding: 0.6em 2.5em; }

.btn-ds2 a {
  padding: 1em 5em; }

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

.font-red {
  color: #FF0000; }

.mg-top30 {
  margin-top: 30px; }

.box-center {
  text-align: center; }

.bg-col {
  background-color: #fff17c; }

/*top ビジュアル動画*/
.main-visual {
  position: relative;
  height: 35vw;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    .main-visual {
      height: 38vw; } }
  @media screen and (max-width: 480px) {
    .main-visual {
      height: 40vw; } }

.mv-grid {
  display: flex;
  height: 100%; }

.mv-item {
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden; }

/* 重ねる2枚 */
.mv-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.5s ease; }

/* 表示中 */
.mv-bg.current {
  opacity: 1;
  z-index: 1; }

/* 次の画像 */
.mv-bg.next {
  z-index: 2; }

/* フェードイン */
.mv-bg.fade-in {
  opacity: 1; }

/* オーバーレイ */
.main-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  /*background: rgba(0,0,0,0.35);*/
  z-index: 5; }

/* テキスト */
.mv-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  z-index: 10; }

.mv-text h1 {
  font-size: 3rem; }

.mv-text p {
  margin-top: 10px;
  color: #dbeafe; }

/* SP */
/*
@media (max-width: 768px) {
  .mv-grid {
    flex-direction: column;
  }

  .mv-item {
    width: 100%;
    height: 50%;
  }
}
*/
#greeting, #outline, #program, #info, #announcement {
  margin: 0 auto 100px; }
  @media screen and (max-width: 1100px) {
    #greeting, #outline, #program, #info, #announcement {
      margin: 0 auto 80px; } }
  @media screen and (max-width: 768px) {
    #greeting, #outline, #program, #info, #announcement {
      margin: 0 auto 60px; } }
  @media screen and (max-width: 480px) {
    #greeting, #outline, #program, #info, #announcement {
      margin: 0 auto 50px; } }

#greeting .greeting-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #greeting .greeting-info .dr-photo {
    width: 140px; }
    @media screen and (max-width: 480px) {
      #greeting .greeting-info .dr-photo {
        width: 120px; } }
  #greeting .greeting-info .dr-info {
    width: calc(100% - 180px); }
    @media screen and (max-width: 768px) {
      #greeting .greeting-info .dr-info {
        width: 100%; } }
    #greeting .greeting-info .dr-info .dr-info-area {
      text-align: right; }
      #greeting .greeting-info .dr-info .dr-info-area .subText {
        font-size: 0.8em; }
#greeting p {
  margin-top: 1.5em; }
  #greeting p:first-child {
    margin-top: 0; }
    @media screen and (max-width: 768px) {
      #greeting p:first-child {
        margin-top: 1.5em; } }

#index-news {
  margin: 100px auto; }
  @media screen and (max-width: 1100px) {
    #index-news {
      margin: 100px auto; } }
  @media screen and (max-width: 768px) {
    #index-news {
      margin: 100px auto; } }
  @media screen and (max-width: 480px) {
    #index-news {
      margin: 100px auto; } }

#outline h2, #index-news h2 {
  color: #202E53;
  font-weight: 700;
  margin-bottom: 20px;
  font-size: 1.4rem;
  line-height: 1.4em; }
  @media screen and (max-width: 768px) {
    #outline h2, #index-news h2 {
      margin-bottom: 10px; } }
  #outline h2 span, #index-news h2 span {
    display: flex;
    align-items: baseline;
    font-size: 3.0rem;
    line-height: 1.0em; }
    @media screen and (max-width: 768px) {
      #outline h2 span, #index-news h2 span {
        width: 100%;
        font-size: 2.6rem; } }
    @media screen and (max-width: 480px) {
      #outline h2 span, #index-news h2 span {
        font-size: 2.0rem; } }
    #outline h2 span:after, #index-news h2 span:after {
      border-top: 1px solid #202E53;
      content: "";
      flex-grow: 1;
      margin-left: 1rem; }
#outline dl, #index-news dl {
  display: flex;
  flex-wrap: wrap; }
  #outline dl dt, #index-news dl dt {
    width: 9em;
    padding: 15px 0 15px 15px;
    box-sizing: border-box;
    font-weight: 700; }
    #outline dl dt:nth-child(4n+1), #index-news dl dt:nth-child(4n+1) {
      background-color: #F7F9F9; }
    #outline dl dt:nth-child(4n+1) + dd, #index-news dl dt:nth-child(4n+1) + dd {
      background-color: #F7F9F9; }
    @media screen and (max-width: 768px) {
      #outline dl dt, #index-news dl dt {
        width: 100%;
        padding: 15px 0 0 15px;
        box-sizing: border-box; } }
  #outline dl dd, #index-news dl dd {
    width: calc(100% - 9em);
    padding: 15px 0;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      #outline dl dd, #index-news dl dd {
        width: 100%;
        padding: 0 15px 15px 15px;
        box-sizing: border-box; } }
    #outline dl dd .access, #index-news dl dd .access {
      margin-left: 1em; }
      #outline dl dd .access a, #index-news dl dd .access a {
        border: 1px solid #d87f00;
        padding: 3px 10px;
        text-decoration: none; }
#outline a, #index-news a {
  color: #98273b;
  text-decoration: underline; }

#program h2 {
  color: #202E53;
  font-weight: 700;
  margin-bottom: 20px;
  font-size: 1.4rem;
  line-height: 1.4em; }
  @media screen and (max-width: 768px) {
    #program h2 {
      margin-bottom: 10px; } }
  #program h2 span {
    display: flex;
    align-items: baseline;
    font-size: 3.0rem;
    line-height: 1.0em; }
    @media screen and (max-width: 768px) {
      #program h2 span {
        width: 100%;
        font-size: 2.6rem; } }
    @media screen and (max-width: 480px) {
      #program h2 span {
        font-size: 2.0rem; } }
    #program h2 span:after {
      border-top: 1px solid #202E53;
      content: "";
      flex-grow: 1;
      margin-left: 1rem; }
#program .pro-btn {
  margin: 0 auto 2em;
  text-align: center; }
  #program .pro-btn a {
    text-decoration: none;
    display: inline-block;
    padding: 6px 0;
    width: 220px;
    background-color: #98273b;
    border-radius: 6px;
    color: #FFF;
    font-weight: 700; }
#program dl {
  display: flex;
  flex-wrap: wrap; }
  #program dl dt {
    width: 7em;
    padding: 15px 0 15px 15px;
    box-sizing: border-box;
    font-weight: 700; }
    #program dl dt:nth-child(4n+1) {
      background-color: #F7F9F9; }
    #program dl dt:nth-child(4n+1) + dd {
      background-color: #F7F9F9; }
    @media screen and (max-width: 768px) {
      #program dl dt {
        width: 100%;
        padding: 15px 0 0 15px;
        box-sizing: border-box; } }
  #program dl dd {
    width: calc(100% - 7em);
    padding: 15px 0;
    box-sizing: border-box;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      #program dl dd {
        width: 100%;
        padding: 0 15px 15px 15px;
        box-sizing: border-box; } }
    #program dl dd .font-nomal {
      font-weight: normal; }
  #program dl p {
    font-weight: normal; }
#program a {
  color: #98273b;
  text-decoration: underline; }

#info a, #announcement a {
  text-decoration: underline;
  color: #98273b; }
#info ol li, #announcement ol li {
  list-style: decimal;
  margin-left: 1.5em; }
#info .mk-b, #announcement .mk-b {
  background-image: url("../images/arrow01.svg");
  background-size: 0.7em;
  background-repeat: no-repeat;
  background-position: left top 0.6em;
  padding-left: 1em; }
#info .mk-w, #announcement .mk-w {
  background-image: url("../images/arrow02.svg");
  background-size: 0.7em;
  background-repeat: no-repeat;
  background-position: left top 0.6em;
  padding-left: 1em; }
#info .sub-title, #announcement .sub-title {
  margin-top: 1em;
  font-weight: 700;
  margin-bottom: 0.5em; }
  #info .sub-title span, #announcement .sub-title span {
    background-color: #202E53;
    padding: 5px 15px;
    color: #FFF; }

.indent-1em {
  text-indent: -1em;
  padding-left: 1em; }

.indent-2em {
  text-indent: -2em;
  padding-left: 2em; }

.indent-3em {
  text-indent: -3em;
  padding-left: 3em; }

.indent-6em {
  text-indent: -6em;
  padding-left: 6em; }

.bnr-area {
  width: 1100px;
  margin: 0 auto 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media screen and (max-width: 1100px) {
    .bnr-area {
      width: 90%; } }
  @media screen and (max-width: 768px) {
    .bnr-area {
      margin: 0 auto 40px; } }
  .bnr-area figure {
    width: 25%;
    box-sizing: border-box;
    padding: 2% 1%; }
    @media screen and (max-width: 768px) {
      .bnr-area figure {
        width: 50%; } }
    @media screen and (max-width: 480px) {
      .bnr-area figure {
        width: 80%;
        margin: 0 auto; } }

/*ポップアップ用*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s; }

.popup.is-show {
  opacity: 1;
  visibility: visible; }

.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  max-width: 750px;
  padding: 50px 25px 20px;
  background-color: #fff;
  z-index: 2;
  box-sizing: border-box; }

.popup-inner img {
  width: 100%; }

.close-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 20px;
  height: 20px;
  text-align: center;
  cursor: pointer; }

.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1;
  cursor: pointer; }

@media screen and (max-width: 768px) {
  .popup-inner {
    padding: 25px; }

  .close-btn {
    position: absolute;
    right: 10px;
    top: 0px;
    width: 15px;
    height: 15px;
    text-align: center;
    cursor: pointer; } }
.event-info {
  background: #F7F9F9;
  padding: 40px 20px; }
  .event-info__inner {
    max-width: 900px;
    margin: auto;
    text-align: center;
    border-top: 2px solid #ccc;
    border-bottom: 2px solid #ccc;
    padding: 20px 0; }
  .event-info__date {
    margin-bottom: 40px; }
    .event-info__date .year {
      font-size: 28px;
      line-height: 1.0em;
      font-weight: bold;
      margin-bottom: 10px; }
    .event-info__date .day {
      font-size: 32px;
      line-height: 1.0em;
      font-weight: bold;
      letter-spacing: 2px; }
      .event-info__date .day .big {
        font-size: 64px;
        line-height: 1.0em;
        font-weight: 800; }
  .event-info__detail {
    max-width: 700px;
    margin: auto;
    text-align: left; }
    .event-info__detail dl {
      display: flex;
      align-items: center;
      margin-bottom: 20px; }
    .event-info__detail dt {
      background: #8b1c2a;
      color: #fff;
      padding: 6px 14px;
      font-size: 14px;
      margin-right: 20px;
      min-width: 60px;
      text-align: center; }
    .event-info__detail dd {
      font-size: 20px;
      font-weight: bold; }
      .event-info__detail dd span {
        font-size: 14px;
        font-weight: normal;
        margin-left: 8px; }

/* レスポンシブ */
@media (max-width: 768px) {
  .event-info__date .year {
    font-size: 22px; }
  .event-info__date .day {
    font-size: 22px; }
    .event-info__date .day .big {
      font-size: 44px; }
  .event-info__detail dl {
    flex-direction: column;
    align-items: flex-start; }
  .event-info__detail dt {
    margin-bottom: 8px; }
  .event-info__detail dd {
    font-size: 18px; } }
