@charset "utf-8";

/*
Theme Name: アドダス
Author: アドダス
Author URI: https://addas.jp
Description: Bootstrap5@Webpack
*/

body {
    font-family:
        kozuka-gothic-pr6n,
        -apple-system,
        BlinkMacSystemFont,
        "Hiragino Kaku Gothic ProN",
        "Noto Sans JP",
        sans-serif;
}

.bg-gold {
    background-color:#ae9d56;
}

.bg-beige {
    background-color:#f1ede2;
}

.bg-red {
    background-color:#c46c5a;
}

.bg-blue {
    background-color:#88c2b8;
}

.bg-purple {
    background-color:#96a5d4;
}

.bg-pink {
    background-color:#c46c5a;
}

.bg-pink-2 {
    background-color:#f5e3dd;
}

.bg-pink-3 {
    background-color:#d68b75;
}

.bg-pink-4 {
    background-color:#f3dfd8;
}

.bg-pink-5 {
    background-color:#e6bcb1;
}

.bg-osan {
    background:url('./img/SVG/osan-title-effect.svg');
    background-size: auto 100%;
    background-repeat:repeat;
}

.text-gold {
    color:#ae9d56;
}

.text-gold-2 {
    color:#74661f;
}

/* リュウミン */
.text-ryumin {
    font-family:
        a-otf-ryumin-pr6n,
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;
    font-weight: 300;
    font-style: normal;
}

/* 秀英明朝 */
.text-shuei {
    font-family:
        dnp-shuei-mincho-pr6,
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;
    font-weight: 300;
    font-style: normal;
}

.text-red {
    color:#c46c5a;
}

.text-pink {
    color:#c46c5a;
}

.text-black-thin {
    color:#40220f;
}

.text-pink-3 {
    color:#cb6a5f;
}

.text-pink-4 {
    color:#c65444;
}

.text-purple {
    color:#96a5d4;
}

.border-none {
    border:none;
}

.border-tb-pink {
    border-top:solid 1px #d68b75;
    border-bottom:solid 1px #d68b75;
}

.border-red {
    border:solid 2px #c46c5a;
}

.border-blue {
    border:solid 2px #88c2b8;
}

.border-purple {
    border:solid 2px #96a5d4;
}

.border-gold {
    border-bottom:solid 2px #ae9d56;
}

.bg-news {
    color:#9c8a48;
    border:solid 1px #9c8a48;
    width:120px;
    background-color:#fff;
}

.bg-important {
    color:#fff;
    background-color:#dc7e92;
    border:solid 1px #dc7e92;
    width:120px;
}

.btn-gold {
    width: 250px;
    background-color: #9c8a48;
    color: #fff;
    padding:16px 12px;
    border-radius:20px;
    text-align:center;
    transition: all 0.3s ease;
}
  
.btn-gold:hover {
    background-color: #fff;
    opacity: 0.9;
    color:#9c8a48;
}

.btn-red {
    width: 350px;
    max-width:100%;
    background-color: #c46c5a;
    color: #fff;
    padding:16px 12px;
    border-radius:20px;
    text-align:center;
    transition: all 0.3s ease;
    border:solid 1px #c46c5a;
}
  
.btn-red:hover {
    background-color: #fff;
    opacity: 0.9;
    color:#c46c5a;
    border:solid 1px #c46c5a;
}

.btn-blue {
    width: 350px;
    max-width:100%;
    background-color: #88c2b8;
    color: #fff;
    padding:16px 12px;
    border-radius:20px;
    text-align:center;
    transition: all 0.3s ease;
    border:solid 1px #88c2b8;
}
  
.btn-blue:hover {
    background-color: #fff;
    opacity: 0.9;
    color:#88c2b8;
    border:solid 1px #88c2b8;
}

.btn-purple {
    width: 350px;
    max-width:100%;
    background-color: #96a5d4;
    color: #fff;
    padding:16px 12px;
    border-radius:20px;
    text-align:center;
    transition: all 0.3s ease;
    border:solid 1px #96a5d4;
}
  
.btn-purple:hover {
    background-color: #fff;
    opacity: 0.9;
    color:#96a5d4;
    border:solid 1px #96a5d4;
}

.btn-pink {
    width: 350px;
    max-width:100%;
    background-color: #d68b75;
    color: #fff;
    padding:16px 12px;
    border-radius:20px;
    text-align:center;
    transition: all 0.3s ease;
    border:solid 1px #d68b75;
}
  
.btn-pink:hover {
    background-color: #fff;
    opacity: 0.9;
    color:#d68b75;
    border:solid 1px #d68b75;
}

.btn-tree {
    width:200px;
    position:relative;
    background:url('./img/SVG/btn-tree.svg');
    background-repeat:no-repeat;
    background-size:cover;
    display:block;
    aspect-ratio: 75 / 13;
}

.btn-tree span {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width: 100%;
    text-align: center;
}

.flex-page-title {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.flex-page-title .bg-page-title {
    width:250px;
    position:relative;
    aspect-ratio:238/78;
    background:url('./img/SVG/bg-page-title.svg');
    background-repeat:no-repeat;
    background-size:cover;
    margin-right:24px;
}

.flex-page-title .bg-page-title h1 {
    position:absolute;
    top:45%;
    transform:translateY(-50%);
}

.js-fixed-nav {
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1000;
}
  
  .js-fixed-nav.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
  
body.has-fixed-nav {
    padding-top: 80px; /* navの高さに合わせる */
}

#navbarSupportedContent ul {
    display:flex;
    justify-content:space-between;
    padding-left:0;
}

#navbarSupportedContent ul li.nav-item {
    list-style:none;
    color:#fff;
    text-align:center;
}

#navbarSupportedContent .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -10%;
    padding-left: 0;
    background: #f1ede2;
    z-index: 1000;
    border-radius:10px;
    padding:0 24px;
}

#navbarSupportedContent li.nav-item {
    position: relative;
}

#navbarSupportedContent li.nav-item:hover > .sub-menu {
    display: flex;
    justify-content:center;
}

#navbarSupportedContent .sub-menu li a {
    padding:16px 8px;
    color:#ae9d56;
    white-space:nowrap;
}

#navbarSupportedContent li.menu-item-has-children > a {
    pointer-events: none;
    cursor: default;
}


.bg-woman {
    background:url('./img/top-head-img-l-1.png');
    background-size: auto 100%;
    background-position:left center;
    background-repeat:no-repeat;
}

.yoyaku-btn {
    width: 25%;
    bottom: 15%;
    right: 10%;
    z-index:3;
}

.white-are-btm {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35%;
    pointer-events: none;
    z-index: 2;
  
    background: linear-gradient(
      to top,
      rgba(255, 255, 255, 0.95),
      rgba(255, 255, 255, 0.7),
      rgba(255, 255, 255, 0)
    );
}

.gold-are-btm {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35%;
    pointer-events: none;
    z-index: 2;
  
    background: linear-gradient(
      to top,
      rgba(255, 255, 255, 0.3),
      rgba(255, 255, 255, 0.2),
      rgba(255, 255, 255, 0.1)
    );
}

.bg-leaf {
    background:url('./img/bg-leaf.jpg');
    background-size: cover;
    background-position:center center;
    background-repeat:no-repeat;
}

a.slide-right img {
    transition: transform 0.3s ease;
  }
  
  a.slide-right:hover img {
    transform: translateX(6px);
}

@media (min-width:992px){
    .miryoku-title {
        height:52px;
        border-radius:60% !important;
    }
}

.border-title-pink {
    border-bottom:solid 2px #cb6a5f;
}

.border-title-pink .flex-area {
    align-items:end;
    padding:0 12px 8px;
}

@media (min-width:768px){
    .border-title-pink .flex-area {
        display:flex;
    }
}

.border-title-pink .flex-area h2 {
    margin-bottom:0;
    margin-right:12px;
    line-height:1;
    font-weight:bold;
}

.border-title-pink .flex-area p {
    margin-bottom:0;
    margin-right:12px;
    flex:1;
    line-height:1.25;
    font-weight:bold;
}

.table-gold {
    border:solid 2px #74661f;
}

.table-gold thead {
    border-bottom:solid 2px #74661f;
}

.table-gold tbody tr:not(:last-child) {
    border-bottom:solid 2px #74661f;
}

.table-gold tr td {
    padding:12px;
    color:#74661f;
}

.table-gold tr td:not(:last-child){
    border-right:solid 2px #74661f;
}

.flex-maternity {
    display:flex;
}

.flex-maternity .img {
    width:145px;
    margin-right:24px;
}

.flex-maternity .text {
    flex:1;
}

/*ページスクロールエフェクト*/
/* その場で */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 上から */

.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 左から */

.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 右から */

.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}
  
.qa-question {
    width: 100%;
    border: none;
    padding: 16px;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
  
.qa-answer {
    display: none;
    padding: 16px;
    font-size: 14px;
    line-height: 1.6;
}
  
.qa-icon {
    color:#fff;
}

.qa-question.active .qa-icon {
    transform: rotate(45deg);
    color:#fff;
}

.circle-area {
    width:35px;
    height:35px;
    border-radius:50%;
    position:relative;
    margin-right:12px;
    background-color:#fff;
}

.circle-area span {
    position:absolute;
    font-size:24px;
    line-height:1;
    top:53%;
    left:50%;
    transform:translate(-50%,-50%);
}

/*スマホメニュー*/
.hamburger {
  position: absolute;
  top: 50%;;
  left:50%;
  transform:translate(-50%,-50%);
  width: 35px;
  height: 35px;
  background: none;
  border: none;
  padding: 0;
  z-index: 1100;
  cursor: pointer;
}

.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #ae9d56;
  margin: 6px 0;
  transition: 0.3s;
}

/* ×に変形 */
.hamburger.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.sp-nav {
  position: fixed;
  inset: 0;
  background: #ae9d56;
  transform: translateX(100%);
  transition: 0.35s ease;
  z-index: 1000;
  overflow-y: auto;
}

.sp-nav.is-open {
  transform: translateX(0);
}

.sp-menu {
  list-style: none;
  margin: 0;
  padding: 90px 24px 0px;
}

.sp-menu > li {
  position: relative;
  border-bottom: 1px solid #fff;
  text-align:center;
}

.sp-menu .nav-link {
  display: block;
  padding: 18px 18px;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.4;
  font-weight:600;
}

.nav-link {
    font-weight:600;
}

.sp-menu .nav-link span {
  display: block;
}

.sp-menu > li:has(.sub-menu) > .nav-link {
  pointer-events: none;
}

.accordion-btn {
  position: absolute;
  right: 0;
  top: 22px;
  width: 24px;
  height: 24px;
  font-size: 22px;
  color: #fff;
  cursor: pointer;
  user-select: none;
  text-align: center;
  line-height: 24px;
}

.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 12px;
  display: none;
}

.sub-menu .nav-link {
  font-size: 18px;
  padding: 14px 0;
  font-weight:600;
}

.btn-circle {
    width:60px;
    height:60px;
    border-radius:50%;
    position:relative;
}

@media (min-width:992px){
  .side-btn {
    right:0;
    top:50%;
    transform:translateY(-50%);
    z-index:5000;
  }

  .side-1 {
    height:200px;
    width: 55px;
    position:relative;
    border-radius:10px 0 0 10px;
    color:#fff;
    background-color: #dc7e92;
    color: #fff;
    border: 1px solid #dc7e92;
    transition: background-color .3s, color .3s;
  }

  .side-1 p {
    position:absolute;
    text-align:center;
    height:100%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:18px;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}

@media (max-width:992px){
  .side-btn {
    width:100%;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    z-index:5000;
  }

  .side-1 {
    height: 60px;
    width: 48%;
    position: relative;
    border-radius: 10px 10px 0 0;
    background-color: #dc7e92;
    color: #fff;
    border: 1px solid #dc7e92;
    transition: background-color .3s, color .3s;
  }
  
  .side-2 {
    height: 60px;
    width: 48%;
    position: relative;
    border-radius: 10px 10px 0 0;
    background-color: #dc7e92;
    color: #fff;
    border: 1px solid #dc7e92;
    transition: background-color .3s, color .3s;
  }
  
  .side-3 {
    height: 60px;
    width: 15%;
    position: relative;
    border-radius: 10px 10px 0 0;
    background-color: #88c2b8;
    color: #fff;
    border: 1px solid #88c2b8;
    transition: background-color .3s, color .3s;
  }

  .side-1 p,.side-2 p {
    position:absolute;
    text-align:center;
    width:100%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:18px;
  }
}

.side-1:hover {
  background-color: #fff;
  border: 1px solid #dc7e92;
  color: #dc7e92
}

.side-2:hover {
  background-color: #fff;
  border: 1px solid #dc7e92;
  color: #dc7e92;
}

.side-3:hover {
  background-color: #fff;
  color: #88c2b8;
}

article.post {
    margin-bottom:24px;
}

.wp-pagenavi {
    display:flex;
}

a {
    color:#dc7e92;
}

a:hover {
    color:#e6bcb1;
}

.page-link {
    color: #dc7e92 !important;
    border-color: #e6bcb1 !important;
    background-color: #fff !important;
}

.page-link:hover {
    color: #fff !important;
    background-color: #dc7e92 !important;
    border-color: #dc7e92 !important;
}

.page-link:focus {
    color: #dc7e92 !important;
    background-color: #f5e3dd !important;
    border-color: #dc7e92 !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 126, 146, 0.25) !important;
}

.page-item.active .page-link,
.page-item.active span {
    background-color: #dc7e92 !important;
    border-color: #dc7e92 !important;
    color: #fff !important;
}

.wp-pagenavi a {
    border: 1px solid #e6bcb1 !important;
}

.pagination .wp-pagenavi a,
.pagination .wp-pagenavi span {
    padding: 8px 15px;
    margin: 0;
}

.pagination .page-link[rel="prev"],
.pagination .page-link[rel="next"] {
    padding-left: 10px;
    padding-right: 10px;
}

/* サイドバー：最近の記事 */
.side-box .fa-ul .fa-li {
    color: #dc7e92;
}

.side-box .fa-ul > li:not(:last-child) {
    border-bottom: 1px dashed #e6bcb1;
}

/* サイドバー：カテゴリー */
li.cat-item {
    padding: 16px 0;
    border-bottom: 1px dashed #e6bcb1;
}

li.cat-item:last-child {
    border-bottom: none;
}

li.cat-item a {
    display: flex;
    align-items: center;
    gap: 8px;
}


/* 皆さまからの声 カードスタイル */
.voice-card-wrap {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 40px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.voice-card-wrap:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    color: inherit;
}

.voice-card {
    border: 1px solid #ae9d56;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 0;
}

.voice-card-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.voice-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
    filter: brightness(1.15) contrast(0.95);
}

.voice-card-wrap:hover .voice-card-img img {
    transform: scale(1.03);
}

.voice-card-body {
    padding: 16px 20px 20px;
}

.voice-card-meta {
    font-size: 14px;
    color: #888;
    margin-bottom: 8px;
}

.voice-card-cat {
    margin-left: 8px;
    color: #ae9d56;
    font-weight: 600;
}

.voice-card-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
    line-height: 1.5;
    color: #333;
}

.voice-card-excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 8px;
}

.voice-card-link {
    margin-bottom: 0;
    color: #ae9d56;
    font-weight: 600;
}

/* デフォルトアーカイブ */
.archive-default-item {
    border: 1px dashed #ae9d56;
    transition: border-style 0.3s ease;
}

.voice-card-wrap:hover .archive-default-item {
    border-style: solid;
}

#area-main .area-pagenation {
    justify-content: center;
}

/* 前後記事ナビ */
.pager-card {
    border: 1px solid #ae9d56;
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow: hidden;
    min-width: 0;
}

.pager-card > div {
    min-width: 0;
}

.pager-card:hover {
    background-color: #ae9d56;
    color: #fff;
}

.pager-card:hover * {
    color: #fff !important;
}

#mw_wp_form_mw-wp-form-14984.mw_wp_form .form-control {
    border: 1px solid #ae9d56;
}

#mw_wp_form_mw-wp-form-14984.mw_wp_form .form-group + .form-group {
    margin-top: 32px;
}

#mw_wp_form_mw-wp-form-14984.mw_wp_form .input-group:has(.input-group-addon) .form-control {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}