body {
 font-family: Helvetica, Arial, Verdana, sans-serif;
 font-size: 13px;
 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: #51257a
}
p.error {
 font-size: 13px !important;
 font-weight: bold;
 display: none;
 margin: -4px 0 4px 0;
 padding: 0;
 color: #f00;
}
div, th, td {
 box-sizing: border-box;
}
.disc li {
 list-style-type: disc;
 margin: 0 0 0 1.5em;
}
.pc {
 display: none;
}
/* ----------interaction---------- */

.accordion, .accordion-open {
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.course1_accordion-contents, .course2_accordion-contents {
 display: none;
}
.hidden {
 display: none;
}
/* ----------btn---------- */

a.btn::before, a.btn::after {
 position: absolute;
 z-index: -1;
 display: block;
 content: '';
}
a.btn, a.btn::before, a.btn::after {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-transition: all .3s;
 transition: all .3s;
}
a.btn {
 font-size: 140%;
 font-weight: 700;
 line-height: 60px;
 position: relative;
 display: block;
 height: 60px;
 margin: 0 5vw 12px 5vw;
 -webkit-transition: none;
 transition: none;
 text-align: center;
 text-decoration: none;
 color: #fff;
 border-radius: 4px;
 background-color: #da5d8c;
}
a.btn.negative {
 background-color: #CCC;
 margin: 0 5vw 16px 5vw;
}
div.btn {
 padding: 16px 0 0;
 text-align: center;
}
/* ----------base---------- */

.body {
 padding: 0 0 2vw 0;
 background: #fbe3f2 url(../images/bg.png);
}
p.lead {
 padding: 16px
}
/* ----------header---------- */

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

#form {
 background: #fff;
 border: 2px solid #f199c3;
 box-sizing: border-box;
 margin: 5vw 5vw 5vw;
 padding: 0 0 8px;
}
#form .required-notice {
 padding: 8px 0;
 text-align: center;
}
#form .required {
 color: red;
}
#form h2 {
 background: #f199c3;
 color: #fff;
 font-size: 120%;
 font-weight: 700;
 padding: 4px 4px 8px;
 text-align: center;
}
#form h3 {
 font-weight: 700;
 margin: 16px 0 8px 0;
}
#form .directions {
 margin: 0 0 16px 0;
}
#form p + ul {
 margin: 2vw 0 0 0;
}
#form .pp {
 border: 1px solid #CCC;
 margin: 0 20px 20px;
 padding: 10px;
}
#form .pp h3 {
 font-weight: 700;
 margin: 8px 0 0 0;
}
#form .pp p {
 margin: 12px 8px 8px;
}
#form .pp-apply {
 background: #fffcda;
 font-weight: 700;
 text-align: center;
}
/* ----------input---------- */

#form input.mail, #form input.address {
 box-sizing: border-box;
 width: 100%;
 box-sizing: border-box;
}
#form input.name {
 width: 40%;
}
#form input.postalcode1 {
 width: 3em;
}
#form input.postalcode2 {
 width: 4em;
}
#form input.tel {
 width: 25%;
}
#form .quiz input {
 width: 2em;
 font-size: 24px;
 font-weight: 700;
 text-align: center;
}
#form input.text {
 border: 1px solid #ccc;
 font-size: 140%;
 padding: 6px;
 box-sizing: border-box;
}
#form input.serial-text {
 font-size: 10vw !important;
 font-weight: 700;
 width: 100%;
 box-sizing: border-box;
}
/* ----------table---------- */

#form table {
 border-collapse: collapse;
 width: 100% !important;
}
#form th {
 background: #f1f1f1;
 padding: 3vw 5vw;
 text-align: left;
 vertical-align: top;
 display: block;
}
#form th.head {
 border-bottom: 1px solid #DDD;
}
#form td {
 box-sizing: border-box;
 display: block;
 padding: 5vw;
 width: 100%;
}
#form table.addresstable {
 border: none;
 border-collapse: collapse;
 width: 100%;
}
#form table.addresstable th {
 background: none;
 border: none;
 font-size: 100%;
 padding: 4px 0;
 vertical-align: middle;
}
#form .addresstable td {
 border: none;
 padding: 0 0 4px;
 vertical-align: middle;
}
/* ----------serial---------- */

#form .serial-input {
 margin: 0;
 position: relative;
}
#form .serial-input li {
 border-top: 1px solid #e6e6e6;
 margin: 0 0 0 0;
 padding: 2vw 0 2vw 0;
}
#form .serial-input li:first-child {
 border-top: none;
}
#form .serial-input li span {
 display: block;
 font-size: 12px;
}
#form .serial-input .serial-image {
 text-align: center;
 padding: 3vw 0;
}
#form .serial-input .serial-image img {
 width: 60%;
 margin: 0 0 0 10vw
}
#form .serial-input .answer {
 font-size: 200%;
 font-weight: 700;
 margin: -8px 0 -8px 0;
}
/* ----------store---------- */

#form .store ul {
 list-style-type: none;
 margin: 0;
}
#form .store ul li {
 list-style-type: none;
 margin: 0 0 16px 0;
 padding: 0 0 16px 0;
 border-bottom: 1px solid #CCC;
}
#form .store ul li:last-child {
 border-bottom: none;
 padding-bottom: 0;
}
#form .store ul li strong {
 font-size: 110%;
}
#form .store ul li ul {
 margin: 8px 0 0 0;
}
#form .store ul li ul li {
 border-bottom: none;
 margin: 8px 0 0 0;
 padding: 0 0 0 0;
}
#form .store ul li ul li input.text {
 width: 100%;
}
#form .store .answer {
 display: block;
 margin: 0 0 16px 0;
 font-weight: 700;
}
#form .store li:last-child .answer {
 margin: 0 0 0 0;
}
/* ----------prize---------- */

#form .prize {
 margin: 0 0 0 0;
}
#form .prize li {
 margin: 0 0 8px 0;
 margin: 0 0 8px 0;
 margin-left: 1.8em;
 text-indent: -1.8em;
}
#form .prize-table tr {
 width: 100%;
}
#form .prize-table td {
 border: none;
 display: table-cell;
 padding: 4px 0 4px 0;
 width: 25%;
 text-align: right;
}
#form .prize-table tr td:first-child {
 width: 75%;
 text-align: left;
}
#form .prize-table + p {
 margin: 2vw 0 0 0;
}
/* ----------enquete---------- */

#form .enquete .choice {
 margin: 16px 0 0 0;
}
#form .enquete .answer {
 margin: 8px 0 0 0;
}
#form .enquete ul li {
 margin: 0 0 8px 0;
 margin-left: 1.8em;
 text-indent: -1.8em;
}
#form .enquete .answer ul li {
 margin-left: 0;
 text-indent: 0;
}
.enquete ol > li {
 padding: 0 0 12px 0;
 margin: 0 0 16px 0;
 border-bottom: 1px solid #eedbdf;
}
.enquete ol > li:last-child {
 border-bottom: none;
 margin: 0 0 0 0;
}
p.question {
 font-size: 110%;
 font-weight: 700;
 margin: 0 0 8px 0;
}
p.question {
 line-height: 1.4;
 font-weight: 700;
 margin: 0 0 8px 0;
}
/* ----------quiz---------- */

.quiz {
 background: #fffcd9;
 font-size: 14px;
 line-height: 1.4;
 padding: 12px 16px;
 position: relative;
}
.quiz.quiz_answer {
 margin: 16px 0 8px 0;
}
/* ----------information---------- */

.HAF {
 margin: 0 5vw 0 5vw;
 padding: 5vw 0 0 0;
 border-top: 1px solid #CCC;
}
.HAF .HAF-image {
 text-align: center;
 padding: 0 0 5vw 0;
}
.HAF img {
 width: 100%;
}
.HAF .HAF-text {}
#form .HAF h2 {
 background: none;
 color: #0069af;
 font-size: 140%;
 text-align: left;
 margin: 0;
 padding: 0;
}
.HAF p {
 margin: 2vw;
 line-height: 1.8;
 padding: 0;
}
.HAF a.btn {
 margin: 3vw 0;
 line-height: 1;
 height: auto;
 font-size: 3.5vw;
 background: #0069af;
 display: block;
 padding: 5vw;
}
.HAF a.btn:hover {
 background: #0069af;
}
footer {
 padding: 3vw 5vw 5vw 5vw;
 margin: 0 0 0 0;
 text-align: right;
 background: #FFF;
}
footer p.approval {
 font-size: 2vw;
 margin: 0 0 5vw 0;
 color: #999;
}
footer img {
 width: 30vw;
}
footer p {
 font-size: 2vw;
 font-weight: 400;
 margin: 5vw 0 0 0;
}
p.note {
 font-size: 12px;
}
.clear {
 zoom: 1
}
.clear:after {
 display: block;
 visibility: hidden;
 clear: both;
 height: 0;
 content: '';
}
.inquiry {
 text-align: left;
 color: #000;
 margin: 0 auto;
}
.inquiry .inquiry_title {
 font-weight: 700;
}
.inquiry p {
 margin: 2vw 0 0 0;
 font-size: 13px;
}
/* ----------custom---------- */

.body {
 padding: 5vw 0 16px 0;
}
h1 {
 background: #FFF url(../images/title_bg.png) center center;
 background-size: cover;
 border-top: 2px solid #c56287;
 border-bottom: 2px solid #c56287;
 text-align: center;
 padding: 3vw 0 2vw 0;
}
h1 img {
 width: 80%;
}
.howto {
 background: #FFF;
 margin: 5vw 5vw 5vw 5vw;
 padding: 5vw;
}
.howto h2 {
 background: #f199c3;
 color: #FFF;
 font-size: 120%;
 font-weight: 700;
 text-align: center;
 margin: -5vw -5vw 0 -5vw;
 padding: 2vw;
}
.howto .image {
 text-align: center;
 padding: 5vw 0 3vw 0;
}
.howto img {
 width: 100%;
}
.howto h3 {
 font-weight: 700;
 margin: 5vw 0 0 0;
}
.howto .mail_notice {
 padding: 4vw;
 margin: 5vw 0 0 0;
 background: #FFF;
 border: 2px solid #d54f81;
}
.machiuke_select .mail_notice {
 padding: 5vw;
 margin: 5vw 0 0 0;
 background: #FFF;
 border-left: 4px solid #d54f81;
 line-height: 1.6;
}
.mail_notice strong {
 background: #ffff00
}
.storename_input {
 border-right: none !important;
}
.machiuke_present {
 background: #eef8fa;
 border: 4px solid #1799b5;
 padding: 5vw;
 margin: 5vw 0 2vw 0;
}
#form .machiuke_present .directions {
 margin: 0;
}
#form .machiuke_present li {
 margin: 0 0 2vw 0;
}
#form .machiuke_present p + ul {
 margin: 3vw 0 0 0;
}
#form .machiuke_present ul + p.directions {
 margin: 5vw 0 0 0;
}
.machiuke_input, .case_select {
 display: none;
}
.machiuke_select {
 margin: 5vw 0 0 0;
}
