.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
  padding-bottom: var(--gap-x4);
}

.base-block {
  width: 1160px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 1024px) {
.base-block {
  width: calc(100% - 5vw);
  max-width: 100%;
}
}

/* header */
.ly_header {
  position: relative;
}

.bl_header {
  background: #fff;
  height: 90px;
  display: grid;
  place-items: center;
  padding:0 12px;
}

.bl_header--inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bl_header--inner>h1{
   flex: 1 0 0; 
}
.bl_header_logo {
  flex: 1 0 0;
}

.bl_header_logo img{
  width: 450px;
}

.bl_header_tel {
font-size:clamp(1.4rem, 1.2rem + 1vw, 2.8rem);
  padding-right: 1em;
  padding-left: 1em;
}

.bl_header_btn {
  display: block;
}



nav.globalNav{
  position: relative;
  background: var(--base-green);
}
.bl_headerNav {
  width: 1160px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3em;
  height: 63px;
  padding-top: 10px;
  padding-bottom: 14px;
}
.bl_headerNav .nolink{
color: rgba(255, 255, 255, 0.3);
}
.bl_headerNav a {
  color: var(--white);
  font-size: 1.8rem;
  letter-spacing: .05em;
  padding:.2em .2em 0 .2em;
  display: inline-block;
  position: relative;
}
.bl_headerNav a::after{
 background-color: var(--white);
  bottom: -4px;
  content: ''; 
  height: 2px;
  left: 0;
  position: absolute; 
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .4s;
  width: 100%; 
}

.bl_headerNav li.active a::after{
  transform: scale(1, 1); 
}


.bl_headerNav a:hover::after,
.bl_headerNav a:focus::after {
transform: scale(1, 1); 
}
.sp_header_tel,.sp_header_btn{display: none;}


@media (min-width:769px) and (max-width: 1024px) {
    .bl_headerNav {
width: 100%;
    }
}


@media (max-width: 768px) {
.bl_header {
    height: auto;
    padding:2vw 0;
}
.--logo{
  width: 18vw;
}
.--name{
font-size: 4.2vw;
  line-height: 1.3;
}
.bl_header_tel{display: none;}
.bl_header_btn{display: none;}

.sp_header_btn{
  display: block;
}
.sp_header_btn.el_btn.btn02{
width: 90%;
min-width: auto;
font-size: 1.4rem;
margin: var(--gap-base) auto 0;
}


}



/* footer */
footer{
  margin-top: auto;
  background: url('../imgs/bg-footer.png') center top / cover no-repeat ;
  width: 100%;
  height: 210px;
}

.ly_footer{
padding: 50px 12px 0;
}
.bl_footer{
display: flex;
justify-content: space-between;
align-items: center;
}
.bl-footer-txt{
  color: var(--white);
  flex:0 0 auto ;
  padding-right: var(--gap-base);
}
.bl-footer-insta{
  flex:1 0 auto;
  align-self:flex-start;
}
.bl_footer_btn{
  width: 300px;
  padding: .5em;
  margin-left: var(--gap-base);
}
.footer-txt--l{
  font-size: 2rem;
}
.footer-txt--m{
  font-size: 1.8rem;
}
.bl-footer-insta img{
  width: 48px;
  height: auto;
}

@media (max-width: 768px) {
  footer{
    height: auto;
  }
.ly_footer {
    padding: 4vw 0 ;
}
.footer-txt--l {
    font-size: 4vw;
}
.footer-txt--m {
    font-size: 4vw;
}
.bl-footer-insta{
 flex:inherit;
}
.bl-footer-insta img {
    width: 8vw;
    height: auto;
}
.bl_footer_btn{
  display: none;
}
}

/* nav */
#sp-menu__check {
  display: none;
}
@media (max-width: 768px) {
.sp-menu__box {
  position: fixed;
  top: 0; 
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 50px;
  z-index: 100;
  background-color: var(--base-green);
}
.sp-menu__box span, 
.sp-menu__box span:before,
.sp-menu__box span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: var(--white);
  position: absolute;
  transition: .5s ease;
}

.sp-menu__box span:before {
  bottom: 8px;
}

.sp-menu__box span:after {
  top: 8px;
}


#sp-menu__check:checked ~ .sp-menu__box span {
  background: rgba(255, 255, 255, 0);
}

#sp-menu__check:checked ~ .sp-menu__box span::before {
  bottom: 0;
  transform: rotate(225deg);
}
#sp-menu__check:checked ~ .sp-menu__box span::after {
  top: 0;
  transform: rotate(-225deg);
}
#sp-menu__check:checked ~ .hamburger__content {
  left: 0;
}
nav.globalNav{
  position: fixed;
  width: 60%;
  height: 100%;
  top: 0;
  right: -60%;
  z-index: 90;
  background-color:var(--base-green);
  z-index: 90;
  transition: all .4s;
}
.bl_headerNav {
  width: 100%;
  margin: 40px auto auto var(--gap-base);
  display: flex;
flex-direction: column;
  align-items: start;
  justify-content: left;
  gap: var(--gap-base);
  height: auto;
}
.bl_headerNav a {
  color: var(--white);
  font-size: 4vw;
  letter-spacing: .05em;
  padding:.2em .2em 0 .2em;
  display: block;
  position: relative;
}

#sp-menu__check:checked ~ nav {
  right: 0;
}
.sp-menu__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease;
  z-index: 80;
}

#sp-menu__check:checked ~ .sp-menu__overlay {
  opacity: 1;
  pointer-events: auto;
}
.sp_header_tel{
  display: block;
  color: var(--white);
  font-size: var(--font-txt-l);
  padding-left: var(--gap-base);
  margin-top: var(--gap-x2);
}

}


/* contents */
.bl-contents{
  background-color: var(--white);
  padding: var(--gap-x2);
}
@media (max-width: 768px) {
.bl-contents{
  padding: var(--gap-x1-5);
}
}

/* category-ttl */
.ly_cateTitle{
background: #7a8578 url(../imgs/bg-ttl.webp) center top no-repeat;
width: 100%;
height: 120px;
background-size: auto 120px;
display: grid;
place-content: center;
}
.catettl{
  color: var(--white);
  font-size: var(--ttl-type01);
}

.bl-detail-list{
  display: flex;
gap: var(--gap-x3);
margin-top: var(--gap-base);
margin-bottom: var(--gap-base);
}
@media (max-width: 768px) {

.bl-detail-list{
  flex-direction: column;
  gap: var(--gap-base);
}
}


@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.grecaptcha-badge { visibility: hidden; }


/* archive */
.news-list,.column-list{
  width: 80%;
  margin: 0 auto;
}


.news-list > div,
.column-list > div{
  padding: 8px 0;
  border-bottom: 1px solid #ddd;
}

.news-list--item{
  display: flex;
  padding: 8px 12px;
}

.news-list--item .date{
  flex: 0 0 150px;
}
.news-list--item .title{
  flex: 1;
}
.news-list--item:hover{
  color: #a50082;
}

/* 次の記事、前の記事のナビゲーションのスタイル */
.nav-links {
  margin-top: var(--gap-x2);
  font-size: var(--font-txt-s);
  display: flex;
  justify-content: space-between;
}

.nav-links a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 2em;
}
.nav-previous a{
justify-content: flex-start;
}

.nav-next a{
justify-content: flex-end;
}
.nav-title{
  position: relative;
  padding-left: 20px;
 padding-right: 20px;
}

.nav-previous .nav-title::before{
  content: '';
  background: url(../imgs/arrow.svg) no-repeat 0 0 / contain;
  width: 20px;
  height: 12px;
  position: absolute;
top: 50%;
left: 0;
transform: translate(0, -50%);
}
.nav-next .nav-title::after{
  content: '';
  background: url(../imgs/arrow.svg) no-repeat 0 0 / contain;
  width: 20px;
  height: 12px;
  position: absolute;
top: 50%;
right: 0;
transform: translate(0, -50%) scaleX(-1);
}


@media (max-width: 767px) {
  .nav-links {
    flex-direction: column;
font-size: var(--font-txt-s);
  }
}