/* =========================================================
   Base / Tokens
========================================================= */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html, body{ max-width:100%; overflow-x:clip; }

body{
  margin:0;
  font-family:"Baskerville","Libre Baskerville",serif;
  color:#1a1a1a;
  background:#F8F8F8;
}

a{ color:inherit; text-decoration:none; }
img, svg{ max-width:100%; height:auto; display:block; }

:root{
  --navy:#CCF1FA;
  --navy2:#2A3147;
  --gold:#a38a43;
  --gold2:#d8c27a;
  --container:1020px;

  --line:#d9d2c2;

  /* SNS*/
  --sns-insta-h-desktop: 53px; /* PC */
  --sns-insta-h-sp: 34px;      /* SP */
}

.container{
  width:min(var(--container), 100%);
  margin:0 auto;
  padding-inline:20px;
}

.section{ padding:54px 0; }
.section_fff{ padding:72px 0; background:#fff; }
.center{ display:grid; place-items:center; }

/* =========================================================
   Header 
========================================================= */
.site-header{ background:var(--navy); color:#2F5695; }

.site-header .container{
  padding-left:1px;
  padding-right:20px;
}

.header-top{ padding:6px 0 4px; }

.header-top__inner{
  display:grid;
  grid-template-columns: 1fr 1.2fr; 
  gap:4px;
  align-items:center;
}

/* PC（デフォルト） */
.logo{
  width:580px;   
  height:auto;
  max-width:none;
  transform:none;   
}

/* 右側 */
.header-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-self:end;
  min-width:0;
  transform:none;            
  align-items:flex-start;   
}

/* PCだけ：右側（TEL/ボタン/MENU）*/
@media (min-width: 981px){
  .header-top__inner{ grid-template-columns: 1fr 520px; }
  .header-actions{ width:520px; }
}

.header-tel{
  font-family:"Times New Roman",serif;
  font-weight:700;
  letter-spacing:.04em;
  font-size:24px;
  line-height:1;
  white-space:nowrap;
  text-align:left;
  margin:0;
}

.header-actions__row{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:14px;
}

/* CTA */
.header-ctas{
  display:flex;
  gap:14px;
  align-items:stretch;
}

.cta{
  display:inline-grid;
  place-items:center;
  height:72px;
  padding:8px 16px;
  font-size:16px;
  line-height:1.7;
  letter-spacing:.06em;
  text-align:center;
}

.cta--gold{ background:#305783; color:#fff; min-width:150px; }
.cta--slate{
  background:#fff;
  min-width:340px;
  font-size:18px;
}

.cta__sub{
  display:block;
  font-size:14px;
  margin-top:-2px;
}

/* ハンバーガーPC非表示 */
.hamburger{ display:none; }

/* PCナビ */
.header-nav{
  margin-top:10px;
  padding:10px 0 10px;
  border-bottom:2px solid #6799D1;
  display:flex;
  justify-content:center;
  gap:64px;
  font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
  font-size:22px;
  letter-spacing:.10em;
}
.header-nav a{ opacity:.92; }
.header-nav a.is-active{ opacity:1; font-weight:700; }

/* hero */
.hero { 
  padding: 34px 20px 14px; 
  text-align: center; 
}
.hero__title {
  margin: 0;
  
  font-family: 'Pinyon Script', cursive !important; 
  color: #2F5695;
  font-size: 64px;
  font-weight: 400;
  line-height: 1.2;
}


/* breadcrumb */
.breadcrumb{ background:#DAF5FC; }
.breadcrumb__inner{
  padding:10px 0 ;
  font-size:12px;
  color:#2F5695;
}

/* =========================================================
   Drawer (SP)
========================================================= */
.drawer{ display:none; }

.drawer{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
}
.drawer__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .25s ease;
}
.drawer__panel{
  position:absolute;
  top:0; right:0;
  height:100%;
  width:min(84vw, 360px);
  background:#fff;
  transform:translateX(100%);
  transition:transform .25s ease;
  box-shadow:-12px 0 30px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
}
.drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px 10px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.drawer__title{
  font-weight:700;
  letter-spacing:.08em;
  color:#2A3147;
}
.drawer__close{
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  color:#2A3147;
}
.drawer__nav{
  display:flex;
  flex-direction:column;
  padding:12px 10px;
  gap:4px;
}
.drawer__nav a{
  padding:14px 12px;
  border-radius:10px;
  color:#2A3147;
  letter-spacing:.06em;
}
.drawer__nav a.is-active{
  background:rgba(132,183,240,.18);
  font-weight:700;
}
.drawer__cta{
  margin-top:auto;
  padding:12px;
  border-top:1px solid rgba(0,0,0,.08);
}
.drawer__btn{
  display:grid;
  place-items:center;
  height:44px;
  border-radius:10px;
  background:#84B7F0;
  color:#fff;
  letter-spacing:.08em;
}

/* JSで切り替える */
body.is-drawer-open{ overflow:hidden; }
.drawer.is-open{ pointer-events:auto; }
.drawer.is-open .drawer__overlay{ opacity:1; }
.drawer.is-open .drawer__panel{ transform:translateX(0); }

/* =========================================================
   Titles
========================================================= */
.section-title_approach{
  text-align:center;
  margin:0 0 21px;
  font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.08em;
  font-size:42px;
}

.section-title{
  text-align:center;
  margin:0 0 46px;
  font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
}

.section-title--line{
  font-size:24px;
  font-weight:600;
  letter-spacing:.08em;
}
.section-title--line::after{
  content:"";
  display:block;
  width:180px;
  height:1px;
  background:var(--line);
  margin:12px auto 0;
}

/* =========================================================
   Approach dots
========================================================= */
.approach{
  display:flex;
  justify-content:center;
  gap:36px;
  padding:24px 0 12px;
  flex-wrap:wrap;
}
.approach__dot{
  width:210px;
  height:210px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:radial-gradient(circle,
    rgba(255,205,92,.85) 0%,
    rgba(255,205,92,.25) 55%,
    rgba(255,205,92,0) 70%
  );
  font-size:24px;
  font-weight:600;
  color:#553219;
  letter-spacing:.06em;
}

/* =========================================================
   Buttons
========================================================= */
.btn-reserve{
  margin-top:82px;
  display:inline-grid;
  place-items:center;
  min-width:320px;
  height:44px;
  color:#fff;
  background:#305784;
  letter-spacing:.12em;
  font-size:18px;
}

/* =========================================================
   Carousel (PC: 3カラム / SP: 横スワイプ)
========================================================= */
.carousel{ margin-top:10px; }

.carousel__track{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

.carousel__dots{
  display:none;
  justify-content:center;
  gap:8px;
  margin-top:12px;
}
.carousel__dots span{
  width:8px; height:8px;
  border-radius:999px;
  background:#d9d9d9;
}
.carousel__dots span.is-active{ background:#666; }

/* =========================================================
   Plan cards
========================================================= */
.plan-card{
  position:relative;
  background:#fff;
  border:1px solid #efe9db;
  overflow:visible;
}
.plan-card::before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(163,138,67,.35);
  pointer-events:none;
  z-index:1;
}
.plan-card::after{
  content:"";
  position:absolute;
  top:-12px;
  left:-12px;
  width:72px;
  height:72px;
  background:url("images/select-ornament.png") no-repeat center / contain;
  z-index:50;
  pointer-events:none;
}
.plan-card__clip{ position:relative; overflow:hidden; }
.plan-card__head{
  position:relative;
  padding:34px 16px 18px;
  text-align:center;
  z-index:2;
}
.plan-card__rank{
  font-family:"Bodoni Moda","Georgia","Times New Roman",serif;
  font-size:42px;
  letter-spacing:.06em;
  color:rgba(0,0,0,.68);
  line-height:1.05;
  margin:0;
}
.plan-card__sub{
  margin-top:6px;
  font-size:14px;
  letter-spacing:.06em;
  color:rgba(0,0,0,.62);
  line-height:1.35;
  min-height:calc(1.4em * 2);
}
.plan-card__lead{ text-align:center; margin:0; }

.plan-card__head--bronze{ background-image:radial-gradient(#fcddc7, #C8936B); }
.plan-card__head--silver{ background-image:radial-gradient(#fdfdfd, #AFAFAF); }
.plan-card__head--gold{ background-image:radial-gradient(#fff7be, #E4B659); }

.plan-card__body{
  position:relative;
  z-index:2;
  padding:16px 26px 22px;
  font-size:16px;
  line-height:1.9;
  color:#222;
}
.plan-card__timeprice{
  text-align:center;
  font-weight:700;
  letter-spacing:.04em;
  margin:5px 0 0;
}

.bullets{ margin:14px 0; padding-left:40px; }
.bullets li{ margin:0; }
.bullets_bronz{ margin:14px 0 73px 0; padding-left:47px; }
.bullets .li-strong{ font-weight:700; }

.up{
  list-style:none;
  margin-top:2px;
  margin-left:-18px;
  font-size:12px;
  color:#555;
  line-height:1.2;
}

.select_care,
.option,
.select_beayty{
  margin:14px -26px 10px;
  padding:5px 10px;
  text-align:center;
  font-size:12px;
  letter-spacing:.06em;
  color:#fff;
}
.select_care{ background:#bfa06b; }
.option{ background:#404040; }
.select_beayty{ background:#A09797; }

.select_care--gold-adjust{ margin-top:45px; }

.plan-note{
  margin-top:46px;
  margin-bottom:0;
  font-size:14px;
  color:#1a1a1a;
  line-height:1;
  text-align:right;
}

/* =========================================================
   Nail
========================================================= */
.nail-grid{
  width: min(1100px, 100%);
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 82px;
}
.nail-list{ list-style:none; margin:0; padding:0; }

.nail-row{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  column-gap:10px;
  align-items:baseline;
  padding:22px 0;
}
.nail-row::before{ content:"•"; transform: translateY(-1px); }

.nail-name{
  white-space: nowrap;
  font-size:16px;
  letter-spacing:.02em;
  font-weight:600;
}
.nail-leader{
  border-bottom: 1px solid rgba(0,0,0,.35);
  transform: translateY(-0.25em);
  min-width:20px;
}
.nail-price{
  white-space: nowrap;
  font-size:16px;
  letter-spacing:.02em;
  text-align:right;
  font-weight:400;
  font-variant-numeric: tabular-nums;
}
.nail-row--note{ grid-auto-flow:row; }
.nail-subnote{
  grid-column: 2 / -1;
  margin-top:6px;
  font-size:14px;
  color: rgba(0,0,0,.65);
  line-height:1.4;
  font-weight:400;
}
.nail-subtitle{
  margin: 70px 0 0;
  text-align:center;
  font-size:22px;
  letter-spacing:.08em;
  font-weight:600;
  font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
}

/* =========================================================
   Make
========================================================= */
.make-list{
  list-style:none;
  margin:20px auto 0;
  padding:0;
  width: min(980px, 100%);
}
.make-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:22px 0;


  flex-wrap:wrap;
}
.make-row::before{ content:"•"; transform: translateY(-1px); }

.make-name{
  flex:0 0 auto;
  white-space: nowrap;
  font-size:17px;
  letter-spacing:.02em;
  font-weight:600;
}
.make-leader{
  flex:1 1 auto;
  min-width:20px;
  border-bottom:1px solid rgba(0,0,0,.35);
  transform: translateY(-0.25em);
}
.make-price{
  flex:0 0 auto;
  white-space: nowrap;
  font-size:17px;
  letter-spacing:.02em;
  font-weight:400;

  /* 追加：右寄せ */
  margin-left:auto;
  font-variant-numeric: tabular-nums;
}
#make .section-title--line::after{ display:none; }

/* =========================================================
   Footer
========================================================= */
.site-footer{ margin-top:82px; color:#2F5695; }

.footer-top{
  background:#E2F9FF;
  padding:18px 0;
}
.footer-top__inner{
  display:flex;
  justify-content:center;
  gap:41px;
  align-items:center;
  flex-wrap:wrap;
}
.footer-top__item{
  letter-spacing:.06em;
  font-size:22px;
  white-space:nowrap;
}
.footer-top__item strong{
  font-weight:700;
  font-size:34px;
}

.footer-sub{
  background:#AEEDFC;
  padding:18px 0;
}
.footer-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin:0;
  letter-spacing:.03em;
  font-size:18px;
  flex-wrap:wrap;
}
.footer-nav__sep{ opacity:.75; }

.footer-main{
  background:#CCF1FA;
  padding:23px 0 32px;
  text-align:center;
}
.footer-main__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

.footer-address{
  font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
  font-size:22px;
  letter-spacing:.05em;
  margin-bottom:21px;
}

.footer-maplink{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.footer-maplink__text{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  letter-spacing:.06em;
  white-space:nowrap;
}
.footer-maplink__text .footer-exticon{
  display:inline-block;
  width:32px; 
  height:32px;
  flex:0 0 auto;
}

.footer-pay__label{
  font-size:16px;
  letter-spacing:.05em;
  margin-bottom:28px;
}
.footer-pay__icons{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:center;
}
.footer-pay__icons img{ height:46px; width:auto; margin-bottom:-32px; }

.footer-brand{
  margin-top: 28px;
  margin-bottom: 4px;
}

.footer-brand img{
  height: auto;
  max-height: 108px;   
  width: auto;
  object-fit: contain;
}

/* SNS（PC） */
.footer-sns{
  margin-top: -46px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap: 10px;
}

@media (min-width: 981px){
  .site-header .header-top__inner{
    align-items: center;
  }

  .site-header .header-logo{
    justify-self: start;
  }

  .site-header .header-logo > img.logo{
    margin: 0 !important;
    transform: translateX(-190px) !important;
    will-change: transform;
  }
}

.footer-sns__item{
  color:#fff;
  letter-spacing:.05em;
  text-decoration:none;
  display:flex;
  justify-content:center;
  align-items:center;
  height:108px;
}

/* LINE */
.footer-sns__line{
  flex-direction:row;
  align-items:center;
  gap:8px;
  font-size:15px;
  transform: translateY(7px);
}
.footer-sns__line img{ height:56px; width:auto; }
.footer-sns__line span{
  font-family:'Courier New', Courier, monospace;
  background:#03C755;
  padding:8px 12px;
}

/* Instagram*/
.footer-sns__insta{
  margin-top: 10px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.footer-sns__insta img{
  height:var(--sns-insta-h-desktop);
  width:auto;
  display:block;
  max-width:none;
}

.footer-sns__label{ display:none !important; }
.footer-sns__insta-inner{ display:none !important; }

.footer-rule{
  width:100%;
  max-width:1200px;
  height:1.5px;
  background:#6E9FD6;
  margin-top: 6px;
}

/* コピー*/
.footer-copy{
  font-size:16px;
  opacity:.95;
  letter-spacing:.04em;
  margin-top:10px;
  margin-bottom:0;
  text-align:center;
  line-height:1.5;
}

/* =========================================================
   Responsive
========================================================= */

/* 980px以下：*/
@media (max-width: 980px){
  .header-top__inner{
    grid-template-columns: 1fr;
    justify-items:center;
    gap:10px;
  }
  .header-actions{
    justify-self:center;
    align-items:center;
    width:auto;
  }
  .header-tel{
    text-align:center;
    font-size:18px;
  }
  .header-actions__row{
    justify-content:center;
    flex-wrap:wrap;
  }

  .hero__title { 
    font-family: "Pinyon Script", cursive !important; /* ここでも念のため指定 */
    font-size: 44px;
    letter-spacing: .06em;
  }

  .cta--slate{ min-width:0; width:min(520px, 92vw); }
  .cta--gold{ min-width:0; width:min(240px, 92vw); }

  .header-nav{ gap:28px; font-size:18px; flex-wrap:wrap; }
  .hero__title {
  margin: 0;
  font-family: "Pinyon Script", cursive !important; /* !importantで強制 */
  color: #2F5695;
  font-size: 64px;
  font-weight: 400;
}
}

/* 680px以下：スマホ*/
@media (max-width: 680px){
  .container{ padding-inline:12px; }
  .section{ padding:44px 0; }

  .header-nav--pc{ display:none; }
  .drawer{ display:block; }

  .header-top{ padding:12px 0 6px; }

  /* 上：TEL + ボタン + MENU（三本線） / 下：ロゴ */
  .header-top__inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
  }

  .header-actions{
    order:1;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
  }

  .header-tel{
    font-size:14px;
    text-align:center;
    margin-left:-21px;
  }

  .header-actions__row{
    width:100%;
    display:grid;
    grid-template-columns: 1fr auto;
    gap:10px;
    align-items:start;
  }

  .header-ctas{
    width:100%;
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:nowrap;
    margin:0;
  }

  .cta{
    height:50px;
    padding:0 10px;
    font-size:14px;
    line-height:1.15;
  }
  .cta--gold{ width:110px; line-height:1.6; }
  .cta--slate{ width:210px; font-size:14px; }
  .cta__sub{ font-size:11px; margin-top:-10px; }

  /* ハンバーガー */
  .hamburger{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    background:transparent;
    border:0;
    padding:0;
    cursor:pointer;
    gap:4px;
  }

  .hamburger__label{
    font-size:11px;
    letter-spacing:.12em;
    line-height:1;
    color:#2F5696;
    font-family:"Times New Roman", serif;
    margin:0;
  }

  .hamburger span:not(.hamburger__label){
    display:block;
    width:42px;
    height:2px;
    background:#2A3147;
    border-radius:999px;
    margin:0;
  }
  .hamburger span:not(.hamburger__label) + span:not(.hamburger__label){
    margin-top:7px;
  }

  /* ロゴ下 */
  .header-logo{
    order:2;
    width:100%;
    display:flex;
    justify-content:center;
    padding-left:0;
    margin-top:6px;
  }

  .logo{
    width:370px;      
    max-width:92vw;
    height:auto;
    margin:0;       
    display:block;
  }

  /* 空き削り */
  img.logo{
    margin-top:-18px; 
    margin-left:-24px;  
    margin-bottom:-20px;
  }

  .breadcrumb{
    padding-top:4px !important;
    padding-bottom:4px !important;
  }

  .breadcrumb__inner{
    padding-left:16px !important; 
    padding-top:0 !important;
    padding-bottom:0 !important;
    font-size:10px;
  }

  .hero{ padding:10px; }
  .hero__title { 
    font-family: "Pinyon Script", cursive !important; 
    font-size: 44px;
    letter-spacing: .06em;
  }

  .section_fff{ padding:42px 0; }

  .section-title{ margin:0; }
  .section-title_approach{ font-size:24px; margin:0 0 14px; }

  .approach{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:8px;
    padding:12px 0 8px;
    overflow-x:auto;
  }

  .approach__dot{
    width:92px;
    height:92px;
    font-size:12px;
    flex:0 0 auto;
  }

  .carousel__track{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns: 76%;
    gap:12px;
    overflow-x:auto;
    overflow-y:visible;
    padding:6px 12px 14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x: contain;
  }
  .carousel__track > *{ scroll-snap-align:start; }
  .carousel__dots{ display:flex; margin-top:8px; }

  .plan-card::after{ left:0; }

  .plan-card__head{ padding:28px 16px 16px; }
  .plan-card__rank{ font-size:34px; }
  .plan-card__sub{ font-size:13px; }

  .plan-card__body{
    padding:10px 14px 14px;
    font-size:16px;
    line-height:1.75;
    overflow:hidden;
  }

  .bullets{ padding-left:22px; }

  .plan-card__body .bullets{
    list-style:disc;
    padding-left:1.2em;
    margin-left:1.6em;
    text-align:left;
  }

  .plan-note{
    text-align:left;
    margin-left:32px;
    margin-top:43px;
    font-size:12px;
    line-height:1.4;
    color:#555;
  }

  #select-facial .section-title{ margin:0 0 18px; }

  .select_care,
  .option,
  .select_beayty{
    margin-left:-18px;
    margin-right:-18px;
    font-size:14px;
  }

  .btn-reserve{
    width:min(360px, 92vw);
    min-width:0;
    margin-top:46px;
    height:44px;
    font-size:16px;
  }

  /* ネイル */
  .nail-list{
    margin:0 auto;
    width:min(88%, 520px);
  }
  .nail-row{ padding:18px 0; }
  #nail .nail-list{ margin-top:24px; }

  .bullets,
  .nail-list,
  .make-list{
    width:min(92%, 480px);
  }

  .nail-grid{
    grid-template-columns:1fr;
    column-gap:0;
    margin-top:18px;
  }
  .nail-name, .nail-price{ font-size:14px; }
  .nail-subnote{ font-size:12px; }
  .nail-name{ white-space:normal; line-height:1.35; }
  .nail-subtitle{ margin-top:46px; font-size:24px; text-align:center; }

  .make-row{ padding:18px 0; }
  .make-name, .make-price{ font-size:14px; }
  .make-name{ white-space:normal; line-height:1.35; }



  .make-list{ margin-top:20px; }

  .nail-row{ grid-template-columns:auto auto minmax(0,1fr) auto; }
  .nail-leader{ min-width:0; }

  .note{ margin-left:13px; }

  .section-title--make .section-title__sub{
    display:block;
    margin-top:10px;
    font-size:14px;
    line-height:1.35;
    letter-spacing:.04em;
    font-family:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN",serif;
    font-weight:400;
  }


  .make-row{ flex-wrap:wrap !important; }
  .make-price{
    width:100% !important;
    text-align:right !important;
    white-space:normal !important;
  }

  /* ===== Footer SP（ここだけに統一） ===== */

  .footer-top__inner{
    display:flex !important;
    justify-content:center;
    align-items:baseline;
    gap:6px;
    flex-wrap:nowrap !important;
    white-space:nowrap;
  }

  .footer-top__item strong{
    font-size:16px !important;
    letter-spacing:.02em;
  }
  .footer-top__item:nth-child(2),
  .footer-top__item:nth-child(3){
    font-size:11px !important;
    letter-spacing:.01em;
  }

  /* 住所＋GoogleMapを縦並び */
  .footer-maplink{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    text-align:center;
  }
  .footer-address-text{ display:block; text-align:center; }

  .footer-maplink__text{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    white-space:nowrap;
  }
  .footer-maplink__text .footer-exticon{
    width:18px;
    height:18px;
  }

  .footer-pay__label{
    margin:0;
    font-size:14px;
  }

  .footer-address{ font-size:16px; margin-bottom:0; }
  .footer-nav{ font-size:13px; }

  /* スマホでは非表示 */
  .footer-sub{ display:none !important; }
  .footer-pay__icons{ display:none !important; }

  .footer-main__inner{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;   
  }

  /* ロゴ */
  .footer-brand{
    margin-top: 0px !important;  
    margin-bottom: 12px !important; 
  }

  .footer-brand img{
    max-height: 72px; 
  }

 
  .footer-sns{
    flex-wrap: wrap !important;  
    row-gap: 6px !important;
    column-gap: 6px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;    
    padding-top: 0px;
  }

  .footer-sns__item{
    flex:0 0 auto !important;
    height:auto !important;
    transform:none !important;
    align-items:center !important;
  }

  /* LINE */
  .footer-sns__line{ margin-top:0 !important; transform:none !important; }
  .footer-sns__line img{ height: 34px !important; }
  .footer-sns__line span{
    font-size: 11px !important;
    padding: 5px 7px !important;
    line-height: 1 !important;
  }

  /* Instagram */
  .footer-sns__insta img{
    max-height: 30px !important;
    width: auto !important;
  }

  .footer-sns__insta{
    margin-top: -2px !important; 
  }

  .footer-rule{
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }

  .footer-copy{
    font-size: 9px;
    flex: 0 0 100% !important;  
    width: 100% !important;
    order: 999 !important;    
    display: block !important;
    text-align: center !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
  }
  .footer-main{
    padding-top: 16px !important; 
    padding-bottom: 18px !important;
  }
}

/* 420px以下 */
@media (max-width: 420px) {
  .approach__dot{ width:128px; height:128px; font-size:15px; }
  .cta--gold{ width:140px; }
  .cta--slate{ width:210px; }
  .carousel__track{ grid-auto-columns: 84%; }
}


