body {
 font-family: 'Helvetica Neue', Helvetica, Arial, Verdana, 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
 font-size: 15px;
 line-height: 1.6;
 margin: 0;
 padding: 0;
 color: #333;
 *font-size: medium;
 *font: small;
 _font-size: 1;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
 font-size: 100%;
 font-weight: normal;
 font-style: normal;
 margin: 0;
 padding: 0;
 list-style-type: none;
}

a {
 color: #5a2386
}

span.important,
p.error{
 font-weight: bold;
 margin: 0 0 6px 0;
 color: #f00;
 font-size: 14px;
}
p.error{
 display: none;
}

em {
 font-weight: 700;
 font-style: normal;
 color: #f00;
}

.sp {
 display: none;
}

div,
th,
td {
 box-sizing: border-box;
}

.disc li {
 list-style-type: disc;
 margin: 0 0 0 1.5em;
}

img {
 max-width: 100%;
}

.clear {
 zoom: 1
}

.clear:after {
 display: block;
 visibility: hidden;
 clear: both;
 height: 0;
 content: '';
}

/* ----------button---------- */

a.btn {
 background-color: #582283;
 border-radius: 4px;
 color: #fff;
 display: inline-block;
 font-size: 140%;
 font-weight: 700;
 height: 60px;
 line-height: 60px;
 margin: 0 16px;
 position: relative;
 text-align: center;
 text-decoration: none;
 transition: none;
 width: 300px;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -webkit-transition: all .3s;
 box-sizing: border-box;
 transition: all .3s;
}

a.btn:hover {
 background-color: #703b9a;
}

a.btn.negative {
 background-color: #CCC;
}

a.btn.negative:hover {
 background-color: #999;
}

div.btn {
 padding: 64px 0;
 text-align: center;
}

select {
 font-size: 16px;
 padding: 8px;
}

/* ----------base---------- */

.body {
 background: #dfe0e3;
 padding: 0 0 64px 0;
 background-size: cover;
}

.inner {
 width: 960px;
 margin: 0 auto;
}

/* ----------form---------- */

#form {
 background: #f1f3f8;
 width: 800px;
 margin: 0 auto;
 padding: 0 0 40px 0;
 border-radius: 0 0 32px 32px
}

#form .required-notice {
 padding: 8px 0 0 40px;
}

#form .required {
 color: red;
}

#form h2 {
 margin: -32px 0 0 40px;
 padding: 0;
}

#form h2 img {
 width: 200px;
}

#form.complete h2 img {
 width: 300px;
}

#form h3 {
 font-weight: 700;
 margin: 16px 0 8px 0;
}

#form .directions {
 margin: 8px 0 0px 0;
 font-size: 16px;
}

#form .pp {
 border: 1px solid #CCC;
 padding: 8px;
 margin: 24px 0 0 0;
}

#form .pp h3 {
 font-weight: 700;
}

#form .pp p {
 margin: 12px 8px 8px;
}

#form .pp_agree {
 background: #fffcda;
 font-weight: 700;
 text-align: center;
 padding: 8px;
 margin: 16px 0 0 0;
}

/* ----------input---------- */

#form input.address {
 width: 440px;
}

#form input.mail {
 margin: 6px 0;
 width: 460px;
}

#form input.storename {
 margin: 6px 0;
 width: 280px;
}

#form input.name {
 width: 213px;
}

#form input.text {
 border: 1px solid #ccc;
 font-size: 140%;
 padding: 8px;
 border-radius: 4px;
}

/* ----------serial---------- */

#form .serial-image {
 padding: 16px 0;
}

#form .serial-image img {
 width: 600px;
}

#form .serial_input span {
 margin: 0 0 8px 0;
 display: block;
}

#form .serial_input li {
 margin: 0 0 16px 0;
}

#form .answer.serial_input span {
 margin: 0 0 8px 0;
 font-size: 16px;
 display: block;
}

#form .answer.serial_input li {
 margin: 0 0 16px 0;
 font-size: 32px;
}

/* ----------enquete---------- */

.question {
 font-weight: 700;
 margin: 16px 0 8px 0;
 padding: 24px 0 0 0;
 border-top: 1px solid #d7dbe5
}

.choice {
 margin: 20px 0 24px 0;
 padding: 0 0 0 16px;
}

.choice li {
 margin: 0 0 8px 0;
}

/* ----------footer---------- */


footer {
 width: 800px;
 padding: 0 0 56px 0;
 margin: 0 auto 0 auto;
 background: #FFF;
 position: relative;
}

p.note {
 font-size: 12px;
 margin: 0 0 0 16px;
}
p.mf_note {
 font-size: 12px;
 margin: 8px 0 0 16px;
}
.mf  {
 margin: 8px 0 0 24px;
}
.mf img {
 width: 500px;
}

ul.note {
 font-size: 12px;
 margin: 4px 0 16px 32px;
}

ul.note li {
 font-size: 12px;
 margin: 4px 0 0 0;
}

p.approval {
 color: #333;
 font-size: 10px;
 color: #999;
 line-height: 1.8;
}

footer img {
 width: 100px;
}

footer p {
 font-size: 10px;
 font-weight: 400;
 margin: 32px 0 0 0;
}

ul.horizontal li {
 display: inline;
}

/* ----------custom---------- */

.logo {
 width: 800px;
 padding: 16px 0 0 16px;
 margin: 16px auto 0 auto;
}

.logo img {
 width: 100px;
}

.main {
 box-sizing: border-box;
 padding: 0 0;
 background: #FFF;
 text-align: center;
 margin: -16px 0 0 0;
}

.main img {
 width: 800px;
 vertical-align: bottom;
}

.form_item_name {
 font-weight: 700;
 font-size: 22px;
 padding: 24px 0 8px 0;
 margin: 24px 40px 0 40px;
 border-top: 3px solid #d7dbe5;
}

.form_item_input {
 padding: 4px 40px 0 64px;
}

.answer {
 padding: 4px 40px 0 64px;
 font-size: 16px;
}

/* ----------store---------- */
#form .store ul {
 margin: 16px 0 0 0;
}

#form .store ul li {
 list-style-type: none;
 margin: 0 0 16px 0;
 padding: 16px 16px 0 0;
 border-top: 1px solid #d7dbe5
}

#form .store ul li:last-child {
 border-bottom: none;
 padding-bottom: 0;
}

#form .store ul li strong {
 font-weight: normal;
}

#form .store ul li ul {
 list-style-type: none;
 margin: 16px 0 0 4px;
}

#form .store ul li ul span {
 display: block;
}

#form .store ul li ul li {
 border-top: none;
 border-bottom: none;
 display: table-cell;
 border-right: 1px solid #CCC;
 padding: 0 16px 0 16px;
}

#form .store ul li ul li:last-child {
 border-right: none;
}

#form .store .answer {
 display: block;
 margin: 0 0 16px 0;
 font-weight: 700;
}

#form .store li:last-child .answer {
 margin: 0 0 0 0;
}

ul.clear.store-name li {
 margin: 0 0 16px 0;
 padding: 0 8px 8px 8px;
 float: left;
 box-sizing: border-box;
}

.gift ul li {
 margin: 0 0 8px 0;
}

.gift_guide {
 padding: 40px 40px 0 40px;
}

.gift_guide p {
 line-height: 1.8;
}

.gift_guide .get + p {
 margin: 32px 0 0 0;
}

.gift_guide h4 {
 font-weight: 700;
 margin: 16px 0 8px 0;
}

.get {
 background: #FFF;
 padding: 1px 16px 16px 16px;
 margin: 32px 0 0 0;
 text-align: center;
 border-radius: 16px;
 color: #5a2386;
 cursor: pointer;
}

.get:hover {
 box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1);
}

.get h3 {
 padding: 0;
 margin: 0;
 line-height: 1;
 font-size: 20px;
}

.get p {
 padding: 0;
 margin: 16px 0 0 0;
 line-height: 1.6;
 font-size: 12px;
}

.get .url {
 margin: 8px 0 4px 0;
 font-size: 18px;
 font-weight: 700;
}

.inquiry {
 padding: 16px 24px;
 border: 1px solid #d7dbe5;
 margin: 16px 0 0 0;
}

.inquiry h4 {
 padding: 0;
 margin: 0 0 16px 0;
}

.privacypolicy {
 padding: 32px;
 background: #FFF;
 margin: 40px 40px 0 40px;
 border-radius: 8px;
}
