@charset "utf-8";

.footer,
.footer *,
.footer *::before,
.footer *::after {
  box-sizing: border-box;
  vertical-align: middle;
}
.pagetop {
  z-index: 2;
  margin-left: auto;
}
.footer {
  position: relative;
  z-index: 1;
  background-color: var(--color-bg-site-1);
  font-size: 1.6rem;
}
.footer__top {
  color: var(--color-txt-primary);
}
.sns {
  display: flex;
}
.sns > * + *{
  margin-left: 10px;
}
.sns-btn {
  line-height: 0;
  overflow: hidden;
}
.fb-share-button >span{
  width: 91px !important;
  height: 20px !important;
}
.fb-share-button > span >iframe{
  width: 91px !important;
  height: 20px !important;
}
.fb-share-button:hover{
  opacity: 0.9 !important;
}
.footer__links {
  display: grid;
}
.footer__links-item {
  display: flex;
  flex-direction: column;
}
.footer__links-ttl {
  font-weight: 700;
  line-height: 1;
}
.footer__links-ttl a {
  color: var(--color-txt-primary);
}
.footer__links-list > li > a {
  color: var(--color-txt-primary);
  line-height: 1.75;
}
.footer__bottom {
  background-color: var(--color-bg-site-2);
  color: var(--color-txt-secondary);
}
.footer-utility {
  display: flex;
}
.footer-utility a {
  color: var(--color-txt-site-1);
}
.copyright {
  color: var(--color-txt-site-1);
}
.footer-cta__item > a {
  display: inline-block;
  color: var(--color-link-txt);
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  width: fit-content;
  padding-left: 47px;
  min-height: 33px;
  align-content: center;
}
.footer-cta__item > a::before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(/welfare/commons/img/icon_arrow_sm.svg);
  width: 33px;
  height: 33px;
}
.footer-cta__txt {
  background-image: linear-gradient(var(--color-link-txt), var(--color-link-txt));
  background-size: 100% var(--underline-height);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  line-height: 1.429;
  --underline-height: var(--minimum-underline-height);
}

/* pdf,window */
.footer-pdf-icon, .footer-window-icon {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-bottom: 3px;
  vertical-align: middle;
}
.footer-pdf-icon::before,.footer-pdf-icon::after,.footer-window-icon::before, .footer-window-icon::after {
  content: "";
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity var(--transitions-short-time) ease-in-out;
 }
.footer-pdf-icon::before,.footer-pdf-icon::after{
  width: 77.0833%;
  height: 77.0833%;
}
 .footer-pdf-icon::before{
  background-image: url(/welfare/commons/img/icon_pdf_bk.svg);
  opacity: 1;
 }
 .footer-pdf-icon::after{
  background-image: url(/welfare/commons/img/icon_pdf_bk_hover.svg);
  opacity: 0;
 }
.footer-window-icon::before{ 
  width: 75%;
  height: 75%;
  background-image: url(/welfare/commons/img/icon_window_bk.svg);
  opacity: 1;
 }
.footer-window-icon::after{ 
  width: 76.667%;
  height: 76.667%;
  background-image: url(/welfare/commons/img/icon_window_bk_hover.svg);
  opacity: 0;
 }
@media (hover: hover) and (pointer: fine) {
.pdf:hover .footer-pdf-icon::before {
  opacity: 0;
  }
.pdf:hover .footer-pdf-icon::after{
  opacity: 1;
  }
.window:hover .footer-window-icon::before {
  opacity: 0;
  }
.window:hover .footer-window-icon::after {
  opacity: 1;
  }
}

@media (min-width: 768px) {
  .pagetop {
    position: -webkit-sticky;
    position: sticky;
    bottom: 10px;
    z-index: 40;
    width: 60px;
    height: 60px;
    margin-bottom: -30px;
    margin-right: 4.5833%;
  }
}
@media (max-width: 767px) {
  .pagetop {
    position: relative;
    margin-top: 37px;
    width: 50px;
    height: 50px;
    margin-bottom: -25px;
    margin-right: 6.154vw;
  }
}
@media (min-width: 768px) {
  .footer__top {
    padding: 4.167vw var(--container-padding-pc) 5.5556vw;
    max-width: calc(var(--container-max-width-pc) + var(--container-padding-pc) * 2);
    margin: 0 auto;
  }
  .footer__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .footer-logo {
    width: 156px;
  }
  .footer__links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5vw;
    margin-top: 3.125vw;
  }
  .footer__links-item1 > * + * {
    margin-top: 1.3889vw;
  }
  .footer__links-item2{
    grid-column: 1 / span 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5vw;
  }
  .footer__links-item3{
    grid-column: 3 / span 1;
  }
  .footer__links-item3 > * + *{
    margin-top: 1.111vw;
  }
  .footer__links-ttl {
    font-size: clamp(1.6rem, 1.25vw, 1.8rem);
  }
  .footer__links-ttl a {
    background-image: linear-gradient(var(--color-txt-primary), var(--color-txt-primary));
  background-size: 100% var(--underline-height);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  --underline-height: var(--minimum-underline-height);
  }
  .footer__links-ttl a:hover,
  .footer__links-ttl a:focus {
    text-decoration: none !important;
  }
  .footer__links-ttl a:hover {
  animation: var(--underline-animation-underlined);
  }
  .footer__links-list > li > a {
    background-image: linear-gradient(var(--color-txt-primary), var(--color-txt-primary));
    background-size: 0 var(--minimum-underline-height);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    transition: var(--transition-underline-inline);
  }
  .footer__links-list > li > a.pdf,.footer__links-list > li > a.window {
    background-position: calc(100% - 24.5px) 100%;
  }
  @media (hover: hover) and (pointer: fine) {
  .footer__links-list > li > a:hover,
  .footer__links-list > li > a:focus {
    text-decoration: none !important;
  }
  .footer__links-list > li > a:hover {
    background-position: 0 100%;
    background-size: 100% var(--minimum-underline-height);
  }
  .footer__links-list > li > a.pdf:hover,.footer__links-list > li > a.window:hover {
    background-position: 0 100%;
    background-size: calc(100% - 24.5px) var(--minimum-underline-height);
  }
  .footer-cta__item > a:hover .footer-cta__txt {
    animation: var(--underline-animation-underlined);
  }
}
}
@media (min-width: 1440px) {
  .footer__top {
    padding: 60px var(--container-padding-pc) 80px;
  }
  .footer__links {
    gap: 36px;
    margin-top: 45px;
  }
  .footer__links-item1 > * + * {
    margin-top: 20px;
  }
  .footer__links-item2{
    gap: 36px;
  }
  .footer__links-item3 > * + *{
    margin-top: 16px;
  }
  .footer-utility {
    gap: 22px;
  }
}
@media (max-width: 767px) {
  .footer {
    font-size: 1.6rem;
  }
  .footer__top {
    padding: 50px var(--container-padding-sp);
    gap: 50px;
  }
  .footer__top-inner > * + *{
    margin-top: 50px;
  }
  .footer-logo {
    width: 156px;
  }
  .footer__links {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
    margin-top: 50px;
  }
  .footer__links-item1 > * + *,
  .footer__links-item2 > * + *{
    margin-top: 20px;
  }
  .footer__links-item3 {
    grid-column: 1 / span 2;
  }
  .footer__links-item3 > * + *{
    margin-top: 20px;
  }
  .footer__links-ttl a {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness:1px;
    line-height: 1.5;
  }
}
@media (min-width:1024px){
  .footer__bottom-inner {
    padding: 0 var(--container-padding-pc);
    max-width: calc(var(--container-max-width-pc) + var(--container-padding-pc) * 2);
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    display: flex;
  }
  .footer-utility {
    gap: 1.528vw;
  }
  .footer-utility a {
    font-size: 1.4rem;
    line-height: 64px;
  }
  .copyright {
    font-size: 1.4rem;
    line-height: 64px;
  }
}
@media (max-width:1023px){
  .footer__bottom-inner {
    padding: 16px 4.1026vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .footer-utility {
    gap: 10px;
  }
  .footer-utility a {
    font-size: 1.2rem;
    line-height: 1.667;
    color: var(--color-txt-site-1);
  }
  .copyright {
    font-size: 1.2rem;
    line-height: 1.333;
    color: var(--color-txt-site-1);
  }}

@media only print{
  .pagetop,.footer{
    display: none;
  }
}