@charset "utf-8";

/* ------------------------- TOC 
Setup
CSS Hack
Common Layout
Individual
 ------------------------- */

/* ============================== Setup */
body { background-color: #fff; color: #333; font-size: small; line-height: 1.6;  }
* { background-repeat: no-repeat; font-family: sans-serif; }
body, div,
h1, h2, h3, h4, h5, h6, p,
blockquote,
ul, ol, li, dl, dt, dd, 
table, th, td, thead, tbody, tfoot, caption,
form, fieldset, legend, isindex, embed, object, pre { margin: 0; padding: 0; border: 0; }

h1, h2, h3, h4, h5, h6,
th { font-weight: normal; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; }

ul, ol { list-style: none outside; }
table { border-collapse: collapse; border-spacing: 0; }
th, td { vertical-align: top; }

img { border: 0; }
em { font-style: normal; }

a { color: #333333; text-decoration: none; }
a:link { color: #333333; text-decoration: underline; }
a:visited { color: #333333; text-decoration: underline; }
a:hover, a:active { color: #333333; text-decoration: underline; }
a img, a:link img, a:visited img, a:hover img, a:active img { border: none; text-decoration: none; }

li { margin-bottom: .25em; }
p { margin-bottom: 8px; }
strong { font-weight: bold; }
input, textarea { border-width: 1px; font-size: 100%; }


/* ============================== CSS Hack & Modules */
/* floating box clear */
.clr:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clr { display: inline-table; min-height: 1%; }

/* hide text */
.hidetxt { text-indent: -9999px; overflow: hidden; }
.hidetxt a { overflow: hidden; }

.attention { color: #f00; }

ul.list_bullet_01 {}
ul.list_bullet_01 li { margin-left: .85em; }
ul.list_bullet_01 .marker { display: inline-block; margin-left: -.85em; width: .85em; text-align: center; zoom: 1; }

ul.list_note {}
ul.list_note li { margin-left: 1em; line-height: 1.3; }
ul.list_note .marker { display: inline-block; margin-left: -1em; width: 1em; zoom: 1; }

/* ============================== Common Layout */
body { text-align: center; }
#wrapper { margin: 0 auto; border: solid #D5D9DC; border-width: 0 1px;  width: 800px; text-align: left; }
.pagetop { margin: 0 24px 10px; }
#footer p { margin: 0; }


/* ============================== Individual
	guest/
	guest/present/
*/


/* =============== guest/ */

body#guest #header { margin-bottom: 20px; }

body#guest #content { margin: 0 24px; }
body#guest #content h2 { margin: 0 -24px 30px -24px; }

body#guest .bnr_01 { margin-bottom: 20px; }
body#guest .bnr_01 li { margin-bottom: 12px; text-align: center; }
body#guest .bnr_01 img { vertical-align: bottom; }
body#guest .bnr_01 a:hover img { opacity: .75; filter: alpha(opacity=75); }

/* FAQ */
body#guest p.faq_lead { margin-bottom: 30px; }
body#guest p.tel { font-size: medium; }
body#guest dl.faq { margin-bottom: 35px; }
body#guest dl.faq dt { margin-bottom: 8px; clear: both; line-height: 1.3; font-weight: bold; }
body#guest dl.faq dt img { margin-bottom: 8px; }
body#guest dl.faq dt a { font-weight: bold; }
body#guest dl.faq dt a:link,
body#guest dl.faq dt a:visited { text-decoration: none; }
body#guest dl.faq dt a:hover,
body#guest dl.faq dt a:active { text-decoration: underline; }
body#guest dl.faq dd { margin: 0 0 18px 1.2em; }
body#guest div.faq { margin-bottom: 35px; }
body#guest div.faq_img { float: right; width: 150px; text-align: center; padding-top: 5px; padding-bottom: 2px; }


/* =============== guest/present/
	Common - body.present
	index
	confirm
	thanks
*/

/* ======= Common */
body.present #wrapper { padding-top: 10px; }
body.present #header { margin: 0 auto 25px; width: 776px; }

body.present #offer { margin: 0 30px 20px; border: 1px solid #333; padding: 28px 38px; }
body.present #offer h2 { margin-bottom: .75em; }
body.present #offer .lead  { margin-bottom: 1em; }
body.present #offer table { margin-bottom: 2em; width: 100%; }

body.present #offer th,
body.present #offer td { padding: .4em 0; }
body.present #offer .row_wider th,
body.present #offer .row_wider td { padding: 1.5em 0 .25em; }
body.present #offer tr#name_for td label { margin-right: 2.5em; }
body.present #offer th { padding-right: 1em; width: 28%; white-space: nowrap; }

body.present #offer td input { height: 1.2em; }
body.present #offer td input.ipt_name { position: relative; top: -.15em; width: 200px; ime-mode: active; }
body.present #offer td input.ipt_en   { position: relative; top: -.15em; width: 360px; ime-mode: disabled; }
body.present #offer td input#tel { width: 230px; }
body.present #offer td input#name_for_groom,
body.present #offer td input#name_for_bride { margin: 0 .2em; width: 120px; vertical-align: middle; }
body.present #offer td input#code_zip { width: 100px; }
body.present #offer td input#address { width: 430px; }
body.present #offer td select { position: relative; top: -.15em; vertical-align: middle; }
body.present #offer td select#year,
body.present #offer td select#month,
body.present #offer td select#day  { margin: 0 .2em 0 1em; }
body.present #offer td select#year { margin-left: 0; }
body.present #offer td textarea { width: 450px; }

body.present #offer td ul.list_check_01 li { float: left; width: 155px; }
body.present #offer td ul.list_check_01 li input { margin: 0 .3em 0 0; padding: 0; vertical-align: middle; }

body.present #offer .privacy_policy { margin-bottom: 22px; }
body.present #offer .privacy_policy h3 { margin-bottom: .5em; }
body.present #offer .privacy_policy div { border: 1px solid #ccc; padding: .5em 1.25em; height: 78px; overflow-y: scroll; }
body.present #offer .privacy_policy div p { margin: 0; text-indent: 1em;
	word-wrap: break-word; word-break: break-all; text-align: justify; text-justify: distribute; }

/* Submit Button */
body.present #offer .inquiry_action { text-align: center; }
body.present #offer .inquiry_action li { display: inline; margin: 0 1em; }
body.present #offer .inquiry_action li input { width: 110px; *padding-top: .15em; }
body.present #offer .inquiry_action li input.submit { width: 150px; }
body.present #offer .inquiry_action li form {display: inline; }


/* ======= index */
body#present_index {}
body#present_index #about_service { margin: 0 auto 40px; width: 776px; background: url(../../present/images/bg_about.jpg); }
body#present_index #about_service #header { border-bottom: 1px solid #333; }
body#present_index #about_service .lead { margin-bottom: 21px; text-align: center; }

body#present_index #about_service .example { margin: 0 50px; }
body#present_index #about_service .example h2 { margin-bottom: .5em; }
body#present_index #about_service .example .list_note { margin-bottom: 1em; font-size: 93%; }
body#present_index #about_service .example .list_note li { margin-bottom: 0; }
body#present_index #about_service .example .col_1 { float: left; width: 305px; margin-right: 30px; }
body#present_index #about_service .example .col_2 { float: left; width: 340px; padding-bottom: 5px; }
body#present_index #about_service .example .figure { margin-bottom: 1.5em; }
body#present_index #about_service .example .figure img { margin-bottom: .2em; vertical-align: bottom; }
body#present_index #about_service .example .figure .caption { display: block; width: 300px; text-align: center; font-size: 92%; }
body#present_index #about_service .example .col_2 .figure { margin-bottom: 4em; }
body#present_index #about_service .example .col_2 div.note { margin-bottom: .2em; font-size: 108%; line-height: 1.6; }

body#present_index #flow_offer {}
body#present_index #flow_offer h2 { margin-bottom: 35px; }
body#present_index #flow_offer ol { margin: 0 37px 15px; }
body#present_index #flow_offer ol li ul.list_note { margin-top: .3em; }
body#present_index #flow_offer ol li.first,
body#present_index #flow_offer ol li.second,
body#present_index #flow_offer ol li.third { padding: 0 0 15px 34px; }
body#present_index #flow_offer ol li.first  { background: url(../../present/images/img_flow_1.gif) no-repeat 0 .35em; }
body#present_index #flow_offer ol li.second { background: url(../../present/images/img_flow_2.gif) no-repeat 0 0; padding-top: 1px; }
body#present_index #flow_offer ol li.third  { background: url(../../present/images/img_flow_3.gif) no-repeat 0 .35em; }

body#present_index #offer {}
body#present_index #offer #inquiry_error { margin-bottom: 1.5em; border: 1px solid #f00; padding: .5em .8em .25em; *padding-bottom: .4em; }
body#present_index #offer #inquiry_error li { color: #f00; text-align: center; line-height: 1.3; }


/* ======= confirm */
body#present_confirm {}
body#present_confirm #offer .inquiry_action li input { letter-spacing: .2em; }


/* ======= thanks */
body#present_thanks {}
body#present_thanks #offer h2 { margin-bottom: 20px; text-align: center; }
body#present_thanks #offer p  { margin: 0; text-align: center; }
