/*** 古希 ***/
#headerarea.is-koki .mod-utility-bar {
  background-color: #704194;
}

@media screen and (max-width: 767px) {
    #headerarea.is-koki {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        margin-top: -20px !important;
        padding-top: 0 !important;
    }

    #headerarea.is-koki + main.fs-l-main .hero-section {
        margin-top: 0 !important;
        height: 100dvh;
    }
}

@media screen and (min-width: 768px) {
  body #headerarea.is-koki .hero-section {
    margin-top: 0 !important;
  } 
  body #headerarea.is-koki .hd-container {
    position: fixed !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: rgba(255, 255, 255, 0.85) !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    margin-top: 23px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    gap: 2% !important;
    box-sizing: border-box !important;
  }

  body #headerarea.is-koki .hd-container.no-fixed {
    position: relative !important;
    margin-top: 0 !important;
  }

  #headerarea.is-koki .hd-nav__logo {
    display: block !important;
    max-width: 250px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 160px !important;
  }

  #headerarea.is-koki .hd-nav__logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  #headerarea.is-koki .hd-container > .fs-clientInfo {
    display: none !important;
  }

  #headerarea.is-koki .hd-user__login .fs-clientInfo {
    display: inline !important;
  }

  #headerarea.is-koki .hd-navContainer {
    display: contents !important;
  }

  body #headerarea.is-koki .hd-nav {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 1 !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body #headerarea.is-koki .hd-nav__item {
    font-size: clamp(11px, 1.2vw, 14px) !important;
  }

  #headerarea.is-koki .g-searchForm {
    max-width: 240px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  #headerarea.is-koki .hd-container {
    background-color: rgba(255, 255, 255, 0.85) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 5% !important;
    box-sizing: border-box;
  }

  #headerarea.is-koki .hd-nav__logo {
    max-width: 120px !important;
    flex: 0 0 auto;
  }

  #headerarea.is-koki .hd-nav__logo img {
    width: 100%;
    height: auto;
    display: block;
  }

  #headerarea.is-koki .hd-container > .fs-clientInfo {
    display: block !important;
    margin-left: auto !important;
    flex: 0 1 auto;
    width: 100%;
    max-width: 220px;
    box-sizing: border-box;
  }
}

/* SP固定フッターナビゲーション */
.is-koki .ft-spMenu__item,
.is-koki .ft-spMenu__item .material-symbols-outlined,
.is-koki .ft-spMenu__item .ft-spMenu__label {
  color: #704194 !important;
}

.is-koki .ft-spMenu > li {
  border-color: rgba(112, 65, 148, 0.2) !important;
}

/*hamburger内部高さ*/
@media screen and (max-width: 767px) {
.is-koki .fat-nav__wrapper {
    padding-top: 150px !important;
    box-sizing: border-box !important;
  }
}

/***メッセージカード用***/
@supports (selector(:has(*))) {
    :root:has(#headerarea.is-koki) {
        --color-primary: #704194;
    }
}

#headerarea.is-koki ~ .c-breadcrumb,
#headerarea.is-koki ~ .t-contents-container,
#headerarea.is-koki ~ * .c-breadcrumb,
#headerarea.is-koki ~ * .t-contents-container {
    --color-primary: #704194;
}

#headerarea.is-koki ~ * .c-heading-l,
:root:has(#headerarea.is-koki) .c-heading-l {
    border-left-color: #704194 !important;
}

#headerarea.is-koki ~ * .c-message-card,
:root:has(#headerarea.is-koki) .c-message-card {
    border-left-color: #704194 !important;
}

#headerarea.is-koki ~ * .c-heading-m,
:root:has(#headerarea.is-koki) .c-heading-m {
    color: #704194;
}

#headerarea.is-koki ~ * .c-cta-box,
:root:has(#headerarea.is-koki) .c-cta-box {
    border-left-color: #704194;
}

:root:has(#headerarea.is-koki) .c-quick-nav {
    background-color: #fbf9fe;
    border: 1px solid #e6def5;
}

:root:has(#headerarea.is-koki) .c-quick-nav__list li a {
    border-color: #dcd6e8;
}

:root:has(#headerarea.is-koki) .c-quick-nav__list li a:hover {
    border-color: #704194 !important;
    color: #704194 !important;
    background-color: #f3eafd !important;
}

:root:has(#headerarea.is-koki) .--final-summary {
    background: #fdfbff;
}

:root:has(#headerarea.is-koki) .c-final-summary-box {
    background: #ffffff;
    border: 1px solid #e1daf2;
    box-shadow: 0 4px 20px rgba(112, 65, 148, 0.04);
}

:root:has(#headerarea.is-koki) .c-final-summary-box__title {
    color: #704194;
}

:root:has(#headerarea.is-koki) .c-final-summary-list li strong {
    color: #552a75;
}

:root:has(#headerarea.is-koki) .c-cta-box {
    border: 1px solid #e6def5;
    border-left: 5px solid #704194;
    background: #fbf9fe;
}

:root:has(#headerarea.is-koki) .c-cta-box__text strong {
    color: #704194;
}

:root:has(#headerarea.is-koki) .c-btn-primary {
    background: linear-gradient(135deg, #8853b0 0%, #704194 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(112, 65, 148, 0.3) !important;
    transition: all 0.3s ease;
}

:root:has(#headerarea.is-koki) .c-btn-primary:hover {
    background: linear-gradient(135deg, #704194 0%, #552a75 100%) !important;
    box-shadow: 0 4px 20px rgba(112, 65, 148, 0.5) !important;
    transform: translateY(-1px);
}

/*お祝い年古希*/
.koki-announcement {
  width: 100%;
  display: block;
  background-color: #ffffff;
  padding: 70px 0 0 0;
  text-align: center;
}

.koki-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto !important;
  padding: 0 20px;
  box-sizing: border-box;
}

.koki-title {
  font-size: 28px !important;
  color: #333;
  margin-bottom: 30px;
  font-weight: bold;
  line-height: 1.4;
}

.koki-message {
  font-size: 20px;
  line-height: 1.8;
  color: #444;
  margin-bottom: 40px;
}

.koki-message strong {
  font-size: 24px;
  font-weight: bold;
  color: #704194;
  border-bottom: 3px solid #f5effa;
  padding: 0 4px;
}

.koki-action {
  margin-bottom: 20px;
}

/*** 米寿 ***/
#headerarea.is-beiju .mod-utility-bar {
  background-color: #e1a300;
}

@media screen and (max-width: 767px) {
    #headerarea.is-beiju {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        margin-top: -20px !important;
        padding-top: 0 !important;
    }

    #headerarea.is-beiju + main.fs-l-main .hero-section {
        margin-top: 0 !important;
        height: 100dvh;
    }
}

@media screen and (min-width: 768px) {
  body #headerarea.is-beiju .hero-section {
    margin-top: 0 !important;
  }
  body #headerarea.is-beiju .hd-container {
    position: fixed !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: rgba(255, 255, 255, 0.85) !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    margin-top: 23px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    gap: 2% !important;
    box-sizing: border-box !important;
  }

  body #headerarea.is-beiju .hd-container.no-fixed {
    position: relative !important;
    margin-top: 0 !important;
  }

  #headerarea.is-beiju .hd-nav__logo {
    display: block !important;
    max-width: 250px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 160px !important;
  }

  #headerarea.is-beiju .hd-nav__logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  #headerarea.is-beiju .hd-container > .fs-clientInfo {
    display: none !important;
  }

  #headerarea.is-beiju .hd-user__login .fs-clientInfo {
    display: inline !important;
  }

  #headerarea.is-beiju .hd-navContainer {
    display: contents !important;
  }

  body #headerarea.is-beiju .hd-nav {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 1 !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body #headerarea.is-beiju .hd-nav__item {
    font-size: clamp(11px, 1.2vw, 14px) !important;
  }

  #headerarea.is-beiju .g-searchForm {
    max-width: 240px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  #headerarea.is-beiju .hd-container {
    background-color: rgba(255, 255, 255, 0.85) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 5% !important;
    box-sizing: border-box;
  }

  #headerarea.is-beiju .hd-nav__logo {
    max-width: 120px !important;
    flex: 0 0 auto;
  }

  #headerarea.is-beiju .hd-nav__logo img {
    width: 100%;
    height: auto;
    display: block;
  }

  #headerarea.is-beiju .hd-container > .fs-clientInfo {
    display: block !important;
    margin-left: auto !important;
    flex: 0 1 auto;
    width: 100%;
    max-width: 220px;
    box-sizing: border-box;
  }
}

/* SP固定フッターナビゲーション */
.is-beiju .ft-spMenu__item,
.is-beiju .ft-spMenu__item .material-symbols-outlined,
.is-beiju .ft-spMenu__item .ft-spMenu__label {
  color: #e1a300 !important;
}

.is-beiju .ft-spMenu > li {
  border-color: rgba(225, 163, 0, 0.2) !important;
}

/*hamburger内部高さ*/
@media screen and (max-width: 767px) {
.is-beiju .fat-nav__wrapper {
    padding-top: 150px !important;
    box-sizing: border-box !important;
  }
}

/***メッセージカード用***/
:root:has(#headerarea.is-beiju) {
    --color-primary: #e1a300;
}

:root:has(#headerarea.is-beiju) .c-heading-l {
    border-left-color: #e1a300 !important;
}

:root:has(#headerarea.is-beiju) .c-message-card {
    border-left-color: #e1a300 !important;
}

:root:has(#headerarea.is-beiju) .c-heading-m {
    color: #e1a300;
}

:root:has(#headerarea.is-beiju) .c-quick-nav {
    background-color: #fffbf0;
    border: 1px solid #f5ebd2;
}

:root:has(#headerarea.is-beiju) .c-quick-nav__list li a {
    border-color: #e6dcbf;
}

:root:has(#headerarea.is-beiju) .c-quick-nav__list li a:hover {
    border-color: #e1a300 !important;
    color: #e1a300 !important;
    background-color: #fff7e1 !important;
}

:root:has(#headerarea.is-beiju) .--final-summary {
    background: #fffdf7;
}

:root:has(#headerarea.is-beiju) .c-final-summary-box {
    background: #ffffff;
    border: 1px solid #f3e6c5;
    box-shadow: 0 4px 20px rgba(225, 163, 0, 0.04);
}

:root:has(#headerarea.is-beiju) .c-final-summary-box__title {
    color: #e1a300;
}

:root:has(#headerarea.is-beiju) .c-final-summary-list li strong {
    color: #b88500;
}

:root:has(#headerarea.is-beiju) .c-cta-box {
    border: 1px solid #f3e6c5;
    border-left: 5px solid #e1a300;
    background: #fffcf5;
}

:root:has(#headerarea.is-beiju) .c-cta-box__text strong {
    color: #e1a300;
}

:root:has(#headerarea.is-beiju) .c-btn-primary {
    background: linear-gradient(135deg, #ffbe1a 0%, #e1a300 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(225, 163, 0, 0.3) !important;
    transition: all 0.3s ease;
}

:root:has(#headerarea.is-beiju) .c-btn-primary:hover {
    background: linear-gradient(135deg, #e1a300 0%, #b88500 100%) !important;
    box-shadow: 0 4px 20px rgba(225, 163, 0, 0.5) !important;
    transform: translateY(-1px);
}

/*お祝い年傘寿米寿*/
.beiju-announcement {
  width: 100%;
  display: block;
  background-color: #ffffff;
  padding: 70px 0 0 0;
  text-align: center;
}

.beiju-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto !important;
  padding: 0 20px;
  box-sizing: border-box;
}

.beiju-title {
  font-size: 28px !important;
  color: #333;
  margin-bottom: 40px;
  font-weight: bold;
  line-height: 1.4;
}

.beiju-block {
  margin-bottom: 30px;
}

.beiju-message {
  font-size: 20px;
  line-height: 1.8;
  color: #444;
  margin-bottom: 25px;
}

.beiju-message strong {
  font-size: 24px;
  font-weight: bold;
  color: #e1a300;
  border-bottom: 3px solid #fdf9ed;
  padding: 0 4px;
}

.beiju-action {
  margin-bottom: 20px;
}

.beiju-divider {
  border: none;
  border-top: 1px dashed rgba(225, 163, 0, 0.4);
  margin: 40px auto;
  width: 80%;
  max-width: 600px;
}

.beiju-sub-link {
  margin-top: 30px;
}

/*** 退職祝い ***/
#headerarea.is-taisyoku .mod-utility-bar {
  background-color: #388e3c;
}

@media screen and (max-width: 767px) {
    #headerarea.is-taisyoku {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        margin-top: -20px !important;
        padding-top: 0 !important;
    }

    #headerarea.is-taisyoku + main.fs-l-main .hero-section {
        margin-top: 0 !important;
        height: 100dvh;
    }
}

@media screen and (min-width: 768px) {
  body #headerarea.is-taisyoku .hd-container {
    position: fixed !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: rgba(255, 255, 255, 0.85) !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    margin-top: 23px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    gap: 2% !important;
    box-sizing: border-box !important;
  }

  body #headerarea.is-taisyoku .hd-container.no-fixed {
    position: relative !important;
    margin-top: 0 !important;
  }

  #headerarea.is-taisyoku .hd-nav__logo {
    display: block !important;
    max-width: 250px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 160px !important;
  }

  #headerarea.is-taisyoku .hd-nav__logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  #headerarea.is-taisyoku .hd-container > .fs-clientInfo {
    display: none !important;
  }

  #headerarea.is-taisyoku .hd-user__login .fs-clientInfo {
    display: inline !important;
  }

  #headerarea.is-taisyoku .hd-navContainer {
    display: contents !important;
  }

  body #headerarea.is-taisyoku .hd-nav {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 1 !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body #headerarea.is-taisyoku .hd-nav__item {
    font-size: clamp(11px, 1.2vw, 14px) !important;
  }

  #headerarea.is-taisyoku .g-searchForm {
    max-width: 240px !important;
    width: 100% !important;
    flex-shrink: 1 !important;
    min-width: 140px !important;
  }
}

@media screen and (max-width: 767px) {
  #headerarea.is-taisyoku .hd-container {
    background-color: rgba(255, 255, 255, 0.85) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 5% !important;
    box-sizing: border-box;
  }

  #headerarea.is-taisyoku .hd-nav__logo {
    max-width: 120px !important;
    flex: 0 0 auto;
  }

  #headerarea.is-taisyoku .hd-nav__logo img {
    width: 100%;
    height: auto;
    display: block;
  }

  #headerarea.is-taisyoku .hd-container > .fs-clientInfo {
    display: block !important;
    margin-left: auto !important;
    flex: 0 1 auto;
    width: 100%;
    max-width: 220px;
    box-sizing: border-box;
  }
}

/* SP固定フッターナビゲーション */
.is-taisyoku .ft-spMenu__item,
.is-taisyoku .ft-spMenu__item .material-symbols-outlined,
.is-taisyoku .ft-spMenu__item .ft-spMenu__label {
  color: #388e3c !important;
}

.is-taisyoku .ft-spMenu > li {
  border-color: rgba(56, 142, 60, 0.2) !important;
}

/*hamburger内部高さ*/
@media screen and (max-width: 767px) {
  .is-taisyoku .fat-nav__wrapper {
    padding-top: 150px !important;
    box-sizing: border-box !important;
  }
}

/***メッセージカード用***/
:root:has(#headerarea.is-taisyoku) {
    --color-primary: #388e3c;
}

:root:has(#headerarea.is-taisyoku) .c-heading-l {
    border-left-color: #388e3c !important;
}

:root:has(#headerarea.is-taisyoku) .c-message-card {
    border-left-color: #388e3c !important;
}

:root:has(#headerarea.is-taisyoku) .c-heading-m {
    color: #388e3c;
}

:root:has(#headerarea.is-taisyoku) .c-quick-nav {
    background-color: #f7faf7;
    border: 1px solid #e1ebe2;
}

:root:has(#headerarea.is-taisyoku) .c-quick-nav__list li a {
    border-color: #d2ded3;
}

:root:has(#headerarea.is-taisyoku) .c-quick-nav__list li a:hover {
    border-color: #388e3c !important;
    color: #388e3c !important;
    background-color: #eaf2eb !important;
}

:root:has(#headerarea.is-taisyoku) .--final-summary {
    background: #fefff6;
}

:root:has(#headerarea.is-taisyoku) .c-final-summary-box {
    background: #ffffff;
    border: 1px solid #dcebde;
    box-shadow: 0 4px 20px rgba(56, 142, 60, 0.04);
}

:root:has(#headerarea.is-taisyoku) .c-final-summary-box__title{
    color: #388e3c;
}

:root:has(#headerarea.is-taisyoku) .c-final-summary-list li strong {
    color: #2e7d32;
}

:root:has(#headerarea.is-taisyoku) .c-cta-box {
    border: 1px solid #dcebde;
    border-left: 5px solid #388e3c;
    background: #fafdff;
}

:root:has(#headerarea.is-taisyoku) .c-cta-box__text strong {
    color: #388e3c;
}

:root:has(#headerarea.is-taisyoku) .c-btn-primary {
    background: linear-gradient(135deg, #4caf50 0%, #388e3c 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(56, 142, 60, 0.3) !important;
    transition: all 0.3s ease;
}

:root:has(#headerarea.is-taisyoku) .c-btn-primary:hover {
    background: linear-gradient(135deg, #388e3c 0%, #2e7d32 100%) !important;
    box-shadow: 0 4px 20px rgba(56, 142, 60, 0.5) !important;
    transform: translateY(-1px);
}