@charset "UTF-8";
/* top common
----------------------------------------------- */
.rootdir #commonFooter {
  margin-block-start: 0;
}


/* mv
----------------------------------------------- */
.mv {
  position: relative;
}

.mv::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 683 / 35;
  background: url("/_themes/site/images/figure-back-top.svg") no-repeat center/cover;
}

.mainSliderWrap {
  position: relative;
}

.mv .splide__slide {
  width: 100%;
  height: 680px;
}

.mv .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mainSliderText {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 125px;
  width: var(--content-large-width);
  padding-inline: 20px;
  margin: auto;
  color: var(--color-white);
  text-align: right;
  font-size: clamp(0.625rem, 0.505rem + 0.49vw, 0.875rem);
  /* 10-14px */
  text-shadow: var(--color-black) 1px 0 5px, var(--color-black) 1px 0 5px, var(--color-black) 1px 0 5px, var(--color-black) 1px 0 5px;
}

.mv .splide__otherbox {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 80px;
  width: var(--content-large-width);
}

.mv .regionChart {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: var(--content-large-width);
  height: 680px;
  margin-inline: auto;
  padding-inline: 20px;
}

.mv .regionChart img {
  display: block;
  position: absolute;
  bottom: 80px;
  width: min(42% ,280px);
}

.mv .pagination {
  color: var(--color-white);
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
}

.mv .splide__arrows {
  height: 35px;
}

.mv .splide__arrow {
  width: 35px;
  height: 35px;
  opacity: 1;
}

.mv .splide__toggle {
  width: 24px;
  height: 24px;
}

@media only screen and (max-width: 1919px) {

  .mv .splide__slide {
    height: 600px;
  }

  .mv .regionChart {
    height: 600px;
  }

}

@media only screen and (max-width: 959px) {
  .mv .splide__slide {
    height: 400px;
  }

  .mainSliderText {
    bottom: 10px;
    padding-inline-start: calc(43% + 10px);
  }

  .mv .splide__otherbox {
    justify-content: center;
    position: relative;
    bottom: 0;
    margin-block-start: 1rem;
  }

  .mv .regionChart {
    height: 400px;
  }

  .mv .regionChart img {
    left: 10px;
    bottom: 10px;
  }

  .mv .pagination {
    color: var(--color-black);
    background-color: transparent;
  }

  .mv .splide__arrows {
    height: 40px;
  }

  .mv .splide__arrow {
    width: 40px;
    height: 40px;
  }

  .mv .splide__toggle {
    width: 35px;
    height: 35px;
  }
}

@media only screen and (max-width: 390px) {
  .mv .splide__slide {
    height: 240px;
  }

  .mv .regionChart {
    height: 240px;
  }
}


/* searchBoxSP
----------------------------------------------- */
.searchBoxSP {
  display: none;
  margin-inline: auto;
  margin-block: 1.5rem;
}

@media only screen and (max-width: 959px) {
  .searchBoxSP {
    display: block;
  }
}


/* globalNavi
----------------------------------------------- */
#globalNavi {
  margin-block-start: -60px;
}

#globalNavi .globalNavContainer > ul {
  gap: 1rem;
}

#globalNavi ul.mainMenu > li > a {
  background-color: var(--color-white);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}

#globalNavi ul.mainMenu > li > a .menuIcon {
  display: block;
  width: 100%;
  padding-inline: 0.625rem;
  padding-block: 1rem;
  background-color: var(--color-lt-gray-2);
  border-radius: 20px 20px 0 0;
}

#globalNavi ul.mainMenu > li > a .menuText {
  display: block;
  padding-inline: 1rem;
  padding-block: 1rem 0.5rem;
}

#globalNavi ul.mainMenu > li > a ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
  width: 100%;
  padding-inline: 1rem;
  padding-block-end: 1rem;
  margin-block: 0;
  list-style: disc;
  border-radius: 0 0 20px 20px;
}

#globalNavi ul.mainMenu > li > a ul li {
  font-size: clamp(0.688rem, 0.657rem + 0.12vw, 0.75rem);
  /* 11-12px */
}

#globalNavi ul.mainMenu > li > a ul li::marker {
  all: unset;
}

@media only screen and (max-width: 959px) {
  #globalNavi {
    margin-block-start: 0;
  }

  #globalNavi .globalNavContainer > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #globalNavi ul.mainMenu > li > a .menuIcon {
    padding-block: 0.625rem;
  }

}

@media (any-hover: hover) {

  #globalNavi ul.mainMenu > li > a:hover {
    background-color: var(--color-lt-gray-1);
  }

}


/* topInfo
----------------------------------------------- */
.topInfoColumn {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 20px;
}

.topInfoPoster {
  border: 2px solid var(--color-lt-gray-2);
  background-color: var(--color-lt-gray-2);
  box-shadow: 0 3px 0 var(--color-lt-gray-2);
  border-radius: 20px;
  overflow: hidden;
}

.posterTitle {
  padding-inline: 1rem;
  padding-block: 1rem;
  text-align: center;
  font-size: clamp(1rem, 0.97rem + 0.12vw, 1.063rem);
  /* 16-17px */
  background-color: var(--color-white);
  border-radius: 18px 18px 0 0;
}

.posterTitle span {
  display: block;
}

.posterInner {
  padding-inline: 1rem;
  padding-block: 1rem;
}

.posterImage {
  width: min(60%, 164px);
  margin-inline: auto;
  margin-block-end: 1rem;
}

.posterImage img {
  width: 100%;
  height: 100%;
  aspect-ratio: 5/7;
  object-fit: cover;
  border: 1px solid var(--color-lt-gray-1);
}

.topInfoList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.topInfoLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 1rem;
  padding-block: 1rem;
  color: var(--color-black);
  font-family: var(--font-family-w6);
  text-decoration: none;
  background-color: var(--color-white);
  border: 2px solid var(--color-lt-gray-2);
  box-shadow: 0 3px 0 var(--color-lt-gray-2);
  border-radius: 20px;
}

.topInfo h3 {
  padding-inline: 1rem 0;
  border-radius: 10px;
  background: url("/_themes/site/images/ic-heading-2circles.svg") no-repeat left center / 8px 20px;
}

.topInfoLink .small {
  font-family: var(--font-family-w4);
}

.topInfoLink::after {
  content: '';
  display: block;
  width: 25px;
  height: 25px;
  -webkit-mask-image: url("/_themes/site/images/ic-circle-arrow-right.svg");
  mask-image: url("/_themes/site/images/ic-circle-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--color-main);
}

.topInfoLink a {
  text-decoration: none;
}

.topInfoLinkInner {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.topInfoLinkInner span {
  display: block;
}

.topInfoIcon {
  width: 40px;
}

.topInfoText {
  display: block;
  font-size: clamp(1rem, 0.94rem + 0.25vw, 1.125rem);
  /* 16-18px */
  line-height: 1.8;
}

.topInfo .contentsArea:not(:last-of-type) {
  margin-block-end: 5rem;
}

.topInfoTorikumi {
  gap: 20px;
}

.topInfoTorikumi .topInfoLink {
  padding-inline: 1.5rem;
  padding-block: 1.875rem;
}

.topInfoOther {
  gap: 1rem 0;
}

.topInfoLinkOther {
  display: block;
  padding-inline: 1rem;
  padding-block: 0.5rem;
  color: var(--color-black);
  text-align: center;
  font-family: var(--font-family-w6);
  text-decoration: none;
  border-inline-end: 1px solid var(--color-m-gray);
}

.topInfoLinkOther:first-of-type {
  border-inline-start: 1px solid var(--color-m-gray);
}

.topInfoLinkOther img {
  display: block;
  width: min(40%, 45px);
  margin-inline: auto;
  margin-block-end: 0.875rem;
}

@media only screen and (max-width: 959px) {

  .topInfoColumn {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .topInfoPoster {
    order: 2;
    width: min(85%, 320px);
    margin-inline: auto;
    border-radius: 15px;
  }

  .posterTitle {
    padding-inline: 0.875rem;
    padding-block: 0.875rem;
    border-radius: 13px 13px 0 0;
  }

  .topInfoList {
    order: 1;
  }

  .topInfoIcon {
    width: 30px;
  }

  .topInfo .contentsArea:not(:last-of-type) {
    margin-block-end: 2.5rem;
  }

  .topInfoTorikumi .topInfoLink {
    padding-inline: 1rem;
    padding-block: 1.25rem;
  }

}

@media only screen and (max-width: 559px) {

  .topInfoList {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

}

@media (any-hover: hover) {

  .topInfoLink:hover,
  .topInfoLinkOther:hover {
    background-color: var(--color-lt-gray-1);
  }

  .topInfoLink:hover::after {
    transform: translateX(3px);
  }

}


/* topPickup
----------------------------------------------- */
.topPickup {
  width: 100%;
  padding-inline: 0;
  padding-block: 6.25rem;
  margin-block-start: 0;
  background-color: var(--color-lt-gray-1);
  border-radius: 40px;
}

.topPickup a {
  display: block;
  color: var(--color-black);
}

.topPickup .pickupImage {
  margin-block-end: 1rem;
  border-radius: 20px;
  border: 1px solid var(--color-m-gray);
  overflow: hidden;
}

.topPickup .pickupImage img {
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

.topPickup .pickupImage::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 2 / 1;
  background: url("/_themes/site/images/image-no-common.svg") no-repeat center/cover;
  object-fit: cover;
}

.topPickup .pickupImage:has(.image)::before {
  display: none;
}

.topPickup .pickupText {
  display: block;
  font-family: var(--font-family-w4);
  font-size: clamp(0.875rem, 0.815rem + 0.25vw, 1rem);
  /* 14-16px */
}

.topPickup .pickupText::before {
  display: none;
}

.topPickup .pickupText .title {
  display: block;
}

.topPickup .pickupText .title::after {
  content: '';
  display: inline-block;
  width: 8px;
  aspect-ratio: 3 / 5;
  margin-inline-start: 0.5rem;
  vertical-align: middle;
  -webkit-mask-image: url("/_themes/site/images/ic-simple-arrow-right.svg");
  mask-image: url("/_themes/site/images/ic-simple-arrow-right.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--color-main);
}

.topPickup .splide__other {
  justify-content: center;
  margin-block-start: 1rem;
}

.topPickup .external {
  display: none;
}

@media only screen and (max-width: 959px) {
  .topPickup {
    padding-block: 3.75rem;
    border-radius: 20px;
  }

  .topPickup .pickupImage {
    border-radius: 15px;
  }

  .topPickup .splide__toggle {
    width: 35px;
    height: 35px;
  }
}

@media (any-hover: hover) {

  .topPickup a:hover .pickupImage img,
  .topPickup a:hover .pickupImage::before {
    transform: scale(1.1);
  }

}


/* topNews
----------------------------------------------- */
.topNews {
  margin-inline: auto;
  margin-block: 6.25rem 7.5rem;
}

.topNews > .pieceContainer {
  width: 100%;
  padding-inline: 0;
}

.doctab {
  position: relative;
  top: 2em;
}

.doctab .pieceContainer {
  padding-block-end: 5rem;
}

#recentDocsTab {
  width: 100%;
  padding-inline: 0;
  margin-block-start: 0;
  background-color: var(--color-lt-gray-1);
  border-radius: 40px;
}

.tabs {
  position: relative;
  top: -2em;
}

.tabs ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.tabs ul li a {
  display: block;
  position: relative;
  padding-block: 0.5em;
  padding-block: 0.75rem;
  text-align: center;
  font-family: var(--font-family-w6);
  font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
  /* 16-20px */
  text-decoration: none;
  border-radius: 5em;
}

.tabs ul li:not(.current) a {
  color: var(--color-black);
  background-color: var(--color-white);
  border: 2px solid var(--color-m-gray);
}

.tabs ul li.current a {
  color: var(--color-white);
  background-color: var(--color-main);
  border: 2px solid var(--color-main);
}

.tabs ul li.current a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  margin: auto;
  display: block;
  width: 18px;
  height: 12px;
  clip-path: polygon(0 0,50% 100%,100% 0);
  background-color: var(--color-main);
}

#recentDocsTab ul li {
  margin-block-end: 0;
}

#recentDocsTab ul li .category > span {
  display: none;
}

#recentDocsTab ul.news li .category > [class*="kubun-news"] {
  display: block;
}

#recentDocsTab ul.nyusatsu li .category > [class*="kubun-nyusatsu"] {
  display: block;
}

#recentDocsTab .links .more {
  margin-inline: auto;
  margin-block-start: 0;
}

#recentDocsTab .links .feed {
  justify-content: flex-start;
  gap: 1rem;
  margin-block-start: 2rem;
}

@media only screen and (max-width: 959px) {

  .topNews {
    margin-block: 3.75rem 5rem;
  }

  .doctab .pieceContainer {
    padding-block-end: 4rem;
  }

  .tabs ul {
    gap: 10px;
  }

  #recentDocsTab {
    border-radius: 20px;
  }

  #recentDocsTab ul li:first-of-type {
    padding-block-start: 0;
  }

  #recentDocsTab .links .more {
    margin-block-start: 1rem;
  }

}


/* cities
----------------------------------------------- */
.citiesList {
  margin-block-end: 2.5rem;
}

.citiesList a {
  display: block;
  text-decoration: none;
  border: 1px solid var(--color-m-gray);
  border-radius: 10px;
  overflow: hidden;
}

.citiesList img {
  width: 100%;
  height: 100%;
  aspect-ratio: 23 / 10;
}

.cities .pieceContainer > p {
  width: fit-content;
  margin-inline: auto;
}

@media only screen and (max-width: 959px) {

  .citiesList {
    margin-block-end: 1.5rem;
  }

  .citiesList a {
    border-radius: 5px;
  }

}

@media (any-hover: hover) {

  .citiesList a:hover img {
    transform: scale(1.1);
  }

}


/* banner
----------------------------------------------- */
#adBanner {
  padding-block: 6.25rem;
  margin-block-end: 0;
  background-color: var(--color-lt-gray-1);
  border-radius: 60px 60px 0 0;
}


.bannerList {
  margin-block-end: 2.5rem;
}

.bannerList a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid var(--color-m-gray);
}

#adBanner .lower_text p {
  width: fit-content;
  margin-inline: auto;
}

@media only screen and (max-width: 959px) {

  #adBanner {
    padding-block: 3.75rem;
    border-radius: 20px 20px 0 0;
  }


  .bannerList {
    margin-block-end: 1.5rem;
  }

}

@media (any-hover: hover) {

  .bannerList a:hover img {
    transform: scale(1.1);
  }

}