@charset "UTF-8";


/* ==========================================

  Line Koushiki Styles - SP

========================================== */
body {
  min-width: 100%;
}

/* Common
----------------------------------------- */
.inner {
  width: 90%;
}
.item-pc {
  display: none;
}
.item-sp {
  display: inherit;
}
.heading {
  font-size: 28px;
  font-size: 2.8rem;
}
.sub-heading {
  font-size: 20px;
  font-size: 2.0rem;
}
.totop {
  right: 10px;
  width: 50px;
  height: 50px;
}

/* Header
----------------------------------------- */
.l-header {
  height: auto;
  padding: 15px 0 10px;
}
.l-header .inner {
  width: 100%;
  display: block;
}
.l-header h1 {
  font-size: 20px;
  font-size: 2.0rem;
  text-align: center;
  margin: 0 0 15px;
}
.l-header h1 img { width: 60%; }
/*
.l-header h1 i { margin: 0 15px 0 0; }
.l-header h1 span {
  position: relative;
  top: 12px;
  margin: 0 0 -12px;
}
*/
.header-items {
  align-items: flex-start;
  flex-direction: row-reverse;
}
.header-items p {
  right: 0;
  width: 30%;
  height: 44px;
  line-height: 44px;
  text-align: center;
  border-top-left-radius: 22px;
  border-bottom-left-radius: 22px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  margin: 0;
}
.header-items p a {
  font-size: 15px;
  font-size: 1.5rem;
}
.header-items ul {
  width: 70%;
  flex-wrap: wrap;
  padding: 0 0 0 5%;
}
.header-items ul li {
  width: 50%;
  margin: 0 0 5px;
  font-size: 15px;
  font-size: 1.5rem;
}

/* Footer
----------------------------------------- */

/* 75px = 10% */
.info {
  padding: 10% 5% 15%;
}
.info h3 {
  font-size: 17px;
  font-size: 1.7rem;
  margin: 0 0 6%;
}
.info ul li:not(:last-of-type) {
  margin: 0 0 25px;
}
.info ul li span {
  position: relative;
  display: block;
  margin: 0 0 13px;
}
.info ul li span::after {
  content: "";
  display: block;
  width: 12px;
  height: 3px;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 26px 0 0;
}
.copy {
  height: 80px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 80px;
}

/* Section
----------------------------------------- */

/* 75px = 10% */

/* Sec01 */
.sec01 {
  padding: 7.5% 0;
}
.sec01 h2.heading { color: #ffffff; }
.sec01 p {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 25px 0 0;
}

/* Sec02 */
.sec02 { padding: 7.5% 0 6%; }
.af-unit {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 10% 0 0;
}
.af {
  width: 46%;
  flex-shrink: 0;
  margin: 0 0 9.333333%;
}
.af dl dt {
  margin: 0 0 5px;
}

/* Sec03 */
.sec03 {
  padding: 9.333333% 0 12%;
}
.sec03 figure {
  margin: 9.333333% 0 7.333333%;
}
.sec03 figure p {
  padding: 20px;
}
.sec03 figure figcaption {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 7.333333% 0 0;
}

/* Sec04 */
.sec04 { padding: 9.333333% 0; }
.sec04 p {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 6.666666% 0 0;
}

/* Sec05 */
.sec05 {
  padding: 9.333333% 0;
}
.sec05 p {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 6.666666% 0 0;
}

/* Sec06 */
.sec06 { padding: 10.666666% 0; }

/* Sec07 */
.sec07 {
  padding: 10.666666% 0;
}
.sec07 p {
  font-size: 16px;
  font-size: 1.6rem;
}
.scroll {
  width: 100%;
  overflow-x: scroll;
  padding: 0 0 15px;
}
.scroll-attention {
  font-size: 13px;
  font-size: 1.3rem;
  text-align: center;
  display: block;
}
.price-list {
  padding: 20px;
  margin: 6.666666% 0 15px;
}
.price-list table {
  width: 840px;
  font-size: 15px;
  font-size: 1.5rem;
}
.price-list table th, .price-list table td {
  padding: 10px 0;
}
.initial-cost {
  padding: 15px 0;
  margin: 0 0 5.333333%;
}
.initial-cost ul li {
  font-size: 15px;
  font-size: 1.5rem;
}
.initial-cost ul li:first-of-type {
  margin: 0 0 10px;
}
.initial-cost ul li i {
  width: 125px;
  height: 40px;
  line-height: 40px;
  margin: 0 10px 0 0;
}
.initial-cost ul li span {
  display: inline-block;
  vertical-align: middle;
}
.initial-cost ul li span small {
  font-size: 0.7em;
  display: block;
}
.support-cont {
  padding: 30px 30px 40px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 5.333333% 0 0;
}
.support-cont dl:first-of-type { margin: 7.333333% 0; }
.support-cont dl dt { margin: 0 0 4.666666%; }
.support-cont dl dd ul li {
  font-size: 16px;
  font-size: 1.6rem;
}

/* Sec08 */
.sec08 { padding: 9.333333% 0 12.5%; }
.sec08 figure:first-of-type { margin: 7.333333% 0 6%; }
.sec08 figure figcaption {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 4.666666% 0 0;
}
.request-btn {
  width: 100%;
  height: 70px;
  border-radius: 35px;0;
  font-size: 29px;
  font-size: 2.9rem;
  line-height: 64px;
  margin: 10% auto 0;
}

/* Sec09 */
.sec09 {
  padding: 6% 0;
}
.sec09 p {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 6% 0 0;
}