@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import "sanitize.css";
html, body {
  margin: 0;
  padding: 0;
  font-size: 16px;
}

a {
  text-decoration: none;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
a:hover {
  text-decoration: none;
}

p {
  font-size: 14px;
  margin: 0 auto 0.5rem;
}

h1, h2, h3, h4, h5, h6, p, tr, td {
  word-break: break-word;
  margin: 0;
  line-height: 1.625;
}

h1 {
  font-size: clamp(1.175rem, 1.035rem + 0.7vw, 1.875rem);
  font-weight: bold;
  font-weight: 700;
  color: #20324F;
}

h2 {
  font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.625rem);
  font-weight: normal;
}

h3 {
  font-size: 21px;
  font-weight: bold;
  font-weight: 700;
  margin: 0 auto 1.75rem;
  color: #20324F;
}

h4 {
  font-size: 18px;
  font-weight: normal;
  margin: 0 auto 0.5rem;
}

h5 {
  font-size: 16px;
  font-weight: normal;
  margin: 0 auto 0.5rem;
}

h6 {
  font-size: 14px;
  font-weight: normal;
}

.caption {
  font-size: 75%;
}

ul, dl, ol {
  margin: 0;
}

dl, dt, dd {
  font-weight: normal !important;
}

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

.text-right {
  text-align: right;
}

.pc-block {
  display: block;
}

.sp-block {
  display: none;
}

.pc-inline {
  display: inline;
}

.sp-inline {
  display: none;
}

.pc-inline-block {
  display: inline-block;
}

.sp-inline-block {
  display: none;
}

.pc-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sp-flex {
  display: none;
}

@media (max-width: 767.99px) {
  .pc-block {
    display: none;
  }
  .sp-block {
    display: block;
  }
  .pc-inline {
    display: none;
  }
  .sp-inline {
    display: inline;
  }
  .pc-inline-block {
    display: none;
  }
  .sp-inline-block {
    display: inline-block;
  }
  .pc-flex {
    display: none;
  }
  .sp-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.anchored {
  position: relative;
}
.anchored .anchor {
  position: absolute;
  top: -4rem;
}

.wrap-40th-anniversary {
  font-family: "Noto Serif JP", serif;
  line-height: 1.625;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  /*height: 100%;*/
  min-width: 768px;
  min-height: 100dvh;
  position: relative;
}
@media (max-width: 767.99px) {
  .wrap-40th-anniversary {
    min-width: 390px;
  }
}

.base {
  background-image: url(../images/40th/bg-40th.gif);
  background-repeat: repeat;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

/*
.second-page-bg {
  background-image: url(../images/40th/second-page-bg-pc.png);
  background-repeat: repeat;
  background-size: 100%;
  background-position: center top;
  width: 2266px;
  height: calc(100% - 512px);
  position: absolute;
  top: 512px;
  left: calc(50% - 1133px);
  @media (max-width: 767.99px) {
    background-image: url(../images/40th/second-page-bg-sp.png);
    background-size: cover;
    width: 100%;
    height: calc(100% - 470px);
    top: 470px;
    left: 0;
  }
}
*/
.header-bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1366px;
}
@media (max-width: 1365.99px) {
  .header-bg {
    left: calc(50% - 683px);
  }
}
@media (max-width: 767.99px) {
  .header-bg {
    left: 0;
    min-width: 390px;
  }
}
.header-bg .header-bg1 {
  background-image: url(../images/40th/header-bg-pc1.png);
  background-size: cover;
  display: block;
  width: 683px;
  height: 550px;
  position: absolute;
  top: 2.25rem;
  left: 0;
}
@media (max-width: 767.99px) {
  .header-bg .header-bg1 {
    background-image: url(../images/40th/header-bg-sp1.png);
    width: 195px;
    height: 876px;
    top: 0;
  }
}
.header-bg .header-bg2 {
  background-image: url(../images/40th/header-bg-pc2.png);
  background-size: cover;
  display: block;
  width: 683px;
  height: 550px;
  position: absolute;
  top: 2.25rem;
  top: 0;
  right: 0;
}
@media (max-width: 767.99px) {
  .header-bg .header-bg2 {
    background-image: url(../images/40th/header-bg-sp2.png);
    width: 195px;
    height: 876px;
    top: 0;
  }
}

.content-bg {
  display: block;
  position: absolute;
  top: 580px;
  left: 0;
  width: 100%;
  min-width: 1366px;
  height: calc(100% - 580px);
}
@media (max-width: 1365.99px) {
  .content-bg {
    left: calc(50% - 683px);
  }
}
@media (max-width: 767.99px) {
  .content-bg {
    top: 876px;
    left: 0;
    min-width: 390px;
    height: calc(100% - 876px);
  }
}
.content-bg .content-bg1 {
  background-image: url(../images/40th/content-bg-pc1.png);
  background-size: 683px 2642px;
  background-repeat: repeat-y;
  display: block;
  width: 683px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767.99px) {
  .content-bg .content-bg1 {
    background-image: url(../images/40th/content-bg-sp1.png);
    background-size: 195px 2000px;
    width: 195px;
  }
}
.content-bg .content-bg2 {
  background-image: url(../images/40th/content-bg-pc2.png);
  background-size: 683px 2642px;
  background-repeat: repeat-y;
  display: block;
  width: 683px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 767.99px) {
  .content-bg .content-bg2 {
    background-image: url(../images/40th/content-bg-sp2.png);
    background-size: 195px 2000px;
    width: 195px;
  }
}

.bg01 {
  display: block;
  width: 2266px;
  height: 640px;
  position: absolute;
  top: -98px;
  left: calc(50% - 1133px);
  background-image: url(../images/40th/header-bg-40th-pc.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .bg01 {
    background-image: url(../images/40th/header-bg-40th-sp.png);
    width: 100%;
    height: unset;
    aspect-ratio: 390/470;
    top: 0;
    left: 0;
  }
}

.bgmoon {
  display: block;
  width: 89px;
  height: 99px;
  position: fixed;
  top: calc(184px + 2.25rem);
  left: calc(50% + 430px);
  background-image: url(../images/40th/moon-40th.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .bgmoon {
    top: calc(184px + 0rem);
  }
}

.header-40th-anniversary {
  width: 100%;
  min-width: 768px;
  position: relative;
  z-index: 10;
}
@media (max-width: 767.99px) {
  .header-40th-anniversary {
    min-width: 390px;
  }
}
.header-40th-anniversary .inner {
  max-width: 1366px;
  margin: 0 auto;
}
.header-40th-anniversary .link-toppage {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  width: 140px;
  height: 60px;
  top: calc(15px + 2.25rem);
  left: calc(50% - 70px);
}
@media (max-width: 767.99px) {
  .header-40th-anniversary .link-toppage {
    width: 100px;
    height: 40px;
    top: 5px;
    left: calc(50% - 50px);
  }
}
.header-40th-anniversary .link-toppage img {
  width: 120px;
  height: 45.8px;
}
@media (max-width: 767.99px) {
  .header-40th-anniversary .link-toppage img {
    width: 77.6px;
    height: 29.3px;
  }
}

.upper-menu-40th-anniversary {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #20324F;
  font-family: "Noto Serif JP", serif;
  width: 100%;
  height: 2.25rem;
  position: fixed;
  top: 0;
  z-index: 11;
}
@media (max-width: 767.99px) {
  .upper-menu-40th-anniversary {
    display: none;
  }
}
.upper-menu-40th-anniversary ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 0.375rem 1rem;
  gap: 1.5rem;
}
.upper-menu-40th-anniversary ul > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.upper-menu-40th-anniversary ul > li a {
  color: #FFF;
  font-size: clamp(0.625rem, 0.5rem + 0.625vw, 1rem);
  font-weight: bold;
  font-weight: 500;
  vertical-align: middle;
}
.upper-menu-40th-anniversary ul > li a.sub-menu-trigger::after {
  display: inline-block;
  content: "▼";
  font-size: 50%;
  margin-left: 0.25rem;
}
.upper-menu-40th-anniversary ul > li a.sub-menu-trigger:has(+ .open) {
  color: rgb(244.9810950413, 207.4791241606, 99.5189049587);
}
.upper-menu-40th-anniversary ul > li a:hover {
  color: rgb(244.9810950413, 207.4791241606, 99.5189049587);
}
.upper-menu-40th-anniversary ul > li.current a {
  color: #C6A546;
}
.upper-menu-40th-anniversary ul > li > .sub-menu {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  position: absolute;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  top: 1.5rem;
  left: 0;
  background-color: #FFF;
  padding: 0.5rem;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
  z-index: 1;
}
.upper-menu-40th-anniversary ul > li > .sub-menu > li::before {
  display: block;
  content: "";
  width: 0.25rem;
  height: 1.5rem;
  border-radius: 0.125rem;
  margin: 0 0.25rem 0 0;
  background-color: transparent;
}
.upper-menu-40th-anniversary ul > li > .sub-menu > li a {
  color: #20324F !important;
  display: block;
  width: 100%;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}
.upper-menu-40th-anniversary ul > li > .sub-menu > li a:hover {
  background-color: rgb(244.9810950413, 207.4791241606, 99.5189049587);
}
.upper-menu-40th-anniversary ul > li > .sub-menu > li.current::before {
  background-color: #20324F;
}
.upper-menu-40th-anniversary ul > li > .sub-menu.open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.upper-menu-40th-anniversary .back-to-top {
  margin: 0.25rem 1rem 0.25rem auto;
  color: rgba(255, 255, 255, 0.75);
  font-size: clamp(0.5rem, 0.375rem + 0.625vw, 0.875rem);
}
.upper-menu-40th-anniversary .back-to-top:hover {
  color: white;
}
@media (max-width: 879.99px) {
  .upper-menu-40th-anniversary .back-to-top span {
    display: none;
  }
}

.menu-40th-anniversary-trigger {
  display: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 64px;
  height: 64px;
  background-color: #C6A546;
  border-radius: 32px;
  position: fixed;
  top: 24px;
  left: 24px;
  z-index: 12;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  cursor: pointer;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary-trigger {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 48px;
    height: 48px;
    top: 12px;
    left: 12px;
  }
}
.menu-40th-anniversary-trigger span, .menu-40th-anniversary-trigger::before, .menu-40th-anniversary-trigger::after, .menu-40th-anniversary-trigger span::before, .menu-40th-anniversary-trigger span::after {
  content: "";
  display: block;
  width: 60%;
  height: 0.1875rem;
  background-color: #FFF;
  border-radius: 0.125rem;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}
.menu-40th-anniversary-trigger:hover {
  -webkit-box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.25);
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.menu-40th-anniversary-trigger::before {
  position: absolute;
  top: 20px;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary-trigger::before {
    top: 14px;
  }
}
.menu-40th-anniversary-trigger::after {
  position: absolute;
  bottom: 20px;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary-trigger::after {
    bottom: 14px;
  }
}
.menu-40th-anniversary-trigger span::before {
  position: absolute;
  -webkit-transform: skewY(0deg);
          transform: skewY(0deg);
}
.menu-40th-anniversary-trigger span::after {
  position: absolute;
  -webkit-transform: skewY(0deg);
          transform: skewY(0deg);
}
.menu-40th-anniversary-trigger.open {
  background-color: transparent;
}
.menu-40th-anniversary-trigger.open::before, .menu-40th-anniversary-trigger.open::after {
  opacity: 0;
}
.menu-40th-anniversary-trigger.open:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.menu-40th-anniversary-trigger.open:hover span {
  opacity: 1;
}
.menu-40th-anniversary-trigger.open span {
  background-color: transparent;
  opacity: 0.75;
}
.menu-40th-anniversary-trigger.open span::before {
  opacity: 1;
  -webkit-transform: skewY(25deg);
          transform: skewY(25deg);
  background-color: #FFF;
}
.menu-40th-anniversary-trigger.open span::after {
  opacity: 1;
  -webkit-transform: skewY(-25deg);
          transform: skewY(-25deg);
  background-color: #FFF;
}
.menu-40th-anniversary-trigger.open + .link-toppage {
  display: none;
}

.menu-40th-anniversary {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(198, 165, 70, 0.95);
  -webkit-box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 0.125rem 1rem rgba(0, 0, 0, 0.5);
  border-radius: 32px;
  position: fixed;
  top: 24px;
  left: -320px;
  height: auto;
  padding: 0 1rem;
  opacity: 0;
  z-index: 11;
  -webkit-transition: opacity 0.3s ease, left 0.2s ease-out;
  transition: opacity 0.3s ease, left 0.2s ease-out;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary {
    background-color: rgba(198, 165, 70, 0.975);
    top: 0;
    left: 0;
    width: 0;
    height: 0;
  }
}
.menu-40th-anniversary.open {
  opacity: 1;
  top: 24px;
  left: 24px;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary.open {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
}
.menu-40th-anniversary ul {
  list-style: none;
  padding: 4rem 0 2rem;
  margin: 0;
  overflow-y: auto;
  max-height: 100vh;
  -webkit-transform: translateX(-8px);
          transform: translateX(-8px);
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary ul {
    padding: 1rem 0 5rem 2rem;
  }
}
.menu-40th-anniversary ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5rem;
  font-size: 15px;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}
@media (max-width: 767.99px) {
  .menu-40th-anniversary ul li {
    font-size: 0.875rem;
    margin-bottom: 0rem;
    margin-left: -2rem;
  }
}
.menu-40th-anniversary ul li::before {
  display: block;
  content: "";
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 48px;
  height: 32px;
  background-image: url(../images/40th/menu-cup-40th.png);
  background-size: cover;
  opacity: 0;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.menu-40th-anniversary ul li a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  color: #FFF;
}
.menu-40th-anniversary ul li:has(a):hover a {
  color: #20324F;
  font-weight: bold;
  font-weight: 700;
}
.menu-40th-anniversary ul li:has(a):hover::before {
  opacity: 1;
}
.menu-40th-anniversary ul li.current a {
  color: #20324F;
  font-weight: bold;
  font-weight: 700;
}
.menu-40th-anniversary ul li.current::before {
  opacity: 1;
}

.main-40th-anniversary {
  padding-top: 2.25rem;
  min-height: calc(100dvh - 452px + 320px);
  min-width: 768px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary {
    min-width: 390px;
    padding-top: 0;
  }
}
.main-40th-anniversary .btn-40th {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10rem;
  height: 2rem;
  padding: 0 0.5rem;
  background-color: #C6A546;
  border: solid 1px #C6A546;
  margin: 2rem auto;
  text-align: center;
  position: relative;
}
.main-40th-anniversary .btn-40th::after {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  content: "";
  width: 0%;
  height: calc(2rem - 2px);
  background-color: #FFF;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  z-index: 0;
}
.main-40th-anniversary .btn-40th a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
  color: #FFF;
  width: 100%;
  height: 100%;
}
.main-40th-anniversary .btn-40th:hover a {
  color: #C6A546;
}
.main-40th-anniversary .btn-40th:hover::after {
  width: 100%;
}
.main-40th-anniversary .news-list dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 1rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .news-list dl {
    font-size: 13px;
  }
}
.main-40th-anniversary .news-list dl dt {
  width: 138px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .news-list dl dt {
    width: 88px;
  }
}
.main-40th-anniversary .news-list dl dd {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0;
}
.main-40th-anniversary .news-list dl dd a {
  color: #000;
}
.main-40th-anniversary .news-list dl dd a:hover {
  opacity: 0.75;
}
.main-40th-anniversary .event-list {
  max-width: 435px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .event-list {
    max-width: 286px;
  }
}
.main-40th-anniversary .event-list .event-link {
  display: block;
  color: #000;
  margin-bottom: 3rem;
}
.main-40th-anniversary .event-list .event-link:hover {
  opacity: 0.8;
}
.main-40th-anniversary .event-list .event-link .thumb img {
  display: block;
  max-width: 435px;
  width: 100%;
  margin-bottom: 0.125rem;
}
.main-40th-anniversary .event-list .event-link .date {
  font-size: 15px;
}
.main-40th-anniversary .event-list .event-link .title {
  font-size: 18px;
}
.main-40th-anniversary .event-detail {
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .event-detail {
    max-width: calc(100% - 165px);
  }
}
.main-40th-anniversary .event-detail dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  margin: 0 auto 1rem;
  padding: 0 0 1rem;
  border-bottom: solid 1px #000;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .event-detail dl {
    font-size: 14px;
  }
  .main-40th-anniversary .event-detail dl.panelist {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .main-40th-anniversary .event-detail dl.panelist dt {
    width: 100%;
    margin-bottom: 0.75rem;
  }
  .main-40th-anniversary .event-detail dl.panelist dd {
    margin: 0;
  }
}
.main-40th-anniversary .event-detail dl dt {
  width: 200px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  text-align: center;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .event-detail dl dt {
    width: 80px;
    text-align: left;
  }
}
.main-40th-anniversary .event-detail dl dd {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0 0 0 1rem;
}
.main-40th-anniversary .event-detail dl dd.matter {
  font-size: 15px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary .event-detail dl dd.matter {
    font-size: 14px;
  }
}
.main-40th-anniversary .event-detail dl dd .schedule {
  display: block;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: solid 1px #000;
}
.main-40th-anniversary .event-detail dl dd .schedule:last-child {
  border-bottom: none;
}
.main-40th-anniversary .event-detail dl dd .schedule .time, .main-40th-anniversary .event-detail dl dd .schedule img, .main-40th-anniversary .event-detail dl dd .schedule .name, .main-40th-anniversary .event-detail dl dd .schedule .profile {
  display: block;
  text-align: justify;
  margin-bottom: 0.75rem;
}
.main-40th-anniversary .event-detail dl dd .schedule img {
  width: 85px;
  height: 85px;
}
.main-40th-anniversary .event-detail dl dd .schedule .profile {
  font-size: 14px;
  width: unset;
}
.main-40th-anniversary .event-detail h4 {
  font-weight: bold;
  font-weight: 700;
  color: #20324F;
}
.main-40th-anniversary.toppage-content .section01 {
  position: relative;
  width: 100%;
  height: 100dvh;
  margin: 0 auto;
}
.main-40th-anniversary.toppage-content .section01 .top-visual {
  width: 100%;
  height: 100%;
}
.main-40th-anniversary.toppage-content .section01 .top-visual .logo {
  position: absolute;
  top: 29%;
  left: calc(50% - 0.5rem + 0.625rem);
  width: 20%;
  min-width: 256px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-height: 600px) {
  .main-40th-anniversary.toppage-content .section01 .top-visual .logo {
    top: 27%;
  }
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section01 .top-visual .logo {
    top: 29%;
    left: 50%;
    width: 64%;
  }
}
.main-40th-anniversary.toppage-content .section01 .top-visual .scroll-down {
  display: block;
  width: 120px;
  height: 72px;
  background-image: url(../images/40th/scroll-down.png);
  background-size: cover;
  text-align: center;
  position: absolute;
  top: 72%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.main-40th-anniversary.toppage-content .section01 .top-visual .scroll-down:hover {
  opacity: 0.75;
  -webkit-transform: translateY(10px) translateX(-50%);
          transform: translateY(10px) translateX(-50%);
}
@media (max-height: 720px) {
  .main-40th-anniversary.toppage-content .section01 .top-visual .scroll-down {
    width: 90px;
    height: 54px;
  }
}
@media (max-height: 640px) {
  .main-40th-anniversary.toppage-content .section01 .top-visual .scroll-down {
    display: none;
  }
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section01 {
    width: 390px;
    height: 100vh;
    min-height: 640px;
    aspect-ratio: 390/640;
  }
}
.main-40th-anniversary.toppage-content .section02 {
  background: #20324F;
  color: #FFF;
  padding: 256px 0 96px;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 {
    padding: 152px 0 96px;
  }
}
.main-40th-anniversary.toppage-content .section02 .rose {
  position: absolute;
  top: -108px;
  left: calc(50% - 500px);
  width: 1000px;
  /* height: 406px; */
  aspect-ratio: 1326/406;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 .rose {
    aspect-ratio: unset;
  }
}
.main-40th-anniversary.toppage-content .section02 .rose img {
  width: 100%;
  height: 100%;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 .rose {
    width: 100%;
    height: 300px;
    margin: 0 auto;
    top: -150px;
    left: 0;
    overflow-x: hidden;
  }
  .main-40th-anniversary.toppage-content .section02 .rose img {
    width: 600px;
    max-width: unset;
    height: unset;
    aspect-ratio: 768/300;
    position: absolute;
    top: 30px;
    left: calc(50% - 300px);
  }
}
.main-40th-anniversary.toppage-content .section02 .section-inner {
  width: 660px;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 .section-inner {
    padding: 32px 0 0;
    width: 390px;
  }
}
.main-40th-anniversary.toppage-content .section02 .section-inner h3 {
  color: #FFF;
}
.main-40th-anniversary.toppage-content .section02 .section-inner p {
  line-height: 2.075;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 .section-inner p {
    width: 268px;
    margin: 0 auto;
  }
}
.main-40th-anniversary.toppage-content .section02 .section-inner .chairman img {
  display: block;
  width: 162px;
  height: 216px;
  margin: 0 auto 0.75rem;
}
.main-40th-anniversary.toppage-content .section02 .bg02 {
  width: 2150px;
  height: 905px;
  background-image: url(../images/40th/bg02-40th-pc.png);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: 290px;
  left: calc(50% - 1075px);
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section02 .bg02 {
    background-image: url(../images/40th/bg02-40th-sp.png);
    width: 100%;
    height: unset;
    aspect-ratio: 390/930;
    top: 152px;
    left: 0;
  }
}
.main-40th-anniversary.toppage-content .section03 {
  padding: 100px 0 120px;
  position: relative;
}
.main-40th-anniversary.toppage-content .section03 .section-inner {
  width: 660px;
  margin: 0 auto;
  padding: 30px 50px;
  min-height: 300px;
  border: solid 1px #C6A546;
  background-color: #FFF;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section03 .section-inner {
    width: 330px;
    min-height: 415px;
    padding: 20px 25px;
  }
}
.main-40th-anniversary.toppage-content .section03 .section-inner h3 {
  text-align: center;
  margin: 0 auto 2rem;
}
.main-40th-anniversary.toppage-content .section04 {
  padding: 0 0 120px;
  position: relative;
}
.main-40th-anniversary.toppage-content .section04 .bg03 {
  display: block;
  width: 2406px;
  height: 1074px;
  position: absolute;
  top: -260px;
  left: calc(50% - 1203px);
  background-image: url(../images/40th/bg03-40th-pc.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section04 .bg03 {
    background-image: url(../images/40th/bg03-40th-sp.png);
    width: 100%;
    height: unset;
    aspect-ratio: 390/927;
    top: 0;
    left: 0;
  }
}
.main-40th-anniversary.toppage-content .section04 .section-inner {
  width: 560px;
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section04 .section-inner {
    width: 280px;
    margin: 0 auto;
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
  }
}
.main-40th-anniversary.toppage-content .section04 .section-inner h3 {
  text-align: center;
  margin: 0 auto 2rem;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 20px;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  margin-bottom: 50px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section04 .section-inner .event-block {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block:hover .image::after {
  width: 100%;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block:hover .text {
  opacity: 0.75;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .image {
  position: relative;
  width: 202px;
  height: 141px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section04 .section-inner .event-block .image {
    width: 250px;
    height: 175px;
  }
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .image::after {
  display: block;
  content: "";
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.25);
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  color: #000;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text h5 {
  margin: 0 auto 0.375rem;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text h5 .date {
  font-size: 14px;
  margin-left: 1rem;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text ul {
  padding: 0;
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text ul li {
  font-size: 14px;
  position: relative;
  list-style-type: none;
  margin-bottom: 0.125rem;
  padding: 0 0 0 1rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text ul li {
    font-size: 13px;
  }
}
.main-40th-anniversary.toppage-content .section04 .section-inner .event-block .text ul li::before {
  display: inline-block;
  content: "■";
  color: #C6A546;
  font-size: 12px;
  margin-right: 0.25rem;
  margin-left: -1rem;
}
.main-40th-anniversary.toppage-content .section05 {
  padding: 0 0 120px;
  position: relative;
}
.main-40th-anniversary.toppage-content .section05 .section-inner {
  width: 560px;
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section05 .section-inner {
    width: 280px;
  }
}
.main-40th-anniversary.toppage-content .section05 .section-inner .link-block {
  margin-bottom: 120px;
}
.main-40th-anniversary.toppage-content .section05 .section-inner h3 {
  text-align: center;
  margin: 0 auto 2rem;
}
.main-40th-anniversary.toppage-content .section06 {
  padding: 0 0 120px;
  position: relative;
}
.main-40th-anniversary.toppage-content .section06 .bg04 {
  display: block;
  width: 2296px;
  height: 1422px;
  position: absolute;
  top: -200px;
  left: calc(50% - 1148px);
  background-image: url(../images/40th/bg04-40th-pc.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section06 .bg04 {
    background-image: url(../images/40th/bg04-40th-sp.png);
    width: 100%;
    height: unset;
    aspect-ratio: 390/1243;
    top: -280px;
    left: 0;
  }
}
.main-40th-anniversary.toppage-content .section06 .bg05 {
  display: block;
  width: 2196px;
  height: 790px;
  position: absolute;
  top: 1370px;
  left: calc(50% - 1098px);
  background-image: url(../images/40th/bg05-40th-pc.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section06 .bg05 {
    display: none;
  }
}
@media (max-width: 398.99px) {
  .main-40th-anniversary.toppage-content .section06 .bg05 {
    display: block;
    background-image: url(../images/40th/bg05-40th-sp.png);
    width: 100%;
    height: unset;
    aspect-ratio: 390/936;
    top: 1000px;
    left: 0;
  }
}
.main-40th-anniversary.toppage-content .section06 .section-inner {
  width: 660px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section06 .section-inner {
    width: 280px;
  }
}
.main-40th-anniversary.toppage-content .section06 .section-inner .link-block {
  margin-bottom: 145px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section06 .section-inner .link-block {
    margin-bottom: 70px;
  }
}
.main-40th-anniversary.toppage-content .section06 .section-inner h3 {
  text-align: center;
  margin: 0 auto 0.25rem;
}
.main-40th-anniversary.toppage-content .section06 .section-inner h5 {
  text-align: center;
  margin: 0 auto 1.5rem;
}
.main-40th-anniversary.toppage-content .section06 .section-inner .image {
  display: block;
  height: 258px;
  width: 428px;
  margin: 1.5rem auto 2rem;
  overflow: hidden;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section06 .section-inner .image {
    width: 235px;
    height: 164px;
  }
}
.main-40th-anniversary.toppage-content .section06 .section-inner .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: all 0.75s ease-out;
  transition: all 0.75s ease-out;
}
.main-40th-anniversary.toppage-content .section06 .section-inner .image:hover img {
  -webkit-transform: scale(1.075);
          transform: scale(1.075);
}
.main-40th-anniversary.toppage-content .section06 .section-inner .image:hover + .btn-40th a {
  color: #C6A546;
}
.main-40th-anniversary.toppage-content .section06 .section-inner .image:hover + .btn-40th::after {
  width: 100%;
}
.main-40th-anniversary.toppage-content .section07 {
  padding: 0 0 120px;
  position: relative;
}
.main-40th-anniversary.toppage-content .section07 .bg06 {
  display: block;
  width: 1716px;
  height: 754px;
  position: absolute;
  top: 0px;
  left: calc(50% - 858px);
  background-image: url(../images/40th/bg06-40th-pc.png);
  background-size: cover;
}
.main-40th-anniversary.toppage-content .section07 .section-inner {
  width: 676px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section07 .section-inner {
    width: 280px;
  }
}
.main-40th-anniversary.toppage-content .section07 .section-inner h3 {
  text-align: center;
  margin: 0 auto 2rem;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .video-gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  margin-bottom: 1rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section07 .section-inner .video-gallery {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 1rem;
  }
}
.main-40th-anniversary.toppage-content .section07 .section-inner .video-gallery video {
  cursor: pointer;
  width: 320px;
  height: 224px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section07 .section-inner .video-gallery video {
    width: 280px;
    height: 196px;
  }
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 1rem;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  background-color: #cbc9c9;
  width: 320px;
  margin: 0;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .audio-title {
  width: 100%;
  font-size: 14px;
  padding: 0.25rem 0.75rem;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .audio-control {
  width: calc(100% - 35px - 0.5rem);
  height: 32px;
  background-color: #cbc9c9;
  border: none;
  outline: none;
  border-radius: 0;
  padding: 0 0.25rem 0.25rem;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .audio-control::-webkit-media-controls-panel {
  /* Chrome, Safari, Opera */
  background-color: #cbc9c9;
  border: none;
  outline: none;
  border-radius: 0;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .audio-control::-moz-media-controls-panel {
  /* Firefox */
  background-color: #cbc9c9;
  border: none;
  outline: none;
  border-radius: 0;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .audio-control::-ms-media-controls-panel {
  /* Edge */
  background-color: #cbc9c9;
  border: none;
  outline: none;
  border-radius: 0;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .dl-btn {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-image: url(../images/40th/dl-btn.png);
  background-size: cover;
  cursor: pointer;
}
.main-40th-anniversary.toppage-content .section07 .section-inner .sound-gallery .audio-thumb .dl-btn:hover {
  background-color: rgba(255, 255, 255, 0.25);
}
.main-40th-anniversary.toppage-content .section08 {
  padding: 0 0 120px;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section08 {
    padding: 0;
  }
}
.main-40th-anniversary.toppage-content .section08 .bg07 {
  display: block;
  width: 2326px;
  height: 1054px;
  position: absolute;
  top: -20px;
  left: calc(50% - 1163px);
  background-image: url(../images/40th/bg07-40th-pc.png);
  background-size: cover;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section08 .bg07 {
    width: 390px;
    height: 370px;
    background: none;
  }
}
.main-40th-anniversary.toppage-content .section08 .section-inner {
  width: 500px;
  margin: 0 auto;
  padding: 0 0 250px;
  position: relative;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section08 .section-inner {
    width: 390px;
    padding: 0;
  }
}
.main-40th-anniversary.toppage-content .section08 .section-inner h3 {
  text-align: center;
  margin: 0 auto 1rem;
}
.main-40th-anniversary.toppage-content .section08 .section-inner .photogallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 25px;
     -moz-column-gap: 25px;
          column-gap: 25px;
  row-gap: 20px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section08 .section-inner .photogallery {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    width: 390px;
    overflow-x: auto;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    padding-right: 20px;
  }
}
.main-40th-anniversary.toppage-content .section08 .section-inner .photogallery .pg-thumb {
  width: 150px;
  height: 105px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.toppage-content .section08 .section-inner .photogallery .pg-thumb {
    margin: 0 0 0 20px;
  }
}
.main-40th-anniversary.toppage-content .section08 .section-inner .photogallery .pg-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
}
.main-40th-anniversary.toppage-content .section08 .section-inner .photogallery .pg-thumb img:hover {
  opacity: 0.85;
}
.main-40th-anniversary.second-page-content .title-area {
  position: relative;
  width: 100%;
  max-width: calc(100% - 683px);
  min-width: 600px;
  margin: 0 auto;
  padding: 280px 0 90px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .title-area {
    padding: 155px 0 48px;
    min-width: 210px;
    max-width: calc(100% - 165px);
  }
}
.main-40th-anniversary.second-page-content .title-area.no-bg {
  padding: 200px 0 40px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .title-area.no-bg {
    max-width: calc(100% - 65px);
    padding: 155px 0 48px;
  }
}
.main-40th-anniversary.second-page-content .title-area h1 {
  font-size: 21px;
  text-align: center;
  font-weight: bold;
  font-weight: 700;
  color: #20324F;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .title-area h1 {
    font-size: 18px;
  }
}
.main-40th-anniversary.second-page-content .title-area h1 span {
  display: inline-block;
}
.main-40th-anniversary.second-page-content .title-area h5 {
  color: #20324F;
  text-align: center;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .title-area h5 {
    font-size: 14px;
  }
}
.main-40th-anniversary.second-page-content .title-area h5 span {
  display: inline-block;
}
.main-40th-anniversary.second-page-content .section01 {
  position: relative;
}
.main-40th-anniversary.second-page-content .section01 .section-inner {
  width: calc(100% - 683px);
  max-width: 800px;
  min-width: 560px;
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner {
    width: 100%;
    min-width: 390px;
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner.w494 {
  max-width: 640px;
  min-width: 494px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner.w494 {
    min-width: 390px;
  }
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner.w494 .letter-body, .main-40th-anniversary.second-page-content .section01 .section-inner.w494 .caption {
    min-width: calc(100% - 115px);
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner .chairman {
  margin-bottom: 4rem;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .chairman a {
  display: block;
  width: 180px;
  height: 240px;
  margin: 0 auto 0.75rem;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .chairman a img {
  width: 100%;
  height: 100%;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .chairman .name {
  text-align: center;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block {
  margin-bottom: 6rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .section-block {
    margin-bottom: 3rem;
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block h4 {
  margin: 0 auto 1.5rem;
  font-weight: 600;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block h5 {
  font-size: 21px;
  font-weight: bold;
  font-weight: 700;
  margin: 0 auto 3.25rem;
  color: #20324F;
  position: relative;
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block h5::after {
  content: "";
  display: block;
  width: 20px;
  height: 22px;
  background-image: url(../images/40th/title-star.png);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -2.25rem;
  left: calc(50% - 10px);
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .section-block h5 {
    margin-bottom: 3rem;
    font-size: 15px;
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block .letter-body {
  font-size: 16px;
  line-height: 2;
  text-align: justify;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .section-block .letter-body {
    font-size: 13.5px;
    line-height: 1.875;
    margin: 0 auto 0.75rem;
    width: calc(100% - 165px);
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner .section-block .caption {
  font-size: 13px;
  line-height: 1.875;
  text-align: justify;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .section-block .caption {
    font-size: 12px;
    line-height: 1.625;
    width: calc(100% - 165px);
    margin: 0 auto 0.75rem;
  }
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .section-block .famous-quotes h3 {
    padding: 0 0.75rem;
  }
}
.main-40th-anniversary.second-page-content .section01 .section-inner .news-list {
  width: 510px;
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .section-inner .news-list {
    width: calc(100% - 165px);
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area {
  position: relative;
  overflow: hidden;
  width: calc(100% - 683px);
  max-width: 800px;
  min-width: 560px;
  margin: 0 auto 2rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area {
    width: calc(100% - 165px);
    max-width: calc(100% - 165px);
    min-width: 286px;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.main-40th-anniversary.second-page-content .section01 .news-image-area img.linx-badge {
  width: 285px;
  height: 356px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area img.linx-badge {
    width: 171px;
    height: 214px;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area:has(.anniversarylogo) {
  max-width: auto;
  overflow: auto;
}
.main-40th-anniversary.second-page-content .section01 .news-image-area:has(.anniversarylogo) .anniversarylogo {
  width: 258.75px;
  height: 300px;
  margin-bottom: 1.5rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area:has(.anniversarylogo) .anniversarylogo {
    width: 207px;
    height: 240px;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area:has(.bluerosecup) {
  max-width: auto;
  overflow: auto;
}
.main-40th-anniversary.second-page-content .section01 .news-image-area:has(.bluerosecup) .bluerosecup {
  width: 325px;
  height: 247.5px;
  margin-bottom: 0.5rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area:has(.bluerosecup) .bluerosecup {
    width: 260px;
    height: 198px;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area.double {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  width: calc(100% - 683px);
  max-width: 800px;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area.double {
    gap: 0.5rem;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-image-area.double img {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: calc(50% - 0.5rem);
  aspect-ratio: 349/209;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area.double img {
    width: 163px;
    height: 98px;
  }
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .news-image-area.double {
    max-width: 340px;
  }
}
.main-40th-anniversary.second-page-content .section01 .news-slider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}
.main-40th-anniversary.second-page-content .section01 .news-slider img {
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.main-40th-anniversary.second-page-content .section01 .dots {
  text-align: center;
  margin-top: 10px;
}
.main-40th-anniversary.second-page-content .section01 .dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 50%;
  border: none;
  margin: 0 6px;
  background: #ccc;
  cursor: pointer;
}
.main-40th-anniversary.second-page-content .section01 .dots button.active {
  background: #333;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .profile {
    width: calc(100% - 115px);
    font-size: 14px;
    line-height: 1.75;
    margin: 0 auto 0.75rem;
  }
}
.main-40th-anniversary.second-page-content .section01 .profile dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.75rem;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .profile dl {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.main-40th-anniversary.second-page-content .section01 .profile dl dt {
  width: 120px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (max-width: 767.99px) {
  .main-40th-anniversary.second-page-content .section01 .profile dl dt {
    width: 100%;
  }
}
.main-40th-anniversary.second-page-content .section01 .profile dl dd {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-left: 1rem;
}

.av-overlay, .pg-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(32, 32, 32, 0.875);
  display: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  z-index: 9999;
}
.av-overlay.open, .pg-overlay.open {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.av-overlay.visible, .pg-overlay.visible {
  opacity: 1;
}
.av-overlay video, .av-overlay img, .pg-overlay video, .pg-overlay img {
  max-width: 90%;
  max-height: 90%;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  border-radius: 6px;
}

.close-btn {
  width: 5vw;
  height: 5vw;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0.75;
  cursor: pointer;
}
.close-btn:hover {
  opacity: 1;
}
.close-btn::after, .close-btn::before {
  content: "";
  display: block;
  width: 75%;
  height: 3px;
  border-radius: 3px;
  background-color: #FFF;
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
}
.close-btn::after {
  -webkit-transform: rotateZ(27.5deg);
          transform: rotateZ(27.5deg);
}
.close-btn::before {
  -webkit-transform: rotateZ(-27.5deg);
          transform: rotateZ(-27.5deg);
}
@media (max-width: 767.99px) {
  .close-btn {
    width: 40px;
    height: 40px;
  }
}

.footer-40th-anniversary {
  position: relative;
  width: 100%;
  height: 450px;
  overflow: hidden;
  background-image: url(../images/40th/footer-bg-pc.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 2140px 450px;
}
@media (max-width: 767.99px) {
  .footer-40th-anniversary {
    background-image: url(../images/40th/footer-bg-40th-sp.png);
    width: 100%;
    height: 51.2820512821vw;
    aspect-ratio: 390/200;
    background-size: cover;
    background-position: center bottom;
  }
}
.footer-40th-anniversary .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 1366px;
  height: 452px;
  margin: 0 auto;
}
@media (max-width: 767.99px) {
  .footer-40th-anniversary .inner {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 51.2820512821vw;
  }
}
.footer-40th-anniversary .inner .copyright {
  color: #C6A546;
  background-color: transparent;
  margin: 0 3rem 2rem 0;
  font-size: 0.875rem;
  line-height: 1.25;
}
@media (max-width: 767.99px) {
  .footer-40th-anniversary .inner .copyright {
    margin: 0 auto 1rem;
    font-size: 0.75rem;
  }
}
.footer-40th-anniversary.no-bg {
  background: none;
  height: auto;
  aspect-ratio: unset;
}
.footer-40th-anniversary.no-bg .inner {
  height: auto;
}
.footer-40th-anniversary.no-bg .inner .copyright {
  color: #AAA;
}

.totop {
  display: block;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  z-index: 10;
  width: 45px;
  height: 45px;
  bottom: 3.5rem;
  right: 3rem;
}
.totop.show {
  opacity: 1;
  visibility: visible;
}
.totop:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
@media (max-width: 767.99px) {
  .totop {
    width: 35px;
    height: 35px;
    bottom: 1rem;
    right: 1rem;
  }
}
.totop img {
  width: 100%;
  height: 100%;
}/*# sourceMappingURL=40th-anniversary.css.map */