@charset "UTF-8";
/* ---------------------------------------------------
	common
------------------------------------------------------ */
/* ---------------------------------------------------
	mainvisual
------------------------------------------------------ */
.mainvisual {
  position: relative;
  width: 100%;
  height: 100vh;
}
.mainvisual .main-tit {
  position: absolute;
  left: 5%;
  top: 50%;
  max-width: 90%;
  margin: -180px 0 0;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1.3;
  z-index: 100;
  text-shadow: 0px 2px 12px rgb(0 0 0 / 77%);
  text-align: left;
}
.mainvisual .main-tit .en {
  display: block;
  margin-bottom: 30px;
  font-size: 128px;
  letter-spacing: -0.64px;
  line-height: 1.1;
  /*text-transform: uppercase;*/
}
.mainvisual .main-tit .en .big {
  font-size: 103px;
}
.mainvisual .main-event {
  position: absolute;
  right: 165px;
  bottom: 50px;
  width: 600px;
  z-index: 100;
}
.mainvisual .main-event a {
  display: flex;
  align-items: center;
  gap: 21px;
  width: 100%;
  padding: 21px 19px 19px 20px;
  background: #fff;
  border-radius: 18px;
  line-height: 1.5;
  text-decoration: none;
  box-sizing: border-box;
  border-radius: 10px;
}
.mainvisual .main-event a:hover {
  background: #fff;
  opacity: 1;
}
.mainvisual .main-event a:hover .event-txt .txt-tit {
  text-decoration: underline;
}
.mainvisual .main-event a .event-pic {
  width: 240px;
  flex: 0 0 240px;
  max-width: 240px;
  display: flex;
  align-items: center;
}
.mainvisual .main-event a .event-pic > img {
  display: block;
  width: 100%;
  aspect-ratio: 240 / 160;
  object-fit: cover;
  height: 180px;
}
.mainvisual .main-event a .event-txt {
  flex: 1;
  width: auto;
  padding-left: 0;
}
.mainvisual .main-event a .event-txt .txt-label {
  display: block;
  width: 100%;
  margin-bottom: 16px;
  padding: 8px 16px;
  background: #ea7754;
  border-radius: 999px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: center;
}
.mainvisual .main-event a .event-txt .txt-time {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-bottom: 10px;
  color: #004282;
}

.mainvisual .main-event a .event-txt .txt-time .time-wrap {
  display: inline-flex;
  align-items: flex-end;
  gap: 10px;
  line-height: 1;
}

.mainvisual .main-event a .event-txt .txt-time .time-year {
  font-size: 2.4rem;
  font-weight: 700;
  color: #004282;
  line-height: 1;
  font-family: Roboto;
}

.mainvisual .main-event a .event-txt .txt-time .time-md {
  font-size: 4rem;
  font-weight: 700;
  color: #004282;
  line-height: 0.8;
  font-family: Roboto;
  letter-spacing: 0.05em;
}

.mainvisual .main-event a .event-txt .txt-time .weekday {
  font-size: 1.4rem;
  font-weight: 700;
  color: #004282;
  line-height: 1.1;
  text-transform: uppercase;
}

.mainvisual .main-event a .event-txt .txt-time .label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  background: #eaf1f7;
  border: none;
  border-radius: 4px;
  color: #4f6f8f;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}

.mainvisual .main-event a .event-txt .txt-time .time {
  display: inline-block;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1;
  color: #004282;
  letter-spacing: 0;
}

.mainvisual .main-event a .event-txt .txt-time .weekday {
  display: inline-block;
  margin-left: -4px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.1;
  color: #004282;
  text-transform: uppercase;
  font-family: Roboto;
}

.mainvisual .main-event a .event-txt .txt-time .red {
  display: block;
  width: 100%;
  margin-top: 6px;
  color: #e21010;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
}
.mainvisual .main-event a .event-txt .txt-tit {
  margin-bottom: 0;
  color: #004282;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.65;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.mainvisual .main-event .acms-admin-module-edit a{
  padding: 1px 4px;
  background-color: #000;
  border: 1px solid #000;
  border-bottom-left-radius: 4px;
  opacity: .7;
  font-size: 14px;
}


#main-slide {
  padding: 0;
  overflow: hidden;
  margin-bottom: 0;
}
#main-slide .slide {
  position: relative;
  height: 100vh;
}
#main-slide .slide > img {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}

.is_tablet #main-slide,.is_tablet #main-slide .slick-list,.is_tablet #main-slide .slick-list .slick-track,.is_tablet #main-slide .slick-list .slick-track .slick-slide  {
  height: 100%;
}
.is_tablet .mainvisual .main-tit{left:2%;}
.is_tablet #main-slide .slide > img{height: 100%; width: auto; max-width: none;}
/* #main-slide .slick-slide.slideAnime img {
  animation: slideAnime 9s;
} */

@keyframes slideAnime {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: scale(1.1);
    opacity: .2;
  }
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .mainvisual {
    height: auto;
  }
  .mainvisual .main-slide .slide {
    min-height: 400px;
  }
  .mainvisual .main-tit {
    /* left: 5%;
    top: 5%; */
    margin: 0;
    font-size: 19px;
    left: auto;
    top: auto;
    /* right: 5%; */
    left: 5%;
    bottom: 5%;
  }
  .mainvisual .main-tit .en {
    font-size: 30px;
  }
  .mainvisual .main-tit .en .big {
    font-size: 38px;
  }
    .mainvisual .main-event {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 20px);
    margin: 20px auto 0;
  }

  .mainvisual .main-event a {
    gap: 10px;
    padding: 10px;
  }

  .mainvisual .main-event a .event-pic {
    width: 42%;
    flex: 0 0 42%;
    max-width: 42%;
  }

  .mainvisual .main-event a .event-pic > img {
    aspect-ratio: 240 / 160;
  }

  .mainvisual .main-event a .event-txt {
    width: 58%;
  }

  .mainvisual .main-event a .event-txt .txt-label {
    margin-bottom: 10px;
    padding: 6px 10px;
    font-size: 1.3rem;
  }

  .mainvisual .main-event a .event-txt .txt-time {
    gap: 6px 8px;
    margin-bottom: 6px;
  }

  .mainvisual .main-event a .event-txt .txt-time .label {
    min-height: 22px;
    font-size: 1rem;
    padding: 3px 7px;
  }

  .mainvisual .main-event a .event-txt .txt-time .time {
    font-size: 1.7rem;
  }

  .mainvisual .main-event a .event-txt .txt-time .red {
    font-size: 1.2rem;
  }

  .mainvisual .main-event a .event-txt .txt-tit {
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .mainvisual .main-event a .event-txt .txt-time .time {
    font-size: 2.2rem;
  }

  .mainvisual .main-event a .event-txt .txt-time .weekday {
    font-size: 1.1rem;
  }

}
/* ---------------------------------------------------
	eye
------------------------------------------------------ */
.top-eye {
  position: relative;
  width: 100%;
  max-width: 1840px;
  margin: 0 auto;
  padding: 170px 0 0px;
  margin-bottom: 590px;
}

.top-eye > * {
  position: relative;
}
.top-eye .container {
  max-width: 1520px;
}
.top-eye .koblog {
  max-width: 100%;
  padding: 0;
}
.top-eye .koblog-card-wrap {
  margin: 0 0 -40px;
}
.top-eye .koblog-card-wrap .koblog-card {
  display: block;
  width: 487px;
  max-width: 32.1%;
  margin-right: 1.8%;
  margin-bottom: 40px;
}
.top-eye .koblog-card-wrap .koblog-card:nth-of-type(3n){
  margin-right: 0;
}
.top-eye .koblog-card-wrap .koblog-card:hover {
  opacity: 1;
}
.top-eye .koblog-card-wrap .koblog-card:hover .image > img {
  transform: translate(-50%, -50%) scale(1.2);
}
.top-eye .koblog-card-wrap .koblog-card:hover .text {
  text-decoration: none;
  opacity: 1;
}
.top-eye .koblog-card-wrap .koblog-card .image {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 0;
  padding: 8px 8px calc(63.1% + 8px);
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 11px rgba(0, 0, 0, 0.16);
  border-radius: 16px;
  line-height: 1;
  overflow: hidden;
}
.top-eye .koblog-card-wrap .koblog-card .image:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 8px solid #fff;
  box-sizing: border-box;
  border-radius: 16px;
  z-index: 1;
}
.top-eye .koblog-card-wrap .koblog-card .image > img {
  /* width: calc(100% - 16px); */
  transition: transform .3s;
}
.top-eye .koblog-card-wrap .koblog-card .image .cat {
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 100px;
  max-width: 100%;
  height: 91px;
  padding: 0 10px;
  background: #0093F3;
  border-radius: 0 20px 0 0;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: center;
  z-index: 1;
}
.top-eye .koblog-card-wrap .koblog-card .image .cat.narnews {
  background: #61D19E;
}
.top-eye .koblog-card-wrap .koblog-card .image .cat.column {
  background: #FF8785;
}
.top-eye .koblog-card-wrap .koblog-card .image .cat.report {
  background: #82B7E1;
}
.top-eye .koblog-card-wrap .koblog-card .image .cat.jre {
  background: #FFD94D;
}
.top-eye .koblog-card-wrap .koblog-card .text {
  min-height: 2.8em;
  margin: 10px 0 0;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: underline;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .top-eye {
    margin-top: 25px;
    padding: 50px 0 50px;
  }
  .top-eye:before {
    width: 160px;
    height: 160px;
  }
  .top-eye .koblog-card-wrap {
    margin-bottom: -30px;
	  justify-content: space-between;
	  align-items: stretch;
  }
  .top-eye .koblog-card-wrap .koblog-card {
    display: block;
    width: 48%;
    max-width: 48%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .top-eye .koblog-card-wrap .koblog-card:hover .image > img {
    transform: translate(-50%, -50%);
  }
  .top-eye .koblog-card-wrap .koblog-card:hover .text {
    text-decoration: underline;
  }
  .top-eye .koblog-card-wrap .koblog-card .image .cat {
    width: 60px;
    height: 40px;
    font-size: 14px;
  }
  .top-eye .koblog-card-wrap .koblog-card .text {
    min-height: 0;
    font-size: 2rem;
    word-break: break-word;
  }
}
/* ---------------------------------------------------
	event
------------------------------------------------------ */
.top-event {
  padding: 0px 0 140px;
}
.top-event .container {
  position: relative;
  max-width: 1840px;
  padding-bottom: 60px;
  /*border: 8px solid #0093F3;*/
  border-radius: 20px;
  margin-top: 64px;
  background: #E6EDF3;
}
.top-event .container .contents-wrap{
  /*transform: translateY(-186px);*/
  margin-bottom: 0px;
}
.top-event .container > * {
  position: relative;
}
.top-event .koblog {
  padding: 0;
}
.top-event .koblog-card-wrap {
  position: relative;
  width: 90%;
  max-width: 1840px;
  margin: 0 auto;
  justify-content: space-between;
}
.top-event .koblog-card-wrap .koblog-card {
  display: block;
  width: 600px;
  max-width: 31.67%;
  margin-right: 2.46%;
}
.top-event .koblog-card-wrap .koblog-card:nth-of-type(3n) {
  margin-right: 0;
}
.top-event .koblog-card-wrap .koblog-card:hover {
  opacity: 1;
}
.top-event .koblog-card-wrap .koblog-card:hover .image > img {
  transform: translate(-50%, -50%) scale(1.2);
}
.top-event .koblog-card-wrap .koblog-card:hover .list-txt .tit {
  text-decoration: underline;
}
.top-event .koblog-card-wrap .koblog-card .image {
  position: relative;
  max-width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  border-radius: 30px;
  line-height: 1;
}
.top-event .koblog-card-wrap .koblog-card .image img {
  transition: transform .3s;
}
.top-event .koblog-card-wrap .koblog-card .label {
  display: inline-block;
  margin-right: 8px;
  padding: .32em .5em;
  background: #004282;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  vertical-align: middle;
}
.top-event .koblog-card-wrap .koblog-card .date {
  float: none;
  display: inline-block;
  color: #999;
  font-size: 2.4rem;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  vertical-align: middle;
}
.top-event .koblog-card-wrap .koblog-card .text {
  margin-top: 10px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
}
.top-event .event-btn {
  padding: 20px 0 111px;
  text-align: center;
}
.top-event .event-btn a {
  display: inline-block;
  max-width: 100%;
  padding: 10px 30px;
  border: 3px solid #0093F3;
  border-radius: 50px;
  color: #0093F3;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
}
.top-event .event-btn a:hover {
  background: rgba(0, 147, 243, 0.25);
  opacity: 1;
}
.top-event .event-btn a .icon {
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .top-event {
    padding: 50px 0 50px;
  }
  .top-event .container:before {
    height: 96%;
    border-width: 4px;
  }
  .top-event .koblog-card-wrap {
    justify-content: space-between;
  }
  .top-event .koblog-card-wrap .koblog-card {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  .top-event .koblog-card-wrap .koblog-card:hover .image {
    transform: scale(1);
  }
  .top-event .koblog-card-wrap .koblog-card:hover .list-txt .tit {
    text-decoration: none;
  }
  .top-event .koblog-card-wrap .koblog-card .image {
    border-radius: 30px;
  }
  .top-event .koblog-card-wrap .koblog-card .label {
    font-size: 1.2rem;
  }
  .top-event .koblog-card-wrap .koblog-card .date {
    font-size: 1.8rem;
  }
  .top-event .koblog-card-wrap .koblog-card .text {
    font-size: 1.8rem;
    margin-top: 0;
  }
  .top-event .event-btn {
    padding: 0 0 74px;
  }
  .top-event .event-btn a {
    font-size: 1.8rem;
  }
}
/* ---------------------------------------------------
	activities
------------------------------------------------------ */
.top-activities {
  padding: 100px 0 387px;
  margin-bottom: 0;
}
.top-activities .container {
  max-width: 1520px;
}
.top-activities .activities-col {
  margin-top: 310px;
  align-items: center;
}
.top-activities .activities-col .col-pic {
  position: relative;
  width: 59.22%;
  max-width: 900px;
  height: 0;
  padding-bottom: 38.158%;
  z-index: 10;
}
.top-activities .activities-col .col-pic > img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  bottom: 0;
  margin: auto;
  border-radius: 20px;
}
.top-activities .activities-col .col-txt {
  position: relative;
  width: 40.78%;
  padding-left: 40px;
  font-size: 2.4rem;
}
.top-activities .activities-col .col-txt:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 940px;
  height: 940px;
  background: url(../images/top/bg-activities-01.png) no-repeat;
  background-size: 100%;
  transform: translate(-50%, -50%);
}
.top-activities .activities-col .col-txt > div {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}
.top-activities .activities-col .col-txt h3 {
  margin: 0 0 36px;
  font-size: 5.4rem;
  line-height: 1.2;
  letter-spacing: .05em;
}
.top-activities .activities-col .col-txt h3 .en02 {
  display: block;
  margin-top: 10px;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.top-activities .activities-col .col-txt .txt-list {
  padding-left: 1.25em;
  list-style: disc;
  line-height: 1.75;
}
.top-activities .activities-col .col-txt .txt-list li {
  margin-bottom: 5px;
}
.top-activities .activities-col .col-txt .txt-list li a{
  display: inline-flex;
  align-items: center;
}
.top-activities .activities-col .col-txt .txt-list li a::after{
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  margin-left: 25px;
  background: url(../images/top/activities_link_arr1.svg) no-repeat center/contain;
  transition: .4s;
}
.top-activities .activities-col .col-txt .txt-list li a:hover::after{
  transform: translateX(5px);
}
.top-activities .activities-col.col02 .col-txt .txt-list li a::after{
  background: url(../images/top/activities_link_arr2.svg) no-repeat center/contain;
}
.top-activities .activities-col.col03 .col-txt .txt-list li a::after{
  background: url(../images/top/activities_link_arr3.svg) no-repeat center/contain;
}
.top-activities .activities-col .col-txt .txt-btns {
  margin-top: 48px;
}
.top-activities .activities-col .col-txt .txt-btns a {
  position: relative;
  display: block;
  padding: 10px 40px 10px 7%;
  border: 3px solid #222;
  border-radius: 10px;
  line-height: 1.4;
}
.top-activities .activities-col .col-txt .txt-btns a:hover {
  background: #fff;
  color: #222;
  opacity: 1;
}
.top-activities .activities-col .col-txt .txt-btns a + a {
  margin-top: 20px;
}
.top-activities .activities-col .col-txt .txt-btns a .icon {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 30px;
  margin-top: -15px;
}
.top-activities .activities-col .col-txt .more-events a{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px 0 10px;
  max-width: 314px;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.37;
  color: #fff;
  border-radius: 100px;
  background:#004282;
  text-align: center;
  margin-top: 35px;
}
.top-activities .activities-col .col-txt .more-events a::after{
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  background: url(../images/top/activities_arr.svg) no-repeat center/contain;
  margin-left: 18px;
}
.top-activities .activities-col.col02 .col-txt .more-events a{
  background:#675132;
}
.top-activities .activities-col.col03 .col-txt .more-events a{
  background:#375D29;
}
.top-activities .activities-col.reverse:before {
  right: auto;
  left: 0;
}
.top-activities .activities-col.reverse .col-txt {
  padding-left: 0;
  padding-right: 40px;
}
.top-activities .activities-col.col01 {
  margin-top: 230px;
}
.top-activities .activities-col.col02 .col-pic {
  height: auto;
  padding: 0;
}
.top-activities .activities-col.col02 .col-pic .pic01 {
  position: relative;
  width: 45.56%;
  max-width: 410px;
  height: 0;
  margin-top: 6%;
  padding-bottom: 57.75%;
}
.top-activities .activities-col.col02 .col-pic .pic01 > img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  bottom: 0;
  margin: auto;
  border-radius: 20px;
}
.top-activities .activities-col.col02 .col-pic .pic02 {
  position: relative;
  width: 52.23%;
  max-width: 470px;
  height: 0;
  padding-bottom: 57.778%;
}
.top-activities .activities-col.col02 .col-pic .pic02 > img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  bottom: 0;
  margin: auto;
  border-radius: 20px;
}

.top-activities .activities-col.col02 .col-txt:before {
  background: url(../images/top/bg-activities-02.png) no-repeat;
  background-size: 100%;
}
.top-activities .activities-col.col03 .col-txt:before {
  background: url(../images/top/bg-activities-03.png) no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 1280px) {
  .top-activities .activities-col .col-txt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1000px) {
  .top-activities .activities-col .col-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .top-activities {
    padding: 50px 0 calc(20vw + 70px);
    margin-bottom: 0;
  }
  .top-activities .activities-col {
    margin-top: 100px;
  }
  .top-activities .activities-col .col-pic {
    width: 100%;
  padding-bottom: 64.44%;
  }
  .top-activities .activities-col .col-txt {
    width: 100%;
    padding-top: 25px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.6rem;
  }
  .top-activities .activities-col .col-txt:before {
    left: 50%;
    top: 45%;
    width: 130vw;
    height: 130vw;
    max-width: 720px;
    max-height: 720px;
  }
  .top-activities .activities-col .col-txt > div {
    max-width: 540px;
  }
  .top-activities .activities-col .col-txt h3 {
    margin-bottom: 15px;
    font-size: 3.2rem;
  }
  .top-activities .activities-col .col-txt h3 .en02 {
    margin-top: 5px;
    font-size: 1.4rem;
  }
  .top-activities .activities-col .col-txt .txt-list li{
    margin-bottom: 15px;
  }
  .top-activities .activities-col .col-txt .txt-btns {
    margin-top: 15px;
  }
  .top-activities .activities-col .col-txt .txt-btns a {
    padding: 10px 40px 10px 7%;
  }
  .top-activities .activities-col .col-txt .txt-btns a:hover {
    background: none;
    color: #fff;
  }
  .top-activities .activities-col .col-txt .txt-btns a + a {
    margin-top: 10px;
  }
  .top-activities .activities-col .col-txt .txt-btns a .icon {
    width: 20px;
    margin-top: -10px;
  }
  .top-activities .activities-col.reverse:before {
    right: auto;
    left: 0;
  }
  .top-activities .activities-col.reverse .col-txt {
    padding-right: 10px;
    padding-left: 10px;
  }
  .top-activities .activities-col.col01 {
    margin-top: 30px;
  }
  .top-activities .activities-col .col-txt .txt-list{
    line-height: 1.2;
  }
  
  .top-activities .activities-col .col-txt .more-events a{
    font-size: 18px;
    margin: auto;
    margin-top: 35px;
  }
}
/* ---------------------------------------------------
	about
------------------------------------------------------ */
.top-about {
  padding-top: 64px;
  background: url(../images/top/bg-about-01.jpg) no-repeat center;
  background-size: cover;
  position:relative;
  margin-top: 100px;
}
.top-about .about-box {
  position: relative;
  left: 10%;
  width: 650px;
  padding: 70px 50px 50px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(20px);
  border-radius: 30px;
  font-size: 2.2rem;
}
.top-about .about-box h2 {
  margin-bottom: 25px;
  color: #004282;
  font-size: 7rem;
  text-align: left;
}
.top-about .about-box .box-btn {
  margin-top: 40px;
  font-size: 2.4rem;
  letter-spacing: .05em;
  line-height: 1.5;
  text-align: right;
}
.top-about .about-box .box-btn a {
  position: relative;
  display: inline-flex;
	justify-content: center;
	align-items: center;
  padding: 10px 15px;
  color: #004282;
	border: 3px solid #004282;
  border-radius: 10px;
  font-weight: bold;
  overflow: hidden;
}
.top-about .about-box .box-btn a:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
	background: url(../images/top/ico-about-01.png) no-repeat center center/contain;
	margin-left: 15px;
/*  border-style: solid;
  border-width: 0 0 30px 30px;
  border-color: transparent transparent #004282 transparent;*/
}
.top-about .about-box .box-btn a:hover{
  background: #C8E6FB;
  opacity: 1;
}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .top-about {
    height: auto;
    padding: 50vw 20px 0;
    background: url(../images/top/bg-about-01.jpg) no-repeat center top;
    background-size: 150%;
  }
  .top-about .about-box {
    left: auto;
    width: 100%;
    margin: 0 auto;
    padding: 30px 20px 30px;
    border-radius: 20px;
    font-size: 1.6rem;
  }
  .top-about .about-box h2 {
    margin-bottom: 20px;
    font-size: 4rem;
    line-height: 1;
  }
  .top-about .about-box p{
    line-height: 1.8;
  }
  .top-about .about-box .box-btn {
    margin-top: 20px;
    font-size: 2rem;
  }
}
/* ---------------------------------------------------
	information
------------------------------------------------------ */
.top-information {
  padding: 135px 0 150px;
}
.top-information h2 {
  margin-bottom: 40px;
  font-size: 4rem;
}
.top-information .acms-list-group {
  max-width: 1000px;
  margin: 0 auto;
  border-top: none;
  letter-spacing: 0;
  line-height: 1.75;
}
.top-information .acms-list-group li + li {
  margin-top: 15px;
}
.top-information .acms-list-group li a {
  display: flex;
  align-items: flex-start;
  padding: 0;
  border: none;
}
.top-information .acms-list-group li a:hover {
  padding: 0;
  background: none;
  opacity: 1;
}
.top-information .acms-list-group li a:hover .tit {
  text-decoration: underline;
}
.top-information .acms-list-group li a .date {
  width: 110px;
  margin-top: 1px;
  color: rgba(34, 34, 34, 0.6);
  font-size: 1.6rem;
  white-space: nowrap;
}
.top-information .acms-list-group li a .cat {
  margin-top: 8px;
  padding: 0 8px;
  border-left: 1px solid;
  border-right: 1px solid;
  font-size: 1.5rem;
  line-height: 1;
  white-space: nowrap;
}
.top-information .acms-list-group li a .tit {
  max-width: calc(100% - 185px);
  padding-left: 20px;
  flex-grow: 1;
}
.top-information .information-btn {
  margin-top: 20px;
  font-size: 2rem;
  letter-spacing: .1em;
  text-align: center;
}
.top-information .information-btn a {
  display: inline-block;
  color: #0093F3;
  font-weight: bold;
}
.top-information .information-btn a .icon {
  top: 0;
  margin-left: 5px;
}
.top-information .information-supporters {
  margin-top: 108px;
}
.top-information .information-supporters h3 {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0 0 20px;
  color: #004282;
  font-size: 2.4rem;
  letter-spacing: 0;
  line-height: 1.2;
}
.top-information .information-supporters h3:after {
  content: "";
  display: block;
  width: 10px;
  height: 0;
  margin-left: 10px;
  border-top: 1px solid #004282;
  flex-grow: 1;
}
.top-information .information-supporters .supporters-list {
  margin-bottom: -40px;
  justify-content: flex-start;
}
.top-information .information-supporters .supporters-list li {
  width: 22.5%;
  margin: 0 3.3% 40px 0;
}
.top-information .information-supporters .supporters-list li:nth-of-type(4n) {
  margin-right: 0;
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .top-information {
    padding: 50px 0 100px;
  }
  .top-information h2 {
    margin-bottom: 30px;
    font-size: 3rem;
  }
  .top-information .acms-list-group li + li {
    margin-top: 20px;
  }
  .top-information .acms-list-group li a:hover .tit {
    text-decoration: none;
  }
  .top-information .acms-list-group li a .date {
    width: 110px;
    margin-top: 1px;
    color: rgba(34, 34, 34, 0.6);
    font-size: 1.6rem;
    white-space: nowrap;
  }
  .top-information .acms-list-group li a .cat {
    margin-top: 8px;
    padding: 0 8px;
    font-size: 1.5rem;
  }
  .top-information .acms-list-group li a .tit {
    width: 100%;
    max-width: 100%;
    padding-left: 1em;
  }
  .top-information .information-btn {
    margin-top: 20px;
    font-size: 1.8rem;
  }
  .top-information .information-supporters {
    max-width: 540px;
    margin: 50px auto 0;
  }
  .top-information .information-supporters h3 {
    font-size: 2rem;
  }
  .top-information .information-supporters .supporters-list {
    margin-bottom: -2%;
    justify-content: space-between;
  }
  .top-information .information-supporters .supporters-list li {
    width: 49%;
    margin: 0 0 2% 0;
  }
}
/*-------------------------------------------*/
/*
/*　　tablet
/*
/*-------------------------------------------*/
body.is_tablet .mainvisual {
  height: 50vw;
  min-height: 360px;
}

/*-------------------------------------------*/
/*
/*　　print
/*
/*-------------------------------------------*/



/*-------------------------------------------*/
/*　　eventカレンダー_re
/*-------------------------------------------*/
h2.carendar-tit{font-size: 60px;text-align: center;margin-bottom: 6px;}
.top-carendar .calendar-text{ color: #004282;text-align: center;font-family: "Noto Sans JP";font-size: 16px;font-style: normal;font-weight: 700;line-height: normal;letter-spacing: 1.6px;margin-bottom:85px}

.carender-selecta.slick-slider{margin-bottom: 0;}
.monthly-arrows { display: flex; justify-content: space-between; width: 266px; margin: auto; position: absolute; left: 50%; transform: translateX(-50%); top: 4px; z-index: 10;}
.monthly-arrows > div {cursor: pointer; width: 23px; height: 20px;}
.monthly-arrows > div img {display: block;}

.carendar.new{width: 960px;max-width: 100%; margin: auto; margin-bottom: 0;}
.carendar.new .table_date{text-align: center;color: #004282;font-weight: 700;font-size: 24px;line-height: 1.3;margin-bottom: 32px;}

.carendar table{border-collapse: collapse; border-spacing: 0; width:99%; margin: auto;width: 99.9%;border-top: 4px solid #004282;table-layout: fixed;}
.carendar table tr{border-bottom:1px solid #004282;}
.carendar table tr td{background: #fff;vertical-align: middle;}
.carendar table tr td:nth-of-type(1){width: 15%;}
.carendar table tr td:nth-of-type(2){width: 9%;}
.carendar table tr td:nth-of-type(3){width: 75%;}

.carendar table tr td.day{padding: 18px 0;}
.carendar table tr td.label{text-align: center;}
.carendar table tr td.label p{background: #AADEFF;border-radius: 5px;font-size: 13px;font-weight: 700;padding:0 15px;}
.carendar table tr td.label p.教育研修{background: #AADEFF;}
.carendar table tr td.label p.国際交流{background: #FFB8A4;}
.carendar table tr td.label p.調査研究{background: #FFE580;}
.carendar table tr td.plan p{padding:18px 16px;font-size: 18px;font-weight: 700;}
.carendar table tr td.plan a{font-size: 18px;font-weight: 700;}
.carendar table tr td.no-event{padding:18px 16px;}

.carendar table .day{font-weight: 700;font-size: 24px;line-height: 1.83;}
.carendar table .day .date{font-size: 32px;font-family: "Roboto", sans-serif;font-weight: 800;line-height: 1.37;}
.carendar table .day .dow{font-size: 16px;line-height: 2.75;}

.carendar table .label{}

.carendar table .plan{}

.carendar .mod-schedule{position:relative;}
.carendar .slick-list{width:99.9%;}
.carendar .slick-slide{margin-bottom: 0;}
.carendar tbody .week{border-collapse: collapse; border-spacing: 0;}

@media screen and (max-width:767px){
  .top-event .container{padding-bottom: 0;}
  h2.carendar-tit{font-size: 32px; margin-bottom: 10px;}
  .top-carendar .calendar-text{margin-bottom: 20px;font-size: 12px;}
  .monthly-arrows-sp { display: flex; justify-content: space-between; width: 266px; margin: auto; position: absolute; left: 50%; transform: translateX(-50%); top: 4px; z-index: 10;}
  .monthly-arrows-sp > div {cursor: pointer; width: 23px; height: 20px;}
  .monthly-arrows-sp > div img {display: block;}

  .carendar table{width: 90%;font-feature-settings: 'palt';}

  .carendar table tr td:nth-of-type(1){width: 23%;}
  .carendar table tr td:nth-of-type(2){width: 15%;}
  .carendar table tr td:nth-of-type(3){width: 62%;}
  .carendar table tr td.label p{font-size: 11px;padding: 0px 3px;}
  .carendar table tr td.day{font-size: 18px;padding: 13px 0;}
  .carendar table .day .date{font-size: 18px;}
  .carendar table tr td.plan p{padding: 13px 11px;font-size: 15px;}
  .carendar table tr td.plan a{font-size: 15px;}

}







.event-text{
  color: #004282;
text-align: center;
font-family: "Noto Sans JP";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: normal;
letter-spacing: 1.6px;
}

.en-title{
  margin-bottom: 0;
  color: #004282;
text-align: center;
font-family: Montserrat;
font-size: 54px;
font-style: normal;
font-weight: 700;
line-height: normal;
}


.top-about {
	position: relative;
	background: none;
	margin-bottom: 0;
	padding: 0;
  margin-top: 189px;
}

/*.top-about::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: min(1200px, 95%);
	height: 360px;
	background: url("/images/common/bg_world_map.png") no-repeat center center / contain;
	opacity: 0.18;
	pointer-events: none;
}*/

.top-about__inner {
	position: relative;
	z-index: 1;
	/*width: min(1040px, calc(100% - 40px));*/
  width: min(1599px, calc(100% - 40px));
	margin: 0 auto;
}

.top-about__head {
	position: relative;
	max-width: 760px;
	margin: 0 auto 56px;
	text-align: center;
	z-index: 1;
}

.top-about__head::after {
	content: "";
	position: absolute;
	top: 10%;
	left: 100%;
	transform: translateX(-50%);
	width: 1280px;
	height: 520px;
	background: url("../images/top/bg-about-jareco.png") no-repeat center center / contain;
	opacity: 0.9;
	pointer-events: none;
	z-index: -1;
}

.top-about__sub {
	margin: 0 0 34px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #0c4f93;
}

.top-about__title {
	margin: 0;
	font-size: clamp(3.4rem, 4vw, 5.2rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.03em;
	color: #0c4f93;
}

.top-about__lead {
	margin: 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	color: #222;
	margin-bottom: 73px;
}

.top-about__cards {
  position: relative;
  z-index: 100;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.top-about-card {
	position: relative;
	display: flex;
	align-items: stretch;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	aspect-ratio: 1 / 1;
	min-height: auto;
}

.top-about-card::before,
.top-about-card::after {
	content: "";
	position: absolute;
	inset: 0;
}

.top-about-card::before {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transform: scale(1.02);
	filter: brightness(0.82) saturate(0.9);
	transition: transform 0.5s ease;
}

.top-about-card::after {
	background: #004282;
	transition: background 0.3s ease;
  opacity: 0.8;
}


.top-about-card:has(.top-about-card__btn:hover)::after,
.top-about-card:has(.top-about-card__btn:focus-visible)::after {
	background: linear-gradient(
		180deg,
		rgba(38, 56, 76, 0.46) 0%,
		rgba(38, 56, 76, 0.62) 100%
	);
}

.top-about-card__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.top-about-card__title {
	margin: 80px 0 8px;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	color: #fff;
  letter-spacing: 3.6px;
}

.top-about-card__en {
	margin: 0 0 40px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	color: #EF7958;
}

.top-about-card__text {
	min-height: 6.8em;
	margin: 0 0 39px;
	font-size: clamp(1.8rem, 1vw, 2rem);
	line-height: 2;
	color: #fff;
  font-style: normal;
    font-weight: 700;
}

a.top-about-card__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 60px;
	margin: 0 auto 52px;
	padding: 0 34px 0 20px;
	border-radius: 999px;
	background: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	color: #0c4f93;
	box-sizing: border-box;
	opacity: 1;
	transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.top-about-card__btn:hover,
.top-about-card__btn:focus-visible {
	background: #EF7958;
	color: #fff;
	opacity: 1;
}

.top-about-card__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #0c4f93;
	border-right: 2px solid #0c4f93;
	transform: translateY(-50%) rotate(45deg);
	transition: border-color 0.3s ease;
}

.top-about-card__btn:hover::after,
.top-about-card__btn:focus-visible::after {
	border-top-color: #fff;
	border-right-color: #fff;
}


/* カード背景画像 */
.top-about-card--01::before {
	background-image: url("../images/top/bg-about-01.png");
}

.top-about-card--02::before {
	background-image: url("../images/top/bg-about-02.png");
}

.top-about-card--03::before {
	background-image: url("../images/top/bg-about-03.png");
}

/* tablet */
@media screen and (max-width: 1024px) {
	.top-about {
		padding: 90px 0 80px;
	}

	.top-about__inner {
		width: calc(100% - 48px);
	}

	.top-about__cards {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.top-about-card {
		min-height: 300px;
	}
}

/* sp */
@media screen and (max-width: 767px) {
	.top-about {
		padding: 70px 0 60px;
	}

	.top-about::before {
		width: 140%;
		height: 240px;
		top: 40px;
	}

	.top-about__inner {
		width: calc(100% - 32px);
	}

	.top-about__head {
		margin-bottom: 36px;
	}

	.top-about__title {
		margin-bottom: 16px;
	}

	.top-about__lead {
		font-size: 18px;
		line-height: 1.9;
    text-align: left;
	}

	.top-about-card {
		min-height: 260px;
		padding: 24px 18px 20px;
		border-radius: 16px;
	}

	.top-about-card__title {
		font-size: 2.4rem;
	}

	.top-about-card__text {
		min-height: auto;
		font-size: 1.3rem;
		line-height: 1.8;
		margin-bottom: 25px;
	}

	.top-about-card__btn {
		width: 140px;
		height: 40px;
		font-size: 1.1rem;
	}
}

.top-membership {
	position: relative;
	padding: 116px 0 160px;
	background: #E6EDF3;
	overflow: hidden;
}

.top-membership::before {
	content: "";
	position: absolute;
	inset: 0;
	/*background: url("../images/top/bg-membership.png") no-repeat center center / cover;*/
	opacity: 0.25;
	pointer-events: none;
}

.top-membership__inner {
	position: relative;
	z-index: 1;
}

.top-membership__inner {
	position: relative;
	z-index: 1;
	width: min(1221px, calc(100% - 40px));
	margin: 0 auto;
	padding: 0px;
	box-sizing: border-box;
}

.top-membership__head {
	text-align: center;
	color: #004282;
}

.top-membership__title {
	margin: 0 0 8px;
	font-size: clamp(3.2rem, 4vw, 5.4rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.04em;
	color: #004282;
  font-style: normal;
}

.top-membership__sub {
	margin: 0 0 34px;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #004282;
}

.top-membership__lead {
	margin: 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.2;
	color: #004282;
}

.top-membership__merit-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin: 67px 0 47px;
}

.top-membership__merit-line {
	display: block;
	width: 42px;
	height: 1px;
	background: #004282;
	transform: rotate(35deg);
}

.top-membership__merit-head .top-membership__merit-line:last-child {
	transform: rotate(-35deg);
}

.top-membership__merit-title {
	margin: 0;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #004282;
}

.top-membership__cards {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	max-width: 1221px;
	margin: 0 auto 68px;
}

.top-membership-card {
	width: 387px !important;
	min-height: 358px;
	padding: 28px 24px 34px !important;
	background: #fff !important;
	border-radius: 6px !important;
	box-sizing: border-box;
}

.top-membership-card__num {
	font-size: 5rem;
	color: #EF7958;
  font-weight: 700;
}

.top-membership-card__icon {
	height: 78px;
	margin: 0 0 20px;
  text-align: center;
}

.top-membership-card__icon img {
max-height: 115px;
background: none;
}

.top-membership-card__title {
	margin: 0 0 20px;
	font-size: 2.2rem;
	line-height: 1.7;
	color: #222;
  text-align: center;
  padding-top: 40px;
}

.top-membership-card__text {
	font-size: 1.8rem;
	line-height: 1.8;
	color: #222;
}

/* 4・5枚目を中央寄せ */
.top-membership-card:nth-child(n+4) {
	margin-top: 0;
}

.top-membership__btn-wrap {
	margin-top: 38px;
	text-align: center;
}

.top-membership__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 360px;
	height: 60px;
	padding: 0 94px 0 45px;
	border-radius: 999px;
	background: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	color: #0c4f93;
	box-sizing: border-box;
	text-decoration: none;
	opacity: 1;
	overflow: hidden;
	transition:
		background-color 0.3s ease,
		color 0.3s ease,
		transform 0.3s ease,
		opacity 0.3s ease;
	font-family: "Noto Sans JP";
	white-space: nowrap;
}

.top-membership__btn::after {
	content: "";
	position: absolute;
	top: calc(50% + 1px);
	right: 45px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #0c4f93;
	border-right: 2px solid #0c4f93;
	transform: translateY(-50%) rotate(45deg);
	transition:
		border-color 0.3s ease,
		transform 0.3s ease;
}

.top-membership__btn:hover,
.top-membership__btn:focus-visible {
	background: #EF7958;
	color: #fff;
	opacity: 1;
	transform: translateY(-2px);
}

.top-membership__btn:hover::after,
.top-membership__btn:focus-visible::after {
	border-top-color: #fff;
	border-right-color: #fff;
	transform: translateY(-50%) translateX(4px) rotate(45deg);
}

/* tablet */
@media screen and (max-width: 1024px) {
	.top-membership {
		padding: 90px 0;
	}

	.top-membership__lead br {
		display: none;
	}

	.top-membership__cards {
		max-width: 100%;
	}
}

/* sp */
@media screen and (max-width: 767px) {
	.top-membership {
		padding: 70px 0;
	}

	.top-membership__inner {
		width: calc(100% - 32px);
		padding: 0;
	}

	.top-membership__sub {
		margin-bottom: 24px;
    font-size: 12px;
	}

	.top-membership__lead {
		font-size: 18px;
		line-height: 2;
    text-align: left;
	}

	.top-membership__merit-head {
		gap: 12px;
		margin: 44px 0 24px;
	}

	.top-membership__merit-line {
		width: 26px;
	}

	.top-membership__merit-title {
		font-size: 1.8rem;
	}

	.top-membership__cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.top-membership-card {
		min-height: auto;
		padding: 16px 14px 18px;
	}

	.top-membership-card__num {
		font-size: 2.6rem;
	}

	.top-membership__btn-wrap {
		margin-top: 28px;
	}

	.top-membership__btn {
		width: 160px;
		height: 40px;
	}
}


/*ーーーーーーーーーーーーーーー
　トップページ：イベント部分
ーーーーーーーーーーーーーーー*/
.top-event{}
.top-event .container{padding: calc(100vw * (69 /1920)) 0 calc(100vw * (137 /1920));width: calc(100% - 80px);margin-left: auto;margin-right: auto;overflow: hidden;}

/* 見出し */
.top-event .en-title,.top-event .event-text {position: relative;z-index: 20;}


/* スライダー関連 */
.top-event .event_slbox{position: relative; display: flex;align-items: center;}
.top-event .event_slbox .ev1_slide,.top-event .event_slbox .ev2_slide{flex-shrink: 0;pointer-events: none;opacity: 0.7;filter: blur(2px);}
.top-event .event_slbox .ev1_slide .items .items-image,.top-event .event_slbox .ev1_slide .items .items-image{border-radius: calc(100vw * (10 /1920));overflow: hidden;}
.top-event .event_slbox .ev1_slide{margin: 0 0 0 calc(100vw * (-164 /1920));}
.top-event .event_slbox .ev2_slide{margin: 0 calc(100vw * (-164 /1920)) 0 0;}
/* transform: translateX(164px); */
.top-event .event_slide{margin:calc(100vw * (73 /1920)) auto 0;flex-shrink:0;}
/* .top-event .event_slide .splide__track{overflow: visible;} */
.top-event .event_slide .splide__track .splide__list{align-items: flex-start;}
.top-event .event_slide .splide__arrow{background: #004282;opacity: 1;top: 40%;}
.top-event .event_slide .splide__arrow svg{fill: #fff;}
.top-event .event_slide .splide__arrow.splide__arrow--prev{left: calc(100vw * (-60 /1920));}
.top-event .event_slide .splide__arrow.splide__arrow--next{right: calc(100vw * (-60 /1920));}
.top-event .event_slide .items{opacity: 0.7;pointer-events: none;width:100%;z-index: 1;}
.top-event .event_slide .items.is-active{opacity: 1;pointer-events: auto;z-index: 2;}
.top-event .event_slide .items.is-active .items-body{opacity: 1;}
.top-event .event_slide .items.is-active .items-image{}
.top-event .event_slide .items .items-image{border-radius: calc(100vw * (20 /1920));overflow: hidden;aspect-ratio: 600/450;}
.top-event .event_slide .items .items-image img{object-fit: cover;object-position: center;width: 100%;height: 100%;}
.top-event .event_slide .items .items-body{opacity: 0;margin-top:calc(100vw * (35 /1920));padding: calc(100vw * (28 /1920)) calc(100vw * (25 /1920)) calc(100vw * (26 /1920));box-sizing: border-box;background: #fff;border-radius: calc(100vw * (8 /1920));position: relative;}
.top-event .event_slide .items .items-body::before{content: "";position: absolute;top: calc(100vw * (-7 /1920));left: 50%;width: calc(100vw * (14 /1920));height: calc(100vw * (14 /1920));background: #fff;transform: translateX(-50%) rotate(45deg);border-radius: calc(100vw * (2 /1920));}
.top-event .event_slide .items .items-meta {display: flex;align-items: center;margin-bottom: calc(100vw * (10 /1920));flex-wrap: nowrap;}

.top-event .event_slide .items .items-label {display: inline-flex;align-items: center;justify-content: center;min-height: calc(100vw * (22 /1920));padding: calc(100vw * (11 /1920)) calc(100vw * (14 /1920)) calc(100vw * (7 /1920)) calc(100vw * (16 /1920));background: #ff8b69;color: #fff;font-size: calc(100vw * (16 /1920));font-weight: 700;line-height: 1;white-space: nowrap;border-radius:calc(100vw * (5 /1920)) 0 0 calc(100vw * (5 /1920));}

.top-event .event_slide .items .items-date{display: inline-flex;align-items: center;min-height: calc(100vw * (22 /1920));padding: calc(100vw * (7 /1920)) calc(100vw * (16 /1920)) calc(100vw * (7 /1920)) calc(100vw * (12 /1920));background: #fff3ee;color: #ff8b69;font-size: calc(100vw * (20 /1920));font-weight: 700;line-height: 1;white-space: nowrap;border-radius:calc(100vw * (5 /1920)) calc(100vw * (5 /1920)) 0 0;}

.top-event .event_slide .items .items-title {margin: 0;color: #222;font-size: calc(100vw * (22 /1920));font-weight: 700;line-height: 1.5;}
.top-event .event_slide .items .items-title.eventtxt{border-top: 1px solid #22222280;padding-top:calc(100vw * (20 /1920));font-size: calc(100vw * (18 /1920));margin-top: calc(100vw * (9 /1920));}
/* イベント一覧ボタン */
.top-event .summary_btn{display: flex;align-items: center;font-size:calc(100vw * (20 /1920));color: #004282;font-weight: 500;width: fit-content;position: absolute;right:calc(100vw * (304 /1920));bottom: calc(100vw * (176 /1920));}
.top-event .summary_btn svg{margin-right:calc(100vw * (12 /1920));aspect-ratio: 1/1;width:calc(100vw * (50 /1920));}
.top-event .summary_btn:hover{color: #FC7753;opacity: 0.9;}
.top-event .summary_btn:hover svg{stroke: #FC7753;}

.top-event .summary_btn svg path:first-child {stroke: #004282;fill: transparent;transition: stroke 0.3s, fill 0.3s;}
.top-event .summary_btn svg path:not(:first-child) {stroke: #004282;transition: stroke 0.3s;}

/* ホバー時 */
.top-event .summary_btn:hover svg path:first-child {stroke: #FC7753;fill: #FC7753;}
.top-event .summary_btn:hover svg path:not(:first-child) {stroke: #fff;}

/* .top-event .event-btn {position: relative;margin-top:0;padding: 0 124px 0 0;text-align: right;}
.top-event .event-btn a {display: inline-flex;align-items: center;gap: 12px;padding: 0;border: none;background: transparent;color: #0b78d0;font-size: 1.4rem;font-weight: 700;line-height: 1.4;}
.top-event .event-btn a .icon {order: -1;width: 34px;height: 34px;margin-left: 0;padding: 10px;border: 1.5px solid #0b78d0;border-radius: 50%;object-fit: contain;box-sizing: border-box;} */


@media screen and (max-width: 767px){
  .top-event{}
  .top-event .container{padding:45px 0 45px;width: calc(100% - 40px);}

  /* 見出し */
  .top-event .en-title,.top-event .event-text {position: relative;z-index: 20;}


  /* スライダー関連 */
  .top-event .event_slbox{margin-bottom: 20px;}

  .top-event .event_slbox .ev1_slide,.top-event .event_slbox .ev2_slide{display: none;}


  .top-event .event_slide{margin:45px auto 0;flex-shrink:0;}
  /* .top-event .event_slide .splide__track{overflow: visible;} */
  .top-event .event_slide .splide__track .splide__list{align-items: flex-start;}
  .top-event .event_slide .splide__arrow{background: #004282;opacity: 1;top: 40%;}
  .top-event .event_slide .splide__arrow svg{fill: #fff;}
  .top-event .event_slide .splide__arrow.splide__arrow--prev{left: -60px;}
  .top-event .event_slide .splide__arrow.splide__arrow--next{right: -60px;}

  .top-event .event_slide .items{opacity: 0.7;pointer-events: none;width:100%;z-index: 1;}
  .top-event .event_slide .items.is-active{opacity: 1;pointer-events: auto;z-index: 2;}

  .top-event .event_slide .items.is-active .items-body{opacity: 1;}
  .top-event .event_slide .items.is-active .items-image{}

  .top-event .event_slide .items .items-image{border-radius: 20px;overflow: hidden;aspect-ratio: 600/450;}
  .top-event .event_slide .items .items-image img{object-fit: cover;object-position: center;width: 100%;height: 100%;}
  .top-event .event_slide .items .items-body{opacity: 0;margin-top:35px;padding: 14px 18px 16px;box-sizing: border-box;background: #fff;border-radius: 8px;position: relative;}
  .top-event .event_slide .items .items-body::before{content: "";position: absolute;top: -7px;left: 50%;width: 14px;height: 14px;background: #fff;transform: translateX(-50%) rotate(45deg);border-radius: 2px;}
  .top-event .event_slide .items .items-meta {display: flex;align-items: center;gap: 4px;margin-bottom: 8px;flex-wrap: nowrap;}
  .top-event .event_slide .items .items-label {display: inline-flex;align-items: center;justify-content: center;min-height: 22px;padding: 0 8px;background: #ff8b69;color: #fff;font-size: 1rem;font-weight: 700;line-height: 1;white-space: nowrap;}
  .top-event .event_slide .items .items-date {display: inline-flex;align-items: center;min-height: 22px;padding: 0 8px;background: #fff3ee;color: #ff8b69;font-size: 1rem;font-weight: 700;line-height: 1;white-space: nowrap;}
  .top-event .event_slide .items .items-title {margin: 0;color: #222;font-size: 1.62rem;font-weight: 700;line-height: 1.5;}
  .top-event .event_slide .items .items-title.eventtxt{padding-top:15px;font-size:1.4rem;margin-top: 5px;}

  /* イベント一覧ボタン */
  .top-event .summary_btn{font-size:20px;width: fit-content;position: relative;right:auto;bottom:auto;margin: auto;}
  .top-event .summary_btn svg{margin-right:12px;aspect-ratio: 1/1;width:50px;}
}



/* ===== JARECO-EYE セクション ===== */
.top-eye .container {
  max-width: 1840px;
  margin: 0 auto;
  padding: 0px;
}

/* 内側のラッパー（サイドバー＋リストを横並び） */
.top-eye-inner {
  display: flex;
  gap: 20px;
  background: #e8eff7;
  border-radius: 16px;
  padding: 120px;
}

/* ===== 左サイドバー ===== */
.top-eye-sidebar {
  width: 30%;
  flex-shrink: 0;
}

.top-eye-sidebar h2 {
  font-size: 5.4rem;
  font-weight: 700;
  color: #1a3a6b;
  margin: 0 0 60px;
  line-height: 1.2;
  text-align: left;
}

.top-eye-sidebar h2 .ja-desc {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: #1a3a6b;
  margin-top: 2px;
  text-align: center;
}

.top-eye-sidebar .eye-description {
  font-size: 22px;
  color: #333;
  line-height: 1.8;
  margin: 16px 0 47px;
}

.top-eye-sidebar .eye-tag-active {
  display: inline-block;
  background: #1a3a6b;
  color: #fff;
  font-size: 16px;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}

.top-eye-sidebar .eye-filter-list {
  list-style: none;
  margin: 0 0 56px;
  padding: 0;
}

.top-eye-sidebar .eye-filter-list li {
  margin-bottom: 8px;
}

.top-eye-sidebar .eye-filter-list li a {
  font-size: 13px;
  color: #1a3a6b;
  text-decoration: none;
  border-bottom: 1px solid #a0b8d8;
  padding-bottom: 2px;
}

.top-eye-sidebar .eye-more-link {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  color: #1a3a6b;
  text-decoration: none;
  font-weight: 500;
}

.top-eye-sidebar .eye-more-link .arrow-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1.5px solid #1a3a6b;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

/* ===== 右エントリーリスト（クラス名修正版） ===== */
.top-eye-list {
  flex: 1;
}

/* 日付・バッジ行 */
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
  flex: 1;
  min-width: 0;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-date {
  font-size: 18px;
  color: #000;
  white-space: nowrap;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #B155B6;
  white-space: nowrap;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.narnews { background: #674000; }
.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.column  { background: #339B6E; }
.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.report  { background: #33889B; }
.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.jre     { background: #FFD94D; color: #333; }

/* 画像内のcatバッジは非表示に */
.top-eye-list .koblog-card-wrap .koblog-card .image .cat {
  display: none !important;
}

/* textがeye-metaの子になるので上書き */
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #222 !important;
  margin: 0 !important;
  min-height: auto !important;
}

/* koblog-card-wrap をリスト表示に */
.top-eye-list .koblog-card-wrap {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  background: #fff;
  padding: 20px 50px;
  border-radius: 20px;
}

/* 各カードを横並びリスト行に */
.top-eye-list .koblog-card-wrap .koblog-card {
  display: flex !important;
  align-items: center;
  gap: 40px;
  width: 100% !important;
  max-width: 100% !important;
  background: #fff;
  border-radius: 10px;
  padding: 30px 0px;
  margin: 0 !important;
  text-decoration: none;
  color: inherit;
  box-shadow: none;
  transition: box-shadow 0.2s;
  box-sizing: border-box;
}

.top-eye-list .koblog-card-wrap .koblog-card:hover {
  opacity: 1;
}

/* サムネイル画像エリア */
.top-eye-list .koblog-card-wrap .koblog-card .image {
  width: 180px !important;
  height: 135px !important;
  min-width: 110px;
  padding: 0 !important;
  border-radius: 8px !important;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  box-shadow: none !important;
  background: #eee;
  margin: 0 !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .image::before {
  display: none !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .image > img {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transform: none !important;
  border-radius: 0px;
}

.top-eye-list .koblog-card-wrap .koblog-card .image > img:hover {
  transform: none !important;
}

/* カテゴリバッジ */
.top-eye-list .koblog-card-wrap .koblog-card .image .cat {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: auto;
  width: auto;
  height: auto !important;
  padding: 3px 8px !important;
  font-size: 10px !important;
  border-radius: 0 6px 0 0 !important;
  line-height: 1.4;
  z-index: 1;
}

/* テキスト（タイトル）エリア */
.top-eye-list .koblog-card-wrap .koblog-card .text {
  flex: 1;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.5;
  color: #222;
  margin: 0 !important;
  min-height: auto !important;
  text-decoration: none;
}

/* 矢印 */
.top-eye-list .koblog-card-wrap .koblog-card::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 14px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  background: url("../images/common/arrow-circle.svg") no-repeat center / contain !important;
  transition: transform 0.3s ease;
}

.top-eye-list .koblog-card-wrap .koblog-card::after {
  margin-left: auto !important;
  margin-right: 24px !important;
}

.top-eye-sidebar .eye-filter-list li a {
  display: inline-block;
  background: #fff;
  color: #1a3a6b;
  font-size: 16px;
  font-weight: 500;
  padding: 5px 15px;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid #1a3a6b;
  line-height: 1.4;
}

.top-eye-sidebar .eye-filter-list li a.is-active {
  background: #1a3a6b;
  color: #fff;
}

/* ===== JARECO-EYE 下 スライドギャラリー ===== */
.top-eye {
  margin-bottom: 166px;
}

.top-eye-gallery {
  overflow: hidden;
  margin-bottom: 166px;
}

.top-eye-gallery .container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.top-eye-gallery-slider {
  overflow: hidden;
}

.top-eye-gallery-slide {
  width: 520px;
  height: 390px;
  margin-right: 36px;
  overflow: hidden;
  border-radius: 8px;
}

.top-eye-gallery-slide a {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: #ddd;
}

.top-eye-gallery-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-eye-gallery-slide a:hover img {
  transform: scale(1.04);
}

/* Slick調整 */
.top-eye-gallery .slick-list {
  overflow: visible;
}

.top-eye-gallery .slick-track {
  display: flex;
  align-items: stretch;
}

.top-eye-gallery .slick-slide > div {
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .top-eye {
    margin-bottom: 40px;
  }

  .top-eye-gallery {
    padding: 0 0 80px;
  }

  .top-eye-gallery-slide {
    width: 420px;
  }
}

@media screen and (max-width: 767px) {
  .top-eye {
    margin-bottom: 24px;
  }

  .top-eye-gallery {
    padding: 0 0 50px;
  }

  .top-eye-gallery-slider {
    margin: 0 -8px;
  }

  .top-eye-gallery-slide {
    width: calc(100vw - 64px);
    padding: 0 8px;
  }
}

/* ボタン本体 */
.eye-filter-btn {
  display: inline-block;
  border: none;
  background: #fff;
  color: #163f7a;
  font: inherit;
  font-weight: 400;
  cursor: pointer;
  padding: 8px 14px;
  border-radius: 4px;
  line-height: 1.4;
  text-align: left;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  position: static;
  top: auto;
  left: auto;
  transform: none !important;
  margin: 0;
  vertical-align: top;
  font-size: 16px;
  font-weight: 700;
}


/* 選択時は色だけ変える */
.eye-filter-btn.is-active {
  background: #163f7a;
  color: #fff;
  border-color: #163f7a;
}

/* 「最新情報」ボタンの下余白は固定で持たせる */
.top-eye-sidebar > .eye-filter-btn {
  margin-bottom: 12px;
}

/* リスト間の余白もli側で固定 */
.top-eye-sidebar .eye-filter-list {
  padding: 0;
  list-style: none;
}

.top-eye-sidebar .eye-filter-list li {
  margin: 0 0 15px;
}

.top-eye-sidebar .eye-filter-list li:last-child {
  margin-bottom: 0;
}

.eye-filter-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

/* 以前の指定を無効化 */
.eye-filter-list li + li {
  margin-top: 0;
}

.js-eye-entry[hidden] {
  display: none !important;
}

.eye-no-result {
  margin-top: 20px;
}

.eye-panel {
  display: none;
}

.eye-panel.is-active {
  display: block;
}

.top-eye-list .koblog-card-wrap .koblog-card {
  position: relative;
}

.top-eye-list .koblog-card-wrap .koblog-card + .koblog-card {
  padding-top: 30px;
}

.top-eye-list .koblog-card-wrap .koblog-card + .koblog-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #b9c7d8;
}

.top-eye-list .koblog-card-wrap .koblog-card:hover {
  background-color: transparent;
  opacity: 1;
}

/* 画像枠 */
.top-eye-list .koblog-card-wrap .koblog-card .image {
  overflow: hidden;
  border-radius: 0px !important;
}

/* 画像を少し拡大 */
.top-eye-list .koblog-card-wrap .koblog-card .image img {
  transition: transform 0.35s ease;
}
/* ホバー時：矢印以外を薄くふわっと */
.top-eye-list .koblog-card-wrap .koblog-card:hover .image,
.top-eye-list .koblog-card-wrap .koblog-card:hover .koblog-card-inner,
.top-eye-list .koblog-card-wrap .koblog-card:hover > .text {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

/* 画像拡大は停止 */
.top-eye-list .koblog-card-wrap .koblog-card:hover .image img {
  transform: none !important;
}

/* 矢印は薄くしない */
.top-eye-list .koblog-card-wrap .koblog-card:hover::after {
  opacity: 1;
}

/* タイトル */
.top-eye-list .koblog-card-wrap .koblog-card .text {
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

/* ホバー時のタイトル下線を消す */
.top-eye-list .koblog-card-wrap .koblog-card:hover .text,
.top-eye-list .koblog-card-wrap .koblog-card:hover > .text {
  text-decoration: none !important;
}

/* 矢印 */
.top-eye-list .koblog-card-wrap .koblog-card::after {
  transition: transform 0.25s ease, color 0.25s ease;
}

.top-eye-list .koblog-card-wrap .koblog-card:hover::after {
  transform: translateX(4px);
  color: #1a3a6b;
}

@media screen and (max-width: 767px) {
  .top-eye {
    padding: 40px 0;
    margin-bottom: 40px;
  }

  .top-eye-inner {
    display: block;
    padding: 24px 16px;
    border-radius: 20px;
    gap: 0;
  }

  .top-eye-sidebar,
  .top-eye-list {
    width: 100%;
    max-width: 100%;
  }

  .top-eye-sidebar {
    margin-bottom: 24px;
  }

  .top-eye-sidebar h2 {
    margin: 0 0 20px;
    font-size: clamp(30px, 10vw, 56px);
    line-height: 1.05;
    word-break: keep-all;
  }

  .top-eye-sidebar h2 .ja-desc {
    display: block;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.6;
  }

  .top-eye-sidebar .eye-description {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.8;
  }

  .top-eye-sidebar .eye-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 8px;
    margin: 0 0 24px;
    padding: 0;
  }

  .top-eye-sidebar .eye-filter-list li {
    margin: 0;
  }

  .top-eye-sidebar .eye-filter-list li a,
  .top-eye-sidebar .eye-filter-list li button,
  .top-eye-sidebar .eye-filter-btn {
    font-size: 14px;
    padding: 8px 12px;
  }

  .top-eye-sidebar .eye-more-link {
    font-size: 18px;
    gap: 10px;
  }

  .top-eye-sidebar .eye-more-link .arrow-circle {
    width: 44px;
    height: 44px;
    font-size: 14px;
  }

  .top-eye-list .koblog-card-wrap {
    padding: 0;
    background: transparent;
    border-radius: 0;
  }

  .top-eye-list .koblog-card-wrap .koblog-card {
    gap: 12px;
    padding: 16px 0;
    align-items: flex-start;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image {
    width: 96px !important;
    min-width: 96px;
    height: 72px !important;
    border-radius: 8px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
    gap: 6px;
    flex-wrap: wrap;
    margin: 0 0 6px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-date {
    font-size: 14px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
    font-size: 11px;
    padding: 3px 8px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text,
  .top-eye-list .koblog-card-wrap .koblog-card .text {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card::after {
    font-size: 18px;
    align-self: center;
  }
    .top-eye-sidebar {
    display: flex;
    flex-direction: column;
  }

  .top-eye-sidebar .eye-more-link {
    order: 99;
    margin-top: 24px;
  }
}

.top-eye-inner {
  display: grid;
  grid-template-columns: minmax(280px, 360px) 1fr;
  gap: 0px 101px;
  align-items: start;
}

.top-eye-sidebar {
  grid-column: 1;
  grid-row: 1;
  width: auto;
  margin-bottom: 0;
}

.top-eye-list {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
}

.top-eye-more {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}

.top-eye-more .eye-more-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #1a3a6b;
  text-decoration: none;
  font-weight: 500;
}
.top-eye-more .eye-more-link:hover{color: #FC7753;opacity: 0.9;}

.top-eye-more .eye-more-link .arrow-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1.5px solid #1a3a6b;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}

.top-eye-more .eye-more-link .arrow-circle:hover {stroke: #FC7753;fill: #FC7753;}

.eye-filter-list {
  display: block;
  flex-wrap: wrap;
  gap: 12px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.eye-filter-list li {
  margin: 0;
}

.eye-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border: none;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: opacity 0.2s ease;
}

.eye-filter-btn:hover {
  opacity: 0.9;
}

.eye-filter-btn.is-active {
  background: #0f4b8f;
  color: #fff;
}

/* inactive時の文字色 */
.eye-filter-btn--event {
  color: #0f6f96;
}

.eye-filter-btn--column {
  color: #1f9a5b;
}

.eye-filter-btn--seattle {
  color: #b12a8f;
}

.eye-filter-btn--report {
  color: #8a5a00;
}

@media screen and (max-width: 767px) {
  .top-eye {
    padding: 40px 0;
    margin-bottom: 40px;
  }

  .top-eye-inner {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 16px;
    border-radius: 20px;
  }

  .top-eye-sidebar,
  .top-eye-list,
  .top-eye-more {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: 100%;
  }

  .top-eye-sidebar {
    margin-bottom: 0;
  }

  .top-eye-sidebar h2 {
    margin: 0 0 20px;
    font-size: 32px;
    line-height: 1.05;
    word-break: keep-all;
    text-align: center;
  }

  .top-eye-sidebar h2 .ja-desc {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.6;
  }

  .top-eye-sidebar .eye-description {
    margin: 0 0 20px;
    font-size: 18px;
    line-height: 1.8;
  }

  .top-eye-sidebar .eye-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 8px;
    margin: 0;
    padding: 0;
  }

  .top-eye-sidebar .eye-filter-list li {
    margin: 0;
  }

  .top-eye-sidebar .eye-filter-list li a,
  .top-eye-sidebar .eye-filter-list li button,
  .top-eye-sidebar .eye-filter-btn {
    font-size: 14px;
    padding: 8px 12px;
  }

  .top-eye-more {
    margin-top: 4px;
  }

  .top-eye-sidebar .eye-more-link,
  .top-eye-more .eye-more-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
  }

  .top-eye-sidebar .eye-more-link .arrow-circle,
  .top-eye-more .eye-more-link .arrow-circle {
    width: 44px;
    height: 44px;
    font-size: 14px;
  }

  .top-eye-list .koblog-card-wrap {
    padding: 16px;
    background: #fff;
    border-radius: 16px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) 14px;
    gap: 12px;
    align-items: start;
    padding: 16px 0;
    margin: 0 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card + .koblog-card {
    margin-top: 0 !important;
    padding-top: 16px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card + .koblog-card::before {
    left: 0;
    right: 0;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image {
    width: 88px !important;
    min-width: 88px;
    height: 66px !important;
    border-radius: 8px !important;
    margin: 0 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
    min-width: 0;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin: 0 0 8px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-date {
    font-size: 10px;
    line-height: 1.4;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
    font-size: 10px;
    padding: 4px 8px;
    line-height: 1.2;
    max-width: 100%;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text,
  .top-eye-list .koblog-card-wrap .koblog-card .text {
    font-size: 12px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    word-break: break-word;
  }

  .top-eye-list .koblog-card-wrap .koblog-card::after {
    font-size: 18px;
    align-self: center;
    justify-self: end;
  }
  .top-eye-more .eye-more-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
}

.top-eye-more .eye-more-link .arrow-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid #1a3a6b;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}
}

@media screen and (max-width: 767px) {
	.top-membership__btn {
		width: 160px;
		height: 40px;
		font-size: 15px;
		padding: 0 28px 0 16px;
	}

	.top-membership__btn::after {
		right: 14px;
	}
}

.eye-panel {
  display: none;
}

.eye-list-placeholder {
  padding: 40px 24px;
  background: #fff;
  border-radius: 16px;
  color: #666;
}

.eye-filter-btn.is-active {
  background: #0f4b8f;
  color: #fff;
}

.top-eye.is-loading .js-eye-list {
  opacity: 0.55;
  transition: opacity 0.2s ease;
}

.eye-filter-list li:first-child {
  display: none;
}


/* カテゴリフィルターボタンの色分け */
.eye-filter-btn {
  display: inline-block;
  border: 2px solid currentColor;
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  padding: 6px 14px;
  border-radius: 4px;
  line-height: 1.4;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* イベント開催報告 */
.eye-filter-btn:nth-child(1),
.eye-filter-list li:nth-child(2) .eye-filter-btn {
  color: #fff;
  border-color: #33889B;
  background: #33889B;
}
.eye-filter-list li:nth-child(2) .eye-filter-btn.is-active {
  background: #33889B;
  color: #fff;
}

/* コラム通信 */
.eye-filter-list li:nth-child(3) .eye-filter-btn {
  color: #fff;
  border-color: #31996C;
  background: #31996C;
}
.eye-filter-list li:nth-child(3) .eye-filter-btn.is-active {
  background: #31996C;
  color: #fff;
}

/* シアトルホームステイ */
.eye-filter-list li:nth-child(4) .eye-filter-btn {
  color: #fff;
  border-color: #B155B6;
  background: #B155B6;
}
.eye-filter-list li:nth-child(4) .eye-filter-btn.is-active {
  background: #B155B6;
  color: #fff;
}

/* NAR通信 */
.eye-filter-list li:nth-child(5) .eye-filter-btn {
  color: #fff;
  border-color: #836431;
  background: #836431;
}
.eye-filter-list li:nth-child(5) .eye-filter-btn.is-active {
  background: #836431;
  color: #fff;
}

/* 各カードを横並びに */
.top-eye-list .koblog-card-wrap .koblog-card {
  display: flex !important;
  align-items: center;
  gap: 40px;
  width: 100% !important;
  max-width: 100% !important;
  background: #fff;
  border-radius: 10px;
  padding: 30px 0px;
  margin: 0 !important;
  text-decoration: none;
  color: inherit;
  box-shadow: none;
  transition: box-shadow 0.2s;
  box-sizing: border-box;
}

/* ====== 強制上書き：eye-meta 縦並び ====== */
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

/* ====== バッジ色：イベント開催報告 ====== */
.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.report {
  color: #fff !important;
  background: #836431;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-badge.event.report{
  background: #33889B;
}

/* eye-meta 強制縦並び */
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

/* eye-date-cat は p タグなのでブロック扱いにする */
.top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  width: 100% !important;
}

/* タイトルも縦に落とす */
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text,
.top-eye-list .koblog-card-wrap .koblog-card .eye-meta p.text {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #222 !important;
}

/* カード全体：画像＋右エリアを横並び */
.top-eye-list .koblog-card-wrap .koblog-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* 画像 */
.top-eye-list .koblog-card-wrap .koblog-card .image {
  flex-shrink: 0 !important;
  width: 180px !important;
  height: 135px !important;
}

/* koblog-card-innerとtextを縦並びにするため両方をまとめる */
.top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 6px !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .date {
  font-size: 18px !important;
  color: #222 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .category {
  display: inline-block !important;
  padding: 0px 15px !important;
  border-radius: 3px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
}

.top-eye-list .koblog-card-wrap .koblog-card > .text {
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: #222 !important;
}

.top-eye-list .koblog-card-wrap .koblog-card {
  display: flex !important;
  align-items: center;
  gap: 32px;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-date {
  font-size: 18px;
  line-height: 1.3;
  white-space: nowrap;
  font-family: "Noto Sans JP";
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 15px;
  border-radius: 3px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.top-eye-list .koblog-card-wrap .koblog-card .eye-title {
  margin: 5px 0 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  word-break: break-word;
}

/* SP */
@media screen and (max-width: 767px) {
	.top-membership__cards {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.top-membership-card {
		width: 100%;
		min-height: auto;
	}
}

.top-membership__cards {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	mmax-width: 100%;
	margin: 0 auto 68px;
}

.top-membership-card {
	display: block !important;
	width: calc((100% - 30px) / 3) !important;
	min-height: 459px;
	padding: 27px 30px !important;
	background: #fff !important;
	border-radius: 6px !important;
	box-sizing: border-box;
}

.top-membership-card__num {
	color: #EF7958 !important;
  line-height: 1.2;
}

.top-membership-card__title,
.top-membership-card__text {
	color: #222 !important;
}

@media screen and (max-width: 767px) {
	.top-membership__cards {
		display: grid !important;
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.top-membership-card {
		width: 100% !important;
	}
}

.en-title::before,
.carendar-tit::before,
.top-membership__title::before,
.top-about__title::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: #EF7958;
	box-shadow:
		14px 0 0 #EF7958,
		28px 0 0 #EF7958;
	transform: translateX(-14px);
}

.top-about__btn-wrap {
	margin-top: 44px;
	text-align: center;
}

.top-about__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	height: 50px;
	padding: 0 40px 0 24px;
	border-radius: 999px;
	background: #EF7958;
	color: #fff !important;
	font-size: 1.5rem;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	opacity: 1;
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.top-about__btn:hover {
	color: #fff !important;
	opacity: 1;
}

.top-about__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 28px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.top-about__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	height: 50px;
	padding: 0 40px 0 24px;
	border-radius: 999px;
	background: #EF7958;
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	box-sizing: border-box;
	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.top-about__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 28px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	transition: transform 0.3s ease;
}

.top-about__btn:hover {
	background: #d95f3f;
	color: #fff !important;
}

.top-about__btn:hover::after {
	transform: translateY(-50%) translateX(4px) rotate(45deg);
}

.top-about__foreign {
	width: min(800px, 100%);
	margin: 103px auto;
}

.top-about__foreign-link {
	display: block;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.top-about__foreign-link:hover {
	opacity: 0.85;
	transform: translateY(-2px);
}

.top-about__foreign img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.top-intro-member {
	padding: 145.8px 0 70px;
	background: #fff;
}

.top-intro-member__inner {
width: min(1231.962px, 100%);
    min-height: 601.2px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top-intro-member__text {
	color: #222;
}

.top-intro-member__title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.top-intro-member__title span {
	color: #004282;
	font-size: 34px;
	font-weight: 800;
	letter-spacing: .02em;
}

.top-intro-member__lead {
	margin: 0 0 14px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.7;
}

.top-intro-member__lead span {
	position: relative;
	display: inline-block;
	line-height: 1.35;
	letter-spacing: 1.08px;
	border-bottom: none;
	background: none;
	z-index: 0;
  margin-bottom: 36px;
}

.top-intro-member__lead span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 20px;
	background: rgba(241, 122, 120, 0.5);
	z-index: -1;
}

.top-intro-member__lead small {
	font-size: 28px;
	font-weight: 500;
}

.top-intro-member__desc {
	margin: 0 0 30px;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.8;
}

.top-intro-member__btns {
	display: flex;
	align-items: center;
	gap: 14px;
}

.top-intro-member__btn--orange {
	background: #ef7958;
	color: #fff !important;
}

.top-intro-member__btn--blue {
	background: #004282;
	color: #fff !important;
}

.top-intro-member__btn--outline {
	border: 1px solid #004282;
	background: #fff;
	color: #004282 !important;
}

.top-intro-member__image img {
	width: 360px;
	height: auto;
	display: block;
}

@media screen and (max-width: 767px) {
	.top-intro-member {
		padding: 50px 0;
	}

	.top-intro-member__inner {
		display: block;
		text-align: center;
	}

	.top-intro-member__btns {
		flex-direction: column;
	}

	.top-intro-member__image {
		margin-top: 30px;
	}

	.top-intro-member__image img {
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
	}
}
/* ---------------------------------------------------
	activities area
------------------------------------------------------ */
.top-activities-area {
	position: relative;
	padding: 144px 0 110px;
	background: linear-gradient(180deg, #E6EDF3 0%, #FFFFFF 100%);
}

.top-activities-area__inner {
	width: min(1599px, calc(100% - 40px));
	margin: 0 auto;
}

.top-activities-area__head {
	max-width: 760px;
	margin: 0 auto 56px;
	text-align: center;
}

.top-activities-area__title {
	margin: 0;
	font-size: clamp(3.4rem, 4vw, 5.2rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.03em;
	color: #0c4f93;
}

.top-activities-area__title::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: #EF7958;
	box-shadow:
		14px 0 0 #EF7958,
		28px 0 0 #EF7958;
	transform: translateX(-14px);
}

.top-activities-area__sub {
	margin: 0 0 34px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #0c4f93;
}

.top-activities-area__lead {
	margin: 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	color: #222;
}

/* activities内でも既存カードレイアウトをそのまま使う */
.top-activities-area .top-about__cards {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

/* tablet */
@media screen and (max-width: 1024px) {
	.top-activities-area {
		padding: 0 0 80px;
	}

	.top-activities-area__inner {
		width: calc(100% - 48px);
	}

	.top-activities-area .top-about__cards {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* sp */
@media screen and (max-width: 767px) {
	.top-activities-area {
		padding: 0 0 60px;
	}

	.top-activities-area__inner {
		width: calc(100% - 32px);
	}

	.top-activities-area__head {
		margin-bottom: 36px;
    padding-top: 70px;
	}

	.top-activities-area__title {
		margin-bottom: 16px;
	}

	.top-activities-area__lead {
		font-size: 1.4rem;
		line-height: 1.9;
	}

	.top-activities-area__lead br {
		display: none;
	}
}

.top-intro-member__title {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	margin: 0 0 52px;
}

.top-intro-member__logo {
	display: block;
	width: 264px;
	height: 48.2px;
	object-fit: contain;
	flex-shrink: 0;
}

.top-intro-member__title .top-intro-member__title-text {
	display: inline-block;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	color: #222;
	padding-bottom: 0;
}

.top-intro-member__image img {
	width: 517.962px;
	height: 333.03px;
	display: block;
	object-fit: contain;
}

@media screen and (max-width: 767px) {
	.top-intro-member__image img {
		width: 100%;
		max-width: 320px;
		height: auto;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.top-intro-member__title {
		justify-content: center;
	}

	.top-intro-member__logo {
		width: 200px;
		height: auto;
	}

	.top-intro-member__title-text {
		padding-bottom: 2px;
	}
}

.top-intro-member__inner {
	width: min(1231.962px, 100%);
	min-height: auto;
	margin: 0 auto;
	display: block;
}

.top-intro-member__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ボタンをセクション中央に配置 */
.top-intro-member__btns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	width: 100%;
	margin-top: 32px;
}

/* ボタンサイズ・文字サイズ */
.top-intro-member__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 453px;
	height: 90.6px;
	padding: 22.65px 0 24.16px 0;
	border-radius: 999px;
	box-sizing: border-box;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.top-intro-member__btn {
	gap: 12px;
}

.top-intro-member__btn-icon {
	display: block;
	width: 28px;
	height: 28px;
	object-fit: contain;
	flex-shrink: 0;
}

/* spanで文字を囲っている場合 */
.top-intro-member__btn-text {
	font-size: 27.18px;
	font-weight: 500;
	line-height: 1;
}

/* アイコンがある場合 */
.top-intro-member__btn-icon {
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
	flex-shrink: 0;
}

@media screen and (max-width: 767px) {
	.top-intro-member__body {
		display: block;
		text-align: center;
	}

	.top-intro-member__btns {
		flex-direction: column;
		gap: 12px;
	}

	.top-intro-member__btn {
		width: 100%;
		min-width: 0;
		max-width: 453px;
		height: 64px;
		padding: 0;
	}

	.top-intro-member__btn-icon {
		width: 22px;
		height: 22px;
	}
}

.top-eye-gallery-card {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	width: 100%;
	height: 100%;
}

.top-eye-gallery-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top-eye-gallery-card__text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 18px 18px 14px;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.7) 100%
	);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
}

/* ---------------------------------------------------
	top intro member：中央寄せ調整
------------------------------------------------------ */

/* 親のcontainer幅制限を受けないようにする */
.top-intro-member .container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* セクション内全体 */
.top-intro-member__inner {
	width: 100%;
	min-height: auto;
	margin: 0 auto;
	display: block;
}

/* テキスト＋イラスト部分は中央寄せ */
.top-intro-member__body {
	width: min(1439px, calc(100% - 80px));
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* ボタン部分：3つ合わせて1439pxで中央寄せ */
.top-intro-member__btns {
	width: min(1439px, calc(100% - 80px));
	margin: 32px auto 0;
	display: grid;
	grid-template-columns: repeat(3, 453px);
	gap: 40px;
	justify-content: center;
	align-items: center;
}

/* ボタン単体 */
.top-intro-member__btn {
	width: 453px;
	min-width: 453px;
	height: 90.6px;
	padding: 22.65px 0 24.16px;
	border-radius: 999px;
	box-sizing: border-box;
}

/* ---------------------------------------------------
	mainvisual title
------------------------------------------------------ */
.mainvisual {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 720px;
	overflow: hidden;
}

.mainvisual__wrap {
	position: relative;
	width: 100%;
	height: 100%;
}

.mainvisual__copy {
	position: absolute;
	left: 6.8%;
	top: 55%;
	transform: translateY(-50%);
	z-index: 100;
	color: #fff;
	text-align: left;
	text-shadow: 0 4px 14px rgba(0, 0, 0, 0.48);
}

.mainvisual .main-tit {
	position: static;
	max-width: none;
	margin: 0;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1;
	text-align: left;
	text-shadow: inherit;
}

.mainvisual .main-tit .en {
	display: block;
	margin: 0 0 20px;
	color: #fff;
	font-size: clamp(5.2rem, 6.5vw, 10.4rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mainvisual .main-tit .en span {
	display: block;
  color: #FFF;
font-family: "Archivo Black";
font-size: 80px;
font-style: normal;
font-weight: 400;
line-height: 100px; /* 125% */
letter-spacing: 0.01em;
}

.mainvisual .main-tit .en .big {
	font-size: inherit;
}

.mainvisual .main-tit .tit {
	display: block;
	margin-top: 18px;
	color: #fff;
	font-size: 52px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.086em;
}

.mainvisual__lead {
	margin-top: 60px;
	color: #fff;
}

.mainvisual__lead p {
	margin: 0;
	color: #fff;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.01em;
	text-shadow: inherit;
}

.mainvisual__lead-en {
	font-size: 43.5px;
}

.mainvisual__lead-ja {
	font-size: 27.5px;
}

/* スライド画像 */
#main-slide {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	overflow: hidden;
}

#main-slide .slide {
	position: relative;
	height: 100vh;
	min-height: 720px;
}

#main-slide .slide > img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
}

.mainvisual .main-tit .en .big {
	font-size: 103px;
}

@media screen and (max-width: 767px) {
	.mainvisual .main-tit .en .big {
		font-size: 4.8rem;
	}
}

/* メインコピー：見た目優先で幅を揃える */
.mainvisual .main-tit .en {
	width: 760px;
	max-width: 100%;
}

.mainvisual .main-tit .en span {
	display: block;
	color: #fff;
	font-family: "Archivo Black";
	font-size: 80px;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.mainvisual .main-tit .en .big {
	font-size: 103px;
	transform: scaleX(0.95);
	transform-origin: left center;
}

/* ---------------------------------------------------
	responsive final override
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
	.top-intro-member__body {
		width: calc(100% - 48px);
		gap: 40px;
	}

	.top-intro-member__btns {
		width: calc(100% - 48px);
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.top-intro-member__btn {
		width: 100%;
		min-width: 0;
		max-width: 453px;
		margin: 0 auto;
	}

	.top-about__cards,
	.top-activities-area .top-about__cards {
		grid-template-columns: 1fr;
	}

	.top-about-card {
		aspect-ratio: auto;
		min-height: 360px;
	}
}

@media screen and (max-width: 767px) {
	/* mainvisual */
	.mainvisual {
		height: auto;
		min-height: 560px;
	}

	.mainvisual__wrap,
	#main-slide,
	#main-slide .slide {
		height: 560px;
		min-height: 560px;
	}

	.mainvisual__copy {
		left: 24px;
		right: 24px;
		top: auto;
		bottom: 48px;
		transform: none;
	}

	.mainvisual .main-tit .en {
		width: 100%;
		margin-bottom: 14px;
	}

	.mainvisual .main-tit .en span {
		font-size: clamp(34px, 11vw, 54px);
		line-height: 1.08;
		white-space: nowrap;
	}

	.mainvisual .main-tit .en .big {
		font-size: clamp(42px, 13vw, 64px);
		transform: scaleX(0.95);
		transform-origin: left center;
	}

	.mainvisual .main-tit .tit {
		font-size: clamp(22px, 7vw, 34px);
		line-height: 1.35;
	}

	.mainvisual__lead {
		margin-top: 28px;
	}

	.mainvisual__lead-en {
		font-size: 25px;
	}

	.mainvisual__lead-ja {
		font-size: 16px;
	}

	/* intro member */
	.top-intro-member {
		padding: 56px 0;
	}

	.top-intro-member__body {
		display: block;
		width: calc(100% - 32px);
		text-align: left;
	}

	.top-intro-member__title {
		margin-bottom: 32px;
	}

	.top-intro-member__logo {
		width: 200px;
		height: auto;
	}

	.top-intro-member__title .top-intro-member__title-text {
		font-size: 22px;
	}

	.top-intro-member__lead {
		font-size: 25px;
		line-height: 1.65;
    text-align: center;
	}

	.top-intro-member__lead span {
		margin-bottom: 22px;
	}

	.top-intro-member__lead span::after {
		height: 14px;
		bottom: -2px;
	}

	.top-intro-member__lead small {
		font-size: 18px;
	}

	.top-intro-member__desc {
		margin-bottom: 32px;
		font-size: 18px;
		line-height: 1.8;
    text-align: center;
	}

	.top-intro-member__image {
		margin-top: 32px;
	}

	.top-intro-member__image img {
		width: 100%;
		max-width: 360px;
		height: auto;
		margin: 0 auto;
	}

	.top-intro-member__btns {
		width: calc(100% - 32px);
		display: flex;
		flex-direction: column;
		gap: 14px;
		margin-top: 32px;
	}

	.top-intro-member__btn {
		width: 100%;
		min-width: 0;
		max-width: 453px;
		height: 64px;
		padding: 0;
	}

	.top-intro-member__btn-text {
		font-size: 18px;
	}

	.top-intro-member__btn-icon {
		width: 22px;
		height: 22px;
	}

	/* about / activities cards */
	.top-about {
		padding: 56px 0;
    margin-top: 45px;
	}

	.top-about__head::after {
		width: 100%;
		height: 240px;
		left: 50%;
		top: 0;
	}

	.top-about__lead br,
	.top-activities-area__lead br {
		display: none;
	}

	.top-about__foreign {
		width: 100%;
		margin: 40px auto;
	}

	.top-about-card {
		min-height: 320px;
		padding: 24px 20px;
	}

	.top-about-card__content {
		max-width: 100%;
	}

	.top-about-card__title {
		margin-top: 24px;
		font-size: 2.6rem;
	}

	.top-about-card__en {
		margin-bottom: 20px;
		font-size: 1.1rem;
	}

	.top-about-card__text {
		font-size: 18px;
		line-height: 1.8;
	}

	a.top-about-card__btn {
		width: 220px;
		height: 48px;
		margin-bottom: 24px;
		font-size: 15px;
	}

	/* membership */
	.top-membership__cards {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.top-membership-card {
		width: 100% !important;
		min-height: auto;
	}

	.top-membership__btn {
		width: 100%;
		min-width: 0;
		max-width: 320px;
		height: 50px;
	}

	/* eye gallery */
	.top-eye-gallery-slide {
		width: calc(100vw - 64px);
		height: auto;
		aspect-ratio: 4 / 3;
		margin-right: 16px;
		padding: 0;
	}

	.top-eye-gallery-card__text {
		font-size: 1.3rem;
		padding: 32px 12px 12px;
	}
}

/* ---------------------------------------------------
	SP top-eye adjustment
------------------------------------------------------ */
@media screen and (max-width: 767px) {
	.top-eye {
		width: 100%;
		max-width: none;
		padding: 56px 0;
		margin: 0;
	}

	.top-eye .container {
		width: calc(100% - 32px);
		max-width: none;
		padding: 0;
	}

	.top-eye-inner {
		display: block !important;
		padding: 32px 20px;
		border-radius: 20px;
		background: #e8eff7;
	}

	.top-eye-sidebar,
	.top-eye-list,
	.top-eye-more {
		width: 100%;
		max-width: 100%;
		grid-column: auto;
		grid-row: auto;
	}

	.top-eye-sidebar {
		margin-bottom: 24px;
	}

	.top-eye-list {
		margin-top: 24px;
	}

	.top-eye-more {
		margin-top: 28px;
	}

	.eye-list-placeholder {
		padding: 24px 16px;
		border-radius: 12px;
		font-size: 1.4rem;
		line-height: 1.6;
		text-align: center;
	}

	.top-eye-more .eye-more-link {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1.4;
	}

	.top-eye-more .eye-more-link .arrow-circle {
		width: 40px;
		height: 40px;
		font-size: 14px;
	}
}

/* ---------------------------------------------------
	SP top-eye card layout fix
------------------------------------------------------ */
@media screen and (max-width: 767px) {
	.top-eye-list .koblog-card-wrap {
		padding: 18px;
		background: #fff;
		border-radius: 16px;
	}

	.top-eye-list .koblog-card-wrap .koblog-card {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 18px 0 !important;
		margin: 0 !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card::after {
		display: none;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .image {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 4 / 3;
		min-width: 0 !important;
		margin: 0 0 14px !important;
		border-radius: 10px !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .image > img {
		position: static !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .eye-meta {
		display: block !important;
		width: 100% !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .eye-date-cat {
		display: flex !important;
		flex-wrap: wrap;
		gap: 8px;
		margin: 0 0 10px !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .eye-date {
		font-size: 1.3rem !important;
		white-space: normal !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
		font-size: 1.1rem !important;
		padding: 4px 8px !important;
	}

	.top-eye-list .koblog-card-wrap .koblog-card .eye-title,
	.top-eye-list .koblog-card-wrap .koblog-card .eye-meta .text,
	.top-eye-list .koblog-card-wrap .koblog-card > .text {
		display: block !important;
		width: 100% !important;
		font-size: 1.5rem !important;
		line-height: 1.7 !important;
		letter-spacing: normal !important;
		writing-mode: horizontal-tb !important;
		word-break: normal !important;
		overflow-wrap: anywhere;
		margin: 0 !important;
	}
}

.top-eye-more .eye-more-link {
	transition: color 0.3s ease, opacity 0.3s ease;
}

.top-eye-more .eye-more-link .arrow-circle {
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.top-eye-more .eye-more-link:hover {
	color: #FC7753;
	opacity: 1;
}

.top-eye-more .eye-more-link:hover .arrow-circle {
	background: #FC7753;
	border-color: #FC7753;
	color: #fff;
}

.mainvisual__wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.22);
  z-index: 10;
  pointer-events: none;
}

#main-slide {
  z-index: 1;
}

.mainvisual__copy {
  z-index: 100;
}

.top-event .event_slide .splide__track,
.top-event .event_slide .splide__list {
  overflow: visible;
}

.top-event .event_slide .items .items-image {
  overflow: visible;
}

.top-event .event_slide .items .items-image img {
  display: block;
  border-radius: calc(100vw * (20 / 1920));
}

.top-event .event_slide .items.is-active .items-image {
  filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.25));
}
.top-eye-more .eye-more-link:hover {
  color: #FC7753;
  opacity: 1;
}

.top-eye-more .eye-more-link:hover .eye-more-icon img {
  filter: brightness(0) saturate(100%) invert(58%) sepia(92%) saturate(1630%) hue-rotate(327deg) brightness(102%) contrast(98%);
}
.top-eye-more .eye-more-link {
  transition: color 0.3s ease, opacity 0.3s ease;
}

.top-eye-more .eye-more-icon img {
  transition: filter 0.3s ease, transform 0.3s ease;
}
.top-eye-more .eye-more-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #004282;
  font-size: 20px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.4;
  text-decoration: none;
  transition: color 0.3s ease;
}

.top-eye-more .eye-more-link:hover {
  color: #FC7753;
}

.top-eye-more .eye-more-icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}

.top-eye-more .eye-more-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* JARECO-EYE：画像 / 本文 / 矢印 の横並び */
.top-eye-list .koblog-card-wrap .koblog-card {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) 24px;
  column-gap: 40px !important;
  align-items: center !important;
}

/* 画像 */
.top-eye-list .koblog-card-wrap .koblog-card .image {
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* 日付＋カテゴリ */
.top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner {
  grid-column: 2;
  grid-row: 1;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 10px !important;
  align-self: end;
}

/* タイトル */
.top-eye-list .koblog-card-wrap .koblog-card > .text {
  grid-column: 2;
  grid-row: 2;
  display: block !important;
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  align-self: start;
}

/* 矢印 */
.top-eye-list .koblog-card-wrap .koblog-card::after {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
}

.mainvisual__lead {
  padding-left: 0;
}

.mainvisual__lead::before {
  content: none;
}

.mainvisual__lead-ja {
  position: relative;
  display: flex;
  align-items: center;
  gap: 28px;
}

.mainvisual__lead-ja::before {
  content: "";
  display: block;
  width: 195px;
  height: 2px;
  background: #fff;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.top-eye-more .eye-more-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #004282;
	text-decoration: none;
	transition: color 0.3s ease;
}

.top-eye-more .eye-more-icon {
	width: 50px;
	height: 50px;
	color: #004282;
	transition: color 0.3s ease;
}

.top-eye-more .eye-more-icon circle,
.top-eye-more .eye-more-icon path {
	transition: fill 0.3s ease, stroke 0.3s ease;
}

.top-eye-more .eye-more-text {
	transition: color 0.3s ease;
}

.top-eye-more .eye-more-link:hover {
	color: #EF7958;
	opacity: 1;
}

.top-eye-more .eye-more-link:hover .eye-more-icon circle {
	fill: #EF7958;
	stroke: #EF7958;
}

.top-eye-more .eye-more-link:hover .eye-more-icon path {
	stroke: #fff;
}

@media screen and (max-width: 767px) {
  .mainvisual__lead-ja {
    gap: 12px;
  }

  .mainvisual__lead-ja::before {
    display: none;
    width: 42px;
    flex: 0 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .top-eye {
    margin-bottom: 48px;
    margin-top: 50px;
  }

  .top-eye .container {
    width: calc(100% - 32px);
    padding: 0;
  }

  .top-eye-inner {
    display: block !important;
    padding: 32px 20px;
    border-radius: 14px;
  }

  .top-eye-sidebar,
  .top-eye-list,
  .top-eye-more {
    width: 100% !important;
    max-width: 100% !important;
  }

  .top-eye-list .koblog-card-wrap {
    padding: 0 18px;
    border-radius: 14px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card {
    display: block !important;
    padding: 20px 0 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    min-width: 0 !important;
    margin: 0 0 12px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image > img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 0 8px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .date {
    display: block !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .category,
  .top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 4px 12px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card > .text {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card::after {
    display: none !important;
  }
}

/* EVENTスライダー：周りの画像も角丸にする */
.top-event .event_slbox .ev1_slide .items .items-image,
.top-event .event_slbox .ev2_slide .items .items-image,
.top-event .event_slide .items .items-image {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.top-event .event_slbox .ev1_slide .items .items-image img,
.top-event .event_slbox .ev2_slide .items .items-image img,
.top-event .event_slide .items .items-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit !important;
}
/* EVENTスライダー：周りの画像も角丸にする */
.top-event .event_slbox .ev1_slide .items .items-image,
.top-event .event_slbox .ev2_slide .items .items-image,
.top-event .event_slide .items .items-image {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.top-event .event_slbox .ev1_slide .items .items-image img,
.top-event .event_slbox .ev2_slide .items .items-image img,
.top-event .event_slide .items .items-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit !important;
}

/* ノートPC幅だけ調整：モニター幅には効かせない */
@media screen and (min-width: 768px) and (max-width: 1536px) {
  .top-intro-member__body,
  .top-intro-member__btns {
    width: min(1232px, calc(100% - 80px));
  }

  .top-intro-member__btns {
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }

  .top-intro-member__btn {
    width: 100%;
    min-width: 0;
    height: 64px;
  }

  .top-intro-member__btn-text {
    font-size: 18px;
  }

  .top-intro-member__btn-icon {
    width: 22px;
    height: 22px;
  }

  .top-activities-area__inner {
    width: min(1280px, calc(100% - 80px));
  }

  .top-activities-area .top-about__cards {
    gap: 24px;
  }
  .top-activities-area .top-about-card__content {
    justify-content: flex-start !important;
    box-sizing: border-box;
  }

  .top-activities-area a.top-about-card__btn {
    width: 250px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: auto auto 36px !important;
    padding: 0 42px 0 32px !important;
    font-size: 1.5rem !important;
    border-radius: 9999px !important;
  }

  .top-activities-area a.top-about-card__btn::after {
    right: 28px !important;
    width: 7px !important;
    height: 7px !important;
  }

  .top-activities-area .top-about-card__text {
    margin-bottom: 0;
  }
    .top-activities-area .top-about-card__btn {
    margin: 24px auto 36px;
  }
    .top-activities-area .top-about-card {
    aspect-ratio: 1 / 1.08;
  }

  .top-activities-area a.top-about-card__btn {
    margin: auto auto 36px !important;
  }
    .top-activities-area .top-about-card__text {
    max-width: 300px;
    margin-inline: auto;
    line-height: 1.9;
  }
    .top-activities-area .top-about-card__text {
    margin-bottom: 38px !important;
  }

  .top-activities-area a.top-about-card__btn {
    margin: 0 auto 36px !important;
  }
  .top-about-card__en {
    margin: 0 0 25px;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-align: center;
    color: #EF7958;
}

#footer .info-txt p.footer-head{
    font-size: 18px;
    margin-bottom: 16px;
}
#footer .info-txt p
 {
    color: #00448d;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.02em;
}
#footer .footer-layout {
        display: grid;
        grid-template-columns: 450px 1fr;
        gap: clamp(50px, 6vw, 180px);
    }
}

@media screen and (max-width: 1024px) {
  .header:not(.is-follow) .h-nav__logo::after {
    display: none;
  }
}

/* iPhone 16 Plus 横向き対応 */
@media screen and (max-width: 960px) and (orientation: landscape) {
  .top-eye {
    width: 100%;
    max-width: none;
    padding: 40px 0;
    margin-top: 40px;
    margin-bottom: 48px;
  }

  .top-eye .container {
    width: calc(100% - 32px);
    max-width: none;
    padding: 0;
  }

  .top-eye-inner {
    display: block !important;
    padding: 28px 20px;
    border-radius: 14px;
  }

  .top-eye-sidebar,
  .top-eye-list,
  .top-eye-more {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .top-eye-sidebar {
    margin-bottom: 20px;
  }

  .top-eye-sidebar h2 {
    font-size: 36px;
    text-align: center;
    margin-bottom: 18px;
  }

  .top-eye-sidebar .eye-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
  }

  .top-eye-sidebar .eye-filter-list li {
    margin: 0;
  }

  .top-eye-list {
    margin-top: 22px;
  }

  .top-eye-list .koblog-card-wrap {
    padding: 16px;
    border-radius: 14px;
  }

  .top-eye-list .koblog-card-wrap .koblog-card {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px !important;
    align-items: start !important;
    padding: 18px 0 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card::after {
    display: none !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image {
    width: 120px !important;
    height: 90px !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .image > img {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px 8px !important;
    margin: 0 0 8px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .date {
    font-size: 14px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card .koblog-card-inner .category,
  .top-eye-list .koblog-card-wrap .koblog-card .eye-badge {
    font-size: 12px !important;
    padding: 4px 10px !important;
  }

  .top-eye-list .koblog-card-wrap .koblog-card > .text {
    font-size: 14px !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere;
  }

  .top-eye-more {
    margin-top: 24px;
  }

  .top-eye-more .eye-more-link {
    font-size: 16px;
  }

  .top-eye-more .eye-more-icon {
    width: 42px;
    height: 42px;
  }
  .mainvisual .mainvisual__lead-ja {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .mainvisual .mainvisual__lead-ja::before {
    content: "" !important;
    display: block !important;
    width: 42px !important;
    height: 2px !important;
    background: #fff !important;
    flex: 0 0 42px !important;
  }
}

/* SP：JARECO-EYE ギャラリー画像の潰れ修正・最終版 */
@media screen and (max-width: 767px) {
  .top-eye-gallery {
    margin-bottom: 80px;
    padding: 0;
    overflow: hidden;
  }

  .top-eye-gallery-slider,
  .top-eye-gallery .slick-list,
  .top-eye-gallery .slick-track {
    height: auto !important;
  }

  .top-eye-gallery .slick-track {
    display: flex !important;
    align-items: stretch !important;
  }

  .top-eye-gallery .slick-slide {
    height: auto !important;
  }

  .top-eye-gallery .slick-slide > div {
    height: auto !important;
  }

  .top-eye-gallery-slide {
    width: 70vw !important;
    height: auto !important;
    margin-right: 20px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .top-eye-gallery-card {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: 8px;
    background: #ddd;
  }

  .top-eye-gallery-card img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  	.mainvisual__lead-en {
		white-space: nowrap;
		font-size: 5.8vw;
		line-height: 1.2;
	}
  .en-title::before,
.carendar-tit::before,
.top-membership__title::before,
.top-about__title::before {
	content: "";
	display: block;
	width: 3.6px;
	height: 3.6px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: #EF7958;
	box-shadow:
		14px 0 0 #EF7958,
		28px 0 0 #EF7958;
	transform: translateX(-14px);
}
.top-activities-area__title::before {
	content: "";
	display: block;
	width: 3.6px;
	height: 3.6px;
	margin: 0 auto 22px;
	border-radius: 50%;
	background: #EF7958;
	box-shadow:
		14px 0 0 #EF7958,
		28px 0 0 #EF7958;
	transform: translateX(-14px);
}
}