@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=M+PLUS+2:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* 共通 */
* {
  min-width: 0;
  min-height: 0;
}

/* 共通 */
body{
  font-family: "Noto Sans JP", sans-serif;
  color: #050505;
}
a {
  text-decoration: none;
  display: block;
}
a:hover {
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

/* --- カラー変数 --- */
:root {
  --primary: #f5a623;
  --text: #050505;
  --light-text: #8e8e93;
  --light-bg: #f7f7f7;
  --light-border: #d3cdc7;
  --english: 'Jost', "Noto Sans JP", sans-serif;
  --japanese: "Noto Sans JP", sans-serif;
}
.arrow {
  background-image: url('/wp-content/uploads/2025/06/idx_arrow-1.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 10px;
  background-position: center;
}

.wrap {
  max-width: 80%;
  /* full-width 1400pxに対して、1000px maxを想定 */
  margin: 0 auto;
}
@media (max-width: 800px) {
  .wrap {
    max-width: 100%;
    padding: 0 3%;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

div img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: top;
}

/* top scroll */
.top_jump {
  visibility: hidden;
  width: 60px;
  height: 60px;
  background-color: #666666;
  position: fixed;
  z-index: 999;
  bottom: 0;
  right: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  opacity: 0;
}
.top_jump::before {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 8px;
  height: 8px;
  border-top: 2px solid #dddddd;
  border-right: 2px solid #dddddd;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -15%) rotate(-45deg);
}

.view {
  visibility: visible;
  opacity: 1;
}

.top_jump a {
  display: block;
  height: 100%;
}

/*６月１９日から追記*/
/* 共通 */
.site-header {
  background: #fff;
  height:70px;
  box-sizing:border-box;
  box-shadow: 0 1px 5px rgba(0,0,0,0.05);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height:100%;
}
.header-logo img {
  max-height: 40px;
  padding-left:20px;
}
.header-right{
  display:block;
  padding-right:20px;
}
.header-right .menu-list li{
  font-family: var(--english);
  letter-spacing: 0.2em;
  margin:0 10px;
  width:fit-content;
  border-bottom:2px solid transparent;
  font-size: 15px;
  position:relative;
}
.header-right .menu-list li a{
  color:#050505;
}
.header-right .menu-list li:hover a{
  color:var(--primary);
}
.header-right .menu-list li:hover{
  transition:all 0.3s ease;
  border-bottom:2px solid var(--primary);
}

.header-right .menu-list li .sub-menu {
  visibility: hidden;
  position: absolute;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  padding: 10px 0;
  z-index: 999;
  min-width: 150px;
}
.header-right .menu-list li:hover .sub-menu {
  visibility: visible;
  transition:0.3s;
}

/* サブメニュー内のリンクの見た目 */
.header-right .menu-list li .sub-menu a {
  display: block;
  padding: 8px 15px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
}

/* ホバー時の色変化など */
.header-right .menu-list li .sub-menu a:hover {
  background: #f5f5f5;
  color: var(--primary);
}


/* PC用ナビ */
.global-nav {
  display: flex;
  align-items: center;
}
.global-nav .menu-list {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.global-nav .btn {
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  color: #000;
}
.insta-link img {
  height: 20px;
}

/* SP用：非表示 */
.sp-only {
  display: none;
}
.toggle_btn {
  display: none;
}

/* SPナビ */
#sp-nav {
  visibility:hidden;
  position: fixed;
  top: 0;
  right: -1000px;
  width: 70%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  box-shadow: -2px 0 5px rgba(0,0,0,0.2);
  padding: 60px 20px;
  transition:0.6s;
}
#sp-nav.open{
  visibility: visible;
  right:0px;
  transition:0.6s;
}
.sp-nav-list {
  list-style: none;
  padding: 0;
}
.sp-nav-list li {
  margin-bottom: 15px;
  text-align:center;
}
.sp-nav-list li a{
  font-family: var(--english);
  letter-spacing: 0.2em;
  padding-bottom:10px;
  padding-top:10px;
  color:#050505;
}
.nav-mask {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.3);
  z-index: 9998;
}
.nav-mask.open{
  display:block;
}

.toggle_btn {
  position: fixed;
  top: 20px;
  right: 20px;
  cursor: pointer;
  display: none;
  z-index: 10000;
  width: 35px;
}
.toggle_btn .menu-label{
  visibility:visible;
  font-family: var(--english);
  font-size:10px;
  color:#050505;
  margin-bottom:5px;
  text-align: center;
}
.toggle_btn span {
  display: block;
  height: 2px;
  background: #000;
  margin-bottom: 10px;
  border-radius: 2px;
  transition:0.6s;
}
.toggle_btn.open .menu-icon .menu-label{
  visibility: hidden;
  transition:0.6s;
}
.toggle_btn.open .menu-icon span:nth-of-type(1){
  transform:rotate(45deg) translate(3px,6px);
  transition:0.6s;
}
.toggle_btn.open .menu-icon span:nth-of-type(2){
  transform:rotate(-45deg) translate(3px,-6px);
  transition:0.6s;
}

.sp-nav-list .sub-menu {
  display: none;
  padding-top: 10px;
}

.sp-nav-list li > a.sub-menu-link.open::before {
  content: '︿';
  font-size: 10px;
  margin-right: 10px;
  position: relative;
  top: -4px;
}
.sp-nav-list li > a.sub-menu-link::before {
  content: '﹀';
  font-size: 10px;
  margin-right: 10px;
}
.sp-nav-list .sub-menu a {
  position: relative;
  display: block; /* 縦並びなら block に */
  padding-left: 50%; /* 棒と文字の間に余白 */
  text-align: left;
  font-size: 13px;
}


.sp-nav-list .sub-menu a::before {
  content: '—'; /* 横棒 */
  position: absolute;
  left: 47%;
  top: 50%;
  transform: translateY(-50%); /* 縦位置を中央揃え */
  font-size: 10px; /* 棒のサイズ調整 */
  color: #050505; /* 棒の色 */
}


@media screen and (max-width: 1100px) {
  .header-logo.pc-only{
    display:none;
  }
  .header-right.pc-only{
    display:none;
  }
  .header-logo img{
    max-height: 80px;
    padding-left:0;
  }
  .header-inner{
    justify-content: center;
  }
  .header-logo.sp-only{
    display:block;
  }
  .site-header{
    height:150px;
    position: static;
  }
  .toggle_btn{
    display:block;
  }
}
@media screen and (max-width: 819px){
  .sp-only {
    display: block;
  }
  .sp-nav-list .sub-menu a{
    padding-left: 38%;
  }
  .sp-nav-list .sub-menu a::before{
    left: 30%;
  }
}



/* header */




/* footer *//*# sourceMappingURL=common.css.map */

.contact-section{
  max-width:930px;
  background:#f9f8f7;
  padding:70px 80px;
  margin:100px auto 0 auto;
  display:flex;
  justify-content:space-between;
  align-items: stretch;
}
.contact-section .contact-main{
  width:50%;
}
.contact-section .contact-main h2{
  font-family: var(--english);
  font-weight: 400;
  font-size: 2rem;
  position: relative;
  line-height: 1.1;
  letter-spacing: 0.1rem;
}
.contact-section .contact-main h2 span.subtitle{
  display: inline-block;
  font-family: var(--japanese);
  font-size: 0.8rem;
  font-weight: 400;
  color: #050505;
  letter-spacing: 0.05em;
  margin-left:30px;
}
.contact-main span {
  color: var(--primary);
}
.contact-section .contact-message{
  font-weight: 400;
  font-size: 1.2rem;
  color: #050505;
  letter-spacing: 0.1em;
  margin-top:30px;
  margin-bottom: 30px;
}
.contact-section .contact-list{
  list-style: none;
  border-bottom:1px solid var(--light-border);
}
.contact-section .contact-list a{
  display:flex;
  align-items: center;
  justify-content: space-between;
  padding:30px 0;
  border-top:1px solid var(--light-border);
}
.contact-message{
  font-size: 16px;
}
.contact-section .contact-list li p{
  font-weight: 400;
  font-size: 16px;
  color: #050505;
  letter-spacing: 0.1rem;
}

.contact-section .contact-list li .arrow{
  width:30px;
}
.contact-section .contact-image{
  width:40%;
}
.contact-section .contact-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width: 819px){
  .contact-section{
    display: block;
    margin: 70px 0 0 50px;
    padding: 50px 30px 50px 30px;
  }
  .contact-section .contact-main{
    width: 100%;
  }
  .contact-section .contact-main h2{
    font-size: 26px;
  }
  .contact-section .contact-main h2 span.subtitle{
    font-size: 10px;
  }
  .contact-section .contact-message{
    font-size: 15px;
  }
  .contact-section .contact-list li p{
    font-size: 15px;
  }
  .contact-section .contact-image{
    margin-top: 25px;
    width: 70%;
    margin-left: auto;
  }
}


/* ページヘッダー */
.page-header {
  display: flex;
  justify-content: flex-start; /* 左寄せ */
  padding: 0 0 0 5%;
  position: relative; /* 右に余白を寄せる（お好みで） */
}

.page-header .page-header-inner {
  position: relative;
  width: 80%;
  overflow: hidden;
}

.page-header img {
  width: 100%;
  height: auto;
  display: block;
}

.page-header .page-header-text {
  position: absolute;
  bottom: 25px;
  left: 25px;
  color: white;
  padding-left: 10%;
}

.page-header .page-header-text h1 {
  font-size: 30px;
  letter-spacing: 0.2em;
  font-family: jost;
  margin: 0;
  font-weight: 400;
}

.page-header .page-header-text p {
  font-size: 14px;
  margin: 4px 0 0;
  letter-spacing: 0.1em;
}

/* ページネーション */
.pagination{
  text-align:center;
  margin-top:25px;
  width:100%;
}
.pagination ul{
  list-style: none;
  padding:0;
  margin:0;
}
.pagination ul li{
  display:inline-block;
  margin-right:10px;
}
.pagination a,.pagination span{
  display:inline-block;
  color:#050505;
  text-decoration:none;
  padding:10px 20px;
  font-family: var(--english);
  font-size:1.2rem;
}
.pagination a:hover{
  color:#6d6d6d;
  transition:all 0.3s ease;
}
.pagination span{
  position:relative;
}
.pagination span.current:after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  width:10px;
  transform:translateX(-50%);
  height:1px;
  background-color:#050505;
}
@media (max-width: 819px){
  .pagination a,.pagination span{
    padding: 10px;
  }
}

/* single */
.blog-body{
  max-width:1200px;
  margin:80px auto 0 auto;
  display:flex;
  justify-content:space-between;
  align-items:stretch;
}
.blog-body.single-news{
  max-width:800px;
  display:block;
}
.blog-body-left{
  width:80%;
  box-sizing:border-box;
  padding-right:80px;
}
.blog-body.single-news .blog-body-left{
  width:100%;
}
.blog-body-right{
  width:20%;
}
@media screen and (max-width: 1300px) {
  .blog-body{
    width:90%;
  }
}
@media screen and (max-width: 768px) {
  .blog-body{
    display:block;
    margin: 40px auto 0 auto;
  }
  .blog-body-left{
    width:100%;
    padding-right:0;
    margin-bottom:50px;
  }
  .blog-body-right{
    width:100%;
  }
}
.blog-body-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.blog-body-meta-date{
  font-size:0.8rem;
  font-weight: 400;
  color:#6d6d6d;
  font-family: var(--english);
}
.blog-body-title{
  margin-top:15px;
}
.blog-body-title h2{
  font-size:1.6rem;
  font-weight: 400;
  font-family: var(--english);
}
.blog-body-content{
  margin-top:15px;
  line-height:1.8;
  font-family: var(--japanese);
  color:#050505;
  font-size:1.1rem;
}
.blog-body-content p{
  margin-bottom:1.5em;
  font-size: 15px;
}
.blog-body-content-thumb{
  width:100%;
  aspect-ratio: 16/9;
  object-fit:cover;
  margin-bottom:20px;
}
.blog-body-content-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-navigation{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:50px;
  margin:50px auto 0 auto;
  width:100%;
  gap:80px;
}
.post-navigation .btn-prev,.post-navigation .btn-next{
  width:90px;
  height:26px;
}
.post-navigation .btn-prev img,.post-navigation .btn-next img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.blog-body-right h2{
  font-size:1.4rem;
  font-weight: 400;
  font-family: var(--english);
  color:#050505;
  letter-spacing: 0.1em;
  border-bottom:1px solid var(--light-border);
  padding-bottom:10px;
  margin-bottom:20px;
}
.blog-body-right h2 span{
  color:var(--primary);
}
.blog-body-right .archive-list{
  list-style: none;
  padding:0;
  margin:0;
}
.blog-body-right .archive-list li{
  margin-bottom:10px;
}
.blog-body-right .archive-list li a{
  color:#050505;
  letter-spacing: 0.1em;
  position:relative;
}
.blog-body-right .archive-list li a:hover{
  color:var(--primary);
  transition:all 0.3s ease;
}

.blog-body-content h1,.blog-body-content h2{
  font-size:22px;
  font-weight: 600;
  color:#050505;
  letter-spacing: 0.1em;
  margin-bottom:1em;
  width:fit-content;
  border-bottom:1px solid #bcb3ac;
}
.blog-body-content ul{
  margin-left:2em;
  margin-bottom:1em;
}
.blog-body-content blockquote{
  font-size:0.9rem;
  font-weight: 400;
  color:#050505;
  margin-bottom:1em;
  background-color:#f7f7f7;
  padding:10px;
}
.archive-months.hidden { display: none; }
.archive-year { margin-bottom: .5em; }
.archive-year > .year-toggle {
  display: inline-block;
  cursor: pointer;
}
.archive-months { margin: .5em 0 1em 1.5em; list-style: none; padding: 0; }
.archive-months li { margin-bottom: .3em; }

/* work-single */
.work-single-inner{
  max-width:1200px;
  margin:80px auto 0 auto;
  display:flex;
  justify-content:space-between;
  gap:60px;
}
.work-single-left{
  width:calc(50% - 30px);
  box-sizing:border-box;
}
.work-slider-container{
  padding:0 25px;
  box-sizing: border-box;
}
.work-slider-main{
  width:100%;
}
.work-slider-main .slide-item{
  width:100%;
  height:400px;
}
.work-slider-main .slide-item img{
  width:100%;
  height:400px;
  object-fit:contain;
}
@media screen and (max-width: 768px) {
  .work-slider-main .slide-item{
    height:250px;
  }
  .work-slider-main .slide-item img{
    height:250px;
  }
}
.work-slider-button{
  display:flex;
  gap:20px;
  width: 80%;
  margin: 20px auto 20px auto;
}
.work-slider-button-before,.work-slider-button-after{
  color:#9e9e9e;
  display:inline-block;
  padding:10px 10px;
  box-sizing:border-box;
  width:calc(50% - 10px);
  background-color:#ededed;
  text-align:center;
  cursor:pointer;
  transition:0.5s;
}
.work-slider-button-before:hover,.work-slider-button-after:hover,
.work-slider-button-before.active,.work-slider-button-after.active{
  color:#fff;
  background-color:#6d6d6d;
  transition:0.5s;
}

.work-slider-nav{
  position:relative;
  margin:0 -10px;
}
.work-slider-nav .slide-nav-item{
  aspect-ratio: 4/3;
  object-fit:cover;
  margin:0 10px;
}
.work-slider-nav .slide-nav-item img{
  width:100%;
  height:100%;
}
.work-slider-nav .slick-prev:before{
  color:#050505;
  content:'‹';
}
.work-slider-nav .slick-next:before{
  color:#050505;
  content:'›';
}
.work-single-right{
  width:calc(50% - 30px);
  box-sizing:border-box;
}
@media screen and (max-width: 1300px) {
  .work-single-inner{
    width:90%;
  }
}
@media screen and (max-width: 768px) {
  .work-single-inner{
    display:block;
    margin: 40px auto 0 auto;
  }
  .work-single-left{
    width:100%;
  }
  .work-single-right{
    width:100%;
  }
  .work-slider-button{
    width: 100%;
  }
}
.work-single-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.work-single-meta.pc-only{
  display:flex;
}
.work-single-meta.sp-only{
  display:none;
}
.work-single-date{ 
  font-size:0.8rem;
  font-weight: 400;
  color:#6d6d6d;
  font-family: var(--english);
}
.work-single-title{
  margin-top:15px;
}
.work-single-title.pc-only{
  display:block;
}
.work-single-title.sp-only{
  display:none;
}
.work-single-title h2{
  font-size:1.6rem;
  font-weight: 400;
  font-family: var(--english);
  letter-spacing: 0.1rem;
}
.work-single-content{
  margin-top:15px;
  line-height:1.8;
  font-family: var(--japanese);
  color:#050505;
  font-size:1.0rem;
}

.work-single-content ul{
  margin-left:2em;
  margin-bottom:1em;
}
.work-single-content blockquote{
  font-size:0.9rem;
  font-weight: 400;
  color:#050505;
  margin-bottom:1em;
  background-color:#f7f7f7;
  padding:10px;
}
@media screen and (max-width: 768px) {
  .work-single-meta.sp-only{
    display:flex;
  }
  .work-single-title.sp-only{
    display:block;
    margin-bottom:30px;
  }
  .work-single-meta.pc-only{
    display:none;
  }
  .work-single-title.pc-only{
    display:none;
  }
}

/* アーカイブ */
/*# sourceMappingURL=news.css.map */
.post-filter{
  max-width:1300px;
  margin:50px auto;
}
.post-filter ul{
  display:flex;
  justify-content:center;
  align-items:center;
  list-style:none;
}
.post-filter ul li{
  margin-right:4px;
}
.post-filter ul li a{
  color:#9e9e9e;
  display:inline-block;
  padding:10px 10px;
  background-color:#ededed;
  font-size:0.8rem;
  letter-spacing: 0.1rem;
}
.post-filter ul li.active a{
  color:#fff;
  background-color:#6d6d6d;
}
.post-list{
  max-width:800px;
  margin:0 auto;
}
@media screen and (max-width: 1300px) {
  .post-list{
    width:90%;
  }
}
.post-list .post-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ada8a6;
  padding:20px 0;
}
.post-list .post-item .post-thumb{
  width:100px;
  height:100px;
  object-fit:cover;
}
.post-list .post-item .post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.post-list .post-item .post-meta{
  width:calc(100% - 140px);
}
.post-list .post-item .post-meta .post-date{
  font-size:0.8rem;
  color:#ada8a6;
  font-family: var(--english);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.post-list .post-item .post-meta .post-cat{
  font-size:0.8rem;
  color:#ada8a6;
  border:1px solid #ada8a6;
  padding:2px 5px;
  margin-right:5px;
  letter-spacing: 0.05rem;
}
.post-list .post-item .post-meta .post-title{
  margin-top:20px;
}
.post-list .post-item .post-meta .post-title a{
  color:#050505;
  text-decoration:none;
  font-size:1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
.post-list .post-item .post-title .arrow{
  width:40px;
  height:10px;
}
.post-list.post-item .post-title .arrow a{
  display:block;
  width:100%;
  height:100%;
}

/* アーカイブ3カラム */
.post-list3{
  max-width:1100px;
    margin:50px auto 0 auto;
    display:flex;
    flex-wrap:wrap;
    gap:50px 30px;
}
.post-list3 .post-item{
  width:calc(33.333% - 20px);
    position:relative;
}
@media screen and (max-width: 1300px) {
  .post-list3{
    width:90%;
  }
}
@media screen and (max-width: 768px) {
  .post-list3 .post-item{
    width:calc(50% - 15px);
  }
}
.post-list3 .post-item .post-thumb{
  width:100%;
    aspect-ratio: 554/365;
    object-fit:cover;
    margin-bottom:6px;
}
.post-list3 .post-item .post-thumb a{
  display:block;
  width:100%;
  height:100%;
}
.post-list3 .post-item .post-thumb img{
  width:100%;
    height:100%;
    object-fit:cover;
}
.post-list3 .post-item .post-date{
  font-size:0.8rem;
  color:#ada8a6;
  font-family: var(--english);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.post-list3 .post-item .post-title a{
  color:#050505;
  text-decoration:none;
  font-size:1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px){
  .post-list3 .post-item .post-date{
    font-size: 11px;
  }
  .post-list3 .post-item .post-title a{
    font-size: 13px;
  }
  .post-list .post-item .post-meta .post-date{
    width: 100%;
    display: block;
  }
  .post-list .post-item .post-meta .post-cat{
    font-size: 10px;
  }
  .post-list .post-item .post-meta .post-title a{
    font-size: 13px;
  }
  .post-list .post-item .post-meta .post-title{
    margin-top: 15px;
  }
}


/* 確認用ボタン（あとで消してね） */
/* 浮遊コンテナ */
.floating-toggle {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1000;
  text-align: left;
}

/* リンクリスト */
.floating-toggle ul {
  list-style: none;
  margin: 0 0 8px;
  padding: 8px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  width: 300px;
}
.floating-toggle ul.hidden {
  display: none;
}
.floating-toggle ul li + li {
  margin-top: 6px;
}
.floating-toggle ul a {
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
}
.floating-toggle ul a:hover {
  text-decoration: underline;
}

/* トグルボタン */
.floating-toggle button {
  background: #f5a623;
  color: #fff;
  border: none;
  border-radius: 20px;
  width: 120px;
  height: 48px;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
/* 確認用リンクリストここまで（後で消してね） */

/*フッターバナーブロック*/
.footer-banner-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 60px auto;
  max-width: 1000px;
  padding: 0 20px;
  flex-wrap: wrap;
}

.banner-link {
  display: block;
  text-align: center;
  text-decoration: none;
  width: 100%;
  max-width: 280px;
  box-sizing: border-box;
}

.banner-link.brown {
  background-color: #817864;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: start;         
  text-align: start;      
  box-sizing: border-box;
  padding-left: 20px;
}

.banner-link.brown::after {
  content: "";
  position: absolute;
  right: 20px;
  width: 23px;
  height: 16px;
  background: url('/wp-content/uploads/2025/07/siro-yazirui@2x.png') no-repeat center center;
  background-size: contain;
}

.banner-link.brown .main {
  font-size: 19px;
  font-family: jost;
  letter-spacing: 0.1rem;
}

.banner-link.brown .sub {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 0.1rem;
}

.banner-link.badge img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 1019px){
  .banner-link{
    max-width: 240px;
  }
  .footer-banner-links{
    gap: 10px;
  }
}

@media screen and (max-width: 819px) {
  .footer-banner-links {
    flex-direction: column;
    align-items: center;
    gap: 16px; /* バナー間の余白調整 */
  }

  .banner-link,
  .banner-image {
    max-width: 100%;
    width: 100%;
  }

  .banner-link.brown,
  .banner-link.badge {
    width: 100%;
    min-height: 80px; /* 必要に応じて調整可 */
  }
  .banner-link.brown {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    text-align: start;
    padding-left: 30px;
  }
  .banner-link.badge {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .banner-link.badge img {
    max-height: 80%;
    width: auto;
    object-fit: contain;
  }
}


/*最終フッター＆コピーライト*/
.site-footer {
  background: #f9f6f2;
  font-size: 14px;
  color: #333;
}

.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 40px;
}

.footer-upper {
  display: grid;
  grid-template-columns: 1fr 2fr; /* 左右で2カラムに分割 */
  gap: 40px;
  align-items: flex-end;
}

.footer-left {
  min-width: 260px;
}

.footer-right {
  display: grid;
  grid-template-columns: repeat(5, auto);
  justify-content: flex-end;
  align-content: start;
}


.footer-logo img {
  height: 100px;
  margin-bottom: 30px;
}

.footer-logo {
  display: flex;          
  align-items: center;    
  gap: 30px;               
}

.footer-logo .company-name {
  font-size: 20px;        
  color: #333;              
}

.footer-address {
  line-height: 1.5;
  font-size: 14px;
  margin-bottom: 10px;
  white-space: nowrap;
  letter-spacing: 0.1rem;
}

.footer-menu {
  display: grid;
  grid-template-columns: repeat(6, auto); /* 5列に分ける */
  gap: 25px 30px; /* 上下・左右の間隔 */
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'Jost';
}

.footer-menu li {
  margin: 0;
  padding: 0;
}

.footer-menu li a {
  text-decoration: none;
  color: #050505;
  font-size: 16px;
  letter-spacing: 0.07rem;
}

.footer-menu li a:hover {
  color: #f8833c;
}

.footer-menu .insta-icon {
  grid-column: 5 / 6; /* 最後の列にInstagram配置 */
  display: flex;
  align-items: center;
}

.footer-menu .insta-icon img {
  height: 20px;
}

.footer-lower {
  background-color: #a89f8e;
  text-align: center;
  padding: 10px 0;
}

.footer-lower .copyright {
  font-size: 12px;
  color: #fff;
  margin: 0;
}
.footer-sp{
  display: none;
}
.footer-sp-telfax{
  display: flex;
}
.footer-sp-telfax a{
  color:#050505;
}
.footer-sp-telfax span{
  margin: 0 4px;
}

@media (max-width: 767px){
  .footer-lower{
    padding: 10px 0 50px 0;
  }
}
@media screen and (max-width: 1023px){
  .site-footer{
    display: none;
  }
.footer-sp {
  background-color: #f9f6f2;
  font-size: 14px;
  display: block;
}

.footer-logo {
  padding: 55px 5% 40px 5%;
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
  display: block;
}

.footer-logo img {
  margin-bottom: 30px;
}
.footer-logo .company-name{
  position: relative;
  top: 60px;
  left: 20px;
}

.footer-menu {
  font-family: 'Jost';
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 30px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto 50px;
  text-align: left;
  padding: 0 5%
}

.footer-sns {
  text-align: center;
}

.footer-sns img {
  width: 20px;
}
.footer-sp-p{
  margin-bottom: 5px;
  letter-spacing: 0.05rem;
}
.footer-sp-telfax{
  letter-spacing: 0.05rem;
}
.footer-menu .insta-icon{
  grid-column: auto;
}
}
.hero-image.sp{
  display: none;
}
@media (max-width: 767px){
  .page-header .page-header-text h1{
    font-size: 24px;
    letter-spacing: 0.1rem;
  }
  .page-header .page-header-text{
    left: 0;
  }
  .hero-image{
    display: none !important;
  }
  .hero-image.sp{
    display: block !important;
  }
  .page-header{
    padding: 0 !important;
  }
  .page-header .page-header-text p{
    font-size: 11px;
  }
  .blog-body-title h2{
    font-size: 20px;
  }
  .blog-body-content p{
    font-size: 13px;
  }
  .work-single-content{
    margin-top: 40px;
  }
  .work-single-title h2{
    font-size: 20px;
  }
  .work-single-content p{
    font-size: 13px;
  }
  .wp-block-heading{
    font-size: 17px !important;
  }
  .footer-logo{
    padding: 55px 0 40px 0;
    width: 90%;
    margin: 0 auto;
    display: block;
  }
}

/* 固定サイドボタンの共通ラッパー */
.fixed-side-buttons {
  position: fixed;        /* 画面に固定 */
  top: 10%;               /* 画面の高さの30%あたりから */
  right: 0;               /* 右端に配置 */
  display: flex;
  flex-direction: column; /* 縦に並べる */
  gap: 3px;              /* ボタン同士の隙間 */
  z-index: 9999;          /* ヘッダーや他の要素より前面に */
}

/* 各ボタン */
.fixed-btn {
  background-color: #3a3938; /* ボタンの背景色 */
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column; /* アイコンと文字を上下に並べる */
  align-items: center;
  justify-content: center;
  padding: 25px 15px;
  border-radius: 8px 0 0 8px;
  width: 50px;            /* 横幅固定 */
  transition: background-color 0.3s;
}

.fixed-btn:hover {
  background-color: #555; /* ホバー時の色 */
}

/* アイコン画像 */
.fixed-btn2 img{
  width: 23px !important;
}

.fixed-btn img {
  width: 16px;            /* アイコンサイズ調整 */
  height: auto;
  margin-bottom: 6px;     /* アイコンと文字の間隔 */
}

/* 縦書きの文字 */
.fixed-btn .vertical-text {
  writing-mode: vertical-rl; /* 縦書き（右→左） */
  text-orientation: upright;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.2rem;
}
@media (max-width: 819px){
  .fixed-side-buttons{
    display: none;
  }
}


.bottom-fixed-buttons {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center; /* 均等配分なので center でもOK */
  align-items: stretch;    /* 高さを揃える */
  gap: 2px; /* ボタン間の余白を調整 */
  z-index: 9999;
  width: 95%;
  background: none;
  border-radius: 0;
  box-shadow: none;
}

.bottom-fixed-buttons .bottom-btn {
  flex: 1; /* ✅ 横幅を均等にするポイント！ */
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #3a3938;
  color: #fff;
  font-size: 16px;
  padding: 13px 0; /* ✅ 左右paddingをゼロにして均等に */
  border-radius: 10px 0 0 0;
  min-width: 0; /* ✅ 最小幅をリセット */
  box-sizing: border-box; /* ✅ padding込みで幅計算 */
}

.bottom-fixed-buttons .bottom-btn img {
  width: 15px;
  height: 15px;
  margin-right: 4px;
}

.bottom-fixed-buttons .bottom-btn span {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.1rem;
}

.bottom-btn2 {
  border-radius: 0 10px 0 0 !important;
}

@media (min-width: 820px){
  .bottom-fixed-buttons{
    display: none;
  }
}



/*フェード関係*/
[data-aos="fade-up"] {
  transform: translate3d(0, 20px, 0) !important; /* ← 30pxだけに */
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

[data-aos="fade-up"].aos-animate {
  transform: translate3d(0, 0, 0) !important;
  opacity: 1;
}
@media screen and (max-width: 768px){
  .slick-dots{
    display: none !important;
  }
}