@charset "utf-8";
html { font-size: 100%; } 
body {
  color: #3e372d;
  font-size: 1rem;
  font-family: garamond-premier-pro, shippori-mincho, serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: #FFF;
}
ul, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  text-decoration: none;
}
img {
  width: 100%;
  height: auto;
}
p {
  line-height: 1.8;
}
a.link {
  color: #BB7828;
  text-decoration: underline;
}

.pt-0  {padding-top: 0 !important;}
.pt-10 { padding-top: 0.625rem; }
.pt-20 { padding-top: 1.25rem; }
.pt-30 { padding-top: 1.875rem; }
.pt-40 { padding-top: 2.5rem; }
.pt-50 { padding-top: 3.125rem; }
.pt-60 { padding-top: 3.75rem; }
.pt-70 { padding-top: 4.375rem; }
.pt-80 { padding-top: 5rem; }
.pt-90 { padding-top: 5.625rem; }
.pt-100 { padding-top: 6.25rem; }

.pb-0  { padding-bottom: 0 !important;}
.pb-10 { padding-bottom: 0.625rem; }
.pb-20 { padding-bottom: 1.25rem; }
.pb-30 { padding-bottom: 1.875rem; }
.pb-40 { padding-bottom: 2.5rem; }
.pb-50 { padding-bottom: 3.125rem; }
.pb-60 { padding-bottom: 3.75rem; }
.pb-70 { padding-bottom: 4.375rem; }
.pb-80 { padding-bottom: 5rem; }
.pb-90 { padding-bottom: 5.625rem; }
.pb-100 { padding-bottom: 6.25rem; }

.pl-0  { padding-left: 0 !important;}
.pl-10 { padding-left: 0.625rem; }
.pl-20 { padding-left: 1.25rem; }
.pl-30 { padding-left: 1.875rem; }
.pl-40 { padding-left: 2.5rem; }
.pl-50 { padding-left: 3.125rem; }
.pl-60 { padding-left: 3.75rem; }
.pl-70 { padding-left: 4.375rem; }
.pl-80 { padding-left: 5rem; }
.pl-90 { padding-left: 5.625rem; }
.pl-100 { padding-left: 6.25rem; }

.pr-0  { padding-right: 0 !important;}
.pr-10 { padding-right: 0.625rem; }
.pr-20 { padding-right: 1.25rem; }
.pr-30 { padding-right: 1.875rem; }
.pr-40 { padding-right: 2.5rem; }
.pr-50 { padding-right: 3.125rem; }
.pr-60 { padding-right: 3.75rem; }
.pr-70 { padding-right: 4.375rem; }
.pr-80 { padding-right: 5rem; }
.pr-90 { padding-right: 5.625rem; }
.pr-100 { padding-right: 6.25rem; }

.p-0  { padding: 0 !important;}
.p-10 { padding: 0.625rem; }
.p-20 { padding: 1.25rem; }
.p-30 { padding: 1.875rem; }
.p-40 { padding: 2.5rem; }
.p-50 { padding: 3.125rem; }
.p-60 { padding: 3.75rem; }
.p-70 { padding: 4.375rem; }
.p-80 { padding: 5rem; }
.p-90 { padding: 5.625rem; }
.p-100 { padding: 6.25rem; }

.mt-0  { margin-top: 0 !important;}
.mt-10 { margin-top: 0.625rem; }
.mt-20 { margin-top: 1.25rem; }
.mt-30 { margin-top: 1.875rem; }
.mt-40 { margin-top: 2.5rem; }
.mt-50 { margin-top: 3.125rem; }
.mt-60 { margin-top: 3.75rem; }
.mt-70 { margin-top: 4.375rem; }
.mt-80 { margin-top: 5rem; }
.mt-90 { margin-top: 5.625rem; }
.mt-100 { margin-top: 6.25rem; }

.mb-0  { margin-bottom: 0 !important;}
.mb-10 { margin-bottom: 0.625rem; }
.mb-20 { margin-bottom: 1.25rem; }
.mb-30 { margin-bottom: 1.875rem; }
.mb-40 { margin-bottom: 2.5rem; }
.mb-50 { margin-bottom: 3.125rem; }
.mb-60 { margin-bottom: 3.75rem; }
.mb-70 { margin-bottom: 4.375rem; }
.mb-80 { margin-bottom: 5rem; }
.mb-90 { margin-bottom: 5.625rem; }
.mb-100 { margin-bottom: 6.25rem; }

.ml-0  { margin-left: 0 !important;}
.ml-10 { margin-left: 0.625rem; }
.ml-20 { margin-left: 1.25rem; }
.ml-30 { margin-left: 1.875rem; }
.ml-40 { margin-left: 2.5rem; }
.ml-50 { margin-left: 3.125rem; }
.ml-60 { margin-left: 3.75rem; }
.ml-70 { margin-left: 4.375rem; }
.ml-80 { margin-left: 5rem; }
.ml-90 { margin-left: 5.625rem; }
.ml-100 { margin-left: 6.25rem; }

.mr-0  { margin-right: 0 !important;}
.mr-10 { margin-right: 0.625rem; }
.mr-20 { margin-right: 1.25rem; }
.mr-30 { margin-right: 1.875rem; }
.mr-40 { margin-right: 2.5rem; }
.mr-50 { margin-right: 3.125rem; }
.mr-60 { margin-right: 3.75rem; }
.mr-70 { margin-right: 4.375rem; }
.mr-80 { margin-right: 5rem; }
.mr-90 { margin-right: 5.625rem; }
.mr-100 { margin-right: 6.25rem; }

.m-0  { margin: 0 !important;}
.m-10 { margin: 0.625rem; }
.m-20 { margin: 1.25rem; }
.m-30 { margin: 1.875rem; }
.m-40 { margin: 2.5rem; }
.m-50 { margin: 3.125rem; }
.m-60 { margin: 3.75rem; }
.m-70 { margin: 4.375rem; }
.m-80 { margin: 5rem; }
.m-90 { margin: 5.625rem; }
.m-100 { margin: 6.25rem; }

/* ============= common ============= */
.only-sp { display: none  }
.only-pc { display: block }
@media screen and (max-width:767px) {
  .only-sp { display: block  }
  .only-pc { display: none }
}

.gold {
  color: #be8e3a;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: .3s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
  opacity: 0;
  transform: translateY(20px);
  }
  to {
  opacity: 1;
  transform: translateY(0);
  }
}
.delay-time02 {
  animation-delay: 0.2s;
}
.delay-time04 {
  animation-delay: 0.4s;
}
.fs-small {
  font-size: 80%
}
.sec-bg { 
  width: 100%;
}
.sec-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 6.25rem 3rem;
}
.cmn-btn {
  margin: 4.375rem auto 0;
  text-align: center;
  max-width: 25rem;
}
.cmn-btn a {
  display: block;
  color: #FFF;
  font-size:1.25rem;
  padding: 1rem 0;
  border-radius: 99999px;
  background: #BB7828;
  background: linear-gradient(90deg,rgba(187, 120, 40, 1) 0%, rgba(215, 153, 72, 1) 50%, rgba(187, 120, 40, 1) 100%);
  opacity: 1;
  transition: all .4s
}
.cmn-btn a:hover {
  opacity: .8;
  transition: all .4s
}
@media screen and (max-width:767px) {
  .cmn-btn {
    margin: 4.375rem auto 0;
    text-align: center;
  }
  .cmn-btn a {
    font-size:1.125rem;
    padding: 1rem 2.5rem;
    max-width: inherit;
  }
}
/* ============= header ============= */
header { position: relative; }
.header-inner {
  display: flex;
  align-items: center;
  padding: clamp(1.25rem, 1.125rem + 0.63vw, 1.875rem) clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
  background: #fff;
  width: 100%;
  gap: 20px;
}
.header-logo  {
  max-width: clamp(10rem, 8.228rem + 8.86vw, 18.75rem);
  margin-right: auto;
}
.header-logo a {
  display: block;
  width: 16.25rem;
}
@media screen and (max-width: 768px) {
  .header-logo a {
    display: inline;
    width: auto;
  }
}
.header-btns,
.nav-wrapper {
  display: flex;
  align-items: center;
}
.header-btns {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  margin-right: clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
}
.header-btn {
  display: flex;
  color: #fff;
  font-size: clamp(0.813rem, 0.736rem + 0.38vw, 1rem);
  font-family: shippori-mincho, serif;
  padding: 0.75rem 1.2875rem;
  border-radius: 10px;
  transition: all .5s
}
.header-btn:hover {
  opacity: 0.8;
  transition: all .5s
}
.header-btn-call { background: #d6994d;}
.header-btn-line { background: #06c755;}
.header-btn i {
  padding-right: clamp(0.5rem, 0.449rem + 0.26vw, 0.625rem) ;
}
.header-btn-call i img { width: clamp(1.125rem, 0.869rem + 1.28vw, 1.75rem); }
.header-btn-line i img { width: clamp(0.938rem, 0.681rem + 1.28vw, 1.563rem); }
@media screen and (max-width: 768px) {
  .header-btns {
    display: none;
  }
}
/* ============= navi ============= */
.nav-wrapper {
  position: fixed;
  top: clamp(1.25rem, 1.125rem + 0.63vw, 1.875rem);
  right:clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
  z-index: 9999999;
}
.nav-icon {
  width: 50px;
  height: 65px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 3;
  margin-top: -10px
}
.nav-icon span {
  display: block;
  height: 2px;
  margin: 10px 0;
  background: #333;
  transition: 0.4s;
}
.nav-icon b {
  font-size: clamp(0.625rem, 0.548rem + 0.38vw, 0.813rem);
  font-weight: normal;
}
#nav-toggle:checked + .nav-icon span:nth-child(1){
  transform: translateY(12px) rotate(45deg);
}
#nav-toggle:checked + .nav-icon span:nth-child(3) {
  transform: translateY(-12px) rotate(-45deg);
}
#nav-toggle:checked + .nav-icon span:nth-child(2) {
  opacity: 0;
}
@media (max-width: 768px) {
  .nav-wrapper {
  }
  .nav-icon {
    width: calc(50px * 0.7); 
    height: calc(65px * 0.7); 
  }
  .nav-icon span {
    margin: calc(10px * 0.7) 0; 
    height: calc(2px * 0.7);    
  }
  #nav-toggle:checked + .nav-icon span:nth-child(1) {
    transform: translateY(calc(12px * 0.7)) rotate(45deg); 
  }
  #nav-toggle:checked + .nav-icon span:nth-child(3) {
    transform: translateY(calc(-12px * 0.7)) rotate(-45deg); 
  }
}
.nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 2;
}
#nav-toggle:checked ~ .nav-overlay {
  opacity: 1;
  pointer-events: auto;
}
.nav {
  position: fixed;
  top: 0;
  right: 0;
  width: clamp(15rem, 80%, 30rem);
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: transform 0.4s ease;
  transform: translateX(100%);
  z-index: 2;
}
#nav-toggle:checked ~ .nav {
  transform: translateX(0);
}
.nav ul {
  padding: 6rem .75rem 6rem 2.75rem;
}
.nav li {
  margin: 2.25rem 0;
}
.nav a {
  text-decoration: none;
  color: #333;
  transition: color 0.3s;
  font-size: 1.25rem;
}
.header-ig a img {
  width: 1.875rem;
}
@media (max-width: 768px) {
  .nav {
    width: 100%;
    text-align: center
  }
  .nav ul {
    padding: 5rem 0;
  }
  .nav li {
    margin: 1.75rem 0;
  }
  .header-ig i {
    display: inline-block;
    text-align: center
  }  
}
/* ============= top fv ============= */
.topfv {
  color: #d38d35;
  aspect-ratio: 1800 / 840;
  margin: 0 clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
  background: #e0eff4 url(../img/top-fv.jpg) no-repeat center right;
  background-size: cover;
  border-radius: min(3.4375rem, 4vw);
  display: flex;
  align-items: center;
}
.topfv-copy-1,
.topfv-copy-2 {
  line-height: 1.2;
  padding-left: clamp(1.563rem, 0.313rem + 6.25vw, 7.813rem);
  font-feature-settings: "palt";
  letter-spacing: 0.5rem;
}
.topfv-copy-1-1 {
  font-size: clamp(2.063rem, -0.279rem + 4.82vw, 5.5rem);
  margin-left: .5rem;
}
.topfv-copy-1-2 {
  font-size: clamp(2.75rem, -0.103rem + 5.87vw, 6.938rem);
} 
.topfv-copy-2 {
  font-size: clamp(0.75rem, 0.026rem + 1.49vw, 1.813rem);
  letter-spacing: .1rem;
  padding-top: 1rem
} 
@media screen and (max-width:767px) {
  .topfv {
    margin: 0 0 0 clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
    padding: 3rem 0; 
    border-radius: 0;
    aspect-ratio: 3 / 4;
    background: #e0eff4 url(../img/top-fv_sp.jpg) no-repeat center bottom / cover;
    background-size: 100% auto;
    align-items: flex-start;
    border-radius: 27px 0 0 0;
  }
  .topfv-copy-1-1 {font-size:clamp(2.188rem, 0.815rem + 7.32vw, 4.375rem);margin-left: .35rem;}
  .topfv-copy-1-2 {font-size:clamp(2.75rem, 1.024rem + 9.21vw, 5.5rem)}
  .topfv-copy-2   {font-size:clamp(1rem, 0.372rem + 3.35vw, 2rem) } 
}

.swiper-slide {
  height: auto;
  width: 100%;
}
/* ============= top common ============= */
.top-ttl {
  font-size: 1.75rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: 3.75rem;
}
.top-ttl-en {
  display: block;
  color: #eab768;
  font-size: 6.25rem;
  font-weight: normal;
  letter-spacing: .4rem;
}
@media screen and (max-width:767px) {
  .top-ttl {
    font-size: 1.125rem;
    margin-bottom: 2.5rem
  }
  .top-ttl-en {
    font-size: 3.25rem;    
  }
}
/* ============= common case ============= */
.topcase .top-ttl {
  position: absolute;
  top:0;
  left: 50%;
  transform: translate(-50%, -40%);
}
.cmn-case-box {
  background: #FFF;
  border-radius: 38px;
  padding: 2.5rem 1.5625rem;
  border: 1px solid #aa864f;
}
.cmn-case-title {
  color:#be8e3a;
  font-size: 2.5rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 0.5rem;
  line-height: 1.4;
}
.cmn-case-photobox {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
}
.cmn-case-photobox-bf,
.cmn-case-photobox-af{
  font-size: 1.5rem;
  text-align: center
}
.cmn-case-photobox-af{
  color:#be8e3a;
}
.cmn-case-photobox-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid #be8e3a;
  border-right: 0;
  margin-top: 2.5rem;
}
.cmn-case-photobox-pht {
  display:flex;
  gap: 1px;
  justify-content: center;
}
.cmn-case-photobox-pht img {
  width: 50%
}
.cmn-case-photobox-pht img:only-of-type {
  width: 80%;
}
.cmn-case-text {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 1.5rem;
}
.cmn-case-text dt,
.cmn-case-text dd {
  padding: .8rem 0;
  border-bottom: 1px solid #cec4b1
}
.cmn-case-text dt {
  color:#be8e3a;
  width: 20%;
  font-weight: bold;
}
.cmn-case-text dd {
  width: 80%;
}
.cmn-case-text dd:last-of-type ,
.cmn-case-text dt:last-of-type {
  border: none
}
@media screen and (max-width:767px) {
  .cmn-case-box {
    border-radius: 20px;
    padding: 1.5rem 0.875rem;
  }
  .cmn-case-title {
    font-size: 1.3rem;
    padding-bottom: 0.25rem;
  }
  .cmn-case-photobox {
     flex-direction: column;
  }
  .cmn-case-photobox-bf,
  .cmn-case-photobox-af{
    font-size: 1.1rem;
    text-align: center
  }
  .cmn-case-photobox-af{
    color:#be8e3a;
  }
  .cmn-case-photobox-triangle {
    display:none
  }
  .cmn-case-text {
    flex-direction: column;
  }
  .cmn-case-text dt,
  .cmn-case-text dd {
    padding: 0;
    width: 100%;
  }
  .cmn-case-text dt {
    border: none;
    padding: 0;
    padding-top: .5rem
  }
  .cmn-case-text dd {
    padding-bottom: .5rem;
    font-size: .875rem;
  }
}
.swiper-pagination-bullet {
  background-color: #c8893c;
  height: 10px;
  width: 10px;
}
.swiper-container {
  position: relative;
}
.swiper-pagination-bullets.swiper-pagination-horizontal {
  position: absolute;
  bottom: -40px!important;;
}
/* ============= topcase ============= */
.topcase {
  background: #fcf5e9;
  margin: 6.25rem 0 0 0;
  position: relative;
}
.topcase .sec-inner {
  padding: 8.25rem 3rem;
}
@media screen and (max-width:767px) {
  .topcase .sec-inner {
    padding: 4.25rem 1.25rem ;
  }
}
/* ============= topmenu ============= */
.topmenu {
  background: url(../img/top-menu-bg.jpg) bottom center no-repeat;
  background-size: cover
}
.topmenu .top-ttl {
  margin-bottom: 0;
}
.topmenu .sec-inner {
  padding: 6.25rem 3rem;
}
.topmenu-col2 {
  display: flex;
  justify-content:space-between;
  gap: 1rem;
}
.topmenu-col2 > div {
  width: 50%;
}
.topmenu-col2.only {
  margin-right: 1rem
}
.topmenu-menuname {
  display: block;
  color: #FFF;
  font-size: 1.125rem;
  background: #292929;
  text-align: center;
  padding: 0.625rem 0;
  margin-top: 3.75rem;
}
.topmenu-menulist {
  display: flex;
  justify-content: flex-start;
  gap: .5rem;
  text-align: center;
  flex-wrap: wrap;
}
.topmenu-menulist li {
  margin: 1.25rem 0 0 0;
}
.topmenu-menulist li:nth-child(n+5) {
  margin: 0;
}
.topmenu-menulist li a {
  color: #be8e3a;
  font-weight: bold;
  display: block;
  padding: 1rem .2rem;
  border: 1px solid #be8e3a;
  background: #FFF;
  letter-spacing: -.1rem;
}
.topmenu-col1 .topmenu-menulist li {
  flex: 0 0 24%;
}
.topmenu-col2 .topmenu-menulist li {
  flex: 0 0 48%;
}
@media screen and (max-width:767px) {
  .topmenu {
    background: url(../img/top-menu-bg.jpg) bottom center no-repeat;
    background-size: cover
  }
  .topmenu .sec-inner {
    padding: 4.25rem 1.25rem ;
  }
  .topmenu-col2 {
    display: block
  }
  .topmenu-col2 > div {
    width: 100%;
  }
  .topmenu-col2.only {
    margin-right: 0
  }
  .topmenu-menuname {
    font-size: 1rem;
    padding: 0.525rem 0;
    margin: 1.75rem 0 .5rem;
  }
  .topmenu-menulist {
    display: block
  }
  .topmenu-menulist li {
    margin: 0 0 0.5rem;
  }
  .topmenu-menulist li:nth-child(n+5) {
    margin: 0;
  }
  .topmenu-menulist li a {
    font-size: .875rem;
    padding: .725rem .2rem;
    letter-spacing: 0;
  }
}
/* ============= topcontact ============= */
.topcontact .sec-inner {
  padding: 6.25rem 3rem 0;
}
.topcontact .sec-bg {
  background: url(../img/top-contact-bg.jpg) center center;
  background-size: cover
}
.topcontact .sec-bg .sec-inner {
  padding-bottom: 6.25rem
}
.topcontact-btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  
}
.topcontact-btns a {
  flex: 1;
  max-width: 30rem;
  min-height: 5.625rem;
  background: #be7a2c;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
}
@media screen and (max-width:767px) {
  .topcontact .sec-inner {
    padding: 4.25rem 1.25rem 0 ;
  }
  .topcontact .sec-bg {
    background: url(../img/top-contact-bg_sp.jpg) no-repeat bottom center;
    background-size: cover;
  }
  .topcontact .sec-bg .sec-inner {
    padding-bottom: 6.25rem
  }
  .topcontact-btns {
    display: block;
  }
  .topcontact-btns a {
    max-width: inherit;
    font-size: 1.25rem;
  }
  .topcontact-btns a:last-child {
    margin-top: 1rem
  }  
}
/* ============= topaccess ============= */
.topaccess-top {
  font-size: 0.875rem;
  color: #be8e3a;
  display: flex;
  justify-content: space-between;
}
.topaccess-top dl {
  padding-right: 1rem;
  flex: 0 0 50%;
}
.topaccess-top-gmap {
  flex: 0 0 50%;
}
.topaccess-top dt {
  font-size: 1.875rem;
  padding-bottom: 1.25rem
}
.topaccess-top dd {
  padding-bottom: 1.25rem
}
.topaccess-top-gmap {
  position: relative;
  width: 100%;
  padding-top: 34%;
  height: 0;
}
.topaccess-top-gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topaccess-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem
}
@media screen and (max-width:767px) {
  .topaccess.sec-inner {
    padding: 4.25rem 1.25rem 0 ;
  }
  .topaccess-top {
    display: block;
  }
  .topaccess-top dl {
    padding-right: 0
  }
  .topaccess-top dt {
    font-size: 1.5rem;
    padding-bottom: .5rem
  }
  .topaccess-top dd {
    padding-bottom: .3rem;
  }  
  .topaccess-top-gmap {
    padding-top: 60%;
    margin-top: 1rem;
  }
  .topaccess-bottom {
    gap: 0.1rem;
    margin-top: .5rem;
  }
}
/* ============= footer ============= */
.footer {
  color: #be8e3a;
  text-align: center;
  font-size: 0.875rem;
  padding-bottom: 0;
  border-top: 1px solid #be8e3a;
}
.footer-bottom ul {
  display: flex;
  justify-content:center;
  align-items: center;
  flex-wrap: wrap;
  margin-top : 1.875rem ;
  padding-top : 1.875rem ;
  border-top: 1px solid #d6cebe;
}
.footer-bottom ul li a {
  font-size:0.75rem;
  padding: .5rem
}
.footer-bottom li i {
  display: inline-block;
}
.footer-bottom li i img {
  width: .6rem;
}
.footer-bottom .copy {
  font-size: .6875rem;
  padding: 1rem 0
}
.footer-ig {
  width: 1.875rem;
  margin: 1rem auto 0;
}
@media screen and (max-width:767px) {
  .footer {
    text-align: left;
  }
  .footer .sec-inner {
    padding: 4.25rem 1.25rem 0 ;
  }
  .footer .copy {
    text-align: center
  }  
}
/* ============= 
    lower 
============= */
/* ============= lower common ============= */
.lower-bgcolor {
      background: #fcf5e9;
}
@media screen and (max-width:767px) {
  .lower-inner {
    padding: 4.25rem 1.25rem;
  }
}

.l-ttl {
  height: 25rem;
  background: url(../img/cmn-lower-bg.jpg) no-repeat bottom right;
  background-size: contain;
  border-bottom: 1px solid #dcdcdc;
  padding: 0 clamp(1.875rem, -0.25rem + 10.63vw, 12.5rem);
  display: flex;
  align-items: center;
  line-height: 1.3;
}
.l-ttl-text-sub {
  color: #be8e3a;
  font-size: clamp(1.094rem, 0.875rem + 1.09vw, 2.188rem);
  display: flex;
  align-items: center;
}
.l-ttl-text-sub::before {
  display: block;
  content:"";
  background-color: #be8e3a;
  width: 5.9375rem;
  height: 0.0625rem;
  margin-right: 1rem;
}
.l-ttl-text-main {
  font-size: clamp(1.75rem, 1.1rem + 3.25vw, 5rem);
  font-weight: normal;
  padding-top: clamp(2.031rem, 1.813rem + 1.09vw, 3.125rem);
  margin-left: -.4rem;
}
@media screen and (max-width:767px) {
  .l-ttl {
    height: 14rem;
    padding: clamp(1.25rem, 1.125rem + 0.63vw, 1.875rem) clamp(1.25rem, 0.224rem + 5.13vw, 3.75rem);
    background-size: auto 80% ;
  }
  .l-ttl-text-sub::before {
    display: block;
    content:"";
    background-color: #be8e3a;
    width: 1.25rem;
    margin-right: .5rem;
  }
}

.lower-s_header {
  color: #be8e3a;
  display: inline-block;
  font-size: 1.875rem;
  font-weight: normal;
  background-color: #fcf5e9;
  padding: 1.75rem 5.4375rem;
  border-radius: 99999px;
  margin-left: -5.4375rem;
  margin-bottom: 3.75rem;
}
.lower-bgcolor .lower-s_header {
  background-color: #FFF;  
}
@media screen and (max-width:767px) {
.lower-s_header {
  font-size: 1.25rem;
  padding: 1.25rem 3.125rem;
  margin-left: -3.125rem;
  margin-bottom: 2.75rem;
  }
}

.l-col2img {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
}
.l-col2img-left {
  flex: 1.5
}
.l-col2img-left p {
  margin-bottom: 1.3rem
}
.l-col2img-right {
  flex: 1
}
.l-col2img-right p {
  display: flex;
  align-items: flex-start;
  gap: 1rem
}
.l-col2img-right p img {
  width: 50%;
}
@media screen and (max-width:767px) {
  .l-col2img {
    display: block
  }
  .l-col2img-right p {
    display: flex;
    align-items: flex-start;
    gap: 2%;
    max-width: 25rem;
    margin: 0 auto
  }
  .l-col2img-right p img {
    width: 49%;
    padding-top: 1.25rem
  }
}

.l-cmn-table-wrap {
  overflow-x: auto; 
  -webkit-overflow-scrolling: touch;
}
.l-cmn-table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.l-cmn-table th {
  background: #fdf7ed;
}
.l-cmn-table th,
.l-cmn-table td {
  border: 1px solid #be8e3a;
  padding: 1.4rem;
  text-align: center
}
.l-cmn-table-s {
  font-size: .875rem;
}
.l-cmn-table-att {
  font-size: .85rem;
  margin-top:2rem;
}
.l-cmn-table-att a {
  color: #be8e3a;
  text-decoration: underline;
}

.l-cmn-faq-list-q {
  color:#FFF;
  font-size: 1.125rem;
  background: #292929;
  padding: 0.625rem 1rem;
  margin-top: 2rem
}
.l-cmn-faq-list-q span {
  color: #be8e3a;
  font-size: 1.75rem;
  padding-right: .75rem
}
.l-cmn-faq-list-a {
  padding: 1.625rem 1rem 1.625rem  3.35rem;
  background: #FFF;
  border: 1px solid #292929;
}
@media screen and (max-width:767px) {
  .l-cmn-faq-list-q {
    display: flex;
    font-size: 1rem;
    line-height: 1.4;
    align-items: center;
  }
  .l-cmn-faq-list-q span {
    padding-right: 1.125rem
  }
  .l-cmn-faq-list-a {
    padding: 0.625rem 1.25rem ;
  }
}

.l-cmn-risk {
  width: 80%;
  text-align: center;
  border: 1px solid #aa864f;
  background: #FFF;
  border-radius: 1.25rem;
  margin: 3.125rem auto 0; 
}
.l-cmn-risk-ttl {
  font-size:1.75rem;
  background: #f0f0f0;
  padding: 2.5rem;
  border-radius: 1.25rem 1.25rem 0 0 ;
  border-bottom: 1px solid #aa864f;
}
.l-cmn-risk-text {
  padding: 1.875rem 0 2.5rem;
}
.l-cmn-risk-text ul {
  margin-top: 1.25rem
}
.l-cmn-risk-text li {
  display: flex;
  justify-content: center;
  color: #aa864f;
  font-size: 1.125rem;
  font-weight: bold;
  padding: .25rem;
}
.l-cmn-risk-text i img {
  width: 1.5625rem;
  margin-right: .5rem
}
@media screen and (max-width:767px) {
  .l-cmn-risk {
    width: 100%;
  }
  .l-cmn-risk-ttl {
    font-size:1.25rem;
    padding: 1.5rem;
  }
  .l-cmn-risk-text {
    padding: 1.5rem 1rem;
  }
  .l-cmn-risk-text ul {
    margin-top: 1rem
  }
  .l-cmn-risk-text li {
    display: flex;
    justify-content: flex-start;
    font-size: 1rem;
    text-align: left;
  }
}

.l-cmn-list li:first-child {
  padding-top: 0
}
.l-cmn-list li {
  border-bottom: 1px solid #be8e3a;
  padding: 1.25rem 0;
}
.l-cmn-list b {
  color:#be8e3a ;
  font-size: 1.25rem;
  display: block;
  padding-bottom: .4rem
}
@media screen and (max-width:767px) {
.l-cmn-list {
  font-size: 0.875rem;
}
  .l-cmn-list b {
    font-size: 1.125rem;
  }
}

.l-cmn-step-list {
  display: flex;
  align-items: center;
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  position: relative
}
.l-cmn-step-list::after {
  content:"";
  display: block;
  border-bottom: 1px solid #be8e3a;
  width: calc(100% - 8.75rem);
  position: absolute;
  bottom: 0;
  right: 0
}
  .l-cmn-step-list:last-child {
    padding-bottom: 0;
    margin-bottom: 0
  }  
.l-cmn-step-list figure img {
  width: 7.5rem;
  margin-right: 2rem
}
.l-cmn-step-list-text-L {
  color: #be8e3a;
  font-size: 1.25rem;
}
.l-cmn-step-list-text-L span {
  padding-right: .5rem;
  font-size: .875rem
}
@media screen and (max-width:767px) {
  .l-cmn-step-list {
    gap: 1rem
  }
  .l-cmn-step-list::after {
    width: 100%;
  }

  .l-cmn-step-list:last-child::after {
    border-bottom: none
  }  
  .l-cmn-step-list figure {
    flex:1;
  }
  .l-cmn-step-list-text {
    flex: 2
  }  
  .l-cmn-step-list-text-L {
    color: #be8e3a;
    font-size: 1.125rem;
  }
  .l-cmn-step-list-text-L span {
    padding-right: 0;
    display: block;
  }
  .l-cmn-step-list-text-S {
    color: #be8e3a;
    font-size: .875rem;
  }  
}

.l-cmn-line {
  margin-top: 1.875rem;
  padding: 1.875rem 0;
  border-top: 1px solid #d6994d;
  border-bottom:1px solid #d6994d;
}
.l-cmn-line b {
  padding-right: 2rem;
}
@media screen and (max-width:767px) {
  .l-cmn-line {
    padding: .875rem 0;
    text-align: center
  }
  .l-cmn-line b {
    padding-right: .5rem;
  }
}

.l-cmn-text p {
  padding-bottom: 1.25rem;
}
.l-cmn-text p:last-child {
  padding-bottom: 0
}

/* ============= lower about ============= */
.l-about-doctor-name {
  font-size: 1.375rem;
  font-weight: normal;
  border-bottom: 1px solid #be8e3a;
  padding-bottom: 1.875rem
}
.l-about-doctor-name span {
  display: block;
  padding-top: 1rem
}
.l-about-doctor-info {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.875rem;
  line-height: 2
}
.l-about-doctor-info dt {
  color: #be8e3a;
  font-size: 1.125rem
}
.l-about-infinite {
  padding: 6.25rem 0;
}
@media screen and (max-width: 768px) {
  .l-about-doctor-name {
    font-size: 1.375rem;
    font-weight: normal;
    border-bottom: 1px solid #be8e3a;
    padding-bottom: 1.875rem
  }
  .l-about-doctor-name span {
    line-height: 1.5;
  }
  .l-about-doctor-info {
    display: block;
  }
  .l-about-doctor-info dl:last-child {
    margin-top: 1.5rem
  }  
  .l-about-doctor-info dt {
    font-size: 1rem
  }
  .l-about-doctor-info dd {
    font-size: 0.875rem
  }  
}
.infinite-scroll {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.infinite-scroll__container {
  display: flex;
  gap: 1rem;
  padding-right: 1rem;
  flex-shrink: 0;
}
.infinite-scroll__img-wrap {
  flex-shrink: 0;
  width: 30rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .infinite-scroll__img-wrap {
    width: 20rem;
  }
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}
.infinite-scroll__container:first-child {
  animation: loop 130s -65s linear infinite;
}
.infinite-scroll__container:last-child {
  animation: loop2 130s linear infinite;
}

/* ============= lower menu ============= */
.l-menu h3.lower-s_header {
  margin-bottom: 0;
}

/* ============= lower menu common ============= */
.l-cmn-anc-list {
  display: flex;
  flex-wrap:wrap;
  gap: 2rem;
  margin-top: 2.5rem;
}
.l-cmn-anc-list li {
  flex: 0 0 calc(33.333% - 2rem);
}
.l-cmn-anc-list li a {
  display: flex;
  align-items: center;
  color: #be8e3a;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.25rem;
  border-top: 1px solid #be8e3a;
  border-bottom: 1px solid #be8e3a;
  transition: all .5s;
}
.l-cmn-anc-list li a:hover {
  background: #fcf5e9;
  transition: all .5s;
}
.l-cmn-anc-list i {
  
  padding-right: 1rem
}
.l-cmn-anc-list i img {
  width: 1rem;
}
@media screen and (max-width: 768px) {
  .l-cmn-anc-list {
    display: block;
  }
  .l-cmn-anc-list li:nth-child(even) a {
    border-top: none;
    border-bottom: none;
  }
  .l-cmn-anc-list li:last-child a {
    border-bottom: 1px solid #be8e3a;
  }
}

/* ============= lower price  ============= */
.l-price-menuname {
  font-size: 1.75rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .l-price-menuname {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }
}

/* ============= lower case ============= */
.l-case-list {
  margin-top: 3rem;
}
.cases-pagination {
  margin-top: 4.375rem;
  display: flex;
  justify-content: center;
  gap: 1rem
}
.cases-pagination a,
.cases-pagination .current {
  display: block;
  color: #aa864f;
  border: 1px solid #aa864f;
  background: #FFF;
  width: 2.3125rem;
  padding: .2rem 0;
  text-align: center;
  opacity:1;
  transition: all .2s
}
.cases-pagination .current {
  color: #FFF;
  background: #aa864f;
}
.cases-pagination a.prev,
.cases-pagination a.next {
  width: 5rem;
}
.cases-pagination a:hover {
  opacity: .5;
  transition: all .2s
}

/* ============= lower contact ============= */
.l-contact-btns {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 3.5rem auto;
}
.l-contact-btns a {
  flex: 1;
  min-height: 6.625rem;
  background: #d6994d;
  border-radius: 0;
  justify-content: center;
  align-items: center;
  border-radius: 0.875rem;
  font-weight: bold;
}
.l-contact-btns i { 
  padding-right: 1.25rem;
}
.l-contact-btns i img {
  width: 5rem;
}
a.l-contact-btns-line i {
  width: 4.8rem;
}
.l-contact-btns-text_L,
.l-contact-btns-text_s {
  line-height: 1.4;
}
.l-contact-btns-text_L {
  font-size: 1.75rem;
}
.l-contact-btns-text_s {
  font-size: 1.125rem;
}
a.l-contact-btns-line {
  background: #06c755;
}

@media screen and (max-width:767px) {
  .l-contact-btns {
    display: block;
  }
  .l-contact-btns i img {
    width: 4rem;
  }
  a.l-contact-btns-line i {
    width: 3.8rem;
  }
  .l-contact-btns-text_L {
    font-size: 1.5rem;
  }
  .l-contact-btns-text_s {
    font-size: 1rem;
  }
  .l-contact-btns a:last-child {
    margin-top: 1rem
  }  
}