/*===================================================
common
====================================================*/
body { font-family: 'Shippori Mincho', serif; color: #6a6a6a; letter-spacing: 1px;}
.wrapper { overflow: hidden;}
.mina { font-family: "mina", serif; font-weight: 400; font-style: normal;}
.inner { width: 90%; margin-inline: auto;}

.btn { margin-top: 3em; text-align: center;}
.btn a { padding: 0.8em 3em; margin-top: 2em; margin-bottom: 0; color: #fff; font-family: 'Noto Serif JP', serif; background: #333; border: none; border-radius: 30px; font-size: .9em; font-weight: 400;}

/*===================================================
ttl
====================================================*/
.ttl { margin-bottom: 2.4em; font-size: 1.875em; color: #b9a384; line-height: 1;}
.ttl-ja { font-size: .46em; opacity: .6; color: #6a6a6a;}

/*===================================================
MV
====================================================*/
.mv { padding: 5.2em 0 8.3em; color: #fff; background: url(/img/mv-bg.jpg) no-repeat center bottom / 100%;}
.date { margin: 0 0 4.3em; font-size: 1.875em; letter-spacing: 1px;}
.date span.r-border { padding-right: .5em; margin-right: .5em; border-right: 1px solid rgba(255,255,255,.4);}
.name img { margin: 0 auto; width: 80%;}
.mv-txt { position: relative; display: inline-block; left: 50%; transform: translateX(-50%); margin: 1em auto 0; width: 70%; font-size: .75em; letter-spacing: 1px; line-height: 2;}

/*===================================================
greeting
====================================================*/
.greeting { position: relative; padding: 4.8em 0 7.5em; background: #f8f1f4; z-index: 1;}
.greeting::before,.greeting::after { position: absolute; content: ""; top: 60%; transform: translateY(-50%); width: 90vw; height: 90vw; border-radius: 50%; border: solid 1px rgba(255,255,255,.3); z-index: -1;}
.greeting::before { left: 14%; }
.greeting::after { top: 62%; right: 14%;}
.greeting .ttl { position: relative;}
.greeting .ttl::before { position: absolute; content: ""; left: 50%; top: 30%; transform: translateX(-50%) translateY(-50%); width: 2em; height: 3.8em; background: url(/img/deco-flower.svg) no-repeat center / contain; opacity: .3;}
.greeting-txt { font-size: .8125em; line-height: 2; letter-spacing: .2px;}
.greeting-txt p { margin-block: 1.5em;} 
.sign { margin-top: 2em; display: flex; gap: 1.5em; justify-content: center;}
.sign p { margin: 0; font-size: 1.1em;}

/*===================================================
info
====================================================*/
.img-box { position: relative; z-index: 2; margin-block: -10em 3em;}
.img-box .bg1 { width: 80%; margin-left: auto; }
.img-box .bg2 { width: 65%; margin: -1.5em auto 0 5%; }

.info { padding: 5.3em 0 0;}
.info .ttl { margin-bottom: 1.8em;}
.info-date { margin-bottom: 1.5em; font-size: 1.3em; color: #a98d68; letter-spacing: 1.7px; text-align: center;}
.info-date .small { font-size: .7em;}
.tbl { width: 100%; margin-inline: auto; font-size: .875em;}
.tbl div { display: flex; flex-wrap: wrap;}
.tbl div + div { margin-top: 1.2em;}
.tbl dt { width: 25%; color: #83643a;}
.tbl dt p { margin-block: .3em 0; font-size: .9em; color: #6a6a6a;}
.tbl dt span { display: inline-block; margin-left: .8em; font-size: .785em; color: #e4e4e4;}
.tbl dd { flex: 1;}
.tbl dd input { box-sizing: border-box; padding: .6em .5em; border: none; font-size: 16px; background: #f6f6f6; border-radius: 3px; }
.map { margin-top: 4.375em;}
.map iframe { width: 100%; height: 250px;}

/*===================================================
slide
====================================================*/
#gallery { padding-top: 4em;}
.slide li img,.slide2 li img { width: auto; height: 125px; border-radius: 5px;}
.slide li,.slide2 li { width: auto !important; margin-right: .5em;}
.slide2 { margin-top: .5em;}

/*===================================================
form
====================================================*/
.atd-txt { margin-block: 0 3em; text-align: center; font-size: .875em;}
.gold { color: #a98d68;}
.atd-txt .gold { display: block; margin-top: 1em;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

textarea { width: 100%; height: 100px; padding: .5em !important; font-size: 16px !important; border: solid 1px #fff; background: #f6f6f6;}
input[type=radio] { display: none;}
label { position: relative; padding-left: 1.5em;}
label::before { position: absolute; content: ""; left: 0; top: 50%; transform: translateY(-50%); width: 1em; height: 1em; border-radius: 3px;  background: #f6f6f6; border: solid 1px #a38b69;}
input[type="radio"]:checked + label::before { background: #a38b69;}
::placeholder { font-size: 14px; font-family: 'Shippori Mincho', serif; }

.form { margin-top: 2.15em; padding-top: 2.15em; padding-bottom: 4.375em;}
.form .attention { margin-block: 0 3em;}
.form .attention p { margin: 0; font-size: .9em;}
.form-tbl div + div { margin-top: 1.8em;}
.form-tbl dt { width: 100%; margin-bottom: 1em; color: #83643a;}
.form-tbl dd { display: flex; gap: 1.2em;}
.form-tbl dd input[type="text"],.form-tbl dd input[type="email"] { width: 100%;}
.submit input { padding: 0.8em 3em; margin-top: 2em; color: #fff; font-family: 'Noto Serif JP', serif; background: #333; border: none; border-radius: 30px; font-size: .9em; font-weight: 400;}

/*===================================================
check
====================================================*/
#check p.txt { font-size: .8125em; margin-bottom: 2em;}
#check .form-tbl dt { margin-bottom: .8em;}
#check .form-tbl dd { padding-bottom: .6em; border-bottom: solid 1px #d7c5ac;}
.btn-box { margin-top: 3em; justify-content: center; gap: 2em; align-items: center;}
.btn-back { margin: 0;}
.btn-back a { padding: 0.8em 3em; margin-top: 2em; margin-bottom: 0; color: #fff; font-family: 'Noto Serif JP', serif; background: #ababab; border: none; border-radius: 30px; font-size: .9em; font-weight: 400;}
#check input { margin-top: 0;}