/*----------------------
	SP
----------------------*/
@media screen and (max-width: 768px) {
  html, body {
    overflow: visible;
  }

  header {
    position: absolute;
    padding: 8vw;
  }
  header h1 {
    width: 40vw;
  }

  div.wrapper {
    position: relative;
  }

  #pp-nav {
    display: none;
  }
  .section {
    padding: 0vw 14.66667vw;
    padding-top: 26.66667vw;
    min-height: 100vh;
    padding-bottom: 6.66667vw;
  }
  .section .contBox {
    width: 100%;
    min-height: inherit;
  }
  .section .contBox .loading .ttl{
    display:none;
  }
  .section div.ttl {
    position: static;
    opacity: 1;
  }
  .section div.ttl h2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: auto;
  }
  .section div.txtBox {
    padding-top: 0;
    opacity: 1;
    max-width: inherit;
    width: 100%;
    font-size: 3.33333vw;
    line-height: 6.66667vw;
  }
  .section div.txtBox ul {
    margin-top: 5.33333vw;
  }

  .sec01 {
    background: url(../../img/top/sec01_bg01_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  .sec01 div.ttl {
    width: 100%;
    margin-bottom: 16.8vw;
  }
  .sec01 div.ttl h2 {
    background: none;
  }
  .sec01 div.ttl h2 img {
    width: 26.66667vw;
    height: auto;
  }
  .sec01 div.txtBox {
    padding-top: 0;
  }
  .sec01 div.txtBox p {
    text-align: justify;
    font-size: 4.26667vw;
    line-height: 6.66667vw;
    margin-bottom: 10.66667vw;
  }
  .sec01 div.txtBox form input {
    margin-bottom: 10.66667vw;
    background: url(../../img/top/search.png) no-repeat left 3.7vw center, rgba(255, 255, 255, 0.9);
    background-size: 4vw;
    padding: 4vw;
    padding-left: 9.33333vw;
    font-size: 3.46667vw;
  }
  .sec01 div.txtBox form button {
    padding: 4vw;
    width: 43.33333vw;
    font-size: 4vw;
  }
  .sec01 div.txtBox form button:hover {
    background: none;
    color: #fed400;
  }
  .sec01 div.txtBox .about {
    margin-top: 9.33333vw;
    font-size: 3.46667vw;
  }
  .sec01 div.txtBox .about:hover:after {
    width: 100%;
  }
  .sec01 div.txtBox .about.secc{
    margin-left: 0;
    margin-top: 3.333vw;
  }

  .sec02 {
    background: url(../../img/top/sec02_bg01_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  .sec02 div.ttl {
    width: 100%;
    margin-bottom: 16.8vw;
  }
  .sec02 div.ttl h2 {
    background: none;
  }
  .sec02 div.ttl h2 img {
    width: 38.4vw;
  }

  .sec03 {
    background: url(../../img/top/sec03_bg01_sp.jpg) no-repeat;
    background-size: cover;
  }
  .sec03 div.ttl {
    width: 100%;
    margin-bottom: 16.8vw;
  }
  .sec03 div.ttl h2 {
    background: none;
  }
  .sec03 div.ttl h2 img {
    width: 45.33333vw;
  }

  .sec04 {
    background: url(../../img/top/sec04_bg01_sp.jpg) no-repeat;
    background-size: cover;
  }
  .sec04 div.ttl {
    width: 100%;
    margin-bottom: 16.8vw;
  }
  .sec04 div.ttl h2 {
    background: none;
  }
  .sec04 div.ttl h2 img {
    width: 43.2vw;
  }

  .sec05 {
    background: url(../../img/top/sec05_bg01_sp.jpg) no-repeat;
    background-size: cover;
  }
  .sec05 div.ttl {
    width: 100%;
    margin-bottom: 13.33333vw;
  }
  .sec05 div.ttl h2 {
    background: none;
  }
  .sec05 div.ttl h2 img {
    width: 30.66667vw;
  }
  .sec05 div.txtBox {
    padding-top: 0;
  }
  .sec05 div.txtBox table {
    margin-bottom: 8.66667vw;
    width: 100%;
    display: block;
  }
  .sec05 div.txtBox table tbody, .sec05 div.txtBox table tr, .sec05 div.txtBox table th, .sec05 div.txtBox table td {
    display: block;
    width: 100%;
    max-width: inherit;
    padding: 0;
    font-size: 3.2vw;
    text-align: left;
    margin-bottom: 3.2vw;
  }
  .sec05 div.txtBox table th {
    padding-top: 0;
    line-height: 1;
    margin-bottom: 1.33333vw;
  }
  .sec05 div.txtBox table td {
    margin-bottom: 3.33333vw;
  }
  .sec05 div.txtBox input[type="text"],
  .sec05 div.txtBox textarea {
    padding: 3.33333vw;
    font-size: 3.2vw;
  }
  .sec05 div.txtBox textarea {
    line-height: 4vw;
    height: 13.33333vw;
    resize: vertical;
  }
  .sec05 div.txtBox .policy {
    margin-bottom: 9.33333vw;
  }
  .sec05 div.txtBox .policy label input[type="checkbox"]:checked + span:after {
    width: 1.06667vw;
    height: 2vw;
    border-right: 1px solid  #000;
    border-bottom: 1px solid  #000;
    left: 0.8vw;
    top: 0.8vw;
  }
  .sec05 div.txtBox .policy label span {
    padding-left: 4vw;
  }
  .sec05 div.txtBox .policy label span.chk_k:before {
    top: 3px;
    width: 2.93333vw;
    height: 2.93333vw;
  }
  .sec05 div.txtBox .policy a {
    font-size: 3.2vw;
  }
  .sec05 div.txtBox .policy a:hover:after {
    width: 100%;
  }
  .sec05 div.txtBox button {
    padding: 3.33333vw;
    width: 100%;
    font-size: 4vw;
  }
  .sec05 div.txtBox button:hover {
    background: none;
    color: #fed400;
  }
  .sec05 div.txtBox table td div.onlySP.error {
    position: relative;
    top: 5px;
    display: inline-block !important;
  }
  .sec05 div.txtBox table td div.error::before {
    content: "";
    position: absolute;
    top: -21px;
    left: 15%;
    margin-left: -15px;
    border: 8px solid transparent;
    border-bottom: 13px solid #ea3939;
  }
  .sec05 div.txtBox .policy .error {
    top: 30px;
    left: 0;
  }
  .sec05 div.txtBox .policy .error::before {
    top: -21px;
    left: 13%;
    margin-left: -15px;
    border: 8px solid transparent;
    border-bottom: 13px solid #ea3939;
  }  
  .sec05 div.txtBox.conf table tr{
    margin-bottom: 4.2vw;
  }
  .sec05 div.txtBox.conf table th{
    padding-top: 0;
  }
  .sec05 div.txtBox.conf table td {
    padding: 0;
    font-size: 3.2vw;
    width: 100%;
    max-width: inherit;
    margin: 0;
    line-height: 6vw;
  }
}
