@charset 'UTF-8';

.container.popup header[role=banner],.container header[role=banner] {
  border-top: 5px solid #c00;
  border-bottom: 5px solid #333;
  background-color: #fff;
  box-shadow: none;
}

.container.popup header[role=banner] .container,.container header[role=banner] .container {
  display: -ms-flexbox;
  display: flex;
  height: 110px;

  -ms-flex-align: center;
  align-items: center;
}

.container.popup header[role=banner] .container>.row,.container header[role=banner] .container>.row {
  display: -ms-flexbox;
  display: flex;

  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
}

.container.popup header[role=banner] .container>.row>*,.container header[role=banner] .container>.row>* {
  float: none;
}

.container.popup header[role=banner] .siteid,.container header[role=banner] .siteid {
  margin-top: 0!important;
}

.container.popup header[role=banner] .search-box-header,.container header[role=banner] .search-box-header {
  margin-top: 0;
  margin-bottom: 0;
}

.container.popup header[role=banner] .head-exp,.container header[role=banner] .head-exp {
  display: -ms-flexbox;
  display: flex;

  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.container.popup header[role=banner] .head-exp .nav-sprt .btn-base,.container header[role=banner] .head-exp .nav-sprt .btn-base {
  font-size: 13px;
  font-weight: 400;
  width: 66px;
  height: 59px;
  padding-top: 27px!important;
  border: 1px solid #d0d0d0!important;
  border-bottom: 1px solid #d0d0d0!important;
  border-radius: 4px!important;
  background: #fff;
  box-shadow: 0 0 3px 0 rgba(0,0,0,.2);
}

.container.popup header[role=banner] .head-exp .nav-sprt .btn-base:hover,.container header[role=banner] .head-exp .nav-sprt .btn-base:hover {
  box-shadow: none;
}

.container.popup header[role=banner] .head-exp .nav-sprt .btn-base:before,.container header[role=banner] .head-exp .nav-sprt .btn-base:before {
  top: 3px!important;
}

aside,aside[role=complementary] {
  background: #eee;
}

aside li a,aside[role=complementary] li a {
  color: #336;
}

aside li a:visited,aside li a:active,aside[role=complementary] li a:visited,aside[role=complementary] li a:active {
  color: #336;
}

aside li a:before,aside li a:after,aside[role=complementary] li a:before,aside[role=complementary] li a:after {
  color: #c00;
}

footer[role=contentinfo] {
  background-color: #eee;
}

.footer-tel {
  color: #000;
}

.container header[role=banner] .container {
  height: 80px;
}

header[role=banner] .container {
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
}

.page-container {
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
}

header[role=banner] .container,.page-container {
  padding-right: 10px;
  padding-left: 10px;
}

footer[role='contentinfo'] .container [class^='col-']:first-child {
  margin-bottom: 15px;
}

aside.external,aside[role=complementary].external {
  background: #eee;
}

.dlist {
  line-height: 1.7;
  margin: 1.5em 0 0;
}

.dlist:first-child {
  margin-top: 0;
}

.dlist>dt {
  font-weight: 700;
}

.dlist>dt.divider {
  padding-top: 15px;
  border-top: 1px solid #ccc;
}

.dlist>dt.divider:not(:first-child) {
  margin-top: 20px;
}

.dlist[data-marker-size]>dt,.dlist[data-marker-size]>dd {
  position: relative;
}

.dlist[data-marker-size]>dt>:first-child,.dlist[data-marker-size]>dd>:first-child {
  position: absolute;
  left: 0;
  margin: 0;
}

.dlist[data-marker-size='1']>dt,.dlist[data-marker-size='1']>dd {
  padding-left: 10px;
}

.dlist[data-marker-size='2']>dt,.dlist[data-marker-size='2']>dd {
  padding-left: 20px;
}

.dlist[data-marker-size='3']>dt,.dlist[data-marker-size='3']>dd {
  padding-left: 30px;
}

.dlist[data-marker-size='4']>dt,.dlist[data-marker-size='4']>dd {
  padding-left: 40px;
}

.dlist[data-marker-size='5']>dt,.dlist[data-marker-size='5']>dd {
  padding-left: 50px;
}

.dlist[data-marker-size='6']>dt,.dlist[data-marker-size='6']>dd {
  padding-left: 60px;
}

.dlist[data-marker-size='7']>dt,.dlist[data-marker-size='7']>dd {
  padding-left: 70px;
}

.dlist[data-marker-size='8']>dt,.dlist[data-marker-size='8']>dd {
  padding-left: 80px;
}

.dlist[data-marker-size='9']>dt,.dlist[data-marker-size='9']>dd {
  padding-left: 90px;
}

.dlist[data-marker-size='10']>dt,.dlist[data-marker-size='10']>dd {
  padding-left: 100px;
}

.dlist.-general>dt:not(:first-child) {
  margin-top: 1em;
}

.dlist.-general>dd {
  margin-top: .5em;
}

.dlist.-general.-compact>dt:not(:first-child) {
  margin-top: .5em;
}

.dlist.-general.-loose>dt:not(:first-child) {
  margin-top: 2em;
}

.list {
  line-height: 1.7;
  margin: .75em 0 0;
}

.list:first-child {
  margin-top: 0;
}

.list>li {
  position: relative;
}

.list>li.-attention {
  color: #e00000;
}

.list>li:not(:first-child) {
  margin-top: .5em;
}

.list>li>b:not([class]):first-child {
  font-weight: inherit;
  position: absolute;
  left: 0;
}

.list.-compact>li {
  margin-top: 0!important;
}

.list.-loose>li:not(:first-child) {
  margin-top: 1.5em!important;
}

.list.-itemize>li {
  padding-left: 2em;
  list-style-type: none;
}

.list.-itemize>li:before {
  position: absolute;
  top: calc(.85em - 2px);
  left: .5em;
  display: inline-block;
  width: 4px;
  height: 4px;
  content: '';
  border-radius: 100%;
  background: #333;
}

.main-visual {
  position: relative;
  margin-bottom: 70px;
}

.page-lead {
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
}

.page-container {
  box-sizing: content-box;
  padding-right: 10px;
  padding-left: 10px;
}

.page-footer {
  margin-top: 55px;
  margin-bottom: 60px;
}

.page-nav {
  margin-top: 65px;
}

.page-nav .nav-item {
  position: relative;
  display: block;
  padding: 20px 20px 40px;
  text-decoration: none;
  color: #333;
  border-radius: 71px / 50%;
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.page-nav .nav-item:after {
  position: absolute;
  width: 13px;
  height: 7px;
  content: '';
  background: url(../img/ico-arrow.svg) center bottom;
  background-size: contain;
}

.page-nav .nav-item .point {
  display: block;
  width: 90px;
  height: auto;
  margin-right: auto;
  margin-left: auto;
}

.page-nav .nav-item .text {
  font-size: 22px;
  font-weight: 700;
  display: block;
  margin-top: 10px;
}

.section--header {
  margin-top: 100px;
  text-align: center;
}

.section--header .point {
  width: 107px;
  height: auto;
}

.section--heading {
  font-size: 32px;
  font-weight: 700;
  margin-top: 13px;
  margin-bottom: 23px;
  text-align: center;
}

.section--sub-heading {
  font-size: 18px;
  color: #666;
}

.block {
  margin-top: 25px;
  margin-top: 40px;
  padding: 30px 30px 50px;
  border-radius: 17px;
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.block--title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 38px;
  padding: 12px;
  text-align: center;
  border-radius: 30px;
  background: #ededed;
}

.block--lead {
  font-size: 18px;
  margin-top: -10px;
  text-align: center;
  color: #666;
}

.two-images {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  margin-top: 38px;
  margin-right: 20px;
  margin-left: 20px;

  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
}

.two-images.-comparison:after {
  position: absolute;
  top: 50%;
  left: calc(50% - 22px);
  width: 45px;
  height: 43px;
  content: '';
  background: url(../img/ico-arrow-big.svg) center center no-repeat;
  background-size: contain;
}

.two-images>.item {
  position: relative;

  -ms-flex: 1 1 50%;
      flex: 1 1 50%;
}

.two-images>.item:nth-child(odd) {
  margin-right: 45px;
}

.two-images>.item:nth-child(even) {
  margin-left: 45px;
}

.two-images>.item .caption {
  font-size: 20px;
  font-weight: 700;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 17px;

  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
}

.two-images>.item .caption:before,.two-images>.item .caption:after {
  position: relative;
  top: -1px;
  width: 13px;
  height: 7px;
  content: '';
  background: url(../img/ico-arrow.svg) center center no-repeat;
  background-size: contain;
}

.two-images>.item .caption:before {
  margin-right: 19px;
  transform: rotate(90deg);
}

.two-images>.item .caption:after {
  margin-left: 19px;
  transform: rotate(-90deg);
}

.two-images>.item .img {
  width: 100%;
  height: auto;
  box-shadow: 0 0 10px rgba(0,0,0,.1);
}

.two-images>.item .note {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
}

.screen-explanation {
  display: -ms-flexbox;
  display: flex;
}

.screen-explanation .explanation {
  font-size: 22px;
  font-weight: 700;
  position: relative;
  margin-top: 40px;
  padding-top: 6px;
  padding-bottom: 5px;
  padding-left: 66px;
}

.screen-explanation .explanation:first-child {
  margin-top: 0;
}

.screen-explanation .explanation .num {
  position: absolute;
  top: calc(50% - 22px);
  left: 0;
}

.screen-explanation .screen {
  margin-top: 35px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.screen-explanation .screen img {
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0,0,0,.1);
}

.screen-explanation .screen img.-fringe {
  box-shadow: none;
}

.screen-explanation.-column .screen:nth-child(2) {
  margin-top: 0;
}

.page-qa {
  margin-top: 90px;
  padding: 50px 0;
  background: url(../img/bg-qa.png) center top no-repeat;
  background-size: cover;
}

.faq--title {
  margin-bottom: 54px;
  text-align: center;
}

.faq--title>span {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  height: 66px;
  padding: 16px 39px 14px 60px;
  border-radius: 0 33px 33px 0;
  box-shadow: 0 0 30px rgba(0,0,0,.1);

  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.faq--title .icon {
  position: absolute;
  top: -2px;
  left: -97px;
}

.faq--qa {
  font-size: 22px;
  position: relative;
  margin-top: 45px;
  padding: 30px 57px 30px 40px;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.faq--qa .icon {
  width: 45px;
  height: auto;
  margin-right: 20px;
  margin-left: -65px;
}

.faq--item {
  padding: 30px 10px 25px 65px;
}

.faq--item+.faq--item {
  padding-top: 33px;
  background: url(../img/bg-border.svg) left top no-repeat;
}

.footer-note {
  font-size: 14px;
  margin-top: 10px;
}

.block-title {
  font-size: 22px;
  position: relative;
  z-index: 3;
  margin-top: 18px;
  text-align: center;
}

.block-title>span {
  display: inline-block;
  padding: 12px 35px 0;
  border-radius: 35px 35px 0 0;
  background: #fff;
  box-shadow: 0 0 30px rgba(0,0,0,.1);
}

.block-title+.block {
  font-size: 20px;
  position: relative;
  margin-top: -8px;
  background: #fff;
}

.block-title+.block:before {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 30px;
  width: calc(100% - 60px);
  height: 30px;
  content: '';
  background: #fff;
}

.block-title+.block ul li {
  text-indent: 0;
}

.inline-icon {
  margin-right: .4em;
}

.footer-logo {
  display: -ms-flexbox;
  display: flex;

  -ms-flex-pack: end;
  justify-content: flex-end;
}

.footer-logo>* {
  margin-left: 9px;
}

@media screen and (min-width:1px),print {
  .container.popup [role='contentinfo'] .container [class^='col-']:first-child,footer[role='contentinfo'] .container [class^='col-']:first-child {
    background-color: transparent;
  }
}

@media screen and (min-width:48em),print {
  aside[role=complementary] li a {
    padding-right: 1.2em;
    padding-left: 0;
  }

  aside[role=complementary] li a:before {
    content: '';
  }

  aside[role=complementary] li a:after {
    top: 50%;
    right: 0;
    margin-top: -.6em;
    content: '\e8c3';
  }

  aside[role=complementary] li a:not([target=_blank]) {
    padding-right: 0;
  }

  aside[role=complementary] li a:not([target=_blank]):after {
    content: '';
  }
}

@media screen and (min-width:48em) {
  aside .container,aside[role=complementary] .container,footer[role=contentinfo] .container {
    max-width: 1200px;
  }

  .main-visual {
    max-width: 2000px;
    margin-right: auto;
    margin-left: auto;
    background: url(../img/mv-bg.jpg) center top no-repeat;
    background-size: cover;
  }

  .main-visual-wrapper {
    background-color: #f2f2f2;
  }

  .main-visual img {
    position: absolute;
  }

  .main-visual .inner {
    max-width: 1420px;
    margin-right: auto;
    margin-left: auto;
  }

  .main-visual .pconly {
    position: relative;
    padding-top: 29.3%;
  }

  .main-visual .bg {
    top: 0;
    bottom: 0;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
  }

  .main-visual .text {
    bottom: 0;
    left: calc(250/1420*100%);
    width: calc(100vw*607/1420);
    max-width: 607px;
  }

  .main-visual .img {
    right: 0;
    bottom: 0;
    width: calc(100vw*516/1420);
    max-width: 516px;
  }

  .page-nav {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
  }

  .page-nav .nav-item {
    margin: 0 13px;
    text-align: center;

    -ms-flex: 1 1 33%;
        flex: 1 1 33%;
  }

  .page-nav .nav-item:first-child {
    margin-left: 0;
  }

  .page-nav .nav-item:last-child {
    margin-right: 0;
  }

  .page-nav .nav-item:after {
    bottom: 20px;
    left: calc(50% - 6.5px);
  }

  .screen-explanation {
    padding-right: 20px;
    padding-left: 20px;

    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .screen-explanation .explanations,.screen-explanation .screen {
    margin-top: 30px;
  }

  .screen-explanation .explanations:nth-child(1),.screen-explanation .screen:nth-child(1) {
    margin-top: 0;
  }

  .screen-explanation .explanations {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;
    justify-content: center;
  }

  .screen-explanation .screen .ico-point1 {
    position: absolute;
    top: -5px;
    left: -5px;
    width: 6.02%;
    height: auto;
  }

  .screen-explanation .screen.-ir02-01-sp {
    position: relative;
  }

  .screen-explanation.-column .item {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .screen-explanation.-column .explanations {
    display: block;
    padding-right: 8px;
    text-align: left;

    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
  }

  .screen-explanation.-column .screen {
    padding-left: 8px;

    -ms-flex: 1 1 50%;
        flex: 1 1 50%;
  }

  .faq--item:first-child {
    padding-top: 0;
  }

  .faq--item:last-child {
    padding-bottom: 0;
  }

  ._hidden-pc {
    display: none!important;
  }
}

@media screen and (max-width:47.94em) {
  .container.popup header[role=banner],.container header[role=banner] {
    min-height: 0;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .container.popup header[role=banner] .container,.container header[role=banner] .container {
    height: auto;
  }

  .container.popup header[role=banner] .siteid,.container header[role=banner] .siteid {
    display: -ms-flexbox;
    display: flex;
    height: 53px;

    -ms-flex-align: center;
    align-items: center;
  }

  .container.popup header[role=banner] .siteid img,.container header[role=banner] .siteid img {
    width: 231px;
  }

  .container.popup header[role=banner] .search-box-header,.container header[role=banner] .search-box-header {
    margin-top: 8px;
  }

  .container.popup header[role=banner] .head-exp,.container header[role=banner] .head-exp {
    display: block;
    margin-top: 7px!important;
  }

  .container.popup header[role=banner] .head-exp .nav-sprt,.container header[role=banner] .head-exp .nav-sprt {
    top: initial;
    bottom: 42px;
  }

  .container.popup header[role=banner] .head-exp .nav-sprt .btn-base,.container header[role=banner] .head-exp .nav-sprt .btn-base {
    font-size: 10px!important;
    width: 52px;
    height: 55px;
    margin-bottom: 0;
    padding-top: 37px!important;
  }

  .container.popup header[role=banner] .head-exp .nav-sprt .btn-base:before,.container header[role=banner] .head-exp .nav-sprt .btn-base:before {
    top: -3px;
    margin-top: 0;
  }

  aside,aside[role=complementary] {
    border-top: 2px solid #c00;
  }

  aside .nav-block,aside[role=complementary] .nav-block {
    border-color: #fff;
  }

  aside .nav-block li,aside[role=complementary] .nav-block li {
    border-color: #fff;
  }

  footer[role=contentinfo] p {
    font-size: 11px;
  }

  .container header[role=banner] .siteid img {
    width: 155px;
  }

  .container header[role=banner] .head-exp {
    margin-top: 0!important;
  }

  .container header[role=banner] .head-exp .nav-sprt {
    bottom: 0;
  }

  aside.external,aside[role=complementary].external {
    border-top: 2px solid #c00;
  }

  aside,aside[role=complementary] {
    border-top: 1px solid #fff;
  }

  .main-visual {
    margin-bottom: 20px;
  }

  .main-visual .inner {
    display: none;
  }

  .main-visual>img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  .page-lead {
    font-size: 15px;
    text-align: left;
  }

  .page-container {
    padding-right: 20px;
    padding-left: 20px;
  }

  .page-footer {
    margin-top: 30px;
  }

  .page-nav {
    margin-top: 25px;
    margin-right: -10px;
    margin-left: -10px;
  }

  .page-nav .nav-item {
    display: -ms-flexbox;
    display: flex;
    min-height: 90px;
    margin-top: 15px;
    padding: 10px 60px 10px 20px;
    border-radius: 45px / 50%;

    -ms-flex-align: center;
    align-items: center;
  }

  .page-nav .nav-item:first-child {
    margin-top: 0;
  }

  .page-nav .nav-item:after {
    top: calc(50% - 4px);
    right: 35px;
  }

  .page-nav .nav-item .point {
    position: relative;
    top: -5px;
    width: 50px;
    margin: 0;
    margin-right: 25px;
  }

  .page-nav .nav-item .text {
    font-size: 18px;
    margin-top: 0;
  }

  .section--header {
    margin-top: 40px;
  }

  .section--header .point {
    width: 90px;
  }

  .section--heading {
    font-size: 20px;
    margin-top: 7px;
    margin-bottom: 8px;
  }

  .section--sub-heading {
    font-size: 15px;
  }

  .section--sub-heading.-ir {
    text-align: left;
  }

  .block {
    margin-top: 20px;
    padding: 20px;
  }

  .block--title {
    font-size: 16px;
    margin-bottom: 22px;
    padding: 8px 7px 6px;
    border-radius: 19px;
  }

  .block--lead {
    font-size: 15px;
    margin-top: 0;
  }

  .two-images {
    margin-top: 22px;
    margin-right: 0;
    margin-left: 0;
  }

  .two-images.-ir01-02-sp .item:nth-child(odd) {
    margin-right: 9px;
  }

  .two-images.-ir01-02-sp .item:nth-child(even) {
    margin-left: 9px;
  }

  .two-images.-comparison:after {
    top: calc(50% - 30px);
    left: calc(50% - 13px);
    width: 27px;
  }

  .two-images.-ir01 {
    padding-bottom: 30px;
  }

  .two-images>.item:nth-child(odd) {
    margin-right: 23px;
  }

  .two-images>.item:nth-child(even) {
    margin-left: 23px;
  }

  .two-images>.item .caption {
    font-size: 13px;
    margin-bottom: 5px;
  }

  .two-images>.item .caption:before,.two-images>.item .caption:after {
    top: -2px;

    -ms-flex: 0 0 13px;
        flex: 0 0 13px;
  }

  .two-images>.item .caption:before {
    margin-right: 3px;
  }

  .two-images>.item .caption:after {
    margin-left: 3px;
  }

  .two-images>.item .note {
    font-size: 13px;
    top: calc(100% + 10px);
    left: calc(-100% - 48px);
  }

  .screen-explanation {
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
  }

  .screen-explanation>* {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }

  .screen-explanation .explanations {
    -ms-flex-order: 1;
    order: 1;
  }

  .screen-explanation .explanation {
    font-size: 14px;
    margin-top: 0;
    padding-left: 42px;
  }

  .screen-explanation .explanation .num {
    width: 32px;
  }

  .screen-explanation .screen {
    margin-top: 12px;
  }

  .screen-explanation .screen {
    -ms-flex-order: 2;
    order: 2;
  }

  .screen-explanation .screen.-ir02-01-sp {
    margin-left: -10px;
  }

  .screen-explanation .screen.-ir02-02-sp {
    margin-left: -10px;
  }

  .page-qa {
    margin-top: 50px;
    padding-top: 32px;
    padding-bottom: 20px;
    background: url(../img/bg-qa-sp.png) left top no-repeat #f4f4f4;
    background-position: left top;
    background-size: contain;
  }

  .faq--title {
    margin-bottom: 22px;
  }

  .faq--title>span {
    font-size: 16px;
    height: 38px;
    padding: 10px 30px 10px 70px;
    border-radius: 0 19px 19px 0;
  }

  .faq--title .icon {
    left: -28px;
    width: 86px;
    height: auto;
  }

  .faq--qa {
    font-size: 14px;
    margin-top: 20px;
    padding: 0 20px;
  }

  .faq--qa .icon {
    position: absolute;
    top: calc(50% - 16px);
    left: 0;
    width: 32px;
    margin: 0;
  }

  .faq--item {
    position: relative;
    padding: 20px 0 15px 40px;
  }

  .faq--item+.faq--item {
    padding-top: 23px;
  }

  .block-title {
    font-size: 16px;
  }

  .block-title>span {
    padding: 10px 20px 0;
  }

  .block-title+.block {
    font-size: 14px;
    margin-top: -5px;
  }

  .block-title+.block:before {
    height: 15px;
  }

  ._hidden-sp {
    display: none!important;
  }

  .inline-icon {
    width: 17px;
  }
}
