@charset "UTF-8";
* {
  border: 0;
  outline: none;
  vertical-align: baseline;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-feature-settings: "palt" on;
  line-height: 180%;
  letter-spacing: 0.04em;
}

html {
  height: 100%;
  -webkit-overflow-scrolling: touch;
}

body {
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  height: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    font-size: calc(30 / 750 * 100vw);
  }
}

h1,
h2 {
  position: relative;
  font-weight: 700;
}

*:focus {
  outline: none;
}

p a {
  word-break: break-all;
  text-decoration: underline;
}

sup {
  vertical-align: top;
  font-size: 50%;
}

sub {
  vertical-align: baseline;
  font-size: 50%;
}

em,
b,
strong,
th {
  font-weight: 700;
}

a {
  color: #333;
  cursor: pointer;
  transition: opacity 0.3s;
}

figcaption,
small {
  font-size: min(calc(12 / 1080 * 100vw), 12px);
}
@media screen and (max-width: 767px) {
  figcaption,
  small {
    font-size: calc(20 / 750 * 100vw);
  }
}

img {
  display: block;
  height: auto;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

@media screen and (min-width: 768px) {
  .adlp-outer {
    overflow-x: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .adlp-outer {
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .adlp-wrapper {
    min-width: min(calc(1920 / 1080 * 100vw), 1920px);
    max-width: 1920px;
    margin: 0 auto;
  }
}
.adlp-wrapper .relative {
  position: relative;
}
.adlp-wrapper .w100 {
  width: 100% !important;
  display: block;
}
.adlp-wrapper .center {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .adlp-wrapper .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pc {
    display: none !important;
  }
}
.adlp-wrapper .text__txt {
  color: #333 !important;
}
.adlp-wrapper .text__white {
  color: #fff !important;
}
.adlp-wrapper .text__silver {
  color: #f1f1f1 !important;
}
.adlp-wrapper .text__accent {
  color: #E75B18 !important;
}
.adlp-wrapper .bg__txt {
  background: #333 !important;
}
.adlp-wrapper .bg__white {
  background: #fff !important;
}
.adlp-wrapper .bg__silver {
  background: #f1f1f1 !important;
}
.adlp-wrapper .bg__accent {
  background: #E75B18 !important;
}
.adlp-wrapper .line__top__txt {
  border-top: 1px solid #333;
}
.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top__white {
  border-top: 1px solid #fff;
}
.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top__silver {
  border-top: 1px solid #f1f1f1;
}
.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top__accent {
  border-top: 1px solid #E75B18;
}
.adlp-wrapper .line__top.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line__top.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line__top.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .marker__txt {
  background: linear-gradient(transparent 60%, #333 60%);
}
.adlp-wrapper .marker__white {
  background: linear-gradient(transparent 60%, #fff 60%);
}
.adlp-wrapper .marker__silver {
  background: linear-gradient(transparent 60%, #f1f1f1 60%);
}
.adlp-wrapper .marker__accent {
  background: linear-gradient(transparent 60%, #E75B18 60%);
}
.adlp-wrapper .line__txt {
  border-bottom: 1px solid #333;
}
.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__white {
  border-bottom: 1px solid #fff;
}
.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__silver {
  border-bottom: 1px solid #f1f1f1;
}
.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .line__accent {
  border-bottom: 1px solid #E75B18;
}
.adlp-wrapper .line.--w2 {
  border-width: min(calc(2 / 1080 * 100vw), 2px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w2 {
    border-width: calc(2 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w3 {
  border-width: min(calc(3 / 1080 * 100vw), 3px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w3 {
    border-width: calc(3 / 750 * 100vw);
  }
}
.adlp-wrapper .line.--w4 {
  border-width: min(calc(4 / 1080 * 100vw), 4px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .line.--w4 {
    border-width: calc(4 / 750 * 100vw);
  }
}
.adlp-wrapper .pad10 {
  padding: min(calc(10 / 1080 * 100vw), 10px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad10 {
    padding-top: calc(10 / 750 * 100vw) !important;
    padding-bottom: calc(10 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .pad20 {
  padding: min(calc(20 / 1080 * 100vw), 20px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad20 {
    padding-top: calc(20 / 750 * 100vw) !important;
    padding-bottom: calc(20 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .pad30 {
  padding: min(calc(30 / 1080 * 100vw), 30px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad30 {
    padding-top: calc(30 / 750 * 100vw) !important;
    padding-bottom: calc(30 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .pad40 {
  padding: min(calc(40 / 1080 * 100vw), 40px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad40 {
    padding-top: calc(40 / 750 * 100vw) !important;
    padding-bottom: calc(40 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .pad50 {
  padding: min(calc(50 / 1080 * 100vw), 50px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad50 {
    padding-top: calc(50 / 750 * 100vw) !important;
    padding-bottom: calc(50 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .pad60 {
  padding: min(calc(60 / 1080 * 100vw), 60px) 0;
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .pad60 {
    padding-top: calc(60 / 750 * 100vw) !important;
    padding-bottom: calc(60 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .mt10 {
  margin-top: min(calc(10 / 1080 * 100vw), 10px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt10 {
    margin-top: calc(10 / 750 * 100vw);
  }
}
.adlp-wrapper .mt20 {
  margin-top: min(calc(20 / 1080 * 100vw), 20px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt20 {
    margin-top: calc(20 / 750 * 100vw);
  }
}
.adlp-wrapper .mt30 {
  margin-top: min(calc(30 / 1080 * 100vw), 30px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt30 {
    margin-top: calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .mt40 {
  margin-top: min(calc(40 / 1080 * 100vw), 40px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt40 {
    margin-top: calc(40 / 750 * 100vw);
  }
}
.adlp-wrapper .mt50 {
  margin-top: min(calc(50 / 1080 * 100vw), 50px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt50 {
    margin-top: calc(50 / 750 * 100vw);
  }
}
.adlp-wrapper .mt60 {
  margin-top: min(calc(60 / 1080 * 100vw), 60px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .mt60 {
    margin-top: calc(60 / 750 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt10 {
    margin-top: calc(10 / 750 * 100vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt20 {
    margin-top: calc(20 / 750 * 100vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt30 {
    margin-top: calc(30 / 750 * 100vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt40 {
    margin-top: calc(40 / 750 * 100vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt50 {
    margin-top: calc(50 / 750 * 100vw) !important;
  }
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .sp-mt60 {
    margin-top: calc(60 / 750 * 100vw) !important;
  }
}
.adlp-wrapper .wrap500 {
  margin: auto;
  width: min(calc(500 / 1080 * 100vw), 500px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap500 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap600 {
  margin: auto;
  width: min(calc(600 / 1080 * 100vw), 600px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap600 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap700 {
  margin: auto;
  width: min(calc(700 / 1080 * 100vw), 700px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap700 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap800 {
  margin: auto;
  width: min(calc(800 / 1080 * 100vw), 800px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap800 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap900 {
  margin: auto;
  width: min(calc(900 / 1080 * 100vw), 900px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap900 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap920 {
  margin: auto;
  width: min(calc(920 / 1080 * 100vw), 920px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap920 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap1000 {
  margin: auto;
  width: min(calc(1000 / 1080 * 100vw), 1000px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap1000 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.adlp-wrapper .wrap1080 {
  margin: auto;
  width: min(calc(1080 / 1080 * 100vw), 1080px);
}
@media screen and (max-width: 767px) {
  .adlp-wrapper .wrap1080 {
    width: 100%;
    padding: 0 calc(30 / 750 * 100vw);
  }
}

.u-wrap {
  width: min(calc(860 / 1080 * 100vw), 860px);
  margin: 0 auto 0;
}
@media screen and (max-width: 767px) {
  .u-wrap {
    width: 100%;
  }
}

.font-en {
  font-family: "Oswald", sans-serif;
}

.footer {
  background-color: #f9f9f9;
  padding: 10px 0;
  border-top: 1px solid #eaeaea;
}
.footer .container {
  width: min(calc(1000 / 1080 * 100vw), 1000px);
  margin: 0 auto 0;
}

.footer-content {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-wrap: wrap;
}

.footer-links {
  display: flex;
  gap: 30px;
}

.footer-link {
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: #e60012;
}

.footer-copyright {
  font-size: 0.9rem;
  color: #777;
}

@media (max-width: 320px) {
  .footer-content {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
  .footer-links {
    justify-content: center;
  }
}
.adlp-floating {
  visibility: hidden;
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.3s ease-out;
  position: fixed;
  bottom: min(calc(10 / 1080 * 100vw), 10px);
  right: min(calc(10 / 1080 * 100vw), 10px);
  width: min(calc(375 / 1080 * 100vw), 375px);
  height: min(calc(286 / 1080 * 100vw), 286px);
  z-index: 90;
}
.adlp-floating.--show {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}
.adlp-floating__close {
  display: inline-block;
  width: min(calc(30 / 1080 * 100vw), 30px);
  height: min(calc(30 / 1080 * 100vw), 30px);
  background: url("../img/common/close.svg") center/contain no-repeat;
  content: "";
  position: absolute;
  right: 0;
  top: max(calc(-5 / 1080 * 100vw), -5px);
  cursor: pointer;
}
.adlp-floating a {
  display: inline-block;
  border-radius: min(calc(10 / 1080 * 100vw), 10px);
  border: 2px solid #DDD;
  background: #F74537;
  position: absolute;
  bottom: min(calc(23 / 1080 * 100vw), 23px);
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 700;
  line-height: 160%;
  padding: min(calc(8 / 1080 * 100vw), 8px) 0;
  letter-spacing: min(calc(0.96 / 1080 * 100vw), 0.96px);
}
.adlp-floating a::after {
  display: inline-block;
  width: min(calc(16 / 1080 * 100vw), 16px);
  height: min(calc(16 / 1080 * 100vw), 16px);
  background: url("../img/common/button-arrow.svg") center/contain no-repeat;
  content: "";
  position: absolute;
  top: 50%;
  right: min(calc(42 / 1080 * 100vw), 42px);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .adlp-floating {
    bottom: calc(-20 / 750 * 100vw);
    right: 0;
    width: 95%;
    width: calc(750 / 750 * 100vw);
    height: calc(572 / 750 * 100vw);
  }
  .adlp-floating__close {
    width: calc(60 / 750 * 100vw);
    height: calc(60 / 750 * 100vw);
    top: calc(-5 / 750 * 100vw);
  }
  .adlp-floating a {
    border-radius: calc(10 / 750 * 100vw);
    bottom: calc(45 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    padding: calc(16 / 750 * 100vw) 0;
    letter-spacing: calc(1.92 / 750 * 100vw);
  }
  .adlp-floating a::after {
    width: calc(32 / 750 * 100vw);
    height: calc(32 / 750 * 100vw);
    right: calc(42 / 750 * 100vw);
  }
}
.adlp-head {
  color: #333;
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  font-weight: 700;
  line-height: 150%;
  display: flex;
  align-items: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  position: relative;
  padding-left: min(calc(46 / 1080 * 100vw), 46px);
}
.adlp-head::before {
  display: inline-block;
  width: min(calc(35 / 1080 * 100vw), 35px);
  height: min(calc(33 / 1080 * 100vw), 33px);
  background: url("../img/common/head-icon-1.svg") center/contain no-repeat;
  content: "";
  position: absolute;
  top: 55%;
  left: 0;
  transform: translateY(-50%);
}
.adlp-head__number {
  color: #F74537;
  font-size: min(calc(48 / 1080 * 100vw), 48px);
  font-weight: 400;
  line-height: 150%;
}
.adlp-head.--blue::before {
  background: url("../img/common/head-icon-2.svg") center/contain no-repeat;
}
.adlp-head.--blue .adlp-head__number {
  color: #14398D;
}

@media screen and (max-width: 767px) {
  .adlp-head {
    font-size: calc(50 / 750 * 100vw);
    gap: calc(20 / 750 * 100vw);
    padding-left: calc(82 / 750 * 100vw);
    line-height: 130%;
  }
  .adlp-head::before {
    width: calc(70 / 750 * 100vw);
    height: calc(66 / 750 * 100vw);
    top: 52.5%;
  }
  .adlp-head__number {
    font-size: calc(78 / 750 * 100vw);
  }
}
.fv {
  position: relative;
  width: 100%;
  height: min(calc(642 / 1080 * 100vw), 642px);
}
.fv__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.fv__inner {
  width: min(calc(860 / 1080 * 100vw), 860px);
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding-top: min(calc(94 / 1080 * 100vw), 94px);
}
.fv__logo {
  display: inline-block;
  width: min(calc(208 / 1080 * 100vw), 208px);
}
.fv__area-text {
  margin-top: min(calc(63 / 1080 * 100vw), 63px);
}
.fv__text-1 {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(36.57 / 1080 * 100vw), 36.57px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(1.829 / 1080 * 100vw), 1.829px);
  position: relative;
  width: fit-content;
}
.fv__text-1::after {
  display: inline-block;
  content: "";
  height: min(calc(2 / 1080 * 100vw), 2px);
  width: 100%;
  background-color: #EB5E00;
  position: absolute;
  bottom: max(calc(-5 / 1080 * 100vw), -5px);
  left: 50%;
  transform: translateX(-50%);
}
.fv__text-2 {
  color: #333;
  font-size: min(calc(54 / 1080 * 100vw), 54px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(2.745 / 1080 * 100vw), 2.745px);
  margin-top: min(calc(11 / 1080 * 100vw), 11px);
}
.fv__text-2 .bracket {
  font-size: min(calc(68 / 1080 * 100vw), 68px);
  font-weight: 300;
  line-height: 140%;
}
.fv__text-2 .lg {
  font-size: min(calc(68.596 / 1080 * 100vw), 68.596px);
  font-weight: 700;
  line-height: 140%;
}
.fv__text-2 .md {
  color: #333;
  font-size: min(calc(58 / 1080 * 100vw), 58px);
  font-weight: 700;
  line-height: 140%;
}
.fv__text-2 .en {
  color: #333;
  font-family: Arial;
  font-size: min(calc(74 / 1080 * 100vw), 74px);
  font-weight: 700;
  line-height: 140%;
}
.fv__area-achievement {
  margin-top: min(calc(43 / 1080 * 100vw), 43px);
}
.fv__area-achievement p {
  width: min(calc(372 / 1080 * 100vw), 372px);
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .fv {
    height: calc(1180 / 750 * 100vw);
  }
  .fv__inner {
    width: calc(650 / 750 * 100vw);
    padding-top: calc(53 / 750 * 100vw);
  }
  .fv__logo {
    width: calc(208 / 750 * 100vw);
  }
  .fv__area-text {
    margin-top: calc(43 / 750 * 100vw);
  }
  .fv__text-1 {
    font-size: calc(45.851 / 750 * 100vw);
    letter-spacing: calc(2.293 / 750 * 100vw);
  }
  .fv__text-1::after {
    height: calc(3 / 750 * 100vw);
    bottom: calc(-5 / 750 * 100vw);
  }
  .fv__text-2 {
    font-size: calc(69.729 / 750 * 100vw);
    letter-spacing: calc(3.486 / 750 * 100vw);
    margin-top: calc(11 / 750 * 100vw);
  }
  .fv__text-2 .bracket {
    font-size: calc(98 / 750 * 100vw);
  }
  .fv__text-2 .lg {
    font-size: calc(98.408 / 750 * 100vw);
  }
  .fv__text-2 .md {
    font-size: calc(83.955 / 750 * 100vw);
  }
  .fv__text-2 .en {
    font-size: calc(109.585 / 750 * 100vw);
  }
  .fv__area-achievement {
    margin-top: calc(52 / 750 * 100vw);
  }
  .fv__area-achievement p {
    width: calc(227 / 750 * 100vw);
  }
}
.sec01 {
  background-color: #14398D;
  padding: min(calc(29 / 1080 * 100vw), 29px) 0 min(calc(33 / 1080 * 100vw), 33px);
}
.sec01__inner {
  display: flex;
  align-items: flex-start;
  gap: min(calc(40 / 1080 * 100vw), 40px);
}
.sec01__item {
  width: min(calc(260 / 1080 * 100vw), 260px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: min(calc(15 / 1080 * 100vw), 15px);
}
.sec01__item-head {
  text-align: center;
  background-color: #fff;
  color: #333;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(2.4 / 1080 * 100vw), 2.4px);
  width: 100%;
  padding: min(calc(2 / 1080 * 100vw), 2px) 0;
}
.sec01__item-body {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .sec01 {
    padding: calc(29 / 750 * 100vw) 0;
  }
  .sec01__inner {
    gap: calc(44 / 750 * 100vw);
    padding: 0 calc(30 / 750 * 100vw);
  }
  .sec01__item {
    width: calc(200 / 750 * 100vw);
    gap: calc(13 / 750 * 100vw);
    margin: 0 auto 0;
    position: relative;
  }
  .sec01__item:nth-of-type(n + 2)::before {
    content: "";
    width: 1px;
    height: calc(248 / 750 * 100vw);
    background-color: #fff;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: calc(-23 / 750 * 100vw);
    transform: translateY(-50%);
  }
  .sec01__item-head {
    font-size: calc(24 / 750 * 100vw);
    letter-spacing: calc(-0.24 / 750 * 100vw);
    padding: calc(2 / 750 * 100vw) calc(4 / 750 * 100vw);
  }
  .sec01__item-body.--1st, .sec01__item-body.--2nd, .sec01__item-body.--3rd {
    height: calc(191 / 750 * 100vw);
  }
  .sec01__item-body.--1st {
    width: calc(200 / 750 * 100vw);
  }
  .sec01__item-body.--2nd {
    width: calc(206 / 750 * 100vw);
  }
  .sec01__item-body.--3rd {
    width: calc(152 / 750 * 100vw);
  }
}

.sec_download_button {
  background-color: #14398D;
  padding: min(calc(29 / 1080 * 100vw), 29px) 0 min(calc(33 / 1080 * 100vw), 33px);
  text-align: center;
}
.sec_download_button button {
  background-color: #fff;
  color: #333;
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(2.4 / 1080 * 100vw), 2.4px);
  border-radius: min(calc(32 / 1080 * 100vw), 32px);
  padding: min(calc(12 / 1080 * 100vw), 12px) min(calc(24 / 1080 * 100vw), 24px);
  border: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(20, 57, 141, 0.2), 0 2px 6px rgba(0, 0, 0, 0.1);
}

.sec_download_button button:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 20px rgba(20, 57, 141, 0.3), 0 4px 12px rgba(0, 0, 0, 0.15);
  background-color: #f8f9fa;
}

.sec_download_button button:active {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 4px 12px rgba(20, 57, 141, 0.25), 0 2px 8px rgba(0, 0, 0, 0.12);
  background-color: #f0f0f0;
}

@media screen and (max-width: 767px) {
  .sec_download_button {
    padding: calc(24 / 750 * 100vw) calc(20 / 750 * 100vw) calc(28 / 750 * 100vw);
  }
  
  .sec_download_button button {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(4 / 750 * 100vw);
    border-radius: calc(50 / 750 * 100vw);
    padding: calc(20 / 750 * 100vw) calc(40 / 750 * 100vw);
    box-shadow: 0 calc(3 / 750 * 100vw) calc(10 / 750 * 100vw) rgba(20, 57, 141, 0.2), 0 calc(1 / 750 * 100vw) calc(5 / 750 * 100vw) rgba(0, 0, 0, 0.1);
  }
  
  .sec_download_button button:hover {
    transform: translateY(calc(-3 / 750 * 100vw)) scale(1.05);
    box-shadow: 0 calc(6 / 750 * 100vw) calc(16 / 750 * 100vw) rgba(20, 57, 141, 0.3), 0 calc(3 / 750 * 100vw) calc(10 / 750 * 100vw) rgba(0, 0, 0, 0.15);
  }
  
  .sec_download_button button:active {
    transform: translateY(calc(-1 / 750 * 100vw)) scale(1.02);
    box-shadow: 0 calc(3 / 750 * 100vw) calc(10 / 750 * 100vw) rgba(20, 57, 141, 0.25), 0 calc(1 / 750 * 100vw) calc(6 / 750 * 100vw) rgba(0, 0, 0, 0.12);
  }
}

.sec02 {
  padding: min(calc(63 / 1080 * 100vw), 63px) 0;
}
.sec02__inner {
  position: relative;
}
.sec02__head {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  font-weight: 700;
  line-height: 150%;
}
.sec02__items {
  display: flex;
  gap: min(calc(23 / 1080 * 100vw), 23px);
  margin-top: min(calc(24 / 1080 * 100vw), 24px);
}
.sec02__item {
  width: min(calc(170 / 1080 * 100vw), 170px);
  height: min(calc(170 / 1080 * 100vw), 170px);
  position: relative;
  background-color: #F3F2F1;
  border-radius: 50%;
}
.sec02__item-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sec02__item-inner > span {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(0.4 / 1080 * 100vw), 0.4px);
}
.sec02__img {
  position: absolute;
  right: max(calc(-29 / 1080 * 100vw), -29px);
  bottom: 0;
  width: min(calc(308 / 1080 * 100vw), 308px);
}

@media screen and (max-width: 767px) {
  .sec02 {
    padding: calc(110 / 750 * 100vw) 0;
  }
  .sec02__inner {
    flex-direction: column;
    width: calc(630 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec02__head {
    font-size: calc(50 / 750 * 100vw);
  }
  .sec02__items {
    gap: calc(23 / 750 * 100vw);
    margin-top: calc(48 / 750 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .sec02__item {
    width: calc(300 / 750 * 100vw);
    height: calc(300 / 750 * 100vw);
  }
  .sec02__item-inner > span {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: calc(0.4 / 750 * 100vw);
  }
  .sec02__img {
    right: calc(-29 / 750 * 100vw);
    bottom: calc(10 / 750 * 100vw);
    width: calc(330 / 750 * 100vw);
  }
}
.sec03 {
  background-color: #F3F2F1;
  padding-top: min(calc(56 / 1080 * 100vw), 56px);
  padding-bottom: min(calc(123 / 1080 * 100vw), 123px);
}
.sec03__area-desc {
  position: relative;
  margin-top: min(calc(44 / 1080 * 100vw), 44px);
  display: grid;
  grid-template-columns: min(calc(492 / 1080 * 100vw), 492px) 1fr;
  grid-template-areas: "s3-desc s3-img" "s3-feature s3-img" "s3-output s3-output";
}
.sec03__area-feature {
  grid-area: s3-feature;
}
.sec03__desc {
  grid-area: s3-desc;
  position: relative;
  z-index: 10;
}
.sec03__logo {
  width: min(calc(208 / 1080 * 100vw), 208px);
}
.sec03__text-1 {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(2 / 1080 * 100vw), 2px);
  margin-top: min(calc(14 / 1080 * 100vw), 14px);
}
.sec03__text-2 {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(1.4 / 1080 * 100vw), 1.4px);
  margin-top: min(calc(12 / 1080 * 100vw), 12px);
}
.sec03__features {
  display: flex;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  margin-top: min(calc(29 / 1080 * 100vw), 29px);
}
.sec03__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: min(calc(11 / 1080 * 100vw), 11px);
  background-color: #F74537;
  padding: min(calc(18 / 1080 * 100vw), 18px) min(calc(5 / 1080 * 100vw), 5px);
  width: min(calc(91 / 1080 * 100vw), 91px);
}
.sec03__feature-img {
  width: min(calc(48 / 1080 * 100vw), 48px);
  height: min(calc(43 / 1080 * 100vw), 43px);
}
.sec03__feature-text {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 125%;
  letter-spacing: min(calc(0.64 / 1080 * 100vw), 0.64px);
}
.sec03__img {
  width: min(calc(451 / 1080 * 100vw), 451px);
  grid-area: s3-img;
  position: absolute;
  top: max(calc(-30 / 1080 * 100vw), -30px);
  right: max(calc(-70 / 1080 * 100vw), -70px);
}
.sec03__output {
  grid-area: s3-output;
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
}
.sec03__output-head {
  color: #333;
  text-align: left;
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(2 / 1080 * 100vw), 2px);
}
.sec03__items {
  display: flex;
  gap: min(calc(11 / 1080 * 100vw), 11px);
  margin-top: min(calc(36 / 1080 * 100vw), 36px);
}
.sec03__item {
  width: min(calc(280 / 1080 * 100vw), 280px);
  height: min(calc(135 / 1080 * 100vw), 135px);
  position: relative;
}
.sec03__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sec03__item-inner {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding: min(calc(16 / 1080 * 100vw), 16px) min(calc(16 / 1080 * 100vw), 16px);
}
.sec03__item-head {
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 700;
  line-height: 160%;
  position: relative;
  padding-left: min(calc(13 / 1080 * 100vw), 13px);
}
.sec03__item-head::before {
  content: "";
  width: min(calc(4 / 1080 * 100vw), 4px);
  height: min(calc(17 / 1080 * 100vw), 17px);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #F74537;
}
.sec03__item-text {
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(1.6 / 1080 * 100vw), 1.6px);
  margin-top: min(calc(3 / 1080 * 100vw), 3px);
}
.sec03__item-text span {
  font-size: min(calc(14 / 1080 * 100vw), 14px);
}

@media screen and (max-width: 767px) {
  .sec03 {
    padding-top: calc(110 / 750 * 100vw);
    padding-bottom: calc(110 / 750 * 100vw);
  }
  .sec03__inner {
    width: calc(630 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec03__area-desc {
    margin-top: calc(80 / 750 * 100vw);
    grid-template-columns: 1fr;
    grid-template-areas: "s3-desc" "s3-img" "s3-feature" "s3-output";
  }
  .sec03__logo {
    width: calc(416 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec03__text-1 {
    text-align: center;
    font-size: calc(50 / 750 * 100vw);
    letter-spacing: calc(5 / 750 * 100vw);
    margin-top: calc(60 / 750 * 100vw);
  }
  .sec03__text-2 {
    text-align: left;
    font-size: calc(28 / 750 * 100vw);
    letter-spacing: calc(2.8 / 750 * 100vw);
    margin-top: calc(30 / 750 * 100vw);
  }
  .sec03__features {
    gap: calc(10 / 750 * 100vw);
    margin-top: calc(40 / 750 * 100vw);
    flex-wrap: wrap;
    justify-content: center;
  }
  .sec03__feature {
    gap: calc(22 / 750 * 100vw);
    padding: calc(30 / 750 * 100vw) calc(10 / 750 * 100vw);
    width: 32%;
  }
  .sec03__feature-img {
    width: calc(96 / 750 * 100vw);
    height: calc(86 / 750 * 100vw);
  }
  .sec03__feature-text {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(1.28 / 750 * 100vw);
  }
  .sec03__img {
    width: calc(500 / 750 * 100vw);
    top: calc(-30 / 750 * 100vw);
    right: calc(-70 / 750 * 100vw);
    position: static;
    display: block;
    margin: calc(20 / 750 * 100vw) auto 0;
  }
  .sec03__output {
    margin-top: calc(90 / 750 * 100vw);
  }
  .sec03__output-head {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: calc(4 / 750 * 100vw);
  }
  .sec03__items {
    gap: calc(22 / 750 * 100vw);
    margin-top: calc(36 / 750 * 100vw);
    flex-direction: column;
  }
  .sec03__item {
    width: 100%;
    height: calc(270 / 750 * 100vw);
  }
  .sec03__item-inner {
    padding: calc(20 / 750 * 100vw) calc(32 / 750 * 100vw);
  }
  .sec03__item-head {
    font-size: calc(48 / 750 * 100vw);
    padding-left: calc(26 / 750 * 100vw);
  }
  .sec03__item-head::before {
    width: calc(8 / 750 * 100vw);
    height: calc(34 / 750 * 100vw);
  }
  .sec03__item-text {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(3.2 / 750 * 100vw);
    margin-top: calc(14 / 750 * 100vw);
  }
  .sec03__item-text span {
    font-size: calc(28 / 750 * 100vw);
  }
}
.sec04 {
  padding-top: min(calc(56 / 1080 * 100vw), 56px);
  padding-bottom: min(calc(123 / 1080 * 100vw), 123px);
}
.sec04__area-desc {
  margin-top: min(calc(37 / 1080 * 100vw), 37px);
  display: grid;
  grid-template-columns: min(calc(496 / 1080 * 100vw), 496px) 1fr;
  grid-template-areas: "s4-desc s4-img" "s4-text s4-img" "s4-steps s4-steps" "s4-security s4-security" "s4-media s4-media";
  gap: 0 min(calc(10 / 1080 * 100vw), 10px);
}
.sec04__area-text {
  grid-area: s4-text;
}
.sec04__desc {
  grid-area: s4-desc;
}
.sec04__logo {
  width: min(calc(332 / 1080 * 100vw), 332px);
}
.sec04__text-1 {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(2 / 1080 * 100vw), 2px);
  margin-top: min(calc(14 / 1080 * 100vw), 14px);
}
.sec04__text-2 {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(1.6 / 1080 * 100vw), 1.6px);
  margin-top: min(calc(30 / 1080 * 100vw), 30px);
}
.sec04__img {
  width: min(calc(354 / 1080 * 100vw), 354px);
  grid-area: s4-img;
}
.sec04__steps {
  display: flex;
  justify-content: space-between;
  margin-top: min(calc(60 / 1080 * 100vw), 60px);
  grid-area: s4-steps;
  position: relative;
}
.sec04__steps::before {
  content: "";
  height: min(calc(4 / 1080 * 100vw), 4px);
  width: 95%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
  background-color: #14398D;
}
.sec04__step {
  background-color: #F3F2F1;
  width: min(calc(162 / 1080 * 100vw), 162px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: min(calc(15 / 1080 * 100vw), 15px) min(calc(5 / 1080 * 100vw), 5px);
}
.sec04__step-head {
  color: #14398D;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 700;
  line-height: 110%;
  letter-spacing: min(calc(2 / 1080 * 100vw), 2px);
}
.sec04__step-icon {
  width: min(calc(85 / 1080 * 100vw), 85px);
  margin-top: min(calc(21 / 1080 * 100vw), 21px);
}
.sec04__step-list {
  margin-top: min(calc(23 / 1080 * 100vw), 23px);
}
.sec04__step-list li {
  color: #14398D;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 140%;
  position: relative;
  display: flex;
  align-items: center;
  gap: min(calc(3 / 1080 * 100vw), 3px);
}
.sec04__step-list li::before {
  content: "・";
  color: #14398D;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 140%;
}
.sec04__security {
  grid-area: s4-security;
  background-color: #14398D;
  padding: min(calc(22 / 1080 * 100vw), 22px) min(calc(36 / 1080 * 100vw), 36px);
  margin-top: min(calc(26 / 1080 * 100vw), 26px);
}
.sec04__security-head {
  display: flex;
  align-items: center;
  gap: min(calc(10 / 1080 * 100vw), 10px);
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 700;
  line-height: 160%;
  letter-spacing: min(calc(1.92 / 1080 * 100vw), 1.92px);
}
.sec04__security-head-img {
  width: min(calc(22 / 1080 * 100vw), 22px);
  position: relative;
  top: min(calc(2 / 1080 * 100vw), 2px);
}
.sec04__security-text {
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 400;
  line-height: 155%;
  letter-spacing: min(calc(0.64 / 1080 * 100vw), 0.64px);
  margin-top: min(calc(15 / 1080 * 100vw), 15px);
}
.sec04__media {
  grid-area: s4-media;
  display: grid;
  grid-template-columns: min(calc(450 / 1080 * 100vw), 450px) 1fr;
  background-color: #F3F2F1;
  margin-top: min(calc(93 / 1080 * 100vw), 93px);
}
.sec04__media-img {
  width: min(calc(450 / 1080 * 100vw), 450px);
}
.sec04__media-desc {
  padding: min(calc(32 / 1080 * 100vw), 32px) min(calc(28 / 1080 * 100vw), 28px);
}
.sec04__media-head {
  color: #14398D;
  position: relative;
  font-family: "Noto Sans JP";
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 700;
  line-height: 160%;
}
.sec04__media-text {
  margin-top: min(calc(18 / 1080 * 100vw), 18px);
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(16 / 1080 * 100vw), 16px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(1.6 / 1080 * 100vw), 1.6px);
}
.sec04__media-link {
  display: block;
  margin-top: min(calc(26 / 1080 * 100vw), 26px);
  color: #14398D;
  font-size: min(calc(14 / 1080 * 100vw), 14px);
  font-weight: 400;
  letter-spacing: min(calc(0.42 / 1080 * 100vw), 0.42px);
  text-align: right;
}

@media screen and (max-width: 767px) {
  .sec04 {
    padding-top: calc(110 / 750 * 100vw);
    padding-bottom: calc(110 / 750 * 100vw);
  }
  .sec04__inner {
    width: calc(630 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec04__area-desc {
    margin-top: calc(80 / 750 * 100vw);
    grid-template-columns: 1fr;
    grid-template-areas: "s4-desc" "s4-img" "s4-text" "s4-steps" "s4-security" "s4-media";
    gap: 0;
  }
  .sec04__logo {
    width: calc(550 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec04__text-1 {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: calc(4 / 750 * 100vw);
    margin-top: calc(60 / 750 * 100vw);
  }
  .sec04__text-2 {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(3.2 / 750 * 100vw);
    margin-top: calc(40 / 750 * 100vw);
  }
  .sec04__img {
    width: calc(600 / 750 * 100vw);
    margin-top: calc(40 / 750 * 100vw);
  }
  .sec04__steps {
    margin-top: calc(50 / 750 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(25 / 750 * 100vw);
  }
  .sec04__steps::before {
    display: none;
  }
  .sec04__step {
    width: 100%;
    padding: calc(30 / 750 * 100vw) calc(10 / 750 * 100vw);
  }
  .sec04__step-head {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: calc(4 / 750 * 100vw);
  }
  .sec04__step-icon {
    width: calc(170 / 750 * 100vw);
    margin-top: calc(22 / 750 * 100vw);
  }
  .sec04__step-list {
    margin-top: calc(26 / 750 * 100vw);
  }
  .sec04__step-list li {
    font-size: calc(32 / 750 * 100vw);
    gap: calc(6 / 750 * 100vw);
  }
  .sec04__step-list li::before {
    font-size: calc(32 / 750 * 100vw);
  }
  .sec04__step:last-of-type {
    grid-column: span 2;
    justify-self: center;
    width: 50%;
  }
  .sec04__security {
    padding: calc(50 / 750 * 100vw) calc(50 / 750 * 100vw);
    margin-top: calc(75 / 750 * 100vw);
  }
  .sec04__security-head {
    gap: calc(30 / 750 * 100vw);
    font-size: calc(48 / 750 * 100vw);
    letter-spacing: calc(3.84 / 750 * 100vw);
  }
  .sec04__security-head-img {
    width: calc(60 / 750 * 100vw);
    top: calc(2 / 750 * 100vw);
  }
  .sec04__security-head > span {
    line-height: 130%;
  }
  .sec04__security-text {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(3.2 / 750 * 100vw);
    margin-top: calc(20 / 750 * 100vw);
  }
  .sec04__media {
    grid-template-columns: 1fr;
    margin-top: calc(75 / 750 * 100vw);
  }
  .sec04__media-img {
    width: 100%;
    justify-items: center;
  }
  .sec04__media-desc {
    padding: calc(50 / 750 * 100vw) calc(50 / 750 * 100vw) calc(50 / 750 * 100vw);
  }
  .sec04__media-head {
    font-size: calc(48 / 750 * 100vw);
    padding-left: 0;
  }
  .sec04__media-head::before {
    width: calc(8 / 750 * 100vw);
    height: calc(37 / 750 * 100vw);
  }
  .sec04__media-text {
    margin-top: calc(18 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: calc(3.2 / 750 * 100vw);
  }
  .sec04__media-link {
    margin-top: calc(30 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
    letter-spacing: calc(1 / 750 * 100vw);
  }
}
.sec05 {
  padding-top: min(calc(126 / 1080 * 100vw), 126px);
  padding-bottom: min(calc(93 / 1080 * 100vw), 93px);
  background-color: #F3F2F1;
}
.sec05__area-head {
  display: grid;
  grid-template-columns: 1fr min(calc(500 / 1080 * 100vw), 500px);
  gap: min(calc(37 / 1080 * 100vw), 37px);
}
.sec05__logo {
  width: min(calc(208 / 1080 * 100vw), 208px);
}
.sec05__head {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(36 / 1080 * 100vw), 36px);
  font-weight: 700;
  line-height: 180%;
  margin-top: min(calc(41 / 1080 * 100vw), 41px);
}
.sec05__area-body {
  display: flex;
  justify-content: center;
  margin-top: min(calc(95 / 1080 * 100vw), 95px);
  position: relative;
}
.sec05__area-body::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #F74537 transparent transparent transparent;
  border-width: min(calc(21 / 1080 * 100vw), 21px) min(calc(20.5 / 1080 * 100vw), 20.5px) 0 min(calc(20.5 / 1080 * 100vw), 20.5px);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.sec05__circle {
  min-width: min(calc(460 / 1080 * 100vw), 460px);
  min-height: min(calc(460 / 1080 * 100vw), 460px);
  border-radius: 50%;
  border: 2px solid #F74537;
  padding-top: min(calc(60 / 1080 * 100vw), 60px);
  display: flex;
  flex-direction: column;
}
.sec05__circle:nth-of-type(1) {
  margin-right: max(calc(-54 / 1080 * 100vw), -54px);
}
.sec05__circle-head {
  color: #F74537;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  font-weight: 700;
  line-height: 120%;
  letter-spacing: min(calc(3.2 / 1080 * 100vw), 3.2px);
}
.sec05__list {
  margin-top: min(calc(16 / 1080 * 100vw), 16px);
  display: flex;
  flex-direction: column;
  gap: min(calc(6 / 1080 * 100vw), 6px);
  width: min(calc(308 / 1080 * 100vw), 308px);
  margin: min(calc(16 / 1080 * 100vw), 16px) auto 0;
}
.sec05__list-item {
  color: #333;
  height: min(calc(80 / 1080 * 100vw), 80px);
  font-family: "Noto Sans JP";
  font-size: min(calc(20 / 1080 * 100vw), 20px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(2 / 1080 * 100vw), 2px);
  background-color: #fff;
  border-radius: min(calc(120 / 1080 * 100vw), 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sec05__list-item .md {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(2.4 / 1080 * 100vw), 2.4px);
}
.sec05__list-item .lg {
  color: #333;
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  font-weight: 400;
  line-height: 140%;
}
.sec05__list-item .lift {
  margin-top: max(calc(-7 / 1080 * 100vw), -7px);
}
.sec05__area-conc {
  padding: min(calc(36 / 1080 * 100vw), 36px) min(calc(72 / 1080 * 100vw), 72px) min(calc(44 / 1080 * 100vw), 44px);
  margin-top: min(calc(77 / 1080 * 100vw), 77px);
  background-color: #fff;
}
.sec05__conc-head {
  color: #333;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: min(calc(32 / 1080 * 100vw), 32px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(1.6 / 1080 * 100vw), 1.6px);
  position: relative;
}
.sec05__conc-head::after {
  display: inline-block;
  content: "";
  height: 2px;
  width: 100%;
  background-color: #EB5E00;
  position: absolute;
  bottom: max(calc(-5 / 1080 * 100vw), -5px);
  left: 50%;
  transform: translateX(-50%);
}
.sec05__conc-list {
  margin-top: min(calc(31 / 1080 * 100vw), 31px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: min(calc(20 / 1080 * 100vw), 20px);
}
.sec05__conc-item {
  color: #333;
  display: flex;
  align-items: center;
  gap: min(calc(19 / 1080 * 100vw), 19px);
}
.sec05__conc-item-img {
  width: min(calc(29 / 1080 * 100vw), 29px);
}
.sec05__conc-item-text {
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 500;
  line-height: 140%;
  letter-spacing: min(calc(0.96 / 1080 * 100vw), 0.96px);
}

@media screen and (max-width: 767px) {
  .sec05 {
    padding-top: calc(110 / 750 * 100vw);
    padding-bottom: calc(110 / 750 * 100vw);
  }
  .sec05__inner {
    width: calc(630 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec05__area-head {
    grid-template-columns: 1fr;
    gap: calc(50 / 750 * 100vw);
  }
  .sec05__logo {
    width: calc(416 / 750 * 100vw);
    margin: 0 auto 0;
  }
  .sec05__head {
    font-size: calc(50 / 750 * 100vw);
    margin-top: calc(60 / 750 * 100vw);
    line-height: 120%;
    text-align: center;
  }
  .sec05__area-body {
    margin-top: calc(75 / 750 * 100vw);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(50 / 750 * 100vw);
  }
  .sec05__area-body::after {
    border-width: calc(42 / 750 * 100vw) calc(41 / 750 * 100vw) 0 calc(41 / 750 * 100vw);
    bottom: calc(-90 / 750 * 100vw);
  }
  .sec05__circle {
    min-width: calc(690 / 750 * 100vw);
    min-height: calc(690 / 750 * 100vw);
    padding-top: calc(80 / 750 * 100vw);
  }
  .sec05__circle:nth-of-type(1) {
    margin-right: 0;
  }
  .sec05__circle-head {
    font-size: calc(48 / 750 * 100vw);
    letter-spacing: calc(4.8 / 750 * 100vw);
  }
  .sec05__list {
    gap: calc(12 / 750 * 100vw);
    width: calc(500 / 750 * 100vw);
    margin: calc(16 / 750 * 100vw) auto 0;
  }
  .sec05__list-item {
    height: calc(120 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
    letter-spacing: calc(3 / 750 * 100vw);
    border-radius: calc(240 / 750 * 100vw);
  }
  .sec05__list-item .md {
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: calc(3.6 / 750 * 100vw);
  }
  .sec05__list-item .lg {
    font-size: calc(45 / 750 * 100vw);
  }
  .sec05__list-item .lift {
    margin-top: calc(-10 / 750 * 100vw);
  }
  .sec05__area-conc {
    padding: calc(50 / 750 * 100vw) calc(72 / 750 * 100vw) calc(60 / 750 * 100vw);
    margin-top: calc(140 / 750 * 100vw);
  }
  .sec05__conc-head {
    font-size: calc(48 / 750 * 100vw);
    letter-spacing: calc(2.4 / 750 * 100vw);
  }
  .sec05__conc-head::after {
    bottom: calc(-15 / 750 * 100vw);
  }
  .sec05__conc-list {
    margin-top: calc(62 / 750 * 100vw);
    gap: calc(20 / 750 * 100vw);
    align-items: flex-start;
  }
  .sec05__conc-item {
    gap: calc(30 / 750 * 100vw);
  }
  .sec05__conc-item-img {
    width: calc(60 / 750 * 100vw);
  }
  .sec05__conc-item-text {
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: calc(1.44 / 750 * 100vw);
    line-height: 140%;
  }
}
.sec06 {
  padding: min(calc(94 / 1080 * 100vw), 94px) 0;
}
.sec06__inner {
  display: flex;
  justify-content: space-between;
}
.sec06__desc {
  position: relative;
}
.sec06__head {
  display: flex;
  align-items: center;
  gap: min(calc(12 / 1080 * 100vw), 12px);
}
.sec06__head-icon {
  width: min(calc(83 / 1080 * 100vw), 83px);
}
.sec06__head-text {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(36 / 1080 * 100vw), 36px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: min(calc(1.8 / 1080 * 100vw), 1.8px);
}
.sec06__head-text span {
  color: #D60708;
}
.sec06__text {
  display: flex;
  flex-direction: column;
  margin-top: min(calc(37 / 1080 * 100vw), 37px);
  padding-left: min(calc(60 / 1080 * 100vw), 60px);
}
.sec06__text li {
  color: #333;
  font-family: "Noto Sans JP";
  font-size: min(calc(24 / 1080 * 100vw), 24px);
  font-weight: 500;
  line-height: 200%;
  position: relative;
  padding-left: min(calc(35 / 1080 * 100vw), 35px);
}
.sec06__text li::before {
  display: inline-block;
  width: min(calc(27 / 1080 * 100vw), 27px);
  height: min(calc(27 / 1080 * 100vw), 27px);
  background: url("../img/common/s6-check.svg") center/contain no-repeat;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.sec06__img {
  width: min(calc(309 / 1080 * 100vw), 309px);
}

@media screen and (max-width: 767px) {
  .sec06 {
    padding: calc(110 / 750 * 100vw) 0;
  }
  .sec06__inner {
    width: calc(630 / 750 * 100vw);
    margin: 0 auto 0;
    flex-direction: column;
  }
  .sec06__head {
    gap: calc(24 / 750 * 100vw);
  }
  .sec06__head-icon {
    width: calc(83 / 750 * 100vw);
  }
  .sec06__head-text {
    font-size: calc(54 / 750 * 100vw);
    letter-spacing: calc(2.7 / 750 * 100vw);
  }
  .sec06__text {
    margin-top: calc(40 / 750 * 100vw);
    padding-left: calc(105 / 750 * 100vw);
  }
  .sec06__text li {
    font-size: calc(36 / 750 * 100vw);
    padding-left: calc(40 / 750 * 100vw);
  }
  .sec06__text li::before {
    width: calc(27 / 750 * 100vw);
    height: calc(27 / 750 * 100vw);
  }
  .sec06__img {
    width: calc(400 / 750 * 100vw);
    margin: calc(60 / 750 * 100vw) auto 0;
  }
}
.sec07 {
  padding: min(calc(80 / 1080 * 100vw), 80px) 0;
  background-color: #f5f5f5;
}
.sec07__head {
  font-size: min(calc(40 / 1080 * 100vw), 40px);
  text-align: center;
  color: #333;
}
.sec07__area-body {
  width: min(calc(1000 / 1080 * 100vw), 1000px);
  margin: min(calc(40 / 1080 * 100vw), 40px) auto 0;
}
.sec07 iframe {
  width: 100%;
  height: 1200px;
}

@media screen and (max-width: 767px) {
  .sec07 {
    padding: calc(110 / 750 * 100vw) 0 0;
  }
  .sec07__head {
    font-size: calc(60 / 750 * 100vw);
  }
  .sec07__area-body {
    width: 100%;
    margin-top: calc(15 / 750 * 100vw);
    padding: 0 calc(10 / 750 * 100vw);
  }
  .sec07 iframe {
    height: 1330px;
  }
}

/* Video Section Styles */
.video-section {
  padding: 80px 0;
  background-color: #fff;
}

.video-container {
  width: 100%;
  max-width: 767px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

/* 16:9のアスペクト比を維持するラッパー */
.video-container::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 aspect ratio */
}

/* iframeを配置 */
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

@media screen and (max-width: 767px) {
  .video-section {
    padding: 40px 20px;
  }
  
  .video-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }
}

/*# sourceMappingURL=lp.css.map */
