@charset "UTF-8";
/* 下層共通 */
h2 {
  text-align: center; }

h2 span.eng {
  display: inline-block;
  margin: 0 0 12px 0;
  border-bottom: 4px solid #f39800;
  padding: 0 0 14px 0;
  font-size: 28px; }

h2 span {
  display: block;
  font-size: 14px; }

img {
  max-width: 100%;
  width: 100%;
  display: block; }

/* underlayer main_visual */
#underlayer #main_visual {
  background-image: url(../img/main-img-01.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.purchase-wrap {
  padding: 90px 0;
  margin-bottom: 90px; }

.agreement-wrap {
  padding: 90px 0; }

.flex-box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 60px; }

.step-box {
  position: relative;
  width: 30%;
  z-index: 3; }
  .step-box::after {
    content: '';
    display: block;
    background: #f39800;
    position: absolute;
    width: 15px;
    height: 620px;
    top: 100px;
    right: 80px;
    z-index: 1; }
  .step-box.last::after {
    display: none; }
  .step-box.long::after {
    height: 700px; }
  .step-box h2 {
    background: #f39800;
    padding: 17% 0%;
    border-radius: 100px;
    width: 50%;
    margin-left: auto;
    z-index: 3;
    position: relative; }
    .step-box h2 span {
      display: block;
      font-size: 20px; }
    .step-box h2 span.eng {
      border-bottom: none;
      padding: 0 0 0px 0; }
  .step-box .i-box {
    width: 65%;
    position: absolute;
    top: -80%;
    left: 80px;
    z-index: -1;
    transform: rotate(25deg); }

.txt-box {
  padding: 20px;
  position: relative;
  border-radius: 10px; }
  .txt-box .common-ttl-1 {
    text-align: center;
    padding: 20px 10px;
    border-bottom: 1px solid #000;
    font-size: 1.3em;
    letter-spacing: normal; }
  .txt-box p {
    margin: 20px 10px; }
  .txt-box .i-box {
    padding: 10px;
    width: 50%; }
  .txt-box .txt-bg {
    position: absolute;
    right: -110px;
    top: 75%;
    z-index: 0;
    width: 30%; }
  .txt-box .flex-box {
    margin-top: 0;
    align-items: center; }

.caution {
  width: 72%;
  margin-left: auto;
  padding: 15px;
  margin-top: 20px;
  background: #ccc;
  border-radius: 10px; }

.dl-wrap .dl-container {
  width: 33%;
  padding: 10px; }
  .dl-wrap .dl-container .dl-box {
    overflow: hidden;
    border-radius: 30px;
    border: 3px solid #4bc3fa; }
    .dl-wrap .dl-container .dl-box h2 {
      background: #4bc3fa;
      padding: 20px;
      color: #fff;
      font-weight: bold;
      font-size: 22px; }
    .dl-wrap .dl-container .dl-box a {
      display: block;
      padding: 20px 0; }
      .dl-wrap .dl-container .dl-box a .fa-4x {
        color: #f39800; }

.documents-wrap {
  margin: 80px 0 0; }
  .documents-wrap .documents-container {
    width: 50%;
    padding: 10px 40px; }
    .documents-wrap .documents-container .documents-box h2 {
      font-size: 24px;
      font-weight: bold;
      background: #4bc3fa;
      padding: 15px;
      color: #fff;
      border-radius: 10px; }
    .documents-wrap .documents-container .documents-box .txt-box h2.common-ttl-1 {
      background: unset;
      color: #333;
      border-radius: 0;
      font-size: 1.3em; }
