/* ==================================================
   店舗・営業日カレンダー
================================================== */

.om-homeStore{
  box-sizing:border-box;
}


/* ---------- 店舗情報 ---------- */

.om-storeGrid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);
  gap:32px;
  align-items:stretch;
}

.om-storeMap{
  min-height:360px;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
}

.om-storeMap iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
}

.om-storeInfo{
  padding:30px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #E7E1D8;
  border-radius:14px;
}

.om-storeInfo h3{
  margin:0 0 12px;
}

.om-storePhone{
  display:inline-block;
  margin:12px 0 22px;
  font-size:28px;
  font-weight:700;
  text-decoration:none;
  color:#556B2F;
}

.om-storeInfo dl{
  margin:0;
}

.om-storeInfo dl > div{
  display:grid;
  grid-template-columns:90px 1fr;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #E7E1D8;
}

.om-storeInfo dt{
  font-weight:700;
}

.om-storeInfo dd{
  margin:0;
}

.om-storeNote{
  margin:18px 0 0;
  font-size:14px;
  color:#777;
}


/* ==================================================
   営業日カレンダー
================================================== */

.om-storeCalendar{
  width:100%;
  margin-top:56px;
  padding:0 24px;
  box-sizing:border-box;
}

/*
  h3のタグはそのままで、
  見た目だけ他のom-homeSectionHeadの見出しに合わせる
*/
.om-storeCalendar > h3{
  margin:0 0 10px;

  font-family:var(--om-font-heading);
  font-size:clamp(28px, 3vw, 36px);
  line-height:1.4;
  font-weight:var(--om-weight-heading);
  letter-spacing:.02em;
  color:#333;
}

.om-storeCalendar > p{
  margin:0 0 24px;
  font-size:15px;
  line-height:1.8;
  color:#777;
}


/* Googleカレンダー外観 */
.om-storeCalendar > iframe{
  display:block !important;

  width:100% !important;
  height:460px !important;
  min-height:460px !important;

  margin:0 !important;

  border:1px solid #E7E1D8 !important;
  border-radius:14px;

  background:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.05);

  box-sizing:border-box;
}


/* ==================================================
   スマホ
================================================== */

@media (max-width:768px){

  .om-storeGrid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .om-storeMap{
    min-height:280px;
  }

  .om-storeMap iframe{
    min-height:280px;
  }

  .om-storeInfo{
    padding:22px 18px;
  }

  .om-storePhone{
    font-size:24px;
  }

  .om-storeCalendar{
    margin-top:42px;

    /* 左に詰まらないように */
    padding-left:18px;
    padding-right:18px;
  }

  .om-storeCalendar > h3{
    font-size:26px;
    line-height:1.45;
  }

  .om-storeCalendar > p{
    margin-bottom:18px;
    font-size:14px;
  }

  .om-storeCalendar > iframe{
    height:430px !important;
    min-height:430px !important;
    border-radius:10px;
  }
}
.om-storeInfo{
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}