@charset 'utf-8';
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
* {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.pc-layout.sp,
.pc-layout .sp {
  display: none !important;
}
.sp-layout.pc,
.sp-layout .pc {
  display: none !important;
}
.ms {
  display: none !important;
}
body.sp-layout .hid-sp{
  display: none !important;
}
body.pc-layout .hid-pc{
  display: none !important;
}


@media screen and (min-width: 9999px) {
  .ms {
    display: block !important;
  }
}
.hidden {
  display: none !important;
}
img {
  vertical-align: bottom;
}
button,
.button {
  display: block;
  outline: none;
  border: none;
  color: inherit;
  background-color: transparent;
  padding: 0;
  line-height: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: inherit;
}
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
}
div,
p,
section,
ul,
li,
header,
footer,
main,
img,
a,
span,
button,
input,
select {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
a {
  cursor: pointer;
}
.flex-wrap {
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.flex-wrap.sp-layout {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -screen and (min-width: 9999px)-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-wrap.wrap {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -screen and (min-width: 9999px)-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-wrap.center {
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.flex-wrap.stretch {
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  -o-box-align: stretch;
  -screen and (min-width: 9999px)-flex-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
}
.flex-wrap.space-between {
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -screen and (min-width: 9999px)-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.flex-wrap.space-around {
  -webkit-box-pack: distribute;
  -moz-box-pack: distribute;
  -o-box-pack: distribute;
  -screen and (min-width: 9999px)-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
.flex-wrap.flex-start {
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -screen and (min-width: 9999px)-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.flex-wrap.flex-end {
  -webkit-box-align: end;
  -moz-box-align: end;
  -o-box-align: end;
  -screen and (min-width: 9999px)-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.mt-1 {
  margin-top: 1em;
}
.mt-2 {
  margin-top: 2em;
}
.mt-3 {
  margin-top: 3em;
}
.mb-1 {
  margin-bottom: 1em;
}
.mb-2 {
  margin-bottom: 2em;
}
.mb-3 {
  margin-bottom: 3em;
}
.mr-1 {
  margin-right: 1em;
}
.mr-2 {
  margin-right: 2em;
}
.mr-3 {
  margin-right: 3em;
}
.ml-1 {
  margin-left: 1em;
}
.ml-2 {
  margin-left: 2em;
}
.ml-3 {
  margin-left: 3em;
}
.w-10 {
  width: 10%;
}
.w-20 {
  width: 20%;
}
.w-30 {
  width: 30%;
}
.w-40 {
  width: 40%;
}
.w-50 {
  width: 50%;
}
.w-60 {
  width: 60%;
}
.w-70 {
  width: 70%;
}
.w-80 {
  width: 80%;
}
.w-90 {
  width: 90%;
}
.w-100 {
  width: 100%;
}
.inner-wrap {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.inner-wrap.sp-layout {
  width: auto;
}
.outer-wrap {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}
.outer-wrap.sp-layout {
  width: auto;
}
html {
  font-size: 16px;
}
html.sp-layout {
  font-size: 3.4vw;
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  font-weight: 500;
  color: #333;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
		-ms-font-feature-settings: "normal"
	*/
}
body.pc-layout {
  min-width: 1100px;
}
body.tablet-layout {
  width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}
img.sp-layout {
  width: 100%;
  height: auto;
}
.narrow {
  margin-left: -0.125em;
}
.narrow-r {
  margin-right: -0.125em;
}
.narrow-both {
  margin-left: -0.125em;
  margin-right: -0.125em;
}
.fw-r,
#lineup a.button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
	*/
}
.fw-m,
.campaign-container .title,
.campaign-container .period-2,
.campaign-container .p-2,
.campaign-container .price .tax-note,
.campaign-container .link,
.download-button-wrap .download-button .bar,
#reason #pie-chart .number {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
	*/
}
.fw-db,
#header .anchor-links,
.campaign-container .about-premiere-licence .about-1,
.campaign-container .p-1 em,
.campaign-container .price .number,
.campaign-container .button-wrap .button,
#slider .swiper-slide .about .text,
#reason .title,
#reason .number-wrap,
#reason .dataset em,
#reason .dataset .data:first-child strong,
#reason .dataset .p-2 strong,
#reason #pie-chart .label,
#feature .title em,
#feature ul.features .name,
#lineup .title,
#lineup .text-wrap strong,
#lineup .text-wrap em,
#lineup table th,
#lineup table td,
#lineup table .price,
#lineup a.button.bold,
#lineup .yellow,
#requirement .title,
#requirement .tab-button,
#requirement table th:nth-child(1),
#requirement table td:nth-child(1),
#requirement .notes-wrap-2 .label,
#answer .lead,
#answer ul.answers .question {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
	*/
}
.fw-b,
.campaign-container .title em,
#feature .title .bold {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
	*/
}
.bold {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
/*
	@media ms
		font-family: "Mplus 1p", sans-serif
	*/
}
.win-meiryo.os-windows,
#reason .notes.os-windows,
#feature ul.features .desc.os-windows,
#feature ul.features .note.os-windows,
#feature .feature-notes.os-windows,
#lineup .text-wrap .desc.os-windows,
#lineup table.os-windows,
#lineup ul.notes.os-windows,
#requirement .tab-contents.os-windows {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.win-meiryo.os-windows *,
#reason .notes.os-windows *,
#feature ul.features .desc.os-windows *,
#feature ul.features .note.os-windows *,
#feature .feature-notes.os-windows *,
#lineup .text-wrap .desc.os-windows *,
#lineup table.os-windows *,
#lineup ul.notes.os-windows *,
#requirement .tab-contents.os-windows * {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.anime-component,
#reason .star,
#reason #award-logo,
#reason #bar-chart-1,
#reason #bar-chart-2 {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.anime-component.sp-layout,
#reason .star.sp-layout,
#reason #award-logo.sp-layout,
#reason #bar-chart-1.sp-layout,
#reason #bar-chart-2.sp-layout {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
button {
  cursor: pointer;
  -webkit-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}
sup {
  font-size: 0.675em;
  vertical-align: top;
}
.pos-r {
  position: relative;
}
.pos-r .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transform-origin: right bottom;
  -moz-transform-origin: right bottom;
  -o-transform-origin: right bottom;
  -screen and (min-width: 9999px)-transform-origin: right bottom;
  transform-origin: right bottom;
  z-index: 3;
}
.circle-arrow {
  position: absolute;
  text-align: center;
  bottom: -40px;
  width: 100%;
  z-index: 2;
}
.circle-arrow.sp-layout {
  display: none;
}
#about-1 {
  background: -webkit-linear-gradient(#fff, #eae7e0 20%, #eae7e0 100%);
  background: -moz-linear-gradient(#fff, #eae7e0 20%, #eae7e0 100%);
  background: -o-linear-gradient(#fff, #eae7e0 20%, #eae7e0 100%);
  background: -"screen and (min-width: 9999px)"-linear-gradient(#fff, #eae7e0 20%, #eae7e0 100%);
  background: linear-gradient(#fff, #eae7e0 20%, #eae7e0 100%);
}
#about-2 {
  background-color: #e3ecf6;
  padding-top: 3em;
}
#about-2.sp-layout {
  padding-top: 1em;
}
#fixed-button {
  position: fixed;
  right: 0;
  bottom: 1em;
  z-index: 9;
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  font-size: 1.25em;
  padding: 1em 1.125em;
  background-color: #d9e021;
  color: #fff;
  border-radius: 2px;
}
#fixed-button.pc-layout:hover {
  background-color: #00b400;
}
#fixed-button.invisible {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
#header {
  padding: 1.5em;
}
#header.sp-layout {
  padding: 1em 0 0;
}
#header.fixed {
  padding-bottom: 15%;
}
#header.fixed .anchor-links {
  position: fixed;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 10;
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.067);
  box-shadow: 0 1px 4px rgba(0,0,0,0.067);
}
#header.fixed .anchor-links.sp-layout {
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -screen and (min-width: 9999px)-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#header .outer-wrap.sp-layout {
  display: block;
}
#header .logo.sp-layout {
  text-align: center;
  width: 8em;
  margin: 0 auto;
}
#header .anchor-links {
  background-color: #fff;
  letter-spacing: 0.15em;
}
#header .anchor-link {
  position: relative;
  font-size: 1.5em;
  margin: 0 0.3em;
  padding: 0.375em 0;
  width: 146px;
  text-align: center;
  border-bottom: 3px solid rgba(0,0,0,0.2);
  -webkit-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 768px) {
  #header .anchor-link:hover {
    color: #00b400;
    border-color: #00b400;
  }
}
#header .anchor-link.sp-layout {
  border: none;
  font-size: 1.1875em;
  padding: 1.125em 0 0.875em;
  width: auto;
  margin: 0 0.6em;
}
#header .anchor-link:last-child {
  margin-right: 0;
}
#header .anchor-link:last-child.sp-layout {
  margin-right: 0.6em;
}
#header .label.sp-layout {
  width: 1.5em;
  vertical-align: middle;
  margin-right: 0.25em;
}
#key-visual {
  overflow: hidden;
  height: 350px;
  position: relative;
}
#key-visual.sp-layout {
  height: auto;
}
#key-visual.tablet-layout {
  height: auto;
}
#key-visual:before,
#key-visual:after {
  position: absolute;
  content: '';
  top: 0;
  display: block;
  width: 50%;
  height: 297px;
}
#key-visual.sp-layout:before,
#key-visual.tablet-layout:before,
#key-visual.sp-layout:after,
#key-visual.tablet-layout:after {
  content: normal;
}
#key-visual:before {
  background-color: #FFFFFF;
  left: 0;
}
#key-visual:after {
  background-color: #FFFFFF;
  right: 0;
}
#key-visual img {
  position: absolute; 
        top: 0;             
        bottom: 0;           
        left: 0;        
        right: 0;
        margin: auto;  
        z-index: 2;
        max-height: 100%;

}

/*  備份
#key-visual img {
  position: absolute;
  /* left: calc(50% - 700px);  */

  /*
  max-height: 100%;
  z-index: 2;
}
*/ 

#key-visual img.sp-layout {
  position: static;
}
#key-visual img.tablet-layout {
  width: 110%;
  position: relative;
  left: -5%;
}
.campaign-container {
  padding-top: 1px;
}
.campaign-container.sp-layout {
  padding: 1em 1.25em;
}
.campaign-container.type-sem-4 .p-2 .number.sp-layout {
  letter-spacing: 0.05em;
}
.campaign-container.type-sem-8 .price-2 .p-2 .number.sp-layout {
  letter-spacing: 0.05em;
}
.campaign-container.type-a .about-premiere-licence.pc-layout:not(.tablet-layout) {
  top: -10em;
  left: -4em;
}
.campaign-container.type-rmk .price-container {
  margin-top: 4em;
}
.campaign-container.type-rmk .price-container.sp-layout {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -screen and (min-width: 9999px)-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding-left: 0;
  margin-top: 2em;
  padding-top: 0;
}
.campaign-container.type-rmk .package-image.sp-layout {
  width: 40%;
  padding-top: 2.5em;
  -webkit-background-size: auto 115%;
  -moz-background-size: auto 115%;
  background-size: auto 115%;
  background-position: left 35% top -20%;
}
.campaign-container.type-rmk .price-wrap.sp-layout {
  width: 57.5%;
  padding-top: 2.5em;
}
.campaign-container.type-rmk .p-1 em.sp-layout {
  font-size: 1.0625em !important;
  letter-spacing: 0;
}
.campaign-container.type-rmk .p-1 .small.sp-layout {
  font-size: 0.6em !important;
  margin-left: 0.5em;
}
.campaign-container.type-rmk .p-2 .normal.sp-layout {
  font-size: 1.0625em !important;
}
.campaign-container.type-rmk .p-2 .number.sp-layout {
  font-size: 1.25em !important;
}
.campaign-container.type-rmk .p-2 .tax-note.sp-layout {
  font-size: 0.75em;
}
.campaign-container.type-rmk .arrow.sp-layout {
  padding-right: 5em;
}
.campaign-container.type-rmk .from.sp-layout {
  width: 100%;
}
.campaign-container.type-rmk .to .number.sp-layout {
  font-size: 3.3125em !important;
}
.campaign-container.type-rmk .balloon.pc-layout {
  width: 260px;
}
.campaign-container.type-rmk .price .tax-note.sp-layout {
  font-size: 0.8125em;
  margin-left: 0.25em;
}
.campaign-container.double {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -screen and (min-width: 9999px)-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container.double {
    white-space: nowrap;
  }
}
.campaign-container.double > .title {
  width: 100%;
  padding-bottom: 0;
}
.campaign-container.double .balloon {
  display: none;
}
.campaign-container.double .price-container {
  width: 370px;
  height: 270px;
  margin: 0 10px;
}
.campaign-container.double .price-container.sp-layout {
  width: 100%;
  height: auto;
  margin: 0;
}
.campaign-container.double .link {
  width: 100%;
}
.campaign-container.double .from,
.campaign-container.double .to,
.campaign-container.double .arrow {
  width: auto;
  margin: 0;
}
.campaign-container.double .p-1 em.pc-layout {
  white-space: nowrap;
  letter-spacing: 0.05em;
}
.campaign-container.double .tax-note {
  margin-left: 0.5em !important;
}
.campaign-container.double .arrow {
  text-align: center;
  padding: 1.375em 0;
}
.campaign-container.double .arrow img {
  width: 66px;
  height: 25px;
}
.campaign-container.double .to {
  text-align: center;
}
.campaign-container.double .button-wrap {
  width: 59.5%;
  left: 20.25%;
  bottom: -1.375em;
}
.campaign-container.double .button-wrap.sp-layout {
  width: 75%;
  left: 12.5%;
}
.campaign-container.double .button-wrap .button {
  padding: 0.55em 0;
  font-size: 1.25em;
}
.campaign-container.double .button-wrap .button.sp-layout {
  font-size: 1.55em;
}
.campaign-container.double .price .number {
  font-size: 3em;
}
.campaign-container.double .price .number.sp-layout {
  font-size: 3.75em;
}
.campaign-container.double .price.four-digit {
  text-align: left;
}
.campaign-container.double .price.four-digit .number {
  font-size: 3.5em;
}
.campaign-container.double .price.four-digit .number.sp-layout {
  font-size: 4em;
}
.campaign-container .title {
  text-align: center;
  font-size: 2.375em;
  padding: 1.25em 0 1.5em;
  letter-spacing: 0.06em;
}
.campaign-container .title.sp-layout {
  font-size: 1.8125em;
  padding: 0.875em 0 0;
}
.campaign-container .title em {
  color: #f00;
}
.campaign-container .period-2 {
  width: 100%;
  text-align: center;
  font-size: 1.125em;
  margin: 25px auto 30px;
  white-space: nowrap;
}
.campaign-container .period-2.sp-layout {
  margin: 1em auto 1.5em;
}
.campaign-container .period-2 .wrap {
  display: inline-block;
  border: 1px solid #333;
  border-width: 1px 0;
  padding: 0.375em 0;
  width: 16em;
}
.campaign-container .period-2 span {
  margin-right: 0.5em;
}
.campaign-container .period-2 img {
  width: auto;
  height: 1em;
}
.campaign-container .price-container {
  background-color: #fff;
  max-width: 760px;
  margin: 0 auto;
  padding: 30px 42.55px 55px;
  position: relative;
  border-radius: 2px;
}
.campaign-container .price-container.sp-layout {
  padding: 2.5em 12.5% 2.75em;
  width: 100%;
}
.campaign-container .price-container + .price-container.sp-layout {
  margin-top: 3.5em;
}
.campaign-container .from {
  width: 47%;
  height: 4.5em;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -screen and (min-width: 9999px)-flex-wrap: wrap;
  flex-wrap: wrap;
}
.campaign-container .from.sp-layout {
  display: block;
  width: 100%;
  height: auto;
}
.campaign-container .from.pl-1 {
  padding-left: 1em;
}
.campaign-container .from.pl-1.sp-layout {
  padding-left: 0;
}
.campaign-container .from > * {
  width: 100%;
}
.campaign-container .from > *.sp-layout {
  width: auto;
}
.campaign-container .arrow {
  padding: 0 1em 0 0em;
  width: 5%;
}
.campaign-container .arrow.sp-layout {
  margin: 0.75em auto;
  width: 100%;
  padding: 0;
}
.campaign-container .arrow img {
  height: 4em;
}
.campaign-container .arrow img.sp-layout {
  height: 2em;
}
.campaign-container .about-premiere-balloon.sp-layout {
  position: absolute;
  top: -1.75em;
  left: 2em;
  width: 65%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -o-transform-origin: center bottom;
  -screen and (min-width: 9999px)-transform-origin: center bottom;
  transform-origin: center bottom;
}
.campaign-container .about-premiere-balloon.tablet-layout {
  display: block !important;
  position: absolute;
  width: 14em;
  top: -1.5em;
  left: 2em;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -o-transform-origin: center bottom;
  -screen and (min-width: 9999px)-transform-origin: center bottom;
  transform-origin: center bottom;
}
.campaign-container .about-premiere-licence {
  display: none;
  position: absolute;
  left: calc(50% - 262px);
  top: -70%;
  z-index: 2;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .about-premiere-licence {
    white-space: normal;
  }
}
.campaign-container .about-premiere-licence.sp-layout,
.campaign-container .about-premiere-licence.tablet-layout {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.8);
  z-index: 20;
}
.campaign-container .about-premiere-licence .wrap-wrap.sp-layout {
  padding: 0 2em;
}
.campaign-container .about-premiere-licence .wrap-wrap.sp-layout,
.campaign-container .about-premiere-licence .wrap-wrap.tablet-layout {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
.campaign-container .about-premiere-licence .wrap {
  position: relative;
  background-color: rgba(0,0,0,0.933);
  color: #fff;
  padding: 1.5em 2em;
  line-height: 1.6;
  width: 525px;
  border-radius: 2px;
}
.campaign-container .about-premiere-licence .wrap.sp-layout,
.campaign-container .about-premiere-licence .wrap.tablet-layout {
  color: inherit;
  background-color: #fff;
  padding: 1.5em 1em;
}
.campaign-container .about-premiere-licence .wrap.tablet-layout {
  padding: 2.75em 2em 3em;
  width: 60%;
}
.campaign-container .about-premiere-licence .about-1 {
  font-size: 1.125em;
  margin-bottom: 0.25em;
}
.campaign-container .about-premiere-licence .about-1.sp-layout,
.campaign-container .about-premiere-licence .about-1.tablet-layout {
  text-align: center;
  color: #00b400;
  font-size: 1.3125em;
}
.campaign-container .about-premiere-licence .about-2 {
  font-size: 0.9375em;
  letter-spacing: 0.015em;
}
.campaign-container .about-premiere-licence .about-2.sp-layout,
.campaign-container .about-premiere-licence .about-2.tablet-layout {
  font-size: 1.0625em;
}
.campaign-container .about-premiere-licence .close-button {
  position: absolute;
  right: -1em;
  top: -1em;
  width: 2em;
}
.campaign-container .about-premiere-licence .close-button.tablet-layout {
  display: block !important;
}
.campaign-container .p-1 {
  position: relative;
  display: inline-block;
  width: auto;
}
.campaign-container .p-1 em {
  color: #00b400;
  font-size: 1.5em;
  letter-spacing: 0.075em;
}
.campaign-container .p-1 em.sp-layout {
  font-size: 1.75em;
  white-space: nowrap;
  letter-spacing: 0.0375em;
}
.campaign-container .p-1 em.narrow-small {
  letter-spacing: 0.03em;
}
.campaign-container .p-1 em.narrow-small.sp-layout {
  letter-spacing: 0.025em;
}
.campaign-container .p-1 .small {
  font-size: 0.75em;
  letter-spacing: 0.05em;
}
.campaign-container .p-1 .small.sp-layout {
  font-size: 0.875em;
  line-height: 1.6;
}
.campaign-container .p-1 .exclamation {
  position: absolute;
  top: -0.375em;
  right: -1em;
}
.campaign-container .p-1 .exclamation.tablet-layout {
  display: none !important;
}
.campaign-container .p-2 {
  margin-top: 0.5em;
  letter-spacing: 0.05em;
}
.campaign-container .p-2.sp-layout {
  margin-top: 0.25em;
  white-space: nowrap;
}
.campaign-container .p-2 .normal {
  font-size: 1.5em;
}
.campaign-container .p-2 .normal.sp-layout {
  font-size: 1.75em;
}
.campaign-container .p-2 .number {
  font-size: 1.75em;
  text-decoration: line-through;
}
.campaign-container .p-2 .number.sp-layout {
  font-size: 2.125em !important;
}
.campaign-container .p-2 .tax-note {
  font-size: 0.875em;
  margin-left: 0.5em;
}
.campaign-container .to {
  margin-top: 0.25em;
  margin-left: 1em;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -screen and (min-width: 9999px)-flex: 1;
  flex: 1;
}
.campaign-container .to.sp-layout {
  width: 100%;
  margin: 0;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -screen and (min-width: 9999px)-flex: 1 0 auto;
  flex: 1 0 auto;
}
.campaign-container .balloon {
  position: absolute;
  top: -0.875em;
  right: 2.5em;
  width: 264px;
  height: 44px;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  padding: 0.45em 0 0 4.375em;
  z-index: 1;
}
.campaign-container .balloon.sp-layout {
  top: -0.75em;
  width: 50%;
  height: auto;
  left: 25%;
  padding-left: 3.5em;
  padding-top: 0.35em;
  padding-bottom: 0.4em;
}
.campaign-container .balloon img.sp-layout {
  width: 9em;
}
.campaign-container .price {
  white-space: nowrap;
}
.campaign-container .price.sp-layout {
  text-align: left;
  margin-bottom: 0.5em;
  margin-left: 0 !important;
}
.campaign-container .price.four-digit .number {
  font-size: 4em;
}
.campaign-container .price.four-digit .number.sp-layout {
  font-size: 4em;
}
.campaign-container .price .left-nano {
  margin-right: 0.125rem;
  margin-left: -0.0625em;
}
.campaign-container .price .right-nano {
  margin-left: 0.125rem;
  margin-right: -0.0625em;
}
.campaign-container .price .left-micro {
  margin-right: 0.25rem;
  margin-left: -0.125em;
}
.campaign-container .price.rmk.pc-layout {
  margin-left: 0.25em;
  letter-spacing: 0.25em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.rmk.pc-layout {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.rmk.sp-layout {
  letter-spacing: 0.1em;
}
.campaign-container .price.sem-1 {
  letter-spacing: 0.05em;
}
.campaign-container .price.sem-1.sp-layout {
  letter-spacing: 0;
}
.campaign-container .price.sem-2 {
  letter-spacing: 0.2em;
  margin-left: 0.25em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-2 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-2.sp-layout {
  letter-spacing: 0.25em;
}
.campaign-container .price.sem-3 {
  letter-spacing: 0.2em;
  margin-left: 0.25em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-3 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-3.sp-layout {
  letter-spacing: 0.25em;
}
.campaign-container .price.sem-4 {
  letter-spacing: 0.3em;
  margin-left: 0.25em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-4 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-4.sp-layout {
  letter-spacing: 0.35em;
}
.campaign-container .price.sem-5 {
  letter-spacing: 0.05em;
}
.campaign-container .price.sem-6 {
  letter-spacing: 0.35em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-6 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-7 {
  letter-spacing: 0.25em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-7 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-8-1 {
  letter-spacing: 0.1em;
}
.campaign-container .price.sem-8-1.sp-layout {
  letter-spacing: 0.25em;
}
.campaign-container .price.sem-8-2 {
  letter-spacing: 0.2em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-8-2 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-8-2.sp-layout {
  letter-spacing: 0.2em;
}
.campaign-container .price.sem-9-1,
.campaign-container .price.sem-9-2 {
  margin-top: 0.25em;
  letter-spacing: 0.15em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-9-1,
  .campaign-container .price.sem-9-2 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-9-1.sp-layout,
.campaign-container .price.sem-9-2.sp-layout {
  letter-spacing: 0.05em;
}
.campaign-container .price.sem-10-1,
.campaign-container .price.sem-10-2 {
  letter-spacing: 0.15em;
}
@media all and (-ms-high-contrast: none) {
  .campaign-container .price.sem-10-1,
  .campaign-container .price.sem-10-2 {
    letter-spacing: 0.1em;
  }
}
.campaign-container .price.sem-10-1.sp-layout,
.campaign-container .price.sem-10-2.sp-layout {
  letter-spacing: 0.2em;
}
.campaign-container .price .number {
  font-size: 3.6125em;
  color: #f00;
  font-weight: bold;
}
.campaign-container .price .number.sp-layout {
  width: auto;
  font-size: 3.75em;
}
.campaign-container .price .tax-note {
  font-size: 0.875em;
  letter-spacing: 0;
  margin-left: 0.5em;
}
.campaign-container .price .tax-note.sp-layout {
  font-size: 1em;
  margin-left: 0.5em;
}
.campaign-container .button-wrap {
  position: absolute;
  left: 17.75%;
  bottom: -1.875em;
  width: 64.5%;
}
.campaign-container .button-wrap.sp-layout {
  width: 75%;
  left: 12.5%;
  bottom: -1.6125em;
}
.campaign-container .button-wrap .button {
  background-color: #f00;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.675em 0;
  font-size: 1.55em;
  border-radius: 0.125em;
  border: 2px solid transparent;
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.campaign-container .button-wrap .button.sp-layout {
  padding: 0.5em 0;
}
.campaign-container .button-wrap .button.pc-layout:hover {
  background-color: #fff;
  color: #f00;
  border-color: #f00;
  -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.267);
  box-shadow: 1px 1px 1px rgba(0,0,0,0.267);
}
.campaign-container .link {
  padding: 3.5em 0;
  text-align: center;
  font-size: 1.1875em;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.campaign-container .link a {
  position: relative;
  display: inline-block;
}
.campaign-container .link a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -0.75em;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0,0,0,0.667);
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  visibility: hidden;
}
.campaign-container .link a.pc-layout:hover:after {
  bottom: -0.5em;
  opacity: 1;
  -ms-filter: none;
  filter: none;
  visibility: visible;
}
.campaign-container .link img {
  height: 1em;
  margin: 0 0.25em;
}
.campaign-container .link img.sp-layout {
  width: auto;
}
.download-button-wrap {
  position: relative;
  padding: 5em 0;
  text-align: center;
}
.download-button-wrap.sp-layout {
  padding: 3em 1em;
}
.download-button-wrap#download-button-wrap-2 {
  background-color: #f7f7f4;
}
.download-button-wrap#download-button-wrap-2.pc-layout {
  padding-bottom: 5.625em;
}
.download-button-wrap .download-button {
  position: relative;
  width: 680px;
  margin: 0 auto;
  left: 0.5em;
	padding-left: 60px;
}
.download-button-wrap .download-button.sp-layout {
  width: 95%;
	padding-left: 0;
}
.download-button-wrap .download-button.pc-layout:hover .bar {
  background-position: left 25%;
}
.download-button-wrap .download-button .circle {
  position: absolute;
  width: 112px;
  left: 0;
  top: calc(50% - 56px);
}
.download-button-wrap .download-button .circle.sp-layout {
  width: 20%;
  left: -2.5%;
  top: -27%;
}
.download-button-wrap .download-button .circle img {
  width: 100%;
}
.download-button-wrap .download-button .bar {
  -webkit-background-size: auto 200%;
  -moz-background-size: auto 200%;
  background-size: auto 200%;
  background-position: center;
  border-radius: 10em;
  -webkit-transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  -moz-transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  -o-transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  -screen and (min-width: 9999px)-transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
  font-size: 1.75em;
  color: #fff;
  padding: 0.25em;
}
.download-button-wrap .download-button .bar.sp-layout {
  font-size: 1.3em;
}
.download-button-wrap .download-button .bar .wrap {
  padding: 0.475em 0;
  border: 1px solid;
  border-radius: 2em;
  padding-left: 0.75em;
}
.download-button-wrap .download-button .bar .wrap.sp-layout {
  padding: 0.65em 0 0.65em 2.5em ;
	font-size: 0.9em;
}
#slider {
  padding: 3em 0;
  position: relative;
}
#slider.sp-layout {
  padding: 2em 0;
}
#slider .lead {
  font-size: 2em;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 0.5em;
  letter-spacing: 0.0875em;
}
#slider .lead.sp-layout {
  font-size: 1.5em;
  letter-spacing: 0.025em;
  margin-bottom: 0;
}
#slider .lead > p:nth-child(1) {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
#slider .lead .logo {
  margin-right: 0.375em;
}
#slider .lead .logo.sp-layout {
  width: 8em;
  vertical-align: top;
}
#slider .lead p {
  margin: 0.375em;
}
#slider .lead p.sp-layout {
  margin: 0.25em 0;
}
#slider .swiper-wrapper {
  position: relative;
  padding: 1em;
  left: -1em;
}
#slider .current-slide-window {
  display: block;
  position: absolute;
  top: 0.3125em;
  left: calc(50% - 320px - 0.625em);
  border: 1px solid #00b400;
  border-radius: 0.25em;
  width: calc(640px + 1.25em);
  height: calc(380px + 1.25em);
  z-index: 2;
}
#slider .current-slide-window.sp-layout {
  content: normal;
}
#slider .swiper-slide {
  width: 640px;
  height: auto;
}
#slider .swiper-slide.sp-layout {
  width: 90%;
  padding: 0 1em;
}
#slider .swiper-slide .slide-content {
  position: relative;
  overflow: hidden;
  padding: 0 82px 0 42px;
  background-color: #fff;
  height: 380px;
  border-radius: 2px;
}
#slider .swiper-slide .slide-content.sp-layout {
  padding: 0 2.5rem 0 1.25rem;
  height: 55.33vw;
}
#slider .swiper-slide .about {
  position: relative;
  height: 14.6875em;
}
#slider .swiper-slide .about.sp-layout {
  height: 4em;
}
#slider .swiper-slide .about .icon.sp-layout {
  width: 9.25em;
  margin-left: 0 !important;
}
#slider .swiper-slide .about .text {
  font-weight: bold;
  font-size: 1.9375em;
  line-height: 1.4;
}
#slider .swiper-slide .about .text.sp-layout {
  font-size: 1.4125em;
  padding-left: 0;
}
#slider .swiper-slide#slide-1 .icon {
  padding-top: 3.75em;
  margin-left: 0.25em;
}
#slider .swiper-slide#slide-1 .icon.sp-layout {
  padding-top: 1.75em;
}
#slider .swiper-slide#slide-1 .text {
  padding-top: 6.5rem;
}
#slider .swiper-slide#slide-1 .text.sp-layout {
  padding-top: 2.5em;
}
#slider .swiper-slide#slide-1 .desc {
  letter-spacing: 0.025em;
}
#slider .swiper-slide#slide-2 .icon {
  padding-top: 1.1875em;
  margin-left: 0.375em;
}
#slider .swiper-slide#slide-2 .icon.sp-layout {
  padding-top: 0.5em;
}
#slider .swiper-slide#slide-2 .text {
  padding-top: 5.75rem;
}
#slider .swiper-slide#slide-2 .text.sp-layout {
  padding-top: 2.25em;
}
#slider .swiper-slide#slide-3 .icon {
  padding-top: 4.5625em;
  margin-left: 0.5em;
}
#slider .swiper-slide#slide-3 .icon.sp-layout {
  padding-top: 2.25em;
}
#slider .swiper-slide#slide-3 .text {
  padding-top: 6.5rem;
}
#slider .swiper-slide#slide-3 .text.sp-layout {
  padding-top: 2.5em;
}
#slider .swiper-slide#slide-3 .desc {
  letter-spacing: 0.05em;
}
#slider .swiper-slide#slide-4 .icon {
  padding-top: 5.3125em;
  margin-left: 0.125em;
}
#slider .swiper-slide#slide-4 .icon.sp-layout {
  padding-top: 3.5em;
}
#slider .swiper-slide#slide-4 .text {
  padding-top: 5.375rem;
}
#slider .swiper-slide#slide-4 .text.sp-layout {
  padding-top: 2.5em;
}
#slider .swiper-slide#slide-5 .icon {
  padding-top: 3.75em;
}
#slider .swiper-slide#slide-5 .icon.sp-layout {
  padding-top: 2.5em;
}
#slider .swiper-slide#slide-5 .text {
  padding-top: 5.375rem;
}
#slider .swiper-slide#slide-5 .text.sp-layout {
  padding-top: 2.375em;
}
#slider .swiper-slide#slide-5 .desc {
  letter-spacing: 0.025em;
}
#slider .swiper-slide#slide-6 .icon {
  padding-top: 2.8125em;
  margin-left: 0.25em;
}
#slider .swiper-slide#slide-6 .icon.sp-layout {
  padding-top: 1.875em;
}
#slider .swiper-slide#slide-6 .text {
  padding-top: 5.375rem;
}
#slider .swiper-slide#slide-6 .text.sp-layout {
  padding-top: 2.25em;
}
#slider .swiper-slide#slide-6 .desc {
  letter-spacing: 0.05em;
}
#slider .swiper-slide .desc {
  position: relative;
  font-size: 1.1875em;
  line-height: 1.58;
  padding-left: 40px;
  z-index: 2;
}
#slider .swiper-slide .desc.sp-layout {
  padding: 4.5em 0 0 1.5rem;
  font-size: 1.125em;
}
#slider .swiper-slide .desc em {
  color: #00b400;
  line-height: 1.6;
}
#slider .swiper-slide .desc em.sp-layout {
  font-size: 1em;
}
#slider .slide-controller {
  position: absolute;
  bottom: 20%;
  width: 758px;
  left: calc(50% - 379px);
  height: 0;
  top: 38%;
  z-index: 2;
}
#slider .slide-controller.sp-layout {
  width: 97.5%;
  left: 1.25%;
  top: 36%;
}
#slider .slide-controller button.pc-layout:hover .pc {
  display: none !important;
}
#slider .slide-controller button.pc-layout:hover .sp {
  display: inline !important;
}
#slider .slide-controller .prev {
  position: absolute;
  left: 0;
  z-index: 2;
}
#slider .slide-controller .next {
  position: absolute;
  right: 0;
  z-index: 2;
}
#slider .slide-controller img.sp-layout {
  width: 1em;
}
#slider .swiper-pagination {
  position: static;
  margin: 2em 0 3em;
}
#slider .swiper-pagination.pc-layout .swiper-pagination-bullet:hover {
  background-color: #00b400;
}
#slider .swiper-pagination.sp-layout {
  margin: 0.75em 0 1.5em;
}
#slider .swiper-pagination.sp-layout .swiper-pagination-bullet {
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.75em;
}
#slider .swiper-pagination-bullet {
  width: 1em;
  height: 1em;
  border-radius: 2px;
  margin: 0 0.5em;
  background-color: #4d4d4d;
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
#slider .swiper-pagination-bullet-active {
  background-color: #00b400;
}
#reason {
  background-color: #f7f7f4;
  padding-bottom: 3em;
}
#reason.sp-layout {
  padding: 3em 1em 2em;
}
#reason #reason-1{
display: none;
}
#reason #reason-1 .number.pc-layout {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
#reason #reason-1 .icon {
  bottom: 1em;
}
#reason #reason-1 .small {
  letter-spacing: 0.05em;
}
#reason #reason-1 .small.sp-layout {
  letter-spacing: 0.025em;
}
#reason #reason-1 em {
  letter-spacing: 0.05em;
}
#reason #reason-2 .number-wrap.sp-layout {
  padding-top: 2.5em;
}
#reason #reason-2 .number-wrap em.sp-layout {
  font-size: 3.092em;
}
#reason #reason-2 .icon {
  bottom: 0.7em;
}
#reason #reason-2 .icon.sp-layout {
  letter-spacing: 0.025em;
}
#reason #reason-4{
  display: none;
}
#reason #reason-3 .number.pc-layout,
#reason #reason-4 .number.pc-layout {
  margin-left: 0.5em;
}
#reason #reason-3 .icon,
#reason #reason-4 .icon {
  bottom: -0.25em;
}
#reason #reason-4 em.larger.sp-layout {
  letter-spacing: 0.025em;
}
#reason #reason-2 .title-wrap {
  padding-top: 1em;
}
#reason #reason-2 .desc {
  margin-left: 1em;
}
#reason-2 .small{
  color: #00b400;
}
#reason .title {
  font-size: 2.5em;
  text-align: center;
  padding: 2.5em 0 1.5em;
  letter-spacing: 0.06em;
}
#reason .title.sp-layout {
  font-size: 1.75em;
  padding: 1em 0 2em;
}
#reason .reason {
  width: 960px;
  margin: 0 auto 3em;
  background-color: #fff;
  border-radius: 0.25em;
  -webkit-box-shadow: 1px 1px 0 rgba(0,0,0,0.2);
  box-shadow: 1px 1px 0 rgba(0,0,0,0.2);
  padding: 0.5em 3.8125em 3em;
}
#reason .reason.sp-layout {
  width: auto;
  padding: 0 1.5em 1.5em;
}
#reason .title-wrap.sp-layout {
  display: block;
}
#reason .number-wrap {
  font-weight: bold;
  white-space: nowrap;
  line-height: 1;
  position: relative;
}
#reason .number-wrap.sp-layout {
  padding-top: 2em;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -screen and (min-width: 9999px)-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#reason .number-wrap p {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  -screen and (min-width: 9999px)-box-flex: 1;
  box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#reason .number-wrap .before.pc-layout {
  margin-bottom: 0.25em;
}
#reason .icon {
  width: 80px;
  position: absolute;
  left: -101px;
  bottom: -0.5em;
  z-index: 4;
}
@media all and (-ms-high-contrast: none) {
  #reason .icon {
    left: -100px;
  }
}
#reason .icon.sp-layout {
  left: auto;
  width: 100%;
  text-align: center;
  bottom: auto;
  top: -2em;
}
#reason .icon img {
  width: 100%;
}
#reason .icon img.sp-layout {
  width: 4em;
}
#reason .small {
  font-size: 1.86em;
  line-height: 1.4;
}
#reason .small.sp-layout {
  font-size: 1.53em;
  line-height: 1.5;
}
#reason .star {
  margin: 0 0.22em;
}
#reason .star.sp-layout {
  width: 2.5125em;
  margin: 0 0.1em;
}
#reason .star:nth-of-type(1) {
  margin-left: 0;
}
#reason .crown {
  position: relative;
  left: 0em;
  top: 0.4em;
}
#reason .crown.sp-layout {
  width: 4.5em;
  left: 0;
  top: 0;
  margin-top: -1em;
}
#reason .number {
  position: relative;
  top: 0.5em;
}
#reason .number.sp-layout {
  margin-left: 0.25em;
}
#reason em {
  font-size: 3.7em;
  color: #00b400;
  vertical-align: baseline;
}
#reason em.sp-layout {
  font-size: 2.75em;
}
#reason em.larger {
  font-size: 1.94em;
}
#reason em.larger.sp-layout {
  font-size: 3.25em;
}
#reason em.sp-large.sp-layout {
  font-size: 4.125em;
}
#reason strong {
  font-size: 7.5625em;
  color: #00b400;
  vertical-align: baseline;
}
#reason strong.sp-layout {
  font-size: 5.75em;
}
#reason strong.demi {
  font-size: 7.5625em;
  letter-spacing:-4px;
}
#reason strong.demi.sp-layout {
  font-size: 5.5em;
  letter-spacing: -1px;
}
#reason strong .narrow {
  margin-left: -0.25em;
}
#reason strong .narrow.sp-layout {
  margin-right: -0.2em;
}
#reason .desc {
  font-size: 1.3125em;
  line-height: 1.7;
  letter-spacing: 0.025em;
  margin-left: -0.4em;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -screen and (min-width: 9999px)-flex: 1;
  flex: 1;
}
#reason .desc.sp-layout {
  margin-left: 0 !important;
  font-size: 1em;
  margin-top: 0.5em;
}
#reason .content-wrap {
  padding: 2em 0 1em;
  border-top: 2px solid #ecece5;
  margin-top: 1.5em;
}
#reason .content-wrap.sp-layout {
  padding: 0.5em 0;
  margin-top: 1em;
}
#reason .notes {
  text-align: center;
  font-size: 0.75em;
  margin-top: 1em;
  color: #808080;
}
#reason-1 .content-wrap{
  padding: 1.2em 0;
  margin-top: 2em;
}
#reason .notes.sp-layout {
  line-height: 1.4;
}
#reason #award-logo {
  margin-left: 1em;
}
#reason #award-logo.sp-layout {
  width: 5em;
  margin-left: 0.5em;
}
#reason #bar-chart-1 {
  position: relative;
  width: 665px;
  height: 248px;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  padding-left: 3.75em;
}
#reason #bar-chart-1.sp-layout {
  padding-left: 2em;
  width: 100%;
  height: 35vw;
}
#reason #bar-chart-1 .bars {
  position: absolute;
  bottom: 2.05em;
}
#reason #bar-chart-1 .bars.sp-layout {
  bottom: 1.8125em;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -screen and (min-width: 9999px)-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

#reason #bar-chart-1 .bars .bar {
  -webkit-transform: scaleY(0);
  -moz-transform: scaleY(0);
  -o-transform: scaleY(0);
  -screen and (min-width: 9999px)-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -o-transform-origin: center bottom;
  -screen and (min-width: 9999px)-transform-origin: center bottom;
  transform-origin: center bottom;
}
#reason #bar-chart-1 .bars .bar.sp-layout {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -screen and (min-width: 9999px)-transform: none;
  transform: none;
  width: 4.5875em;
}
#reason #bar-chart-1 .bars .bar + .bar {
  margin-left: 0.125em;
}
#reason #bar-chart-1 .bars .bar + .bar.sp-layout {
  margin-left: 0.1em;
}
#reason .dataset {
  position: absolute;
  bottom: 2.25em;
  color: #fff;
  height: 100%;
}
#reason .dataset.sp-layout {
  bottom: 1.75em;
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -screen and (min-width: 9999px)-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
#reason .dataset.invisible {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
#reason .dataset.invisible.sp-layout {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
#reason .dataset strong,
#reason .dataset em {
  color: inherit;
  vertical-align: baseline;
}
#reason .dataset strong .half,
#reason .dataset em .half {
  font-size: 0.6em;
  margin-left: -1px;
}
#reason .dataset em {
  font-weight: bold;
  font-size: 1.1875em;
}
#reason .dataset em.sp-layout {
  font-size: 0.875em;
}
#reason .dataset .data {
  width: 91px;
  text-align: center;
}
#reason .dataset .data.sp-layout {
  width: 3.45em;
}
#reason .dataset .data + .data {
  margin-left: 2.2em;
}
#reason .dataset .data + .data.sp-layout {
  margin-left: 1.225em;
}
#reason .dataset .data:first-child .p-1 {
  color: inherit;
}
#reason .dataset .data:first-child .p-1 strong {
  font-size: 2em;
}
#reason .dataset .data:first-child .p-1 strong.sp-layout {
  font-size: 1.125em;
}
#reason .dataset .data:first-child .p-2 {
  color: inherit;
}
#reason .dataset .data:first-child .p-2.sp-layout {
  line-height: 1;
}
#reason .dataset .data:first-child .p-2 strong {
  font-size: 1.875em;
}
#reason .dataset .data:first-child .p-2 strong.sp-layout {
  font-size: 1.125em;
}
#reason .dataset .p-1 {
  color: #13b8d7;
}
#reason .dataset .p-1 .label {
  font-size: 1.125em;
  line-height: 1.4;
}
#reason .dataset .p-1 .label.sp-layout {
  font-size: 0.6em;
}
#reason .dataset .p-1 strong {
  font-size: 1.875em;
}
#reason .dataset .p-1 strong.sp-layout {
  font-size: 1em;
}
#reason .dataset .p-2 {
  color: #c1272d;
}
#reason .dataset .p-2.sp-layout {
  line-height: 0.8;
  margin-bottom: 0.125rem;
}
#reason .dataset .p-2 .label {
  font-size: 0.9375em;
  line-height: 1.4;
}
#reason .dataset .p-2 .label.sp-layout {
  font-size: 0.55em;
  margin-bottom: 0.25em;
  display: inline-block;
}
#reason .dataset .p-2 em.sp-layout {
  font-size: 0.6em;
}
#reason .dataset .p-2 strong {
  font-size: 1.25em;
}
#reason .dataset .p-2 strong.sp-layout {
  font-size: 0.875em;
}
#reason .dataset .p-3 strong {
  font-size: 2em;
}
#reason .dataset .p-3 strong.sp-layout {
  font-size: 1.125em;
}
#reason .dataset#dataset-2 {
  bottom: 3.25em;
}
#reason .dataset#dataset-2.sp-layout {
  bottom: 2em;
}
#reason .dataset#dataset-2 .data {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -screen and (min-width: 9999px)-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
#reason .dataset#dataset-2 .data.sp-layout {
  width: 3.4em;
}
#reason .dataset#dataset-2 .data > * {
  width: 100%;
}
#reason .dataset#dataset-2 .data + .data {
  margin-left: 38px;
}
#reason .dataset#dataset-2 .data + .data.sp-layout {
  margin-left: 1.325em;
}
#reason .dataset#dataset-2 .crown {
  position: absolute;
  top: -2.75em;
  left: 0;
}
#reason .dataset#dataset-2 .crown.sp-layout {
  top: -2em;
}
#reason .dataset .crown {
  position: static;
  text-align: center;
  margin: 0 auto 0.25em;
}
#reason .dataset .crown.sp-layout {
  width: 100%;
  margin-bottom: 0;
}
#reason .dataset .crown img {
  width: 69px;
}
#reason .dataset .crown img.sp-layout {
  width: 75%;
}
#reason .dataset #bar-data-1-1 .p-2 {
  padding-top: 3.4em;
}
#reason .dataset #bar-data-1-1 .p-2.sp-layout {
  padding-top: 1.4em;
}
#reason .dataset #bar-data-1-2 .p-2 {
  padding-top: 3.4em;
}
#reason .dataset #bar-data-1-2 .p-2.sp-layout {
  padding-top: 1.8em;
}
#reason .dataset #bar-data-1-3 .p-2 {
  padding-top: 3.4em;
}
#reason .dataset #bar-data-1-3 .p-2.sp-layout {
  padding-top: 1.5em;
}
#reason .dataset #bar-data-1-4 .p-2 {
  padding-top: 1.5em;
}
#reason .dataset #bar-data-1-4 .p-2.sp-layout {
  padding-top: 0.5em;
}
#reason .dataset #bar-data-1-5 .p-2 {
  padding-top: 0.2em;
}
#reason .dataset #bar-data-1-5 .p-2.sp-layout {
  padding-top: 0.001em;
}
#reason .dataset #bar-data-1-5 .p-2 .label {
  line-height: 1;
}
#reason .dataset #bar-data-2-1 {
  height: 92px;
}
#reason .dataset #bar-data-2-1.sp-layout {
  height: 33.5%;
}
#reason .dataset #bar-data-2-2 {
  height: 135px;
}
#reason .dataset #bar-data-2-2.sp-layout {
  height: 49%;
}
#reason .dataset #bar-data-2-3 {
  height: 144px;
}
#reason .dataset #bar-data-2-3.sp-layout {
  height: 52%;
}
#reason .dataset #bar-data-2-4 {
  height: 169px;
}
#reason .dataset #bar-data-2-4.sp-layout {
  height: 62%;
}
#reason .dataset #bar-data-2-5 {
  height: 212px;
}
#reason .dataset #bar-data-2-5.sp-layout {
  height: 78%;
}
#reason #bar-chart-2 {
  position: relative;
  width: 663px;
  height: 274px;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  background-size: contain;
  padding-left: 3em;
}
#reason #bar-chart-2.sp-layout {
  width: 100%;
  padding-left: 1.75em;
  height: 35vw;
}
#reason #bar-chart-2 .bars {
  position: absolute;
  bottom: 3.25em;
}
#reason #bar-chart-2 .bars.sp-layout {
  -webkit-box-lines: single;
  -moz-box-lines: single;
  -o-box-lines: single;
  -webkit-flex-wrap: nowrap;
  -screen and (min-width: 9999px)-flex-wrap: nowrap;
  flex-wrap: nowrap;
  bottom: 1.95em;
}
#reason #bar-chart-2 .bars .bar {
  -webkit-transform: scaleY(0);
  -moz-transform: scaleY(0);
  -o-transform: scaleY(0);
  -screen and (min-width: 9999px)-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -o-transform-origin: center bottom;
  -screen and (min-width: 9999px)-transform-origin: center bottom;
  transform-origin: center bottom;
}
#reason #bar-chart-2 .bars .bar.sp-layout {
  -webkit-transform: none;
  -moz-transform: none;
  -o-transform: none;
  -screen and (min-width: 9999px)-transform: none;
  transform: none;
  width: 4.6375em;
}
#reason #bar-chart-2 .bars .bar + .bar {
  margin-left: 0.325em;
}
#reason #bar-chart-2 .bars .bar + .bar.sp-layout {
  margin-left: 0.125em;
}
#reason #pie-chart {
  -webkit-background-size: auto;
  -moz-background-size: auto;
  background-size: auto;
  background-position: center bottom;
  width: 100%;
}
#reason #pie-chart.sp-layout {
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -screen and (min-width: 9999px)-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  background-size: 100% auto;
}
#reason #pie-chart.invisible {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
#reason #pie-chart.invisible.sp-layout {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
#reason #pie-chart canvas {
  display: block;
  margin: 0 0.66em;
}
#reason #pie-chart canvas.sp-layout {
  margin: 0;
}
#reason #pie-chart .chart-wrap {
  position: relative;
}
#reason #pie-chart .chart-wrap:nth-child(1) .label,
#reason #pie-chart .chart-wrap:nth-child(1) strong,
#reason #pie-chart .chart-wrap:nth-child(1) em {
  color: #13b8d7;
}
#reason #pie-chart .chart-wrap:nth-child(2) .label,
#reason #pie-chart .chart-wrap:nth-child(2) strong,
#reason #pie-chart .chart-wrap:nth-child(2) em {
  color: #8cc600;
}
#reason #pie-chart .chart-wrap:nth-child(3) .label,
#reason #pie-chart .chart-wrap:nth-child(3) strong,
#reason #pie-chart .chart-wrap:nth-child(3) em {
  color: #f7931e;
}
#reason #pie-chart .text {
  position: absolute;
  text-align: center;
  top: 60px;
  width: 100%;
  text-align: center;
}
#reason #pie-chart .text.sp-layout {
  top: 29%;
}
#reason #pie-chart .label {
  font-size: 1em;
}
#reason #pie-chart .label.sp-layout {
  font-size: 0.7em;
}
#reason #pie-chart .number {
  margin-top: -0.25em;
}
#reason #pie-chart strong {
  font-size: 3.25em;
}
#reason #pie-chart strong.sp-layout {
  font-size: 1.875em;
}
#reason #pie-chart em {
  font-size: 2.375em;
}
#reason #pie-chart em.font_space{
  margin-left: -10px;
}
#reason #pie-chart em.font_space.sp-layout{
  margin-left: -6px;
  }
.sp-layout
#reason #pie-chart em.font_space_s{
  letter-spacing: -6px;
}

#reason #pie-chart em.font_space_s.sp-layout{
  letter-spacing: -2px;
}

#reason #pie-chart span.font_space_b{
  letter-spacing: -5px;
}
#reason #pie-chart span.font_space_b.sp-layout{
  letter-spacing: -2px;
}

#reason #pie-chart em.sp-layout {
  font-size: 1.5em;
}
#reason #pie-chart p.normal {
  margin-top: 1em;
}
#reason #pie-chart p.normal.sp-layout {
  font-size: 0.75em;
  margin-top: 1em;
}
#product-bar {
  position: relative;
  background-color: #00b400;
  height: 180px;
}
#product-bar.sp-layout {
  height: auto;
  height: 28.333333333333332vw;
}
#product-bar.rmk-ver.sp-layout {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -screen and (min-width: 9999px)-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 0 1.5em;
}
#product-bar.rmk-ver .name.sp-layout {
  padding: 0;
  width: 100%;
}
#product-bar .image img {
  position: absolute;
  height: 390px;
  top: -109px;
  left: calc(50% - 700px);
}
#product-bar .image img.sp-layout {
  width: 48.8%;
  height: auto;
  top: -3.25em;
  left: -1em;
}
#product-bar .name {
  padding: 2.75em 0 0 17em;
}
@media all and (-ms-high-contrast: none) {
  #product-bar .name {
    font-size: 16px;
  }
}
#product-bar .name.sp-layout {
  padding: 1em 2em 0 11em;
}
#feature {
  position: relative;
  padding: 6.5em 0;
}
#feature.sp-layout {
  padding: 3em 0;
}
#feature .title {
  text-align: center;
  font-size: 2.5em;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#feature .title.sp-layout {
  font-size: 1.75em;
  letter-spacing: 0.025em;
}
#feature .title em {
  color: #00b400;
}
#feature ul.photos.sp-layout {
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -screen and (min-width: 9999px)-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 1em;
}
#feature ul.photos > li {
  padding: 2.5em 1.5em;
}
#feature ul.photos > li.sp-layout {
  width: 31%;
  padding: 0;
}
#feature ul.features {
  width: 1000px;
  margin: 0 auto;
}
#feature ul.features.sp-layout {
  width: auto;
  padding: 0 1em;
}
#feature ul.features > li {
  position: relative;
  width: 47.6%;
  background-color: #f7f7f4;
  margin-top: 5em;
  padding: 2em 1.625em;
  border-radius: 4px;
}
#feature ul.features > li.sp-layout {
  width: 100%;
  margin-top: 5em;
  padding: 1.5em 1.5em;
}
#feature ul.features .icon {
  position: absolute;
  left: 0;
  bottom: calc(100% - 2em);
  width: 100%;
  text-align: center;
}
#feature ul.features .icon.sp-layout {
  bottom: calc(100% - 2.5em);
}
#feature ul.features #feature-2 .icon.sp-layout {
  bottom: calc(100% - 3em);
}
#feature ul.features #feature-4 .icon {
  padding-left: 2.5em;
  bottom: calc(100% - 1.75em);
}
#feature ul.features #feature-4 .icon.sp-layout {
  padding-left: 2em;
}
#feature ul.features #feature-4 .icon img.sp-layout {
  width: 31% !important;
}
#feature ul.features #feature-7 .name.sp-layout {
  letter-spacing: 0;
}
#feature ul.features #feature-6 .icon {
  padding-left: 2.5em;
}
#feature ul.features #feature-6 .icon.sp-layout {
  padding-left: 2em;
}
#feature ul.features #feature-6 .icon img.sp-layout {
  width: 30% !important;
}
#feature ul.features #feature-8 .name {
  letter-spacing: -0.035em;
}
#feature ul.features #feature-8 .name.sp-layout {
  letter-spacing: 0.045em;
}
#feature ul.features .name {
  text-align: center;
  margin: 1.5em auto 0;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 1em;
  font-size: 1.25em;
  letter-spacing: 0.045em;
}
#feature ul.features .name.sp-layout {
  font-size: 1.5em;
  line-height: 1.4;
  padding-bottom: 0.5em;
  margin-top: 1.25em;
  white-space: nowrap;
}
#feature ul.features .desc {
  font-size: 0.9375em;
  line-height: 1.6;
  padding: 1em 0 1.5em;
  letter-spacing: 0.05em;
}
#feature ul.features .desc.sp-layout {
  font-size: 1em;
  padding: 0.75em 0 1.25em;
}
#feature ul.features .devices {
  font-size: 0.75em;
}
#feature ul.features .devices .device img.sp-layout {
  width: auto;
  height: 1em;
}
#feature ul.features .devices .device + .device:before {
  content: '/';
  margin: 0 0.5em;
}
#feature ul.features .devices img {
  height: 1em;
}
#feature ul.features .note {
  font-size: 0.75em;
  margin-top: 1em;
}
#feature .feature-notes {
  padding: 3em 0 0;
  line-height: 1.6;
  text-align: center;
  color: #666;
}
#feature .feature-notes.sp-layout {
  padding-left: 2em;
  padding-top: 2em;
  text-align: left;
}
#feature .feature-notes p {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.75em;
}
#lineup {
  position: relative;
  background-color: #f7f7f4;
  padding: 8em 0 6em;
}
#lineup.sp-layout {
  padding: 5em 1em 3em;
}
#lineup .title {
  text-align: center;
  font-size: 2.5em;
  letter-spacing: 0.075em;
  padding-bottom: 0.75em;
}
#lineup .title.sp-layout {
  font-size: 1.75em;
  line-height: 1.2;
  padding-bottom: 0;
}
#lineup ul.packages > li {
  margin: 2em auto;
}
#lineup ul.packages > li + li {
  margin-top: 3em;
}
#lineup ul.packages > li:nth-child(1) .desc.pc-layout {
  padding-bottom: 1.05em;
}
#lineup ul.packages > li:nth-child(2) .desc.pc-layout {
  padding-bottom: 1.75em;
}
#lineup ul.packages > li:nth-child(3) .desc.pc-layout {
  padding-bottom: 1.15em;
}
#lineup ul.packages #premiere-license .name em {
  letter-spacing: 0.125em;
}
#lineup ul.packages #premiere-license .name em.sp-layout {
  letter-spacing: 0;
}
#lineup ul.packages #premiere-license .text-wrap.pc-layout {
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -o-box-pack: start;
  -screen and (min-width: 9999px)-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#lineup .text-wrap.sp-layout {
  display: block;
}
#lineup .text-wrap .name {
  padding-right: 1.5em;
  text-align: left;
}
#lineup .text-wrap .name.sp-layout {
  padding-bottom: 0.75em;
  margin-bottom: 0.75em;
  border-bottom: 1px solid rgba(0,0,0,0.267);
  text-align: left;
}
#lineup .text-wrap .name.ta-l {
  text-align: left;
}
#lineup .text-wrap strong {
  font-size: 4.5em;
  color: #00b400;
  vertical-align: baseline;
  position: relative;
  top: 0.035em;
}
#lineup .text-wrap strong.sp-layout {
  font-size: 2.5em;
}
#lineup .text-wrap em {
  font-size: 2.375em;
  color: #00b400;
  vertical-align: baseline;
}
#lineup .text-wrap em.sp-layout {
  font-size: 1.75em;
}
#lineup .text-wrap .small {
  font-size: 0.9375em;
  letter-spacing: 0.075em;
}
#lineup .text-wrap .desc {
  line-height: 1.4;
  padding-bottom: 1.25em;
  letter-spacing: 0.05em;
}
#lineup .text-wrap .desc.sp-layout {
  padding-bottom: 0;
}
#lineup table {
  table-layout: fixed;
  border-collapse: separate;
  width: 100%;
  margin-top: 1em;
  border: 1px solid #ccc;
  border-width: 0 1px 1px 0;
  border-radius: 2px;
}
#lineup table th:first-child,
#lineup table th:first-child::after {
  border-top-left-radius: 2px;
}
#lineup table th:last-child,
#lineup table th:last-child::after {
  border-top-right-radius: 2px;
}
#lineup table tbody tr:first-child td:first-child {
  border-bottom-left-radius: 2px;
}
#lineup table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 2px;
}
#lineup table th,
#lineup table td {
  padding: 0.75em 1em;
  text-align: center;
  border: 1px solid #ccc;
  font-size: 1.125em;
  line-height: 1.4;
  border-width: 1px 0 0 1px;
}
#lineup table th.sp-layout,
#lineup table td.sp-layout {
  font-size: 0.875em;
  padding: 0.5em 0;
}
#lineup table th:nth-last-child(1),
#lineup table td:nth-last-child(1) {
  width: 29.5%;
}
#lineup table th:nth-last-child(2),
#lineup table td:nth-last-child(2),
#lineup table th:nth-last-child(3),
#lineup table td:nth-last-child(3),
#lineup table th:nth-last-child(4),
#lineup table td:nth-last-child(4) {
  width: 23.5%;
}
#lineup table th:nth-last-child(1).sp-layout,
#lineup table td:nth-last-child(1).sp-layout {
  width: 50%;
  padding-left: 1em;
  padding-right: 1em;
}
#lineup table th:nth-last-child(2).sp-layout,
#lineup table td:nth-last-child(2).sp-layout {
  width: 33.5%;
}
#lineup table th:nth-last-child(3).sp-layout,
#lineup table td:nth-last-child(3).sp-layout {
  width: 16.5%;
}
#lineup table th:nth-last-child(4).sp-layout,
#lineup table td:nth-last-child(4).sp-layout {
  display: none;
}
#lineup table th {
  background-color: #e6e6e6;
  position: relative;
}
#lineup table th:after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff;
}
#lineup table td {
  background-color: #fff;
}
#lineup table .price {
  font-size: 1.375em;
  padding-right: 2em;
}
#lineup table .price.sp-layout {
  font-size: 1em;
  padding-right: 1.25em;
}
#lineup table .price.include-discount {
  text-align: center;
  padding-right: 1.25em;
}
#lineup table .price.include-discount.sp-layout {
  padding-right: 0.5em;
}
#lineup table .price .label {
  display: inline-block;
  background-color: #f00;
  color: #fff;
  padding: 0.14em 0.875em;
  line-height: 1;
  margin-bottom: 0.25em;
  border-radius: 2px;
  white-space: nowrap;
}
#lineup table .price .label.os-windows {
  padding-top: 0.25em;
}
#lineup table .price .label.small {
  padding: 0.14em 0.5em;
}
#lineup table .price .strike {
  text-decoration: line-through;
}
#lineup table .price .old-new {
  padding-right: 0;
  text-align: right;
}
#lineup table .price .new {
  display: inline-block;
  color: #f00;
}
#lineup table .price .old {
  display: inline-block;
  text-align: left;
  padding-right: 2.125em;
}
#lineup .discount-wrap {
  display: inline-block;
  width: 100%;
  text-align: center;
}
#lineup .discount-wrap.ta-r {
  text-align: right;
}
#lineup a.button {
  background-color: #f00;
  color: #fff;
  height: 100%;
  padding: 0.6125em 0 0.6em;
  font-size: 1.25em;
  border-radius: 2px;
  border: 1px solid rgba(0,0,0,0);
}
#lineup a.button.sp-layout {
  font-size: 1.25em;
}
#lineup a.button.pc-layout:hover {
  background-color: #fff;
  color: #f00;
  border-color: #f00;
}
#lineup a.button .small {
  font-size: 0.9375em;
}
#lineup span.en {
  display: inline-block;
  margin-top: -0.05em;
  vertical-align: middle;
}
#lineup .tax-note {
  font-size: 0.75em;
}
#lineup .yellow {
  color: #fbb03b !important;
  line-height: 1.25;
}
#lineup ul.notes {
  font-size: 0.75em;
  line-height: 1.4;
}
#lineup ul.notes > li {
  padding-left: 1.25em;
}
#lineup ul.notes > li:first-child {
  padding-bottom: 3em;
  border-bottom: 1px dotted rgba(0,0,0,0.267);
}
#lineup ul.notes > li:first-child.sp-layout {
  padding-bottom: 1em;
}
#lineup ul.notes > li + li {
  padding-top: 1.5em;
}
#lineup ul.notes p {
  margin-bottom: 0.5em;
}
#lineup ul.notes .mark {
  display: inline-block;
  text-indent: -1.25em;
}
#requirement {
  position: relative;
  padding: 8em 0 5em;
}
#requirement.sp-layout {
  padding: 3em 1em;
}
#requirement .title {
  text-align: center;
  font-size: 2.5em;
  padding-bottom: 1.5em;
  letter-spacing: 0.075em;
}
#requirement .title.sp-layout {
  font-size: 1.75em;
}
#requirement .tab-buttons {
  position: relative;
}
#requirement .tab-button {
  position: relative;
  font-size: 1.9375em;
  letter-spacing: 0.05em;
  text-align: center;
  width: 24%;
  border-bottom: 4px solid;
  padding-bottom: 0.4em;
  opacity: 0.4;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
}
#requirement .tab-button.sp-layout {
  font-size: 0.9375em;
  padding-bottom: 0.5em;
  border-width: 2px;
}
#requirement .tab-button:hover {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}
#requirement .tab-button.windows {
  color: #00b1ef;
}
#requirement .tab-button.mac {
  color: #7fa5e2;
}
#requirement .tab-button.android {
  color: #b2c801;
}
#requirement .tab-button.ios {
  color: #656565;
}
#requirement .tab-button .ml-half {
  margin-left: 0.125em;
}
#requirement .tab-arrow {
  position: absolute;
  width: 24%;
  top: 120%;
  font-size: 1.9375em;
}
#requirement .tab-arrow.windows {
  color: #00b1ef;
  left: 0;
}
#requirement .tab-arrow.mac {
  color: #7fa5e2;
  left: 25.3333%;
}
#requirement .tab-arrow.android {
  color: #b2c801;
  left: 50.6666%;
}
#requirement .tab-arrow.ios {
  color: #656565;
  left: 76%;
}
#requirement .tab-arrow.sp-layout {
  font-size: 0.9375em;
  padding-bottom: 0.5em;
  border-width: 2px;
  top: 80%;
}
#requirement .tab-arrow:before,
#requirement .tab-arrow:after {
  content: '';
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  position: absolute;
  left: calc(50% - 2em);
  top: 145%;
  display: block;
  border: solid;
  border-width: 1em 2em;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
#requirement .tab-arrow:after {
  border-top-color: #fff;
  top: calc(145% - 0.2em);
}
#requirement .tab-arrow .dummy {
  position: absolute;
  width: 4em;
  height: 1em;
  border: 0.75em solid #fff;
  border-bottom: none;
  border-top: none;
  top: calc(145% - 0.2em);
  left: calc(50% - 2em);
}
#requirement .selected {
  opacity: 1 !important;
  -ms-filter: none !important;
  filter: none !important;
}
#requirement .selected + .tab-arrow {
  opacity: 1 !important;
  -ms-filter: none !important;
  filter: none !important;
}
#requirement .selected + .tab-arrow:before,
#requirement .selected + .tab-arrow:after {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}
#requirement .tab-contents {
  margin-top: 4em;
}
#requirement .tab-contents.sp-layout {
  margin-top: 2em;
}
#requirement table {
  table-layout: fixed;
  border-collapse: separate;
  width: 100%;
  border: 1px solid #ccc;
  border-width: 1px 0 0 1px;
  border-radius: 2px;
}
#requirement table tr:first-child td:first-child {
  border-top-left-radius: 2px;
}
#requirement table tr:first-child td:last-child {
  border-top-right-radius: 2px;
}
#requirement table tr:last-child td:first-child {
  border-bottom-left-radius: 2px;
}
#requirement table tr:last-child td:last-child {
  border-bottom-right-radius: 2px;
}
#requirement table th,
#requirement table td {
  border: 1px solid #ccc;
  border-width: 0 1px 1px 0;
  line-height: 1.4;
}
#requirement table th.sp-layout,
#requirement table td.sp-layout {
  font-size: 0.8125em;
}
#requirement table th:nth-child(1),
#requirement table td:nth-child(1) {
  text-align: center;
  width: 17%;
  padding: 1em 0;
}
#requirement table th:nth-child(1).sp-layout,
#requirement table td:nth-child(1).sp-layout {
  width: 30%;
}
#requirement table th:nth-child(2),
#requirement table td:nth-child(2) {
  width: 82%;
  padding: 1em 1.5em;
}
#requirement table th:nth-child(2).sp-layout,
#requirement table td:nth-child(2).sp-layout {
  width: 70%;
}
#requirement .block {
  padding-bottom: 1em;
}
#requirement .block:last-child {
  padding-bottom: 0;
}
#requirement .block + .block {
  border-top: 1px dotted rgba(0,0,0,0.267);
  padding-top: 1em;
}
#requirement a {
  color: #00b400;
  text-decoration: underline;
}
#requirement ul.notes-1,
#requirement ul.notes-2,
#requirement ul.notes-3 {
  line-height: 1.6;
}
#requirement ul.notes-1 > li,
#requirement ul.notes-2 > li,
#requirement ul.notes-3 > li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
#requirement ul.notes-1 {
  font-size: 0.75em;
  margin: 1em 0 2.5em;
}
#requirement ul.notes-1.sp-layout {
  font-size: 0.6125em;
}
#requirement ul.notes-3 li + li {
  margin-top: 0.5em;
}
#requirement .notes-wrap-2 .label {
  color: #f00;
  margin: 1em 0;
}
#requirement ul.notes-2 {
  font-size: 0.9375em;
}
#requirement ul.notes-2.sp-layout {
  font-size: 0.75em;
}
#answer {
  position: relative;
  padding: 3em 0;
  background-color: #fff;
}
#answer.sp-layout {
  padding-bottom: 1em;
}
#answer .lead {
  text-align: center;
  font-size: 1.625em;
  vertical-align: middle;
  line-height: 1.4;
  margin-bottom: 1em;
}
#answer .lead.sp-layout {
  font-size: 1.25em;
}
#answer .lead strong {
  color: #00b400;
  font-size: 1.75em;
  vertical-align: middle;
  margin-right: 0.125em;
}
#answer .lead strong.sp-layout {
  font-size: 1.675em;
}
#answer .lead span {
  vertical-align: middle;
}
#answer ul.answers {
  line-height: 1.4;
  font-size: 0.9375em;
}
#answer ul.answers.os-windows * {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
#answer ul.answers.sp-layout {
  display: block;
}
#answer ul.answers > li {
  width: 30%;
  margin: 1em 0;
}
#answer ul.answers > li.sp-layout {
  width: auto;
  padding: 0 1em 0 2.5em;
  margin: 2em 0;
}
#answer ul.answers .question:before {
  content: 'Q. ';
  width: 1.5em;
  display: inline-block;
  margin-left: -1.5em;
}
#answer ul.answers .answer {
  color: #00b400;
  margin-top: 1em;
}
#answer ul.answers .answer.sp-layout {
  font-size: 0.9375em;
  margin-top: 0.5em;
}
#answer ul.answers .image {
  margin-top: 0.75em;
}
#answer ul.answers .image.sp-layout {
  width: 65%;
}

#answer ul.answers .question.pc-layout {
  min-height: 42px;
}


#footer {
  font-size: 0.8125em;
  padding: 2em 0;
}
#footer.os-windows * {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
#footer.sp-layout {
  font-size: 1em;
  padding: 0.5em 0 1em;
}
#footer #copyright.sp-layout {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -o-box-ordinal-group: 2;
  -screen and (min-width: 9999px)-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  margin: 0 auto;
  font-size: 0.6125em;
  padding-top: 0;
}
#footer ul.links.sp-layout {
  -webkit-box-ordinal-group: 1;
  -moz-box-ordinal-group: 1;
  -o-box-ordinal-group: 1;
  -screen and (min-width: 9999px)-flex-order: 1;
  -webkit-order: 1;
  order: 1;
  margin: 0 auto 1em;
  padding: 1em;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -screen and (min-width: 9999px)-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 0.9125em;
  border-bottom: 1px solid rgba(0,0,0,0.267);
  white-space: nowrap;
}
#footer ul.links > li {
  padding: 0 1em;
}
#footer ul.links > li + li {
  border-left: 1px solid rgba(0,0,0,0.667);
}
#footer ul.links > li:first-child {
  padding-left: 0;
}
#footer ul.links > li:last-child {
  padding-right: 0;
}
#footer ul.links > li a.pc-layout:hover {
  text-decoration: underline;
}
