/*! normalize.css v3.0.1 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

* {
  box-sizing: border-box;
}

html {
  font-family: sans-serif; /* 1 */
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

body {
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,'ＭＳ Ｐゴシック',sans-serif;
  background: #fff;
  color: #444;
  -webkit-font-smoothing: antialiased;
}

a {
  color: #215187;
  transition: all .2s;
}

a:hover {
  color: #193d66;
}

a.blt-arrow {
  position: relative;
  display: inline-block;
  padding-left: 15px;
}
a.blt-arrow:after{
  content:"";
  display:block;
  background: url(../images/blt_txtLink_arrow.gif)  no-repeat;
  width:8px;
  height:11px;
  position:absolute;
  left:2px;
  top:8px;
}

b {
  color: #448b9e;
  font-weight: bold;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

h1 a,
h1 a:hover,
h2 a,
h2 a:hover,
h3 a,
h3 a:hover,
h4 a,
h4 a:hover,
h5 a,
h5 a:hover,
h6 a,
h6 a:hover {
  color: #444;
  text-decoration: none;
}

p {
  font-size: 18px;
  font-size: 1.125rem;
}

.sticky-wrapper {
  z-index: 1;
}

.btn-regist {
  text-align: left;
  text-indent: -9999px;
  overflow: hidden;
}

.stuck {
  position: fixed;
  top: 0;
  z-index: 100;
}

.sticky {
  /*width: 1200px;*/
}

.btn {
  display: inline-block;
  text-align: center;
  padding: .6em 1.2em;
  cursor: pointer;
  line-height: 1.5;
  font-size: 90%;
  border-radius: .25em;
  overflow: hidden;
  color: #215187;
  background-color: transparent;
  text-decoration: none;
  border: 1px solid #215187;
  transition: all .2s;
}

.btn:hover {
  background-color: #215187;
  color: #fff;
  text-decoration: none;
  border-color: #215187;
}

.btn-light {
  border-color: #999;
  color: #444;
}

.btn-light:hover {
  background-color: #444;
  border-color: #444;
  color: #fff;
}

.btn-primary {
  background-color: #215187;
  color: #fff;
  border-color: #215187;
}

.btn-primary:hover {
  background-color: #193d66;
  color: #fff;
  border-color: #193d66;
}

.btn-large {
  padding: .7em 2em;
  font-size: 120%;
  box-sizing: border-box;
  border-width: 2px;
}

.btn-box {
  font-size: 24px;
  font-size: 1.5rem;
  text-decoration: none;
  display: block;
  border: solid 1px #4c4c4c;
  font-weight: bold;
  text-align: center;
  width: 337px;
  height: 40px;
  line-height: 40px;
  margin: 20px auto 0;
}

.btn-box:hover {
  border-color: #cccc00;
  background: #ffff66;
}

.btn-box span {
  display: inline-block;
  color: #4f4f4f;
  background: url(../images/bg_boxBtn_after.png) right center no-repeat;
  padding-right: 30px;
}

.btn-regist {
  box-sizing: border-box;
  background: #e59100;
  box-shadow: 0px 5px 0px 0px #b97500;
  border-radius: 5px;
  border: 1px solid #e59100;
  display: block;
  cursor: pointer;
  text-decoration: none;
  width: 540px;
  height: 76px;
  margin: 0 auto;
  margin-top: 10px;
}

.btn-regist:hover {
  background: #ffab19;
  box-shadow: 0px 5px 0px 0px #b27100;
  border-color: rgba(255, 255, 255, 0);
}

.btn-regist:active {
  -webkit-animation: blink 0.5s ease;
          animation: blink 0.5s ease;
  box-shadow: 0px 0px 0px 0px #7f5000;
  -webkit-transform: translate(0, 5px);
      -ms-transform: translate(0, 5px);
          transform: translate(0, 5px);
}

.btn-regist::after {
  display: block;
  content: '';
  width: 540px;
  height: 45px;
  margin-top: -13px;
  background: url(../images/btn_registration.png) 0 0 no-repeat;
}

[class^="hero"] .btn-regist {
  width: 520px;
  height: 70px;
  margin: 0 auto;
  position: relative;
}
[class^="hero"] .btn-regist::after {
  width: 490px;
  background-position: -10px -4px ;
}
[class^="hero"] .btn-regist::before{
  display: block;
  content: '';
  position: absolute;
  width: 24px;
  height: 32px;
  top: 50%;
  right: -1px;
  margin-top: -24px;
  background: url(../images/btn_registration.png) right 0 no-repeat;
}


.l-container {
  width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.l-row {
  margin-left: -15px;
  margin-right: -15px;
  *zoom: 1;
}

.l-row:before,
.l-row:after {
  display: table;
  content: " ";
}

.l-row:after {
  clear: both;
}

[class*="l-span"] {
  float: left;
  padding-right: 15px;
  padding-left: 15px;
  min-height: 1px;
  box-sizing: border-box;
}

.l-span1 {
  width: 8.33333%;
}

.l-span2 {
  width: 16.66667%;
}

.l-span3 {
  width: 25%;
}

.l-span4 {
  width: 33.33333%;
}

.l-span5 {
  width: 41.66667%;
}

.l-span6 {
  width: 50%;
}

.l-span7 {
  width: 58.33333%;
}

.l-span8 {
  width: 66.66667%;
}

.l-span9 {
  width: 75%;
}

.l-span10 {
  width: 83.33333%;
}

.l-span11 {
  width: 91.66667%;
}

/*body.lp {
  background: #fdfdfd;
}*/

.wrapper {
  margin: 0 auto;
  text-align: left;
}

.wrapper > * {
  /*margin: 0 auto;
  text-align: left;*/
}

.wrapper > .sticky-wrapper {
  text-align: center;
}

.header {
  background: white;
  width: 100%;
  min-width: 985px;
  text-align: left;
}

.header .sub-header {
  border-bottom: solid 1px #b8b8b8;
}

.logout .header .sub-header {
  margin: 0 auto;
  height: auto;
  text-align: center;
}

.logout .header .sub-header .container {
  width: 985px;
  margin: 0 auto;
  padding: 5px 0;
}

.logout .header .sub-header li:first-child {
  /*display: none;*/
}

.header .sub-header ul {
  text-align: right;
  /*display: inline-block;
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;*/
}

.header .sub-header ul li {
  font-size: 14px;
  font-size: 0.875rem;
  display: inline-block;
  padding-left: 35px;
}

.header .sub-header ul li:last-child {
  /*padding-right: 0;*/
}

.header .sub-header ul li:last-child a {
  font-size: 12px;
  font-size: 0.75rem;
}

.header .inner-header {
  font-size: 12px;
  font-size: 0.75rem;
  max-width: 985px;
  height: 67px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.header .inner-header > span {
  display: inline-block;
  margin: 0;
}

.header .inner-header > span a{
  width: 83px;
  display: block;
}

.header .inner-header > span img {
  vertical-align: top;
  pointer-events: none;
}

.header .inner-header > h1 {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: normal;
  position: absolute;
  top: -17px;
  left: 180px;
  max-height: 93px;
  overflow: hidden;
}

.header .inner-header > h1 span {
  display: table-cell;
  vertical-align: middle;
  line-height: 1;
  /*max-width: 430px;*/
  height: 99px;
  padding: 0 18px;
  word-wrap: break-word;
}

.header .inner-header > h1 + ul {
  /*display: block;
  float: right;
  list-style: none;
  padding: 0;
  font-size: 0;*/
}

.logout .header .inner-header > h1 + ul {
  /*display: none;*/
  padding-top: 10px;
}
.hero{
  background: #529cc4;
}
[class^="hero"] {
  background: url(../images/bg_hero.png) center 16% no-repeat #529cc4;
  position: relative;
}

[class^="hero"] .mainImg {
  overflow: hidden;
  text-align: center;
}

[class^="hero"][class*="T101"] .mainImg {
  background: url(../images/hero_01.png) 50% 0 no-repeat ;
  min-height: 425px;
  text-indent: -9999px;
}

[class^="hero"][class*="T102"] .mainImg {
  background: url(../images/hero_02.png) 50% 0 no-repeat ;
  min-height: 415px;
  text-indent: -9999px;
}





[id^=beacon] {
  position: relative;
  z-index: -1;
  overflow: hidden;
  background: red;
  width: 10px;
  height: 0;
  top: -160px;
}

.logout [id^=beacon] {
  top: -152px;
}

.local-nav {
  width: 100%;
  background: #4173ab;
  height: 60px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0;
}

.local-nav a {
  font-size: 20px;
  font-size: 1.25rem;
  display: inline-block; /*background: #4173ab url(../images/blt_check.png) 20px 0 no-repeat;*/
  height: 60px;
  line-height: 60px;
  color: white;
  text-decoration: none;
  font-weight: bold;
  padding: 0 20px 0 60px;
}

.local-nav a.button-active,
.local-nav a:hover {
  background: #2d4e74 url(../images/blt_check.png) 20px 0 no-repeat;
}


.local-nav.stuck {
  top: 101px;
}

.logout .local-nav.stuck {
  top: 92px;
}

.h2-container {
  background: #2d4e74;
  text-align: center;
  padding: 32px 0 32px;
}

#outline > .h2-container {
  padding: 30px 0 30px;
}

#qa > .h2-container {
  padding: 20px 0 30px;
}

#special > .h2-container {
  padding: 25px 0;
}

.h2-container p {
  color: white;
  line-height: 1.2;
  margin-top: 15px;
}

.content h3 {
  position: relative;
  z-index: -1;
  font-size: 0; /*height: 130px;*/
  margin-bottom: 25px;
  background: #448cc1;
  color: white;
  text-align: center;
  padding: 36px 0;
}

.content h3::after {
  content: '';
  position: absolute;
  bottom: -25px;
  left: 0;
  right: 0;
  width: 100%;
  height: 25px;
  z-index: 1;
  background: url(../images/bg_h3_after.png) center 0 no-repeat;
}

.content h3 span {
  font-size: 40px;
  font-size: 2.5rem; /*height: 130px;
      line-height: 130px;
      display: inline-block;*/
  background: url(../images/blt_h3.png) 0 center no-repeat;
  padding-left: 75px;
}

.content > ol {
  background: url(../images/bg_h3_step.png) 0 0 no-repeat;
  list-style: none;
  display: block;
  margin: 0 auto 50px;
  padding: 0;
  font-size: 0;
  width: 960px;
}

.content > ol li {
  display: table-cell;
  width: 320px;
  text-align: center;
  padding: 247px 0 0;
}

.content > ol li strong {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: normal;
  color: #4f4f4f;
}

.content > ol li strong span {
  font-size: 24px;
  font-size: 1.5rem;
  display: table-cell;
  width: 320px;
  height: 50px;
  line-height: 1;
  font-weight: bold;
  vertical-align: middle;
  color: #f75050;
}

.content > ol li p {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 10px; /*white-space: nowrap;*/
}


.content #about + ol li > small {
  font-size: 12px;
  font-size: 0.75rem;
  display: block;
  margin-top: 25px;
  text-align: left;
}

.content #about + ol li > small span {
  display: block;
}
.content #about + ol li > small >a{
  font-size: 1.2em;
}


.content #whatkind {
  margin-top: 45px;
}

.content #whatkind + ol { /*padding-bottom: 100px;*/
  background: url(../images/bg_h3_whatkind.png) 0 0 no-repeat;
}

.content #whatkind + ol li {
  position: relative;
  z-index: -1;
  background: url(../images/bg_h3_whatkind.jpg) 0 0 no-repeat;
  padding-top: 290px;
}

.content #whatkind + ol li:nth-child(2) {
  background: url(../images/bg_h3_whatkind.jpg) -334px 0 no-repeat;
}

.content #whatkind + ol li:nth-child(3) {
  background: url(../images/bg_h3_whatkind.jpg) -670px 0 no-repeat;
}

.content #whatkind + ol li strong {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: normal;
  color: #ee7e7e;
}

.content #whatkind + ol li strong > span {
  color: #ee7e7e;
}

.content #whatkind + ol li strong span {
  font-size: 30px;
  font-size: 1.875rem;
}

.content #whatkind + ol li strong + p {
  margin-top: 18px;
}

.content #whatkind + ol li small {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  color: #ce0000;
  margin-top: 5px;
}

.content .mechanismBox{
  width: 985px;
  margin: 0 auto;
}
.content .mechanismBox >li:first-child{
  margin-bottom: 20px;
}

.content .mechanismBox >li >.mechanismImg{
  background: url(../images/bg_h3_whatkind_2.jpg) 0 0 no-repeat;
  display: block;
  width: 100%;
  height: 300px;
  white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
}

.content .mechanismBox >li >p{
  padding: 0 20px;
  font-size: 1.15em;
}


.content .leadArea{
  width: 985px;
  margin: 0 auto;
  padding: 40px 0 35px;
}
.content .leadArea p{
  font-size: 1.35em;
}

.content .leadArea ol{
  margin-top: 20px;
  font-size: 1.1em;
}

.lineup .inner{
  width: 985px;
  margin: 0 auto;
}

.lineup h5{
  color: #4C4C4C;
  font-weight: bold;
  font-size: 1.5em;
  border-left: #A6B393 solid 10px;
  padding-left: 10px;
  margin-bottom: 20px;
}

.lineup .tableBox{
  border: #D1D1D1 solid 3px;
  border-radius: 6px;
  margin-bottom: 40px;
}

.lineup .tableBox table{
  background: #fdfdfd;
  border-radius: 6px;
}
.lineup .tableBox table tr,
.lineup .tableBox table th,
.lineup .tableBox table td {
  border-collapse: collapse;
}

.lineup .tableBox table tr{
  border-top: 2px solid #d1d1d1;
}
.lineup .tableBox table tr:first-child{
  border-top: 0;
}
.lineup .tableBox table th{
  background: #fffbfa;
  border-radius: 6px;
  border-right: dotted 2px #d1d1d1;
  width: 20%;
  text-align: center;
  font-size: 1.25em;
  color: #4C4C4C;
  vertical-align: top;
  padding-top: 26px;
}
.lineup .tableBox table th span{
  font-size: 0.85em;
  font-weight: normal;
  display: block;
}

.lineup .tableBox table td{
  padding: 25px 34px 25px 24px;
}
.lineup .tableBox table td p{
  font-size: 1.1em;
}
.lineup .tableBox table td p span{
  font-weight: bold;
  font-size: 0.88em;
}

.lineup .e-gift{
  margin-bottom: 15px;
}

.lineup .e-gift img,
.lineup .e-gift span{
  display: inline-block;
  vertical-align: middle;
}
.lineup .lineupImg{
  padding: 5px 100px;
  text-indent: -9999px;
  background: url("../images/lineup_list.jpg") no-repeat #fdfdfd;
  background-position: center;
  border: #D1D1D1 solid 3px;
  border-radius: 6px;
  margin-bottom: 40px;
}


.lineup .caution_box{
  background: #F1ECDE;
  margin-bottom: 50px;
  padding: 15px 0 12px;
}
.lineup .caution_box li{
  padding: 0 15px;
  margin-bottom: 4px;
  font-size: 1.05em;
}

.btn-container {
  display: block;
  width: auto;
  background: #4173ab;
  color: white;
  margin: 0 auto;
  padding: 35px 0 45px;
  text-align: center;
}

[class^="hero"][class*="T101"] .btn-container {
  position:absolute;
  left: 50%;
  top: 248px;
  margin-left: -270px;
  background: none;
}

[class^="hero"][class*="T102"] .btn-container{
  background: none;
  padding: 5px 0 20px;
}

.btn-container img {
  display: block;
  margin: 0 auto;
}

.btn-container small {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  margin-top: 10px;
}
[class^="hero"][class*="T101"] .btn-container small{
  color: #013861;
}


.campaign {
  background: url(../images/ptn_campaign.png) 0 0 repeat;
  padding-bottom: 75px;
}

.campaign.mini {
  background: #fffc01;
  padding-bottom: 20px;
}

.campaign.mini > div {
  padding-top: 30px;
}

.campaign.mini > div h4 {
  font-size: 30px;
  font-size: 1.875rem;
}

.campaign.mini > div h4 em {
  font-size: 50px;
  font-size: 3.125rem;
}

.campaign > div { /*width: 744px;*/
  margin: 0 auto;
  padding-top: 35px;
}

.campaign > div h3 {
  font-size: 24px;
  font-size: 1.5rem;
  background: #b91e22;
  color: white; /*height: 36px;
        line-height: 36px;*/
  text-align: center;
  border-radius: 25px;
  width: 680px;
  margin: 0 auto;
}

.campaign > div h4 {
  font-size: 45px;
  font-size: 2.8125rem;
  font-weight: bold;
  text-align: center;
  color: #4f4f4f;
  margin-top: 10px; /*white-space: nowrap;*/
  line-height: 1.3;
}

.campaign > div h4 em {
  color: #b91e22;
  font-style: normal;
}

.campaign > div h4 small {
  font-size: 30px;
  font-size: 1.875rem;
  display: block;
}

.campaign > div h4 + p {
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
  margin-top: 10px;
  line-height: 1.4; /*white-space: nowrap;*/
}

.campaign > table th {
  background: url();
  padding-top: 230px;
  color: #ee7e7e;
}

table.detail {
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
}

table.detail th,
table.detail td {
  border-collapse: collapse;
}

table.detail .w50 {
  width: 100%;
}

table.detail .w50 th,
table.detail .w50 td {
  width: 50%;
  vertical-align: middle;
  text-align: center;
}

table.detail .w50 th {
  font-size: 34px;
  font-size: 2.125rem;
  background: url(../images/bg_registration.png) 16px 0 no-repeat;
  height: 320px;
  vertical-align: bottom;
  font-weight: bold;
  line-height: 1;
}

table.detail .w50 th small {
  font-size: 24px;
  font-size: 1.5rem;
}

table.detail .w50 th:nth-child(2) {
  background: url(../images/bg_registration.png) -380px 0 no-repeat;
}

table.detail .w50 td {
  font-size: 14px;
  font-size: 0.875rem;
  color: #4f4f4f;
  padding-bottom: 35px;
}

table.detail .footnote {
  background: #fffcca;
  padding: 20px 40px;
}

table.detail .footnote dl {
  margin: 0;
  padding: 0;
}

table.detail .footnote dl dt,
table.detail .footnote dl dd {
  font-size: 16px;
  font-size: 1rem;
  color: #4f4f4f;
  font-weight: normal;
}

table.detail .footnote dl dt {
  height: 20px;
  line-height: 20px;
}

table.detail .footnote dl dt::before {
  display: inline-block;
  content: '';
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  background: #d7d7d7;
  margin-right: 5px;
}

table.detail .footnote dl dd {
  margin: 10px 0 0;
  line-height: 1.5;
}

table.detail .footnote dl dd p {
  line-height: 1.2;
}

table.detail .footnote dl dd + dt {
  margin-top: 30px;
}

table.detail .footnote ul {
  margin: 0;
  padding: 0;
  list-style-position: inside;
  list-style: none;
}

table.detail .footnote ul li {
  margin-left: 20px;
  text-indent: -20px;
}

table.detail .footnote ul + p {
  font-size: 16px;
  font-size: 1rem;
  margin: 0;
}

#outline figure {
  width: 984px;
  margin: 30px auto 60px;
}

#outline figure img {
  margin-bottom: 40px;
}

#outline figure p,
#outline figure nav {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4;
}

#outline figure p {
  margin: .5em 0 0;
  padding-left: 2em;
  text-indent: -2em;
}

#outline figure nav {
  margin-top: 30px;
}

#qa dl {
  width: 985px;
  margin: 50px auto 0;
}

#qa dl dt,
#qa dl dd {
  margin: 0;
}

#qa dl dt {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold; /*height: 50px;
    line-height: 50px;*/
  background: #e9f1f3;
  padding: 8px 0;
  padding-left: 30px;
}

#qa dl dd {
  font-size: 18px;
  font-size: 1.125rem;
  color: #4f4f4f;
  padding: 20px 30px 35px;
}

#qa dl dd p {
  line-height: 1.2;
}

#qa dl dd .foot-link {
  display: inline-block;
  background: url(../images/blt_txtLink_arrow.gif) 0 center no-repeat;
  padding-left: 12px;
}

#qa dl dd .foot-link .blt-arrow {
  background: none;
  padding-left: 0;
}

#special ul {
  list-style-type: none;
  margin: 20px auto 160px;
  padding: 0;
  width: 985px;
  font-size: 0;
}

#special ul li {
  display: inline-block;
  width: 490px;
  margin-top: 30px;
}

#special ul li > img {
  width: 170px;
  height: 100px;
  vertical-align: top;
}

#special ul li > p {
  font-size: 18px;
  font-size: 1.125rem;
  display: inline-block;
  width: 320px;
  height: 100px;
  overflow: visible;
  margin: 0;
  padding: 0 20px 0 15px;
  color: #4f4f4f;
  line-height: 1;
}

#special ul li > p strong {
  white-space: nowrap;
  font-size: 20px;
  font-size: 1.25rem;
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}

.copyright {
  font-size: 11px;
  font-size: 0.6875rem;
  padding-top: 0;
}

@media (min-width: 1240px) {

.l-container {
  width: 1170px;
}

}

@media (max-width: 1024px) {

.l-container {
  width: 720px;
}

}

@media (max-width: 767px) {

.l-container {
  width: auto;
  margin-left: 10px;
  margin-right: 10px;
}

.l-row {
  margin-left: -10px;
  margin-right: -10px;
}

}

@media (max-width: 480px) {

.l-row {
  margin-left: 0;
  margin-right: 0;
}

[class*="l-span"] {
  float: none;
  padding: 0;
  width: auto !important;
  margin-bottom: 1em;
}

}

@-webkit-keyframes blink {

0% {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

100% {
  -webkit-filter: none;
          filter: none;
}

}

@keyframes blink {

0% {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1.2" /><feFuncG type="linear" slope="1.2" /><feFuncB type="linear" slope="1.2" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

100% {
  -webkit-filter: none;
          filter: none;
}

}



/*201602 霑ｽ蜉�*/
.campaign_hits{
  background: #EAE59D;
  padding: 30px 0;
}


.campaign_hits .point{
  background: url("../images/hits_ttl.gif") no-repeat;
  width: 744px;
  height: 70px;
  white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
  margin: 0 auto 15px;
}

.campaign_hits .inner_box{
  width: 590px;
  padding: 20px 10px;
  margin: 0 auto 30px;
  color: #4C4C4C;
  background: #fff;
  border-radius: 8px;
  text-align: center;
}

.campaign_hits .inner_box p{
  font-size: 1.15em;
}
.campaign_hits .inner_box p.more_link a{
  font-size: 0.9em;
}

.campaign_hits .inner_box p em{
  font-weight: bold;
}


.campaign_hits .inner_box ul{
  background: url("../images/hits_lead.gif") no-repeat;
  width: 441px;
  height: 163px;
  margin: 20px auto 20px;
  white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
}



.campaign_hits .caution_box{
  width: 710px;
  margin: 0 auto;
  color: #4C4C4C;
  background: #F3F0C8;
  border-radius: 8px;
}
.campaign_hits .caution_box ul{
  padding: 12px 25px;
}
.campaign_hits .caution_box ul li{
  font-size: 0.95em;
}
.campaign_hits .caution_box ul li span{
  font-weight: bold;
}

#save .leadArea{
  width: 985px;
  margin: 0 auto;
  padding: 30px 0 10px;
}



/*--------------------------------
deco
---------------------------------*/

span.check{
  display: inline-block; 
  vertical-align: middle;
  background: url(../images/blt_check.png) no-repeat;
  background-position: 0 -14px ;
  height: 28px;
  width: 38px;
  line-height: 1;
}
span.maru{
  display: inline-block; 
  vertical-align: middle;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAl5JREFUeNqslktIVGEUx2c0mCG0QnJhpVRjRkJFD6hFZITQwiAX4kaizB6SUa3aaIW4kAiKUheBm5AQzECICN8UiAaCKKGhFYiClBhBkVLp+DvyXfFxz517L3Pgx2G+7zv3P+d7nmA0Gg24sbsNHRHcPkiDIPyELzAE/9x8Y0MMgUzcdSiE7cqw3/AW6qHN6XtBu8wQScFVQwkkBtxbH5TCoF1ngo3QUdwAXPUoJHYcPkBZTDGETuG6ISPg30JQC5WqGEJ7cS2QFIiP3YPL6zYIQuIbYbND8F9ohymQhd4ChyHiEFMDPTCyMrNrcMgh6CEcgLNwRdaz6nxuoTkKF2FWiQvDE+tH4nzkhGTVDJuUAPn4A5hZ2Xj64G5hAQa7h7420ZQLqTbxknkrTEpmZ2CHIlRqzo+jkeUYLh/mlCGXrGnMUwa8hmdudwOCo7gbSneeJXZMGVDnYwe2rJ1uY9sgXcR2KoH9XpXIToSGle5dIpaidP7web5+Ke3JCQ6LGvYppl3u/0Xsm9K5x6dYmtI+JWIflc4iryrcRDm4/TZd8t6NiViXEnvTR3a3lfZeuWVE7CUsKGv2yENWFeZg21nT0jlju07gXymD5C58o0yNJRIGeU6qHHb18+WXmsFZppYIOfz5x2YWvptbfyMcgfIY030Lnq4qCxC8Yy7ceNp7ubNhfu1LLc/IizgKfYYCS2iVGGsnKRZDQxyERsyTM63WIAjKebhgtvCsT6FGU/iMuyrlzBpK0XPfHO6QC5F3Zkd2eqobbWrIc3ASsmGrqYj/wKg5sPL2fYr1bxYFGAC355/AJquh7gAAAABJRU5ErkJggg==") ;
  background-repeat: no-repeat;
  height: 34px;
  width: 30px;
  line-height: 1;
}


/*--------------------------------
蜈ｱ騾�
---------------------------------*/


.checkTtl{
  background: #D4EFFF;
  color: #313131;
  width: 985px;
  margin: 0px auto 15px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 1.8em;
  padding: 10px 0;
}
.checkTtl span{
  margin-left: 20px;
  margin-right: 3px;
}

h4.checkTtl {
  background: #F2F2EF;
  padding: 10px 0 7px;
  color: #4C4C4C;
  margin: 0 auto 25px;
}




/*--------------------------------
豎守畑繧ｯ繝ｩ繧ｹ
---------------------------------*/
.mb00{  margin-bottom:  0px !important;}
.mb05{  margin-bottom:  5px !important;}
.mb10{  margin-bottom: 10px !important;}
.mb15{  margin-bottom: 15px !important;}
.mb20{  margin-bottom: 20px !important;}
.mb25{  margin-bottom: 25px !important;}
.mb30{  margin-bottom: 30px !important;}


