@charset "UTF-8";
/**************************************************
    sass
***************************************************/
/* ---------- Media Query --------- */
/* ---------- Common --------- */
/**************************************************
	base
***************************************************/
/* -----------------------------------------------
	1. Body
-------------------------------------------------- */
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  text-align: left;
  margin: 0;
  position: relative; }

body, input, textarea, select {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7; }

/* -----------------------------------------------
	2. Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0; }

img, video {
  border: 0;
  vertical-align: bottom;
  max-width: 100%; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

li {
  margin: 0;
  padding: 0; }

dl, dt, dd {
  margin: 0;
  padding: 0; }

i {
  font-style: normal; }

/* ---------- text ---------- */
p {
  margin: 0 0 20px; }

a {
  color: #d70c19;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

a:hover {
  color: #d70c19;
  text-decoration: underline;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

a[nohref] {
  color: inherit; }
  a[nohref]:hover {
    text-decoration: none; }

a img {
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

a:hover img {
  opacity: 0.6;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

*:focus {
  outline: none; }

/* ---------- plain ---------- */
ul.plain, ol.plain, dl.plain {
  margin-left: 20px;
  margin-bottom: 20px; }

.plain ul, .plain ol {
  margin: 0 0 0 20px; }

ul.plain {
  list-style-type: disc; }
  ul.plain ul {
    list-style-type: circle; }
    ul.plain ul ul {
      list-style-type: square; }

ol.plain, ol.plain ol {
  list-style-type: decimal; }

/* -----------------------------------------------
	3. Helper Class
-------------------------------------------------- */
/* ---------- clear ---------- */
._clearfix {
  zoom: 1; }
  ._clearfix:after {
    content: '';
    display: block;
    clear: both;
    overflow: auto; }

._float-l {
  float: left; }

._float-r {
  float: right; }

._clear {
  clear: both; }

._hidden {
  display: none; }

/* ---------- text ---------- */
._small {
  font-size: 88% !important; }

._large {
  font-size: 113% !important; }

._valignt {
  vertical-align: top !important; }

._valignm {
  vertical-align: middle !important; }

._valignb {
  vertical-align: bottom !important; }

._txtc, ._txtc th, ._txtc td {
  text-align: center !important; }

._txtr, ._txtr th, ._txtr td {
  text-align: right !important; }

._txtl, ._txtl th, ._txtl td {
  text-align: left !important; }

._wordbreak {
  word-break: break-all !important; }

._nowrap {
  white-space: nowrap !important; }

._image-text {
  overflow: hidden !important; }

/* ---------- margin ---------- */
._first {
  margin-top: 0 !important; }

._zero {
  margin-bottom: 0 !important; }

._half {
  margin-bottom: 10px !important; }

._default {
  margin-bottom: 20px !important; }

._double {
  margin-bottom: 40px !important; }

/* ---------- irregular ---------- */
.max-w250 {
  max-width: 250px; }

.height-185 {
  height: 185px; }

/**************************************************
	structure
***************************************************/
/* -----------------------------------------------
	0. Body
-------------------------------------------------- */
body {
  min-width: 1200px;
  margin: 0 auto; }

/* -----------------------------------------------
	1. Header
-------------------------------------------------- */
.site-header .site-header-inner {
  max-width: 1200px;
  padding: 20px 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .site-header .site-header-inner .logo {
    margin: 0; }
    .site-header .site-header-inner .logo img {
      width: 225px;
      height: 40px;
      display: block; }
  .site-header .site-header-inner .utility-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .site-header .site-header-inner .utility-nav > li.btn-flow a {
      font-size: 75%;
      color: #666;
      text-decoration: underline;
      padding-left: 16px;
      position: relative; }
      .site-header .site-header-inner .utility-nav > li.btn-flow a::before {
        content: "";
        background: url(../img/ico_circle_glay.svg) no-repeat;
        background-size: 10px;
        position: absolute;
        left: 0;
        top: calc((100% - 8px) / 2);
        width: 10px;
        height: 10px;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
      .site-header .site-header-inner .utility-nav > li.btn-flow a:hover {
        color: #d70c19; }
        .site-header .site-header-inner .utility-nav > li.btn-flow a:hover::before {
          background: url(../img/ico_circle_red.svg) no-repeat;
          -webkit-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
    .site-header .site-header-inner .utility-nav > li.btn-open {
      margin-left: 20px; }
      .site-header .site-header-inner .utility-nav > li.btn-open a {
        font-size: 75%;
        color: #d70c19;
        border: 1px solid #d70c19;
        border-radius: 20px;
        padding: 11px 30px; }
        .site-header .site-header-inner .utility-nav > li.btn-open a:hover {
          text-decoration: none;
          background: #d70c19;
          color: #fff; }

.site-header .site-nav {
  background: #000; }
  .site-header .site-nav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .site-header .site-nav > ul > li a {
      font-size: 93.75%;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em;
      padding: 20px;
      display: block; }
      .site-header .site-nav > ul > li a:hover {
        text-decoration: none;
        background: #d70c19; }

/* -----------------------------------------------
	2. Footer
-------------------------------------------------- */
.site-footer {
  text-align: center;
  padding-bottom: 60px; }
  .site-footer .copyright {
    font-size: 87.5%; }

/**************************************************
	components
***************************************************/
/* -----------------------------------------------
	Animation
-------------------------------------------------- */
.fadein-top {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  -ms-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 800ms;
  -o-transition: all 800ms;
  transition: all 800ms; }
  .fadein-top.scrollin {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }

.fadein-left {
  opacity: 1.0 !important; }
  .fadein-left::before {
    content: "";
    -webkit-animation: fadein-left 4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation: fadein-left 4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    background: #fff;
    bottom: 0;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1; }

@-webkit-keyframes fadein-left {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

@keyframes fadein-left {
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }

/* -----------------------------------------------
	Heading
-------------------------------------------------- */
.h2-a {
  text-align: center; }
  .h2-a span {
    display: block; }
    .h2-a span.sub {
      font-size: 131.25%;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      letter-spacing: 0.1em;
      background: #d70c19;
      color: #fff;
      text-transform: uppercase;
      display: inline-block;
      padding: 0.1em 0.8em;
      margin-bottom: 20px; }
    .h2-a span.main {
      font-size: 262.5%;
      font-weight: 900;
      letter-spacing: 0.05em;
      margin-bottom: 80px;
      line-height: 1.4; }

.h3-a {
  font-size: 137.5%;
  font-weight: 900;
  position: relative;
  margin: 20px 0; }
  .h3-a::before {
    content: "";
    width: 20px;
    height: 4px;
    background: #d70c19;
    display: block;
    position: absolute;
    top: 16px;
    left: -34px; }

.h3-b {
  text-align: center; }
  .h3-b span {
    display: block; }
    .h3-b span.sub {
      font-size: 100%;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      letter-spacing: 0.1em;
      color: #d70c19;
      text-transform: uppercase;
      display: inline-block;
      padding: 0.1em 0.8em;
      margin-bottom: 4px; }
    .h3-b span.main {
      font-size: 162.5%;
      font-weight: 900;
      letter-spacing: 0.05em;
      margin-bottom: 40px;
      line-height: 1.4; }
      .h3-b span.main em {
        color: #d70c19;
        font-style: normal; }

/* -----------------------------------------------
	Button
-------------------------------------------------- */
.btn-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .btn-flex > li {
    margin: 0 15px; }
    .btn-flex > li a {
      min-width: 280px;
      text-align: center;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }

.btn-a {
  font-size: 75%;
  color: #d70c19;
  border: 1px solid #d70c19;
  border-radius: 20px;
  padding: 11px 30px;
  display: inline-block; }
  .btn-a:hover {
    text-decoration: none;
    background: #d70c19;
    color: #fff; }
  .btn-a.-white {
    border: 1px solid #fff;
    color: #fff; }
    .btn-a.-white:hover {
      text-decoration: none;
      background: #fff;
      color: #d70c19; }

/**************************************************
	base
***************************************************/
.pc-none {
  display: none; }

.sp-nav {
  display: none; }

.sp-nav-button {
  display: none; }

@media (max-width: 767px) {
  /* -----------------------------------------------
	1. body
-------------------------------------------------- */
  body {
    font-size: 14px; }
  img {
    max-width: 100%;
    height: auto; }
  /* -----------------------------------------------
	helper
-------------------------------------------------- */
  .pc-none {
    display: block; }
  br.pc-none, span.pc-none {
    display: inline; }
  .sp-none {
    display: none; }
  .sp-txtc {
    text-align: center !important; }
  .sp-txtl {
    text-align: left !important; } }

/**************************************************
	structure
***************************************************/
@media (max-width: 767px) {
  /* -----------------------------------------------
  	0. Body
  -------------------------------------------------- */
  body {
    min-width: 100%;
    margin: 0 auto; }
    body .p-lpcmn-affiliate {
      display: none; }
  /* -----------------------------------------------
  	1. Header
  -------------------------------------------------- */
  .site-header .site-header-inner {
    width: 100%;
    max-width: 100%;
    padding: 20px;
    margin: 0 auto;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .site-header .site-header-inner .logo {
      margin: 0; }
    .site-header .site-header-inner .utility-nav {
      display: none; }
  .site-header .site-nav {
    display: none; }
  /* -----------------------------------------------
      SP Nav
  -------------------------------------------------- */
  .sp-nav-button-wrap {
    position: fixed;
    top: 10px;
    right: 10px;
    display: inline-block;
    width: 60px;
    height: 60px;
    z-index: 9999;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #d70c19;
    padding: 12px 8px 8px; }
  .sp-nav-button,
  .sp-nav-button span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .sp-nav-button {
    position: relative;
    width: 100%;
    height: 16px;
    z-index: 300; }
    .sp-nav-button::after {
      position: absolute;
      bottom: -20px;
      left: 0;
      content: "メニュー";
      width: 100%;
      text-align: center;
      color: #fff;
      font-size: 10px;
      font-weight: bold;
      letter-spacing: 0.1em;
      line-height: 1; }
    .sp-nav-button span {
      position: absolute;
      left: 20%;
      width: 60%;
      height: 2px;
      background-color: #fff; }
      .sp-nav-button span:nth-of-type(1) {
        top: 0; }
      .sp-nav-button span:nth-of-type(2) {
        top: calc(50% - 1px); }
      .sp-nav-button span:nth-of-type(3) {
        bottom: 0; }
    .sp-nav-button.-active::after {
      color: #fff;
      content: "閉じる"; }
    .sp-nav-button.-active span:nth-of-type(1) {
      -webkit-transform: translateY(7px) rotate(-45deg);
      -ms-transform: translateY(7px) rotate(-45deg);
      transform: translateY(7px) rotate(-45deg); }
    .sp-nav-button.-active span:nth-of-type(2) {
      opacity: 0; }
    .sp-nav-button.-active span:nth-of-type(3) {
      -webkit-transform: translateY(-7px) rotate(45deg);
      -ms-transform: translateY(-7px) rotate(45deg);
      transform: translateY(-7px) rotate(45deg); }
    .sp-nav-button.-active span {
      background-color: #fff; }
  .sp-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #333;
    opacity: 0.9;
    color: #fff;
    z-index: 9998;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
    -webkit-transform: translateY(-150%);
    -ms-transform: translateY(-150%);
    transform: translateY(-150%); }
    .sp-nav.-active {
      -webkit-transform: translateY(0%);
      -ms-transform: translateY(0%);
      transform: translateY(0%); }
    .sp-nav .sp-global-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      z-index: 100;
      height: 100vh; }
      .sp-nav .sp-global-nav .anchor {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row;
        flex-flow: row;
        -ms-flex-direction: column;
        flex-direction: column; }
        .sp-nav .sp-global-nav .anchor li {
          margin-right: 0;
          text-align: center; }
          .sp-nav .sp-global-nav .anchor li a {
            color: #fff;
            font-size: 18px;
            line-height: 3; }
      .sp-nav .sp-global-nav .sns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px; }
        .sp-nav .sp-global-nav .sns li {
          margin: 0 10px; } }

/**************************************************
	components
***************************************************/
@media (max-width: 767px) {
  /* -----------------------------------------------
  	Heading
  -------------------------------------------------- */
  .h2-a span.sub {
    font-size: 87.5%;
    margin-bottom: 10px; }
  .h2-a span.main {
    font-size: 175%;
    margin-bottom: 30px; }
  .h3-a {
    font-size: 137.5%;
    margin: 20px 0 10px; }
    .h3-a::before {
      display: none; }
  .h3-b span.sub {
    font-size: 87.5%;
    margin-bottom: 2px; }
  .h3-b span.main {
    font-size: 125%;
    margin-bottom: 10px; }
  /* -----------------------------------------------
  	Button
  -------------------------------------------------- */
  .btn-flex {
    display: block; }
    .btn-flex > li {
      margin: 0; }
      .btn-flex > li a {
        min-width: 100%;
        text-align: center;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      .btn-flex > li:first-child {
        margin-bottom: 20px; }
  .btn-a {
    width: 100%;
    padding: 10px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center; } }

/**************************************************
	Top
***************************************************/
.overlay {
  display: none;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  z-index: 98;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .overlay .area {
    width: 480px;
    background: #fff;
    border-radius: 6px;
    padding: 40px;
    z-index: 99; }
    .overlay .area .lead {
      line-height: 2;
      margin-bottom: 30px; }
    .overlay .area .enter {
      font-size: 112.5%;
      display: block;
      text-align: center;
      border-radius: 6px;
      border: 1px solid #d80c18;
      color: #d80c18;
      padding: 10px 40px;
      margin: 0 auto;
      font-weight: bold;
      background: #fafafa;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      .overlay .area .enter:hover {
        background: #d80c18;
        color: #fff;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
    .overlay .area .logo {
      border-top: 1px solid #e5e5e5;
      padding-top: 40px;
      margin-top: 40px;
      text-align: center; }
      .overlay .area .logo img {
        max-width: 280px; }

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  50% {
    -webkit-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  50% {
    -webkit-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

#top section > .inner {
  width: 1200px;
  padding: 100px 0;
  margin: 0 auto; }

#top .keyvisual {
  background: -webkit-gradient(linear, left top, right top, from(#fafafa), to(#f0f0f0));
  background: -webkit-linear-gradient(left, #fafafa, #f0f0f0);
  background: -o-linear-gradient(left, #fafafa, #f0f0f0);
  background: linear-gradient(to right, #fafafa, #f0f0f0); }
  #top .keyvisual .keyvisual-inner {
    position: relative; }
    #top .keyvisual .keyvisual-inner .text {
      max-width: 1200px;
      margin: 0 auto;
      padding: 30px 0 40px;
      position: relative;
      z-index: 2; }
      #top .keyvisual .keyvisual-inner .text .copy {
        margin-bottom: 20px; }
      #top .keyvisual .keyvisual-inner .text .utility-nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 10px; }
        #top .keyvisual .keyvisual-inner .text .utility-nav > li:first-child {
          margin-right: 15px; }
        #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open {
          text-align: center; }
          #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open span {
            font-size: 62.5%;
            color: #666;
            display: inline-block;
            position: relative;
            margin-bottom: 10px; }
            #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open span::before, #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open span::after {
              content: '';
              position: absolute;
              top: calc((100% - 5px) / 2);
              display: inline-block;
              width: 1px;
              height: 7px;
              background-color: #666;
              -webkit-transform: rotate(-40deg);
              -ms-transform: rotate(-40deg);
              transform: rotate(-40deg); }
            #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open span::before {
              left: -8px; }
            #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open span::after {
              right: -8px;
              -webkit-transform: rotate(40deg);
              -ms-transform: rotate(40deg);
              transform: rotate(40deg); }
          #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open a {
            font-size: 81.25%;
            font-weight: 500;
            color: #d70c19;
            border: 1px solid #d70c19;
            border-radius: 6px;
            width: 265px;
            padding: 14px 0 15px 22px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            display: block;
            text-align: left;
            position: relative; }
            #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open a::after {
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 3px 0 3px 5px;
              border-color: transparent transparent transparent #d70c19;
              position: absolute;
              top: calc((100% - 6px) / 2);
              right: 20px; }
            #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open a:hover {
              text-decoration: none;
              background: #d70c19;
              color: #fff; }
              #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open a:hover::after {
                border-color: transparent transparent transparent #fff; }
      #top .keyvisual .keyvisual-inner .text .btn-flow {
        margin-bottom: 20px; }
        #top .keyvisual .keyvisual-inner .text .btn-flow a {
          font-size: 75%;
          color: #666;
          text-decoration: underline;
          padding-left: 16px;
          position: relative; }
          #top .keyvisual .keyvisual-inner .text .btn-flow a::before {
            content: "";
            background: url(../img/ico_circle_glay.svg) no-repeat;
            background-size: 10px;
            position: absolute;
            left: 0;
            top: calc((100% - 8px) / 2);
            width: 10px;
            height: 10px;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s; }
          #top .keyvisual .keyvisual-inner .text .btn-flow a:hover {
            color: #d70c19; }
            #top .keyvisual .keyvisual-inner .text .btn-flow a:hover::before {
              background: url(../img/ico_circle_red.svg) no-repeat;
              -webkit-transition: all 0.3s;
              -o-transition: all 0.3s;
              transition: all 0.3s; }
      #top .keyvisual .keyvisual-inner .text .attention {
        max-width: 780px; }
        #top .keyvisual .keyvisual-inner .text .attention .attention-list > li {
          font-size: 62.5%;
          color: #666;
          text-indent: -1em;
          padding-left: 1em; }
    #top .keyvisual .keyvisual-inner .image {
      background: url(../img/bg_keyv.png) no-repeat center 0;
      width: 100%;
      height: 677px;
      position: absolute;
      right: 0;
      bottom: 0; }
      #top .keyvisual .keyvisual-inner .image .image-inner {
        width: 1200px;
        margin: 0 auto; }
        #top .keyvisual .keyvisual-inner .image .image-inner .keyv-01 {
          margin: 20px 0 0 585px;
          -webkit-animation: fuwafuwa 6s infinite;
          animation: fuwafuwa 6s infinite; }
    #top .keyvisual .keyvisual-inner .spread {
      position: absolute;
      top: 40px;
      left: 140px; }
      #top .keyvisual .keyvisual-inner .spread .spread-list {
        width: 218px;
        height: 70px; }
      #top .keyvisual .keyvisual-inner .spread .attention {
        font-size: 62.5%;
        color: #666; }

#top .banner {
  background: #fafafa; }
  #top .banner > .inner {
    padding: 40px 0; }
  #top .banner .bnr-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #top .banner .bnr-list > li a {
      display: block; }
  #top .banner .attention-list {
    font-size: 62.5%;
    color: #666;
    text-indent: -1em;
    padding-left: 1em; }

#top .commercial .video {
  text-align: center;
  margin-bottom: 40px; }

#top .commercial .title {
  text-align: center; }
  #top .commercial .title span {
    display: block; }
    #top .commercial .title span.sub {
      font-size: 100%;
      font-weight: 300;
      color: #666;
      margin-bottom: 0.2em; }
    #top .commercial .title span.main {
      font-size: 200%;
      font-weight: 900;
      letter-spacing: 0.05em; }

#top .introduction {
  background: #fafafa; }
  #top .introduction .feature {
    padding: 40px;
    margin-bottom: 60px;
    background: #fff;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.05); }
    #top .introduction .feature .feature-inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #top .introduction .feature .feature-inner .image {
        margin-right: 70px;
        position: relative; }
        #top .introduction .feature .feature-inner .image::before {
          content: "";
          position: absolute;
          top: -20px;
          left: -20px;
          display: block;
          width: 80px;
          height: 80px; }
        #top .introduction .feature .feature-inner .image.image1::before {
          background: url(../img/img3.png) no-repeat;
          background-size: 80px; }
        #top .introduction .feature .feature-inner .image.image2::before {
          background: url(../img/img4.png) no-repeat;
          background-size: 80px; }
      #top .introduction .feature .feature-inner .lead {
        font-size: 93.75%;
        line-height: 2;
        margin-bottom: 30px; }
      #top .introduction .feature .feature-inner .btn-list > li {
        margin-bottom: 20px; }
        #top .introduction .feature .feature-inner .btn-list > li:last-child {
          margin-bottom: 0; }
    #top .introduction .feature .attention {
      background: #fafafa;
      padding: 20px;
      margin-top: 20px; }
      #top .introduction .feature .attention p {
        font-size: 75%;
        margin-bottom: 0;
        color: #666;
        text-indent: -1em;
        padding-left: 1em; }

#top .attention > .inner {
  position: relative;
  padding-bottom: 180px; }

#top .attention .image {
  position: absolute;
  right: 0;
  bottom: 80px;
  z-index: 2;
  -webkit-animation: fuwafuwa 6s infinite;
  animation: fuwafuwa 6s infinite; }

#top .attention .point {
  overflow: hidden;
  position: relative;
  margin-bottom: 40px; }
  #top .attention .point div {
    font-size: 131.25%;
    font-weight: 800;
    display: block;
    margin-bottom: 10px; }
    #top .attention .point div span {
      background: #000;
      color: #fff;
      padding: 0.4em 1em 0.5em;
      display: inline-block;
      opacity: 0; }
    #top .attention .point div:last-child {
      margin-bottom: 0; }

#top .attention .lead {
  font-size: 87.5%;
  line-height: 2.4;
  color: #666;
  max-width: 570px;
  margin-bottom: 40px; }

#top .attention .attention-list {
  margin-top: 40px; }
  #top .attention .attention-list > li {
    font-size: 62.5%;
    color: #666;
    text-indent: -1em;
    padding-left: 1em; }

#top .tool {
  background: #fafafa; }
  #top .tool > .inner {
    padding-bottom: 60px; }
  #top .tool .image {
    text-align: center; }
  #top .tool .title {
    margin: -40px 0 60px;
    text-align: center; }
    #top .tool .title span {
      display: block; }
      #top .tool .title span.sub {
        font-size: 100%;
        font-weight: 300;
        color: #666;
        margin-bottom: 0.2em; }
      #top .tool .title span.main {
        font-size: 200%;
        font-weight: 900;
        letter-spacing: 0.05em; }
  #top .tool .function-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px; }
    #top .tool .function-list > li {
      font-size: 112.5%;
      font-weight: 800;
      line-height: 1.8;
      text-align: center;
      width: calc((100% - 40px - 40px) / 3);
      background: #fff;
      -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
      box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 160px;
      margin-bottom: 40px;
      border-radius: 6px;
      position: relative; }
      #top .tool .function-list > li .num {
        font-size: 100%;
        font-family: "Montserrat", sans-serif;
        color: #d70c19;
        position: absolute;
        top: 20px;
        left: 20px;
        line-height: 1;
        font-weight: 400; }
    #top .tool .function-list::after {
      content: "";
      display: block;
      width: calc((100% - 40px - 40px) / 3); }

#top .apply .inner {
  padding: 60px 0; }

#top .apply .video {
  width: 1000px;
  margin: 0 auto 50px; }

#top .apply .title {
  margin: 0 0 60px;
  text-align: center; }
  #top .apply .title span {
    display: block; }
    #top .apply .title span.sub {
      font-size: 100%;
      font-weight: 300;
      color: #666;
      margin-bottom: 0.2em; }
    #top .apply .title span.main {
      font-size: 200%;
      font-weight: 900;
      letter-spacing: 0.05em; }

#top .apply .function-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px; }
  #top .apply .function-list > li {
    font-size: 112.5%;
    font-weight: 800;
    line-height: 1.8;
    text-align: center;
    width: calc((100% - 40px - 40px) / 3);
    background: #fafafa;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 160px;
    margin-bottom: 40px;
    border-radius: 6px;
    position: relative; }
    #top .apply .function-list > li .num {
      font-size: 100%;
      font-family: "Montserrat", sans-serif;
      color: #d70c19;
      position: absolute;
      top: 20px;
      left: 20px;
      line-height: 1;
      font-weight: 400; }
  #top .apply .function-list::after {
    content: "";
    display: block;
    width: calc((100% - 40px - 40px) / 3); }

#top .download {
  background: #333;
  padding: 60px 0;
  text-align: center; }

#top .information .inner {
  padding-bottom: 60px; }

#top .information .h2-a span.main {
  margin-bottom: 40px; }

#top .information .lead {
  font-size: 112.5%;
  color: #666;
  text-align: center;
  line-height: 2;
  margin-bottom: 60px; }

#top .information .image {
  text-align: center; }

#top .step {
  background: #fafafa; }
  #top .step .inner {
    width: 960px;
    margin: 0 auto; }
  #top .step .h2-a span.main {
    margin-bottom: 40px; }
  #top .step .lead {
    font-size: 112.5%;
    color: #666;
    text-align: center;
    line-height: 2;
    margin-bottom: 80px; }
  #top .step .flow-list > li {
    position: relative;
    margin-bottom: 80px; }
    #top .step .flow-list > li.step1 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #top .step .flow-list > li.step1 .route {
        width: calc((100% - 60px) / 2);
        text-align: center; }
        #top .step .flow-list > li.step1 .route .guide {
          text-align: center;
          position: relative;
          display: inline-block;
          margin-bottom: 40px; }
          #top .step .flow-list > li.step1 .route .guide::before, #top .step .flow-list > li.step1 .route .guide::after {
            content: '';
            position: absolute;
            top: calc((100% - 14px) / 2);
            display: inline-block;
            width: 1px;
            height: 14px;
            background-color: #000;
            -webkit-transform: rotate(-40deg);
            -ms-transform: rotate(-40deg);
            transform: rotate(-40deg); }
          #top .step .flow-list > li.step1 .route .guide::before {
            left: -14px; }
          #top .step .flow-list > li.step1 .route .guide::after {
            right: -14px;
            -webkit-transform: rotate(40deg);
            -ms-transform: rotate(40deg);
            transform: rotate(40deg); }
        #top .step .flow-list > li.step1 .route .flow {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 12px rgba(0, 0, 0, 0.05); }
          #top .step .flow-list > li.step1 .route .flow .icon {
            width: 80px;
            height: 80px;
            color: #fff;
            background: #d70c19;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
            #top .step .flow-list > li.step1 .route .flow .icon span {
              display: block;
              width: 100%;
              line-height: 1; }
              #top .step .flow-list > li.step1 .route .flow .icon span.en {
                font-size: 75%;
                font-weight: 500;
                letter-spacing: 0.15em;
                text-transform: uppercase;
                margin-bottom: 0.4em; }
              #top .step .flow-list > li.step1 .route .flow .icon span.num {
                font-size: 175%;
                font-weight: 500;
                letter-spacing: 0.1em; }
          #top .step .flow-list > li.step1 .route .flow .text {
            background: #fff;
            -webkit-box-flex: 1;
            -ms-flex: auto;
            flex: auto;
            text-align: left;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            padding-left: 30px; }
            #top .step .flow-list > li.step1 .route .flow .text a {
              font-size: 112.5%;
              text-decoration: underline;
              font-weight: 500;
              letter-spacing: 0.1em; }
    #top .step .flow-list > li.step2 .flow, #top .step .flow-list > li.step3 .flow {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
      box-shadow: 0 0 12px rgba(0, 0, 0, 0.05); }
      #top .step .flow-list > li.step2 .flow .icon, #top .step .flow-list > li.step3 .flow .icon {
        width: 80px;
        height: 80px;
        color: #fff;
        background: #d70c19;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        #top .step .flow-list > li.step2 .flow .icon span, #top .step .flow-list > li.step3 .flow .icon span {
          display: block;
          width: 100%;
          line-height: 1; }
          #top .step .flow-list > li.step2 .flow .icon span.en, #top .step .flow-list > li.step3 .flow .icon span.en {
            font-size: 75%;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 0.4em; }
          #top .step .flow-list > li.step2 .flow .icon span.num, #top .step .flow-list > li.step3 .flow .icon span.num {
            font-size: 175%;
            font-weight: 500;
            letter-spacing: 0.1em; }
      #top .step .flow-list > li.step2 .flow .text, #top .step .flow-list > li.step3 .flow .text {
        background: #fff;
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto;
        text-align: left;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-left: 30px;
        font-size: 112.5%;
        font-weight: 500;
        letter-spacing: 0.1em; }
    #top .step .flow-list > li::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 22px 21px 0 21px;
      border-color: #d70c19 transparent transparent transparent;
      position: absolute;
      left: calc((100% - 22px) / 2);
      bottom: -52px; }
    #top .step .flow-list > li:last-child {
      margin-bottom: 60px; }
      #top .step .flow-list > li:last-child::after {
        display: none; }

#top .support .h2-a span.main {
  margin-bottom: 40px; }

#top .support .lead {
  font-size: 112.5%;
  color: #666;
  text-align: center;
  line-height: 2;
  margin-bottom: 60px; }

#top .support .image {
  text-align: center; }

#top .contact {
  background: #333;
  padding: 60px 0;
  text-align: center; }
  #top .contact .inner {
    background: #fff;
    max-width: 1200px;
    padding: 60px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #top .contact .inner .wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #top .contact .inner .wrap .box {
        width: 50%;
        text-align: left; }
        #top .contact .inner .wrap .box.-left {
          padding: 0 40px 0 0;
          border-right: 1px solid #e5e5e5;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          #top .contact .inner .wrap .box.-left .lead {
            font-size: 81.25%;
            color: #666;
            line-height: 2;
            margin-bottom: 30px; }
        #top .contact .inner .wrap .box.-right {
          padding: 0 0 0 40px; }
          #top .contact .inner .wrap .box.-right .tel {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            #top .contact .inner .wrap .box.-right .tel a {
              font-size: 225%;
              font-weight: 700;
              margin-left: 20px;
              color: #d70c19;
              letter-spacing: 0.05em;
              line-height: 1; }
          #top .contact .inner .wrap .box.-right .tel-ip {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            #top .contact .inner .wrap .box.-right .tel-ip .label {
              font-size: 75%;
              background: #333;
              color: #fff;
              border-radius: 6px;
              padding: 0.4em 0.8em;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
            #top .contact .inner .wrap .box.-right .tel-ip a {
              font-size: 150%;
              font-weight: 600;
              color: #000;
              letter-spacing: 0.05em;
              line-height: 1;
              margin-left: 10px; }
          #top .contact .inner .wrap .box.-right .lead {
            font-size: 75%;
            color: #666;
            margin-bottom: 0; }

#top .account {
  background: #d70c19; }
  #top .account .inner {
    width: 1200px;
    padding: 60px 0;
    margin: 0 auto; }
    #top .account .inner .utility-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-bottom: 40px; }
      #top .account .inner .utility-nav > li {
        width: calc((100% - 60px) / 2); }
        #top .account .inner .utility-nav > li.btn-open {
          text-align: center; }
          #top .account .inner .utility-nav > li.btn-open span {
            font-size: 100%;
            color: #fff;
            display: inline-block;
            position: relative;
            margin-bottom: 30px; }
            #top .account .inner .utility-nav > li.btn-open span::before, #top .account .inner .utility-nav > li.btn-open span::after {
              content: '';
              position: absolute;
              top: calc((100% - 10px) / 2);
              display: inline-block;
              width: 1px;
              height: 14px;
              background-color: #fff;
              -webkit-transform: rotate(-40deg);
              -ms-transform: rotate(-40deg);
              transform: rotate(-40deg); }
            #top .account .inner .utility-nav > li.btn-open span::before {
              left: -14px; }
            #top .account .inner .utility-nav > li.btn-open span::after {
              right: -14px;
              -webkit-transform: rotate(40deg);
              -ms-transform: rotate(40deg);
              transform: rotate(40deg); }
          #top .account .inner .utility-nav > li.btn-open a {
            font-size: 131.25%;
            font-weight: 900;
            color: #d70c19;
            background: #fff;
            border: 1px solid #fff;
            border-radius: 6px;
            padding: 1em 2em;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            display: block;
            position: relative;
            letter-spacing: 0.05em; }
            #top .account .inner .utility-nav > li.btn-open a::after {
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 7px 0 7px 7px;
              border-color: transparent transparent transparent #d70c19;
              position: absolute;
              top: calc((100% - 14px) / 2);
              right: 20px; }
            #top .account .inner .utility-nav > li.btn-open a:hover {
              text-decoration: none;
              background: #d70c19;
              color: #fff; }
              #top .account .inner .utility-nav > li.btn-open a:hover::after {
                border-color: transparent transparent transparent #fff; }

#top .disclaimer .title-a {
  margin-bottom: 20px; }
  #top .disclaimer .title-a a {
    font-size: 100%;
    font-weight: 500; }

#top .disclaimer .title-b {
  font-weight: 500;
  margin-bottom: 20px; }

#top .disclaimer .lead-a {
  font-size: 87.5%;
  font-weight: 300;
  text-indent: -5em;
  padding-left: 5em; }

#top .disclaimer .lead-b {
  font-size: 87.5%;
  font-weight: 300;
  margin-bottom: 40px; }

#top .disclaimer .plain {
  margin-bottom: 40px; }
  #top .disclaimer .plain > li {
    font-size: 87.5%;
    font-weight: 300;
    margin-bottom: 10px; }
    #top .disclaimer .plain > li:last-child {
      margin-bottom: 0; }

#top .disclaimer .disclaimer-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 60px; }
  #top .disclaimer .disclaimer-list li {
    margin-right: 60px; }
    #top .disclaimer .disclaimer-list li a {
      display: block;
      font-size: 100%;
      color: #d70c19;
      padding: 0 0 8px 24px;
      position: relative;
      vertical-align: middle;
      margin-top: 10px;
      border-bottom: 1px solid #d70c19; }
      #top .disclaimer .disclaimer-list li a::before {
        content: "";
        background: url(../img/ico_circle_red.svg) no-repeat;
        background-size: 16px;
        position: absolute;
        top: 6px;
        left: 0;
        width: 16px;
        height: 16px;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
      #top .disclaimer .disclaimer-list li a:hover {
        text-decoration: none; }
    #top .disclaimer .disclaimer-list li:last-child {
      margin-right: 0; }

/**************************************************
	Top
***************************************************/
@media (max-width: 767px) {
  .overlay {
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .overlay .area {
      width: 100%;
      padding: 30px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  #top section > .inner {
    width: 100%;
    padding: 40px 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #top .keyvisual .keyvisual-inner {
    padding: 25px 25px; }
    #top .keyvisual .keyvisual-inner .text {
      max-width: 100%;
      padding: 0; }
      #top .keyvisual .keyvisual-inner .text .copy {
        margin-bottom: 20px; }
      #top .keyvisual .keyvisual-inner .text .utility-nav {
        display: block; }
        #top .keyvisual .keyvisual-inner .text .utility-nav > li:first-child {
          margin: 0 0 20px; }
        #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open {
          width: 100%; }
          #top .keyvisual .keyvisual-inner .text .utility-nav > li.btn-open a {
            width: 100%; }
      #top .keyvisual .keyvisual-inner .text .btn-flow {
        text-align: right; }
      #top .keyvisual .keyvisual-inner .text .attention .attention-list {
        margin: 20px 0 0; }
    #top .keyvisual .keyvisual-inner .image {
      display: none; }
    #top .keyvisual .keyvisual-inner .spread {
      position: relative;
      top: 0;
      left: 0;
      text-align: center; }
      #top .keyvisual .keyvisual-inner .spread .spread-list {
        width: 218px;
        height: 70px;
        margin: 0 auto; }
      #top .keyvisual .keyvisual-inner .spread .attention {
        text-align: left; }
        #top .keyvisual .keyvisual-inner .spread .attention br {
          display: none; }
  #top .commercial .video {
    margin-bottom: 20px; }
    #top .commercial .video iframe {
      width: 100%;
      height: auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  #top .commercial .title span.main {
    font-size: 131.25%;
    letter-spacing: 0; }
  #top .banner > .inner {
    padding: 30px 20px; }
  #top .banner .bnr-list {
    display: block; }
    #top .banner .bnr-list > li {
      width: 100%;
      margin-bottom: 10px; }
      #top .banner .bnr-list > li a img {
        width: 100%;
        height: auto; }
      #top .banner .bnr-list > li:first-child {
        margin-right: 0; }
      #top .banner .bnr-list > li:last-child {
        margin-left: 0;
        margin-bottom: 0; }
  #top .introduction .feature {
    padding: 20px 20px 25px;
    margin-bottom: 25px; }
    #top .introduction .feature .feature-inner {
      display: block; }
      #top .introduction .feature .feature-inner .image {
        margin: 0 0 15px; }
      #top .introduction .feature .feature-inner .lead {
        margin-bottom: 15px; }
      #top .introduction .feature .feature-inner .btn-list > li {
        margin-bottom: 20px; }
        #top .introduction .feature .feature-inner .btn-list > li:last-child {
          margin-bottom: 0; }
  #top .attention > .inner {
    padding-bottom: 40px; }
  #top .attention .image {
    position: relative;
    right: 0;
    bottom: 0;
    -webkit-animation: none;
    animation: none;
    padding: 0 20px;
    margin-bottom: 30px; }
  #top .attention .point {
    margin-bottom: 25px; }
    #top .attention .point div {
      font-size: 112.5%; }
  #top .attention .lead {
    max-width: 100%;
    margin-bottom: 20px; }
  #top .attention .attention-list {
    margin-top: 20px; }
  #top .tool > .inner {
    padding-bottom: 40px; }
  #top .tool .title {
    margin: 0 0 20px; }
    #top .tool .title span.sub {
      font-size: 100%; }
    #top .tool .title span.main {
      font-size: 175%; }
  #top .tool .function-list {
    display: block;
    margin-bottom: 30px; }
    #top .tool .function-list > li {
      font-size: 100%;
      width: 100%;
      height: 100%;
      padding: 20px;
      margin-bottom: 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #top .tool .function-list > li .num {
        font-size: 87.5%;
        top: 10px;
        left: 10px; }
    #top .tool .function-list::after {
      display: none; }
  #top .apply .inner {
    padding: 40px 25px; }
  #top .apply .video {
    width: 100%;
    margin: 0 auto 20px; }
    #top .apply .video iframe {
      width: 100%;
      height: auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  #top .apply .title {
    margin: 0 0 20px; }
    #top .apply .title span.sub {
      font-size: 100%; }
    #top .apply .title span.main {
      font-size: 175%; }
  #top .apply .function-list {
    display: block;
    margin-bottom: 30px; }
    #top .apply .function-list > li {
      font-size: 100%;
      width: 100%;
      height: 100%;
      padding: 20px;
      margin-bottom: 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #top .apply .function-list > li .num {
        font-size: 87.5%;
        top: 10px;
        left: 10px; }
    #top .apply .function-list::after {
      display: none; }
  #top .download {
    width: 100%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #top .information .inner {
    padding-bottom: 40px; }
  #top .information .h2-a span.main {
    margin-bottom: 20px; }
  #top .information .lead {
    font-size: 100%;
    margin-bottom: 30px; }
  #top .step .inner {
    width: 100%;
    margin: 0 auto; }
  #top .step .h2-a span.main {
    margin-bottom: 20px; }
  #top .step .lead {
    font-size: 112.5%;
    margin-bottom: 30px; }
  #top .step .flow-list > li {
    position: relative;
    margin-bottom: 40px; }
    #top .step .flow-list > li.step1 .route {
      width: calc((100% - 20px) / 2);
      text-align: center; }
      #top .step .flow-list > li.step1 .route .guide {
        font-size: 75%;
        margin-bottom: 10px; }
        #top .step .flow-list > li.step1 .route .guide::before, #top .step .flow-list > li.step1 .route .guide::after {
          display: none; }
      #top .step .flow-list > li.step1 .route .flow {
        display: block; }
        #top .step .flow-list > li.step1 .route .flow .icon {
          width: 100%;
          height: 100%;
          padding: 0.2em 0 0.3em;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          display: block; }
          #top .step .flow-list > li.step1 .route .flow .icon span {
            display: inline-block;
            width: auto;
            vertical-align: middle; }
            #top .step .flow-list > li.step1 .route .flow .icon span.en {
              margin-bottom: 0; }
            #top .step .flow-list > li.step1 .route .flow .icon span.num {
              margin-left: 0.2em; }
        #top .step .flow-list > li.step1 .route .flow .text {
          width: 100%;
          padding: 20px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          text-align: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          #top .step .flow-list > li.step1 .route .flow .text a {
            font-size: 100%; }
    #top .step .flow-list > li.step2 .flow .icon, #top .step .flow-list > li.step3 .flow .icon {
      width: 60px;
      height: 60px; }
      #top .step .flow-list > li.step2 .flow .icon span.en, #top .step .flow-list > li.step3 .flow .icon span.en {
        font-size: 62.5%; }
      #top .step .flow-list > li.step2 .flow .icon span.num, #top .step .flow-list > li.step3 .flow .icon span.num {
        font-size: 150%; }
    #top .step .flow-list > li.step2 .flow .text, #top .step .flow-list > li.step3 .flow .text {
      font-size: 100%;
      padding-left: 20px; }
    #top .step .flow-list > li::after {
      border-width: 20px 20px 0 20px;
      left: calc((100% - 40px) / 2);
      bottom: -31px; }
    #top .step .flow-list > li:last-child {
      margin-bottom: 25px; }
  #top .support .h2-a span.main {
    margin-bottom: 20px; }
  #top .support .lead {
    font-size: 100%;
    margin-bottom: 30px; }
  #top .contact {
    width: 100%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #top .contact .inner {
      max-width: 100%;
      padding: 20px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #top .contact .inner .wrap {
        display: block; }
        #top .contact .inner .wrap .box {
          width: 100%; }
          #top .contact .inner .wrap .box.-left {
            padding: 0;
            border-right: none;
            margin-bottom: 25px; }
            #top .contact .inner .wrap .box.-left .lead {
              font-size: 81.25%;
              margin-bottom: 20px; }
          #top .contact .inner .wrap .box.-right {
            padding: 0; }
            #top .contact .inner .wrap .box.-right .tel {
              margin-bottom: 10px; }
              #top .contact .inner .wrap .box.-right .tel a {
                font-size: 200%;
                margin-left: 10px; }
            #top .contact .inner .wrap .box.-right .tel-ip {
              margin-bottom: 10px; }
              #top .contact .inner .wrap .box.-right .tel-ip .label {
                font-size: 62.5%;
                padding: 0.4em;
                -webkit-box-sizing: border-box;
                box-sizing: border-box; }
              #top .contact .inner .wrap .box.-right .tel-ip a {
                font-size: 150%;
                white-space: nowrap; }
            #top .contact .inner .wrap .box.-right .lead {
              font-size: 62.5%; }
  #top .account .inner {
    width: 100%;
    padding: 40px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #top .account .inner .utility-nav {
      display: block;
      margin-bottom: 35px; }
      #top .account .inner .utility-nav > li {
        width: 100%;
        margin-bottom: 25px; }
        #top .account .inner .utility-nav > li.btn-open span {
          font-size: 87.5%;
          margin-bottom: 10px; }
        #top .account .inner .utility-nav > li.btn-open a {
          font-size: 125%; }
  #top .disclaimer .title-a {
    margin-bottom: 10px; }
    #top .disclaimer .title-a a {
      font-size: 93.75%; }
  #top .disclaimer .title-b {
    margin-bottom: 10px; }
  #top .disclaimer .lead-a {
    font-size: 81.25%; }
  #top .disclaimer .lead-b {
    font-size: 81.25%;
    margin-bottom: 20px; }
  #top .disclaimer .plain {
    margin-bottom: 20px; }
    #top .disclaimer .plain > li {
      font-size: 81.25%;
      margin-bottom: 10px; }
  #top .disclaimer .disclaimer-list {
    display: block;
    margin-bottom: 40px; }
    #top .disclaimer .disclaimer-list li {
      margin: 0 0 20px; }
      #top .disclaimer .disclaimer-list li a {
        font-size: 93.75%;
        padding: 0 0 8px 18px;
        margin-top: 0; }
        #top .disclaimer .disclaimer-list li a::before {
          background-size: 12px;
          top: 5px;
          width: 12px;
          height: 12px; }
        #top .disclaimer .disclaimer-list li a:hover {
          text-decoration: none; }
      #top .disclaimer .disclaimer-list li:last-child {
        margin-right: 0; } }
