@charset "UTF-8";
/* CSS Document */

@media screen and (max-width: 950px) {
  /* toppage */
  #wrapper .main-area .main04 {
    position: static;
    margin-top: 3rem;
    margin-left: 1.6rem;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    height: auto;
    width: 25.3rem;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: left;
    padding-left: 2rem;
  }

  #wrapper .main-area .main06,
  #wrapper .main-area .main07 {
    position: static;
    margin: 0 2rem;
    font-size: 1.4rem;
    width: calc(100% - 4rem);
    line-height: 1.57;
  }
  #wrapper .main-area .main05 {
    position: static;
    margin-top: 5rem;
    margin-left: 1.6rem;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
    height: auto;
    width: 25.3rem;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: left;
    padding-left: 1rem;
  }
  #wrapper .main-area .main08 {
    position: static;
    width: calc(100% - 4rem);
    margin: 4rem 2rem 0 2rem;
    font-size: 1.6rem;
    padding: 1rem 1rem 0.5rem 3.5rem;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: 3% 65%;
  }
  #wrapper .main-area .main09 {
    position: static;
    width: calc(100% - 4rem);
    margin: 0 2rem 4rem 2rem;
    font-size: 1.4rem;
    padding: 1rem;
    line-height: 1.57;
    word-wrap: break-word;
  }
  #wrapper .main-area .main09 a {
    word-break: break-all;
  }
  .sec02 {
    width: 100%;
  }
  .title {
    font-size: 2.2rem;
    margin: 3.8rem 2rem 0 2rem;
    border-bottom-width: 0.4rem;
    padding-bottom: 0.5rem;
  }
  .sec04 {
    position: relative;
  }
  #ex {
    position: absolute;
    top: -14.67vw;
  }

  .sec02 .sec02-area,
  .sec03 .sec03-area,
  .sec04 .sec04-ex,
  .sec05 .sec05-area {
    overflow: visible;
  }
  .sec02 .sec-02-img {
    padding-top: calc(1082 / 669 * 100%);
    background-image: url(../img/top/sp_sec02-bg.png);
    width: calc(100% - 4rem);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: 3rem;
    height: auto;
  }
  .sec-02-img .sec02-link-text02 {
    position: absolute;
    left: 59%;
    top: 23.8%;
    font-size: 1.2rem;
  }
  #all .sec02 .sec02-link-text02 a {
    text-decoration: none;
  }

  /* ボタン */
  #all a:hover {
    text-decoration: none;
  }
  .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
  }
  .sec02-btn a,
  .sec03-btn a,
  .sec04-btn a,
  .sec05-area .sec05-btn a {
    background-image: none;
    background-color: #009245;
    text-indent: 0;
    font-size: 1.8rem;
    color: #fff !important;
    height: 5rem;
    width: 100%;
    line-height: 5rem;
    display: block;
  }
  .sec02 .sec02-btn,
  .sec03 .sec03-btn,
  .sec05 .sec05-btn {
    float: none;
    margin: 0;
    width: calc(100% - 4rem);
    margin: 0 auto;
    -webkit-box-shadow: 0 0.5rem 0 0 #dcdddd;
    box-shadow: 0 0.5rem 0 0 #dcdddd;
  }
  .sec04 .sec04-btn {
    float: none;
    margin: 0;
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0.5rem #dcdddd;
    box-shadow: 0px 0.5rem #dcdddd;
  }
  .btn_wrap .btn_text {
    font-size: 1.8rem;
    width: 28.7rem;
    text-align: center;
  }
  .btn_wrap .btn_icon {
    text-align: center;
    border-left: 2px solid #fff;
    width: 5rem;
  }
  .btn_wrap .btn_icon img {
    width: 1.5rem;
    padding-bottom: 0.28rem;
  }
  .top-box .top-text01 {
    font-size: 1.7rem;
    margin-bottom: 1.8rem;
    padding-left: 2.5rem;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
  }

  #wrapper .sec03 {
    margin-top: 7.8rem;
  }

  .sec03 table {
    margin: 3.5rem 2rem 4rem 2rem;
    width: calc(100% - 4rem);
    font-size: 1.4rem;
  }
  .sec03 table img {
    width: 10.5rem;
    margin-right: 4px;
  }
  .sec03 table tr .second02 {
    border-top: 0;
  }
  .sec03 table tr .top,
  .sec03 table tr .second {
    border-right: 1px dashed #b9b7b8;
    border-bottom: 1px dashed #b9b7b8;
  }
  .sec03 table tr .top02,
  .sec03 table tr .second02 {
    border-bottom: 1px dashed #b9b7b8;
  }
  .sec03 table tr .bottom {
    border-right: 1px dashed #b9b7b8;
  }
  .sec03 table tr th {
    width: 10.5rem;
    vertical-align: middle;
  }
  .sec03 table tr td {
    padding: 1.5rem 0 1.5rem 1.5rem;
  }
  .sec03 table .sec03-in {
    background-position: left top 0.3rem;
    padding-left: 2rem;
    line-height: 1.57;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
  }
  .sec03 table .sec03-in:nth-child(2) {
    margin-top: 1.5rem;
  }

  #wrapper .sec04 {
    margin-top: 7.3rem;
  }
  .sec04 .sub-title {
    font-size: 1.7rem;
    width: calc(100% - 4rem);
    margin: 2.8rem 2rem 5rem 2rem;
    line-height: 1.47;
  }

  .sec04 .sec04-ex,
  .sec04-ex {
    width: calc(100% - 4rem);
    margin: 0 2rem 5.2rem 2rem;
  }
  .sec04-title {
    font-size: 1.7rem;
    margin-bottom: 1.8rem;
    padding-left: 2.5rem;
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
  }
  .sec04-text {
    margin-bottom: 2.8rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .sec04-ex .ex-left {
    float: none;
    width: 100%;
    margin: 0 auto;
  }
  .sp_ex_img {
    margin: 0 2rem 3rem 2rem;
  }
  .sp_ex_img img {
    width: 29.5rem;
  }
  .sec05 {
    margin-top: 6.3rem;
  }
  .sec05_text_wrap {
    width: calc(100% - 4rem);
    margin: 0 2rem 2rem 2rem;
    font-size: 1.8rem;
  }
  .sec05_text {
    height: 9rem;
    display: table;
    border-top: 1px dotted #b9b7b8;
    width: 100%;
  }
  .sec05_text:first-child {
    height: 7.2rem;
    border-top: 0;
  }
  .sec05_text p {
    background-image: url(../img/top/sp-main-ico.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    padding-left: 2rem;
    background-position: left 2.2rem;
    margin: 0;
    display: table-cell;
    vertical-align: middle;
    line-height: 1.6;
  }
  .sec05_text:first-child p {
    background-position: left 2.8rem;
  }
}
