/*/////////////////////////////////////////
リセットCSS
/////////////////////////////////////////*/

@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  text-align: left;
  zoom: 1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
table { border-collapse: collapse; font-family: inherit; }
h1,h2,h3,h4,h5 { font-size: 100%; font-weight: normal; line-height: 1; }
input,textarea,select { font-family: inherit; font-size: 16px; }
input[type="button"],input[type="text"],input[type="submit"] {
  -webkit-appearance: none; border-radius: 0;
}
textarea { resize: none; -webkit-appearance: none; border-radius: 0; }
th,td { border-collapse: collapse; }
table th,table td { white-space: nowrap; }
ul,ol { list-style-type: none; }
img {
  vertical-align: text-bottom;
  vertical-align: -webkit-baseline-middle;
  max-width: 100%; height: auto; display:block;
}

/*/////////////////////////////////////////
メイン
/////////////////////////////////////////*/

* {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}

body { background-color: #FFFFDC; }

.wrapper { margin: 0 auto; width: 100%; max-width: 700px; }

.img_01, .img_02, .img_03, .img_04, .img_05, .img_06 { position: relative; }

.message {
  width: 90%;
  margin: 0 auto;
  line-height: 26px;
  color: #8E612F;
  font-size: 16px;
}

.btn {
  margin: 25px auto;
  width: fit-content;
  color: #ffa06b;
  background-color: #fffcf3;
  padding: 10px 16px;
  border-radius: 12px;
  cursor: pointer;
  text-align: center;
  font-weight: 700;
  text-decoration: none;
  border: none;
  border: 1px sokid #ffa06b;
}

.btn--ghost {
  background: #eee;
  color: #333;
}

@media screen and (min-width:768px) {
  .message { width: 88%; font-size: 19px; line-height: 29px; }
}

/*/////////////////////////////////////////
モーダル共通
/////////////////////////////////////////*/

[hidden] { display: none !important; }
.modal.is-open { display: block !important; }

.modal {
  position: fixed; inset: 0; z-index: 1000;
  overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  background: rgba(254, 253, 246, .95);
}

.modal__panel {
  max-width: 560px;
  margin: 56px auto;
  padding: 20px;
  color: #ffa06b;
  letter-spacing: 1px;
  text-align: center;
}

body.is-locked { overflow: hidden; touch-action: none; }

/*/////////////////////////////////////////
予約モーダル（reservation）
/////////////////////////////////////////*/

.reservation p {
  font-size: 18px;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  margin-bottom: 24px;
  color: #a66600;
}

.reservation .modal__list .btn {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto 12px;
  text-align: center;
  color: #fffcf3;
  background-color: #ffa06b;
}

.reservation .btn--ghost {
  display: block;
  margin: 20px auto 0;
  text-align: center;
}

/*/////////////////////////////////////////
プロフィールモーダル（docprof）
/////////////////////////////////////////*/

.docprof img {
  display:block;
  margin:0 auto;
  max-width:100%;
  text-align: center;
}

/*/////////////////////////////////////////
地図（iframe埋め込み）
/////////////////////////////////////////*/

.map-card{
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.map-card iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.map-card .tint{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(194, 235, 205, 0.20);
  mix-blend-mode: multiply;
}

.map-card .gm-btn{
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: #5fb47c;
  color: #fff;
  font-weight: 700;
  font-family: sans-serif;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(95,180,124,.35);
  line-height: 1;
  transition: background .2s ease;
}
.map-card .gm-btn:hover{ background: #4ca86e; }
