@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Montserrat:wght@300;400;500;700&display=swap");
.inter {
  font-family: 'Inter', sans-serif; }

.montserrat {
  font-family: 'Montserrat', sans-serif; }

.corp_logo {
  font-family: "corporate-logo-ver2", sans-serif; }

.linelp_wrapper {
  max-width: 768px;
  margin: 0 auto;
  padding: 0;
  font-family: "source-han-sans-japanese", sans-serif; }
  .linelp_wrapper .block {
    padding: 0 20px; }
  .linelp_wrapper a.linkURL {
    color: #4CCFA5; }

.sec1 {
  position: relative;
  z-index: 1; }
  .sec1 #top_img {
    position: relative; }
    .sec1 #top_img a {
      display: block;
      width: 100%;
      height: calc(100vw * 0.15);
      position: absolute;
      bottom: 5%; }
      @media screen and (min-width: 768px) {
        .sec1 #top_img a {
          height: 120px; } }

.sec2 {
  background-color: #1C996D;
  margin-top: -10%;
  padding-bottom: 80px;
  background-image: url("../img/bg_sec2.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom; }
  @media screen and (min-width: 768px) {
    .sec2 {
      padding-bottom: 180px; } }
  .sec2 ul.camList {
    padding: 0 0 20px; }
  .sec2 .stepList_title {
    text-align: center;
    margin-bottom: 10px; }
    .sec2 .stepList_title span {
      font-size: 20px;
      font-weight: bold;
      letter-spacing: -.03em;
      color: #FFFFFF;
      display: inline-block;
      padding-bottom: .1em;
      border-bottom: solid 2px #FFFFFF;
      position: relative; }
      @media screen and (min-width: 768px) {
        .sec2 .stepList_title span {
          font-size: 26px; } }
      .sec2 .stepList_title span::before {
        content: "";
        display: inline-block;
        width: 3em;
        aspect-ratio: 80.1932 / 75.704;
        background-image: url("../img/term_icon.svg");
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        bottom: -.3em;
        left: -3.4em; }
  .sec2 ul.stepList {
    list-style: none;
    margin: 0;
    padding: 10px 0 0;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .sec2 ul.stepList {
        padding: 20px 0 0; } }
    .sec2 ul.stepList li {
      margin-bottom: 30px;
      position: relative; }
      .sec2 ul.stepList li:last-child .step_body::after {
        display: none; }
      @media screen and (min-width: 768px) {
        .sec2 ul.stepList li {
          margin-bottom: 40px; } }
  .sec2 .step_heading {
    background-color: #A1E097;
    background-image: url("../img/step_heading.svg");
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 6px 6px 0 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
    color: #FFFFFF;
    text-align: center;
    padding: .5em; }
    @media screen and (min-width: 768px) {
      .sec2 .step_heading {
        font-size: 32px; } }
  .sec2 .step_body {
    background-color: #FFFFFF;
    border-radius: 0 0 6px 6px;
    padding: 24px;
    text-align: center;
    position: relative; }
    .sec2 .step_body::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 24px 0 24px;
      border-color: #ffffff transparent transparent transparent;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%); }
    .sec2 .step_body ._title {
      font-family: "corporate-logo-ver2", sans-serif;
      font-size: 20px;
      font-weight: bold;
      color: #184035;
      margin-bottom: 24px; }
      @media screen and (min-width: 414px) {
        .sec2 .step_body ._title {
          font-size: 23px; } }
      @media screen and (min-width: 768px) {
        .sec2 .step_body ._title {
          font-size: 32px; } }
    .sec2 .step_body a {
      display: block;
      margin: 0 auto; }
      @media screen and (min-width: 768px) {
        .sec2 .step_body a {
          max-width: 520px; } }
    .sec2 .step_body p {
      font-size: 14px;
      font-weight: bold;
      color: #5D7972; }
      @media screen and (min-width: 414px) {
        .sec2 .step_body p {
          font-size: 16px; } }
      @media screen and (min-width: 768px) {
        .sec2 .step_body p {
          font-size: 18px; } }
    .sec2 .step_body img.img_qr {
      max-width: 50%; }
      @media screen and (min-width: 768px) {
        .sec2 .step_body img.img_qr {
          max-width: 40%; } }
    .sec2 .step_body p.p_img {
      max-width: 520px;
      margin: 0 auto; }

.sec3 {
  margin-top: calc(100vw * (-0.12)); }
  @media screen and (min-width: 768px) {
    .sec3 {
      margin-top: calc(768px * (-0.12)); } }
  .sec3 .block {
    background-color: #F1EEE7; }

ul.camList {
  list-style: none;
  margin: 0;
  padding: 20px 0;
  width: 100%; }
  ul.camList li {
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      ul.camList li {
        margin-bottom: 40px; } }
    ul.camList li a {
      text-decoration: none; }
  ul.camList .cam_heading {
    background: url("../img/cam_heading.svg") no-repeat;
    background-size: cover;
    font-family: "corporate-logo-ver2", sans-serif;
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
    color: #184035;
    aspect-ratio: 462 / 93;
    padding-top: 4%;
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      ul.camList .cam_heading {
        font-size: 36px; } }
  ul.camList .cam_body {
    background-color: #FFFFFF;
    width: 96%;
    margin: -26px auto 0;
    padding: 40px 24px 24px; }
    @media screen and (min-width: 768px) {
      ul.camList .cam_body {
        margin: -46px auto 0;
        padding: 60px 24px 24px; } }
    ul.camList .cam_body .tag {
      margin-top: 20px; }
      ul.camList .cam_body .tag span {
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        background-color: #F1EEE7;
        padding: .4em 1em;
        text-align: center; }
        @media screen and (min-width: 768px) {
          ul.camList .cam_body .tag span {
            font-size: 20px; } }
    ul.camList .cam_body ._title {
      font-size: 20px;
      font-weight: bold;
      line-height: 1.6;
      color: #1C996D;
      padding: 1em 0; }
      @media screen and (min-width: 768px) {
        ul.camList .cam_body ._title {
          font-size: 24px; } }
    ul.camList .cam_body p {
      font-size: 14px;
      color: #444444; }
      @media screen and (min-width: 768px) {
        ul.camList .cam_body p {
          font-size: 18px; } }
      ul.camList .cam_body p span.orange {
        color: #FB9413;
        font-weight: bold; }
      ul.camList .cam_body p strong.highlight {
        font-size: 1.4em;
        font-weight: bold;
        background: linear-gradient(transparent 60%, #F2FF00 60%); }
    ul.camList .cam_body .cam_btn {
      margin-top: 28px;
      text-align: center; }
      ul.camList .cam_body .cam_btn img {
        max-width: 100%; }

footer .copy {
  background-color: #FFFFFF;
  font-size: 8px;
  font-weight: bold;
  text-align: center;
  color: #637062;
  padding: .5em; }
