body {
 font-family: 'Helvetica Neue', Helvetica, Arial, Verdana, 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
 margin: 0;
 padding: 0;
 color: #333;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 font-feature-settings: "palt";
}

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: rgb(0,21,180);
background: -moz-linear-gradient(left, rgb(0,21,180) 0%, rgb(0,186,212) 100%);
background: -webkit-linear-gradient(left, rgb(0,21,180) 0%,rgb(0,186,212) 100%);
background: linear-gradient(to right, rgb(0,21,180) 0%,rgb(0,186,212) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0015b4', endColorstr='#00bad4',GradientType=1 );
 border-radius: 4px;
 color: #fff;
 display: inline-block;
 font-size: 140%;
 font-weight: 700;
 line-height: 60px;
 margin: 0 16px;
 position: relative;
 text-align: center;
 text-decoration: none;
 transition: none;
 width: 380px;
border-radius: 64px;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -webkit-transition: all .3s;
 box-sizing: border-box;
 transition: all .3s;
    padding: 8px 32px;
    box-sizing: border-box;
}

a.btn:hover {
    opacity: 0.8;
}

a.btn.negative {
 background: #CCC !important;
}

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

input.btn {
    background: rgb(0,21,180);
    background: -moz-linear-gradient(left, rgb(0,21,180) 0%, rgb(0,186,212) 100%);
    background: -webkit-linear-gradient(left, rgb(0,21,180) 0%,rgb(0,186,212) 100%);
    background: linear-gradient(to right, rgb(0,21,180) 0%,rgb(0,186,212) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0015b4', endColorstr='#00bad4',GradientType=1 );
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 140%;
    font-weight: 700;
    line-height: 60px;
    margin: 0 16px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: none;
    width: 380px;
    border-radius: 64px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-transition: all .3s;
    box-sizing: border-box;
    transition: all .3s;
    padding: 8px 32px;
    box-sizing: border-box;
    border-style: none;
}

input.btn:hover {
    opacity: 0.8;
}

input.btn.negative {
 background: #CCC !important;
}

input.btn.negative:hover {
 background-color: #999 !important;
}

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


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

#form {
 width: 800px;
 margin: 0 auto;
 padding: 0 0 40px 0;
}


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


footer {
 width: 800px;
 padding: 0 0 56px 0;
 margin: 0 auto 0 auto;
 background: #FFF;
 position: relative;
}
footer p {
 font-size: 12px;
}

p.note {
 font-size: 12px;
 margin: 0 0 0 16px;
}

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

header {
    background: #003595;
    margin: 0 0 64px 0;
    padding: 32px 0 32px 0;
    display: block;
}

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

.logo img {
 width: 100px;
}

header .link {
    width: 800px;
    padding: 16px 0 0 0;
    margin: 0 auto 0 auto;
    display: flex;
    justify-content: flex-end;
    column-gap: 30px;
}

header .link a {
    display: block;
    color: white;
}

.lead {
 border: 1px solid #CCC;
 width: 800px;
 margin: 32px auto 0 auto;
 padding: 1.5em;
}

.lead p:nth-of-type(n+2) {
 margin: 1em 0 0 0;
}


h1 {
    color: #013595;
    font-size: 32px;
    text-align: center;
    padding: 40px 0 0 0;
    color: #FFF;
}


#form h2 {
 font-weight: 700;
 font-size: 16px;
 margin: 32px 0 8px 0;
 background: #EEE;
 padding: 8px;
}

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

#form h3 strong {
 background: #fff4ce;
}

#form h3 span.num {
 color: #999;
 margin: 0 8px 0 0;
}

#form h3 span.note {
 font-weight: 400;
 font-size: 12px;
}

#form h4 {
 font-weight: 700;
 font-size: 16px;
 margin: 20px 0 0 24px;
}

#form h2 + ul,
#form h2 + p.error + ul,
#form select,
#form input.text,
#form textarea.text,
p.ptext,
p.error {
 margin: 12px 0 0 32px;
}

#form li {
 padding: 0 0 0 24px;
 position: relative;
 vertical-align: middle;
}

#form li label {
 display: block;
 width: 100%;
}

#form li label:hover {
 background-color: #eef8ff;
}

#form li span.note {
 font-size: 12px
}

#form li input {
 position: absolute;
 left: 0;
 top: 7px;
 vertical-align: middle;
}

.disabled td {
 background: #EEE;
}

li label {
 padding: 4px 0;
}

li label:hover {
 background-color: #eef8ff;
}

.cross-highlight {
 border-spacing: 0;
 border-collapse: collapse;
 overflow: hidden;
}

.cross-highlight tr:hover {
 background-color: #eef8ff;
}

.cross-highlight tr.disabled:hover {
 background-color: #EEE !important;
}

.cross-highlight td,
.cross-highlight th {
 position: relative;
}

.cross-highlight td:hover {
 background-color: #cfe4f5;
}

.cross-highlight .disabled td:hover {
 background: #EEE !important;
}

.cross-highlight td:hover:after {
 content: "";
 background-color: #eef8ff;
 width: 100%;
 height: 200vh;
 position: absolute;
 top: -100vh;
 left: 0;
 z-index: -1;
}

.cross-highlight .disabled td:hover:after {
 background-color: transparent !important;
}

.answer {
 margin: 12px 0 0 32px;
 background: #eef8ff;
}

#form div.answer  {
    padding: 8px;
    
}
#form ul.answer {
 list-style-type: disc;
    padding: 4px 0;
}
#form ul.answer li{
 margin: 4px 0 4px 32px;
 list-style-type: disc;
    padding: 4px 0;
}

.answer_num {
 display: inline-block;
 font-size: 18px;
 font-weight: 700;
 background: #eef8ff
} 

.email {
 margin: 16px 0 0 32px;
 width: 600px;
 border: 1px solid #ccc;
 font-size: 120%;
 padding: 8px;
 border-radius: 4px;
}

.text {
 margin:8px;
 width: 10em;
 /* text-align: right; */
 border: 1px solid #ccc;
 font-size: 140%;
 padding: 8px;
 border-radius: 4px;
}

.storeinput {
 width: 20em;
}

.hidden {
 display: none;
}

.q9_no_required {
  padding: 8px 0;
}

#form textarea.text {
    width: 80%;
}

.gridform {
    /* display: flex; */
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
}

.full-gridcolumn {
    grid-column: 1 / 3;
}

hr {
    margin-top: 32px;
}

#form h2.category {
    background-color: #013595;
    color: #FFF;
}
