.u-header,.u-hero,.u-line-band,.u-company,.u-worry {
  -webkit-font-smoothing:antialiased
}
.u-header {
  height:88px;
  background:#fff
}
.u-header-inner {
  width:min(1040px,calc(100% - 32px));
  height:88px;
  position:relative;
  margin:auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between
}
.u-logo {
  display:block;
  width:148px;
  height:69px;
  margin-top:12px
}
.u-logo img {
  width:100%;
  height:100%
}
.u-contact {
  margin-top:10px;
  margin-right:4.45px
}
.u-phone {
  display:flex;
  gap:3.549px;
  align-items:center;
  font:700 28px/1.5 Inter,sans-serif;
  white-space:nowrap
}
.u-phone img {
  width:32px;
  height:32px
}
.u-hours {
  display:flex;
  align-items:center;
  gap:5.08px;
  margin-left:24.87px;
  margin-top:.367px
}
.u-hours span:first-child {
  padding:3.549px 19.52px;
  border-radius:60px;
  background:#1c1b1f;
  color:white;
  font-size:12px;
  font-weight:500;
  line-height:1
}
.u-hours span:last-child {
  font:400 18px/1 Inter,'Noto Sans JP',sans-serif
}
.u-status {
  display:none
}
.u-hero {
  position:relative;
  height:440px;
  background:linear-gradient(73.3738deg,#2074da 0%,#47b3de 99.81%)
}
.u-hero-clip {
  height:100%;
  overflow:hidden
}
.u-hero-canvas {
  position:relative;
  width:1440px;
  height:440px;
  left:50%;
  transform:translateX(-50%)
}
.u-portrait {
  position:absolute;
  left:815px;
  top:26px;
  width:406px;
  height:859px
}
.u-portrait img {
  width:100%;
  height:100%;
  object-fit:cover
}
.u-hero-eyebrow {
  position:absolute;
  left:205.64px;
  top:59px;
  background:#154681;
  padding:5.641px 22.563px;
  color:#fff;
  font-size:25.383px;
  font-weight:500;
  line-height:1.5
}
.u-hero-title {
  position:absolute;
  left:200px;
  top:106.945px;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
  -webkit-font-smoothing:antialiased
}
.u-hero-eyebrow>span {
  display:block;
  transform:translateY(-1px)
}
.u-hero-title span {
  display:block;
  font-size:50.765625px;
  line-height:98.711px;
  padding-left:4.0092px;
  transform:translateY(-1px)
}
.u-hero-title strong {
  display:block;
  font-size:90.25px;
  font-weight:900;
  line-height:98.711px;
  margin-top:-15.422px;
  transform:translateY(-3px)
}
.u-price-box {
  position:absolute;
  left:580px;
  top:123.849px;
  width:318.538px;
  height:165.421px;
  border-radius:12px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(2px);
  color:#154681
}
.u-effective {
  position:absolute;
  left:25.98px;
  top:39.646px;
  width:54px;
  height:106px;
  font-size:53.317466735839844px;
  font-weight:700;
  line-height:53px;
  text-align:center;
  transform:translateY(-2px)
}
.u-zero {
  position:absolute;
  left:82.027px;
  top:-30.077px;
  width:140px;
  height:202px;
  font:700 202.3329620361328px/202px Inter,sans-serif;
  text-align:center;
  color:rgb(207.450886 0 3.457499);
  -webkit-text-stroke:10.93691635131836px white;
  paint-order:stroke fill;
  transform:translateY(1px)
}
.u-yen {
  position:absolute;
  left:216px;
  top:54.685px;
  width:80px;
  height:103px;
  font-size:79.4332275390625px;
  font-weight:700;
  line-height:103px;
  text-align:center;
  transform:translateY(-2.978382110595703px)
}
.u-original-price {
  position:absolute;
  left:582.734px;
  top:76px;
  display:flex;
  align-items:flex-start;
  gap:9.25px;
  color:#fff;
  font-size:21.874px;
  font-weight:700;
  line-height:1.3;
  white-space:nowrap;
  -webkit-font-smoothing:antialiased
}
.u-original-price>span:first-child {
  width:154px;
  line-height:28px;
  text-align:center;
  position:relative;
  top:2.73419189453125px
}
.u-was {
  position:relative;
  display:flex;
  align-items:flex-start
}
.u-was:after {
  position:absolute;
  left:-5.565px;
  top:17.627px;
  width:93.915px;
  height:1.824px;
  content:'';
  background:#d9261c;
  transform:rotate(15deg)
}
.u-was b {
  font:700 27.342px/36px Inter,sans-serif;
  width:81px
}
.u-was>span {
  width:79px;
  line-height:28px;
  position:relative;
  top:5px
}
.u-was small {
  font-size:16.405px;
  margin-left:-8.75px
}
.u-person-caption {
  position:absolute;
  left:1018px;
  top:345px;
  color:#fff;
  text-align:right;
  font-size:17px;
  line-height:1.5;
  font-weight:700;
  text-shadow:0 0 8px #000
}
.u-hero-slants {
  display:none
}
.u-badges {
  position:absolute;
  left:calc(50% - 516px);
  top:318px;
  width:695px;
  display:flex;
  gap:16px;
  list-style:none;
  padding:0
}
.u-badges li {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:221px;
  height:83.091px;
  padding-top:13.12px;
  gap:2.915px;
  background:url('assets/upper/313-178-imgSubtract2.svg') center/100% 100% no-repeat;
  font-weight:700;
  text-align:center;
  white-space:nowrap
}
.u-badges li:before {
  position:absolute;
  z-index:-1;
  inset:3.64px 4.1px 3.64px 3.65px;
  content:'';
  background:url('assets/upper/313-178-imgSubtract1.svg') center/100% 100% no-repeat
}
.u-badge-top {
  font-size:16.035px;
  line-height:1.3;
  color:#7d812c
}
.u-badge-bottom {
  font-size:18.95px;
  line-height:1.3;
  color:#473b01
}
.u-badge-bottom b {
  font:700 26.239px/1.3 Inter,sans-serif
}
.u-line-band,.u-professional {
  background-color:#154681;
  background-image:url('assets/upper/pattern/native-stripe-decoration.svg');
  background-size:100% 100%;
  background-position:0 0;
  background-repeat:no-repeat
}
.u-line-band {
  height:160px;
  padding-top:21px
}
.u-line-cta {
  width:505px;
  margin:auto;
  text-align:center;
  color:#fff
}
.u-line-cta>p {
  font-size:20px;
  font-weight:700;
  line-height:22px;
  margin-bottom:16px
}
.u-line-button {
  display:block;
  position:relative;
  border:0;
  width:100%;
  border-radius:8px;
  background:#11d103;
  box-shadow:0 4px 0 #098700;
  padding:16px 40px;
  color:#fff;
  font-size:22px;
  font-weight:700;
  line-height:1.5
}
.u-button-arrow {
  position:absolute;
  right:16px;
  top:calc(50% + .5px);
  transform:translateY(-50%);
  width:20px;
  height:20px;
  border-radius:50%;
  padding:2px;
  background:#fff
}
.u-button-arrow img {
  display:block;
  width:16px;
  height:16px
}
.u-company {
  height:270px;
  padding-top:52px
}
.u-company-inner {
  width:505px;
  margin:auto;
  position:relative;
  left:.5px
}
.u-company-lead {
  text-align:center;
  font-size:18px;
  font-weight:700;
  line-height:22px;
  margin-bottom:8px;
  transform:translateY(-1px)
}
.u-company-buttons {
  display:flex;
  gap:8px
}
.u-company-buttons a {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:14px 32px;
  border:0;
  border-radius:4px;
  background:#343434;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  box-shadow:0 3px 0 #232323
}
.u-company-label {
  flex:1;
  min-width:0;
  text-align:center
}
.u-company-buttons a>.u-company-arrow {
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  border:1px solid #154681;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center
}
.u-company-note {
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:16px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  color:#343434
}
.u-company-note:before,.u-company-note:after {
  content:'';
  height:2px;
  flex:1;
  background:transparent url('assets/upper/cta-note-rule.svg') center / 100% 100% no-repeat
}
.u-company-note p {
  flex:none
}
.u-section-heading {
  text-align:center;
  position:relative;
  z-index:1;
  -webkit-font-smoothing:antialiased
}
.u-section-heading>p {
  font:900 16px/24px Inter,sans-serif;
  color:#154681;
  margin-bottom:2px
}
.u-section-heading h2 {
  font-size:28px;
  line-height:1.5;
  font-weight:900;
  transform:translateY(-1px);
  text-shadow:1px 1px white
}
.u-worry {
  position:relative;
  height:431px;
  overflow:visible
}
.u-worry-list {
  position:relative;
  list-style:none;
  padding:0;
  margin:62px auto 0;
  display:grid;
  grid-template-columns:repeat(2,484px);
  column-gap:24px;
  row-gap:33px;
  width:992px;
  z-index:1
}
.u-worry-item {
  display:flex;
  align-items:flex-start;
  gap:10px;
  height:90px
}
.u-worry-person {
  width:90px;
  height:82px;
  display:block;
  position:relative;
  overflow:hidden;
  flex-shrink:0
}
.u-worry-person img {
  position:absolute;
  max-width:none;
  width:100%;
  height:100%;
  left:0;
  top:0;
  transform:none
}
.u-worry-item>p {
  position:relative;
  display:block;
  align-content:center;
  width:352px;
  height:90px;
  border-radius:8px;
  padding:16px 24px;
  background:#d28383;
  color:white;
  font-size:16px;
  font-weight:700;
  line-height:1.8
}
.u-tail {
  position:absolute;
  left:-16px;
  top:33.5px;
  width:16px;
  height:15px;
  transform:scaleY(-1)
}
.u-worry-2 {
  gap:18px;
  margin-left:1px
}
.u-worry-2>p {
  background:#9dd283
}
.u-worry-3 {
  gap:2px;
  margin-left:6px
}
.u-worry-3>p {
  background:#83c1d2;
  width:354px
}
.u-worry-3 .u-worry-person {
  margin-top:1px
}
.u-worry-4 {
  gap:18px;
  margin-left:1px
}
.u-worry-4>p {
  background:#8393d2
}
.u-worry-4 .u-worry-person {
  margin-top:1px
}
.u-worry-5 {
  grid-column:1/-1;
  justify-self:center;
  width:454px;
  margin-top:1px
}
.u-worry-5>p {
  width:354px;
  background:#b583d2;
  padding:16px
}
.u-question-layer {
  position:absolute;
  top:-100px;
  left:0;
  right:0;
  bottom:0;
  overflow:hidden;
  pointer-events:none
}
.u-question {
  position:absolute;
  z-index:0;
  font-size:140px;
  line-height:1.3;
  font-weight:900;
  color:#eaeaea;
  width:140px;
  text-align:center;
  white-space:nowrap
}
.u-question {
  transform-origin:0 0;
  height:182px
}
.u-question>span {
  display:block;
  transform:translateY(-5px)
}
.u-question-one {
  left:calc(50% - 409px);
  top:49.23468px;
  transform:rotate(-15deg)
}
.u-question-two {
  left:calc(50% + 297px);
  top:23px;
  transform:rotate(30deg)
}
.u-question-three {
  display:none
}
.u-step-lines {
  position:absolute;
  bottom:4px;
  left:calc(50% - 516px);
  width:1026px;
  height:26px
}
.u-step-lines i {
  position:absolute;
  display:block;
  background:#82cfff;
  left:50%;
  transform:translateX(-50%)
}
.u-step-lines i:nth-child(1) {
  top:0;
  height:1px;
  width:538px
}
.u-step-lines i:nth-child(2) {
  top:5px;
  height:2px;
  width:830px
}
.u-step-lines i:nth-child(3) {
  top:12px;
  height:4px;
  width:964px
}
.u-step-lines i:nth-child(4) {
  top:20px;
  height:6px;
  width:1026px
}
.u-solution {
  background:#82cfff;
  padding:64px 16px;
  height:1165px
}
.u-solution h2 {
  color:#0f3560
}
.u-solution .u-section-heading {
  left:1px
}
.u-points {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:16px;
  width:1030px;
  max-width:100%;
  margin:40px auto 0;
  position:relative;
  left:1px
}
.u-point {
  display:flex;
  flex-direction:column;
  gap:14px;
  width:332.667px;
  flex:none;
  background:#fff;
  padding:24px 16px 16px;
  border-radius:4px
}
.u-point-1 {
  width:333px;
  min-height:429.313px
}
.u-point-2 {
  width:332px;
  min-height:429.13px
}
.u-point-3 {
  min-height:429.125px
}
.u-point-4,.u-point-5 {
  min-height:402.125px
}
.u-point header {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px
}
.u-point header>p {
  background:#154681;
  color:white;
  border-radius:999px;
  padding:2px 12px;
  font:700 12px/18px Inter,sans-serif;
  width:81px;
  -webkit-font-smoothing:antialiased
}
.u-point-1 header>p {
  width:79px
}
.u-point-2 header>p {
  width:80px
}
.u-point h3 {
  font-size:18px;
  line-height:27px;
  font-weight:700;
  text-align:center;
  min-height:54px;
  width:100%;
  -webkit-font-smoothing:antialiased
}
.u-point-image {
  position:relative;
  width:100%;
  height:169.125px;
  overflow:hidden
}
.u-point-1 .u-point-image {
  height:169.3125px
}
.u-point-2 .u-point-image {
  transform:translateX(-.005859375px)
}
.u-point-image>img {
  position:absolute;
  max-width:none
}
.u-point-native {
  display:block;
  width:100%
}
.u-point-native img {
  display:block;
  width:100%;
  height:auto
}
.u-point-2 .u-point-native {
  position:absolute;
  width:300px;
  left:0;
  top:3px
}
.u-point-2 .u-point-image>span,.u-point-2 .u-point-image>b {
  position:absolute;
  color:#154681;
  font-family:'M PLUS 1p',sans-serif;
  font-weight:800;
  line-height:1.5;
  white-space:nowrap
}
.u-point2-highlight {
  left:112px;
  top:120.0625px;
  width:188px;
  height:10px;
  background:#f9ff57
}
.u-point2-label {
  left:193px;
  top:54.0625px;
  width:64px;
  height:24px;
  text-align:center;
  font-size:16px;
  transform:translateX(-50%)
}
.u-point2-number {
  left:190px;
  top:73.0625px;
  width:88px;
  height:66px;
  text-align:center;
  font-size:44px;
  transform:translateX(-50%)
}
.u-point2-month {
  left:133.5px;
  top:92.0625px;
  width:25px;
  height:38px;
  text-align:center;
  font-size:25px;
  transform:translateX(-50%)
}
.u-point2-company {
  left:247.5px;
  top:92.0625px;
  width:25px;
  height:38px;
  text-align:center;
  font-size:25px;
  transform:translateX(-50%)
}
.u-point2-more {
  left:262px;
  top:102px;
  height:24px;
  font-size:16px
}
.u-point-3 .u-point-image {
  width:300.667px;
  max-width:100%;
  align-self:flex-end
}
.u-point-3 .u-point-native,.u-point-5 .u-point-native {
  width:301px
}
.u-point-3 figcaption {
  position:absolute;
  left:0;
  right:0;
  top:0;
  padding:2px 0;
  background:#d9261c;
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:21px;
  text-align:center;
  white-space:nowrap;
  -webkit-font-smoothing:antialiased
}
.u-point-4 .u-point-image>picture>img {
  position:absolute;
  height:100.15%;
  left:21.83%;
  top:-.08%;
  width:56.34%
}
.u-point-5 .u-point-image>img:first-child {
  width:300.667px;
  height:169.125px;
  left:0;
  top:0;
  object-fit:contain
}
.u-phone-blank {
  position:absolute;
  left:124.58px;
  top:53.42px;
  width:51.182px;
  height:89.81px;
  background:#fff
}
.u-point-5 .u-point-image>.u-line-logo {
  left:calc(50% - 17.999px);
  top:78.53px;
  width:36.697px;
  height:36.697px
}
.u-point-copy {
  font-size:14px;
  line-height:27px;
  min-height:108px;
  width:100%;
  -webkit-font-smoothing:antialiased
}
.u-point-4 .u-point-copy,.u-point-5 .u-point-copy {
  min-height:81px
}
.u-point-copy .u-point-note {
  margin-top:4px;
  font-size:12px;
  line-height:18px
}
.u-reason {
  padding:64px 16px;
  height:auto
}
.u-reason-list {
  width:1032px;
  max-width:100%;
  padding:0;
  margin:40px auto 0;
  list-style:none
}
.u-reason-list>li {
  display:flex;
  gap:8px;
  align-items:flex-start;
  box-shadow:inset 0 1px #d9d9d9;
  padding:32px 24px;
  height:121px
}
.u-reason-list>li:last-child {
  box-shadow:inset 0 1px #d9d9d9,inset 0 -1px #d9d9d9;
  height:auto;
  min-height:122px
}
.u-reason-no {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#154681;
  color:white;
  font:700 16px/24px Inter,sans-serif
}
.u-reason-digit {
  display:block;
  width:11px;
  height:24px;
  text-align:left
}
.u-reason-list>li:first-child .u-reason-digit {
  width:8px
}
.u-reason-copy {
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
  -webkit-font-smoothing:antialiased
}
.u-reason-copy h3 {
  font-size:20px;
  font-weight:700;
  line-height:30px
}
.u-reason-copy>p {
  font-size:14px;
  line-height:21px
}
.u-reason-first {
  display:flex;
  gap:8px;
  align-items:center
}
.u-reason-campaign {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0
}
.u-reason-campaign>span {
  color:#d9261c;
  font-size:20px;
  font-weight:700;
  line-height:30px
}
.u-reason-campaign>b {
  background:#d9261c;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:24px;
  padding:2px 8px;
  white-space:nowrap;
  text-align:center
}
.u-professional {
  position:relative;
  width:854px;
  max-width:100%;
  margin:48px auto 0;
  padding:32px 40px;
  border-radius:4px;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:24px;
  min-height:406px
}
.u-check {
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  padding:2px 16px;
  border-radius:48px;
  background:#fff20b;
  color:#154681;
  font-size:20px;
  font-weight:900;
  line-height:24px
}
.u-professional-intro h3 {
  text-align:center;
  font-size:24px;
  font-weight:700;
  line-height:36px;
  -webkit-font-smoothing:antialiased
}
.u-professional-intro>p {
  margin-top:8px;
  font-size:14px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  line-height:22px;
  text-align:center
}
.u-phrase {
  display:inline-block;
  white-space:nowrap
}
.u-professional-flow {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  background:#fff;
  padding:16px 64px;
  color:#1f1f1f;
  height:128px
}
.u-professional-flow>div {
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px
}
.u-professional-flow p {
  font-size:16px;
  font-weight:500;
  line-height:24px;
  white-space:nowrap;
  text-align:center;
  transform:translateY(-1px)
}
.u-professional-icon {
  width:64px;
  height:64px;
  position:relative;
  overflow:hidden;
  display:block;
  flex:none
}
.u-professional-icon img {
  position:absolute;
  max-width:none
}
.u-icon-input img {
  height:875.71%;
  left:-47.5%;
  top:-244.27%;
  width:601.25%
}
.u-icon-document img {
  width:100%;
  height:100%;
  left:0;
  top:0
}
.u-icon-office img {
  height:847.79%;
  left:-43.75%;
  top:-691.46%;
  width:582.08%
}
.u-flow-arrow {
  display:block;
  flex:none;
  width:21.885px;
  height:12.708px;
  transform:translate(1.861328125px,.003662109375px) rotate(-90deg) scaleY(-1);
  margin:0 -1.94px
}
.u-flow-arrow:nth-of-type(2) {
  transform:translate(1.857421875px,.003662109375px) rotate(-90deg) scaleY(-1)
}
.u-professional-proof {
  padding:7px 16px 9px;
  color:#473b01;
  background:linear-gradient(154.3788deg,#e9de5d 17.059%,#f1e886 38.864%,#f9f3ae 51.325%,#c0b53a 89.052%);
  font-size:16px;
  line-height:24px;
  font-weight:700;
  text-align:center
}
@media(min-width:768px) and (max-width:1099px) {
  .u-hero {
    height:calc((100vw - 32px)*.423077)
  }
  .u-hero-canvas {
    transform:translateX(-50%) scale(calc((100vw - 32px)/1040px));
    transform-origin:center top
  }
  .u-badges {
    transform:scale(calc((100vw - 32px)/1040px));
    transform-origin:left top;
    left:16px;
    top:calc((100vw - 32px)*.30577)
  }
  .u-worry {
    height:auto;
    padding-bottom:87px
  }
  .u-worry-list {
    width:100%;
    padding:0 16px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
  }
  .u-worry-item {
    margin-left:0!important;
    gap:10px!important
  }
  .u-worry-item>p {
    width:auto;
    flex:1;
    font-size:14px;
    padding:12px
  }
  .u-worry-5 {
    width:454px;
    max-width:100%
  }
  .u-solution {
    height:auto
  }
  .u-point {
    width:333px;
    max-width:calc(50% - 8px);
    min-width:0
  }
  .u-point h3 {
    font-size:16px
  }
  .u-point-image {
    max-width:100%;
    align-self:center
  }
  .u-point-2 .u-point-image {
    width:300px
  }
  .u-point-3 figcaption {
    font-size:11px
  }
  .u-reason {
    height:auto
  }
  .u-reason-first {
    flex-wrap:wrap
  }
  .u-reason-list>li {
    height:auto;
    min-height:121px
  }
  .u-professional-flow {
    height:152px;
    padding:16px 32px
  }
  .u-professional-flow .u-mobile {
    display:block
  }
  .u-professional-flow .u-desktop {
    display:none
  }
  .u-step-lines {
    left:5%;
    width:90%
  }
  .u-step-lines i {
    max-width:100%
  }
}
@media(max-width:767px) {
   .u-header {
    height:62px
  }
  .u-status {
    display:block;
    height:38px;
    position:relative
  }
  .u-status-time {
    position:absolute;
    left:33px;
    top:17px;
    width:29px;
    height:12px;
    transform:translate(.453125px,.16748046875px)
  }
  .u-signal {
    position:absolute;
    width:17px;
    height:11px;
    right:65px;
    top:17px;
    transform:translate(.66796875px,.66650390625px)
  }
  .u-wifi {
    position:absolute;
    width:16px;
    height:11px;
    right:44px;
    top:17px;
    transform:translate(.6953125px,.33056640625px)
  }
  .u-battery {
    position:absolute;
    right:14px;
    top:17px;
    width:25px;
    height:12px;
    transform:translateY(.3330078125px)
  }
  .u-battery img:nth-child(1) {
    position:absolute;
    left:0;
    top:0;
    width:22px;
    height:12px
  }
  .u-battery img:nth-child(2) {
    position:absolute;
    left:2px;
    top:2px;
    width:18px;
    height:8px
  }
  .u-battery img:nth-child(3) {
    position:absolute;
    left:23px;
    right:auto;
    top:3px;
    width:2px;
    height:4px;
    transform:translateY(.666664123535156px)
  }
  .u-header-inner {
    width:calc(100% - 31px);
    height:62px
  }
  .u-logo {
    position:relative;
    width:100px;
    height:46.575px;
    margin-top:12px
  }
  .u-logo img {
    position:absolute;
    left:-.5px;
    top:0;
    width:100px;
    height:47px
  }
  .u-contact {
    margin:16px .5px 0 0
  }
  .u-phone {
    gap:2px;
    font-size:16px;
    line-height:24px
  }
  .u-phone img {
    width:20px;
    height:20px
  }
  .u-hours {
    gap:4px;
    margin-left:5px;
    margin-top:0
  }
  .u-hours span:first-child {
    padding:2px 11px;
    font-size:10px;
    line-height:10px
  }
  .u-hours span:last-child {
    font-size:11px;
    line-height:11px
  }
   .u-hero {
    height:420px;
    background:white
  }
  .u-hero-canvas {
    width:375px;
    height:420px
  }
  .u-hero-clip {
    position:relative
  }
  .u-hero-slants {
    display:block
  }
  .u-hero-slants img {
    position:absolute;
    left:0;
    width:375px
  }
  .u-hero-slants img:nth-child(1) {
    height:472px;
    top:10px
  }
  .u-hero-slants img:nth-child(2) {
    height:28px;
    top:5px
  }
  .u-hero-slants img:nth-child(3) {
    height:26px;
    top:2px
  }
  .u-hero-slants img:nth-child(4) {
    height:25px;
    top:0px
  }
  .u-portrait {
    left:-657px;
    top:-54px;
    width:1283px;
    height:652px
  }
  .u-hero-eyebrow {
    left:20px;
    top:24px;
    padding:4px 16px;
    font-size:18px;
    line-height:27px;
    width:133px;
    height:35px;
    -webkit-font-smoothing:antialiased
  }
  .u-hero-title {
    left:16px;
    top:58px
  }
  .u-hero-title span {
    font-size:36px;
    line-height:70px;
    padding-left:2.844px;
    transform:translateY(-2px)
  }
  .u-hero-title strong {
    font-size:64px;
    line-height:70px;
    margin-top:-14px;
    transform:none
  }
  .u-price-box {
    left:16px;
    top:208px;
    width:233px;
    height:121px;
    border-radius:7px;
    background:#fff;
    backdrop-filter:none
  }
  .u-effective {
    left:19px;
    top:29px;
    font-size:39px;
    width:39px;
    height:78px;
    line-height:39px;
    transform:translateY(-1px)
  }
  .u-hero-eyebrow>span {
    transform:none
  }
  .u-zero {
    left:60px;
    top:-22px;
    width:102px;
    height:148px;
    font-size:148px;
    line-height:148px;
    -webkit-text-stroke:8px white
  }
  .u-yen {
    left:158px;
    top:40px;
    width:59px;
    height:76px;
    font-size:58.10283279418945px;
    line-height:1.3;
    transform:translateY(-1px)
  }
  .u-original-price {
    left:18px;
    top:334px;
    gap:7.4px;
    font-size:16px;
    line-height:1.3
  }
  .u-was b {
    font-size:20px;
    width:59px;
    line-height:26px
  }
  .u-original-price>span:first-child {
    width:112px;
    line-height:21px;
    top:2px
  }
  .u-was>span {
    width:58px;
    line-height:21px;
    top:3px
  }
  .u-was small {
    font-size:12px;
    margin-left:-6.4px
  }
  .u-was:after {
    left:0;
    top:0;
    width:67px;
    height:20px;
    transform-origin:0 0;
    transform:translate(-3.408203125px,4.0264892578125px);
    background:transparent url('assets/upper/geometry-native/price-rule-sp.svg') 0 0/67px 20px no-repeat
  }
  .u-person-caption {
    left:auto;
    right:17px;
    top:358px;
    font-size:8px;
    line-height:12px
  }
  .u-badges {
    left:16px;
    top:390px;
    width:calc(100% - 32px);
    gap:8px;
    z-index:2
  }
  .u-badges li {
    flex:1;
    width:109px;
    height:57px;
    padding-top:9px;
    gap:2px;
    background-image:url('assets/upper/313-1435-imgSubtract.svg')
  }
  .u-badges li:before {
    inset:2.5px 2.5px;
    background-image:url('assets/upper/313-1435-imgSubtract1.svg')
  }
  .u-badge-top {
    font-size:11px;
    line-height:1.3;
    transform:translateY(-.5999956054687345px)
  }
  .u-badge-bottom {
    font-size:13px;
    line-height:1.3
  }
  .u-badge-bottom b {
    font-size:18px;
    line-height:1.3
  }
   .u-line-band {
    height:180px;
    padding:51px 16px 0
  }
  .u-line-cta {
    width:100%
  }
  .u-line-cta>p {
    font-size:18px;
    line-height:22px;
    white-space:nowrap
  }
  .u-line-button {
    font-size:18px;
    line-height:27px;
    padding:16px 40px
  }
  .u-company {
    height:215px;
    padding:24px 16px 0
  }
  .u-company-inner {
    width:100%;
    left:0
  }
  .u-company-lead {
    font-size:16px;
    line-height:22px
  }
  .u-company-buttons a {
    font-size:14px;
    padding:14px 24px;
    text-align:center;
    justify-content:center;
    white-space:nowrap
  }
  .u-company-buttons a>.u-company-arrow {
    right:8px
  }
  .u-company-note {
    font-size:10px;
    line-height:15px
  }
  .u-company-label {
    text-align:center
  }
  .u-line-cta>p {
    transform:translateY(-1px)
  }
   .u-section-heading>p {
    height:24px
  }
  .u-section-heading h2 {
    font-size:24px;
    line-height:36px;
    transform:none
  }
  .u-solution .u-section-heading {
    left:0
  }
  .u-worry {
    height:auto;
    padding-bottom:55px
  }
  .u-worry-list {
    display:flex;
    flex-direction:column;
    gap:22px;
    width:100%;
    margin-top:33px;
    padding:0
  }
  .u-worry-item {
    width:100%;
    height:auto;
    min-height:82px;
    gap:10px;
    margin:0!important;
    padding-right:16px
  }
  .u-worry-item>p {
    flex:1;
    min-width:0;
    width:auto!important;
    height:auto;
    min-height:82px;
    padding:16px!important;
    font-size:14px;
    line-height:25.2px
  }
  .u-tail {
    top:33.5px
  }
  .u-worry-2 {
    flex-direction:row-reverse;
    padding:0 8px 0 16px;
    gap:2px;
    margin-top:1px!important
  }
  .u-worry-4 {
    flex-direction:row-reverse;
    padding:0 0 0 16px;
    gap:10px
  }
  .u-worry-2 .u-tail,.u-worry-4 .u-tail {
    left:auto;
    right:-16px;
    transform:scale(-1,-1)
  }
  .u-worry-3 {
    padding-left:8px;
    gap:2px
  }
  .u-worry-4 .u-worry-person {
    margin-top:0
  }
  .u-worry-5 {
    padding-right:16px
  }
  .u-question-one {
    left:265.68555px;
    top:22px;
    transform:rotate(18.47886274deg)
  }
  .u-question-two {
    left:-23px;
    top:286.23462px;
    transform:rotate(-15deg)
  }
  .u-question-three {
    display:block;
    left:268.04492px;
    top:415.20825px;
    transform:rotate(30deg)
  }
  .u-step-lines {
    left:9px;
    width:calc(100% - 18px)
  }
  .u-step-lines i:nth-child(1) {
    width:52.38%
  }
  .u-step-lines i:nth-child(2) {
    width:80.95%
  }
  .u-step-lines i:nth-child(3) {
    width:93.84%
  }
  .u-step-lines i:nth-child(4) {
    width:100%
  }
   .u-solution {
    height:2350px;
    padding:56px 16px
  }
  .u-points {
    width:100%;
    left:0;
    margin-top:24px;
    flex-direction:column;
    gap:16px
  }
  .u-point,.u-point-1,.u-point-2 {
    width:100%;
    min-height:0
  }
  .u-point h3 {
    font-size:16px;
    line-height:24px;
    min-height:48px;
    transform:translateY(-1px)
  }
  .u-point-1 {
    height:auto
  }
  .u-point-2 {
    height:423.13px
  }
  .u-point-3 {
    height:423.125px
  }
  .u-point-4 {
    height:374.9375px
  }
  .u-point-5 {
    height:401.9375px
  }
  .u-point-1 .u-point-image,.u-point-4 .u-point-image,.u-point-5 .u-point-image {
    height:auto;
    aspect-ratio:16/9;
    flex:none
  }
  .u-point-2 .u-point-image {
    flex:none;
    height:169.13px;
    transform:none
  }
  .u-point-3 .u-point-image {
    flex:none;
    height:169.125px
  }
  .u-point-2 .u-point-native {
    width:301px
  }
  .u-point-4 .u-point-image>picture>img {
    left:0;
    top:0;
    width:311px;
    height:auto
  }
  .u-point-5 .u-point-native {
    width:311px
  }
  .u-point-5 .u-point-image>img:first-child {
    width:100%;
    height:100%
  }
  .u-phone-blank {
    left:41.435%;
    top:31.59%;
    width:17.025%;
    height:53.10%
  }
  .u-point-5 .u-point-image>.u-line-logo {
    width:37.958px;
    height:37.958px;
    left:calc(50% - 18.56px);
    top:81.25px
  }
  .u-point-copy {
    min-height:0
  }
  .u-point-4 .u-point-copy,.u-point-5 .u-point-copy {
    min-height:0
  }
   .u-reason {
    height:auto;
    padding:56px 16px
  }
  .u-reason-list {
    width:100%;
    margin-top:24px
  }
  .u-reason-list>li {
    height:104px;
    padding:16px 0;
    gap:8px
  }
  .u-reason-list>li:first-child {
    height:117px
  }
  .u-reason-list>li:nth-child(3) {
    height:auto;
    min-height:80px
  }
  .u-reason-list>li:last-child {
    height:auto;
    min-height:105px
  }
  .u-reason-no {
    font-size:12px;
    line-height:18px
  }
  .u-reason-digit {
    width:8px;
    height:18px
  }
  .u-reason-list>li:first-child .u-reason-digit {
    width:6px
  }
  .u-reason-list>li:nth-child(4) .u-reason-digit {
    width:9px
  }
  .u-reason-copy h3 {
    font-size:16px;
    line-height:24px;
    transform:translateY(-1px)
  }
  .u-reason-phrase {
    display:inline-block;
    white-space:nowrap
  }
  .u-reason-copy>p {
    font-size:12px;
    line-height:18px
  }
  .u-reason-first {
    flex-direction:column;
    align-items:stretch;
    gap:7px
  }
  .u-reason-campaign {
    gap:7px;
    align-items:flex-start
  }
  .u-reason-campaign>b {
    flex:1;
    min-width:0;
    font-size:14px;
    line-height:21px;
    padding:2px 8px;
    white-space:nowrap
  }
  .u-professional {
    margin-top:40px;
    padding:24px 16px;
    gap:16px;
    min-height:390px;
    width:100%
  }
  .u-check {
    top:-11px;
    font-size:16px;
    line-height:19.2px
  }
  .u-professional-intro h3 {
    font-size:20px;
    line-height:30px
  }
  .u-professional-intro>p {
    font-size:14px;
    line-height:22px;
    text-align:left
  }
  .u-professional-flow {
    height:106px;
    padding:8px;
    gap:0
  }
  .u-professional-icon {
    width:48px;
    height:48px
  }
  .u-icon-input img,.u-icon-document img {
    width:697px;
    height:1024px;
    left:0;
    top:0;
    transform-origin:0 0
  }
  .u-icon-input img {
    transform:matrix(.4140602368089666,0,0,.41049078638618647,-22.799999784976254,-117.24886113537528)
  }
  .u-icon-document img {
    transform:matrix(.38794268681808813,0,0,.3845983762945633,-18.750001133216767,-247.32189663495615)
  }
  .u-icon-office img {
    width:100%;
    height:100%;
    left:0;
    top:0
  }
  .u-professional-flow p {
    font-size:11px;
    line-height:16.5px;
    min-height:34px;
    transform:none
  }
  .u-flow-arrow {
    width:14.8px;
    height:9.14px;
    transform:translate(1.26171875px,.0009765625px) rotate(-90deg) scaleY(-1);
    margin:0 -.8px
  }
  .u-flow-arrow:nth-of-type(2) {
    transform:translate(1.26171875px,.0009765625px) rotate(-90deg) scaleY(-1)
  }
  .u-professional-proof {
    padding:8px 16px;
    font-size:12px;
    line-height:18px;
    text-align:left;
    background:linear-gradient(127.453deg,#e9de5d 17.059%,#f1e886 38.864%,#f9f3ae 51.325%,#c0b53a 89.052%)
  }
}
@media(min-width:376px) and (max-width:767px) {
  .u-hero-canvas {
    width:375px;
    transform:translateX(-50%)
  }
  .u-hero {
    background:linear-gradient(90deg,#2074da,#47b3de)
  }
  .u-hero:before {
    content:'';
    position:absolute;
    inset:0 0 auto;
    height:24px;
    background:#fff
  }
  .u-solution,.u-reason {
    height:auto
  }
  .u-points {
    max-width:500px
  }
  .u-point {
    height:auto;
    min-height:374px
  }
  .u-point-1 .u-point-image,.u-point-4 .u-point-image,.u-point-5 .u-point-image {
    width:311px;
    max-width:100%;
    align-self:center;
    max-height:240px
  }
  .u-point-2 .u-point-image {
    width:311px;
    max-width:100%;
    align-self:center
  }
  .u-point-3 .u-point-image {
    align-self:center
  }
  .u-reason-list>li,.u-reason-list>li:first-child,.u-reason-list>li:last-child {
    height:auto;
    min-height:80px
  }
  .u-reason-campaign>b {
    white-space:normal
  }
  .u-worry-list {
    max-width:500px
  }
  .u-question-three {
    left:auto;
    right:0
  }
}
@media(min-width:768px) {
  .u-point {
    min-height:429.313px
  }
  .u-badges li:before {
    inset:auto;
    left:0;
    top:0;
    width:214px;
    height:76px;
    transform:translate(3.64453125px,3.644195556640625px);
    background-image:url('assets/upper/geometry-native/medal-inner-pc.svg');
    background-size:214px 76px;
    background-position:0 0;
    background-repeat:no-repeat
  }
  .u-was:after {
    left:0;
    top:0;
    width:92px;
    height:27px;
    transform-origin:0 0;
    transform:translate(-4.65234375px,5.50469970703125px);
    background:transparent url('assets/upper/geometry-native/price-rule-pc.svg') 0 0/92px 27px no-repeat
  }
  .u-check {
    left:calc(50% - .5px);
    width:102px;
    height:28px
  }
  .u-was b {
    text-align:center
  }
  .u-price-number-glyph {
    display:inline-block;
    transform:translateY(.9426146240234345px)
  }
  .u-badge-bottom {
    transform:translateY(.7327010742187667px)
  }
  .u-line-cta {
    position:relative;
    left:.5px
  }
  .u-line-label {
    display:inline-block;
    transform:translateY(-.70001220703125px)
  }
  .u-reason-campaign-label {
    display:inline-block;
    transform:translateY(-.5999667968749236px)
  }
  .u-reason-campaign>b {
    width:316.667px;
    text-align:center
  }
}
@media(min-width:376px) and (max-width:767px) {
  .u-hero-slants img {
    width:100vw;
    left:calc((375px - 100vw)/2)
  }
}
@media(max-width:374px) {
     .u-hero {
    height:calc(100vw * 420 / 375)
  }
     .u-hero-canvas {
    transform:translateX(-50%) scale(calc(100vw / 375px));
    transform-origin:center top
  }
     .u-badges {
    width:343px;
    left:calc(100vw * 16 / 375);
    top:calc(100vw * 390 / 375);
    transform:scale(calc(100vw / 375px));
    transform-origin:left top
  }
     .u-line-cta>p {
    font-size:15px;
    white-space:normal
  }
     .u-company-buttons a {
    min-width:0;
    font-size:12px;
    padding:14px 20px
  }
     .u-company-buttons a>.u-company-arrow {
    right:4px
  }
     .u-company-note {
    font-size:9px
  }
     .u-worry-item>p {
    font-size:12px;
    line-height:21.6px;
    padding:12px!important
  }
     .u-section-heading h2 {
    font-size:22px
  }
     .u-solution,.u-reason {
    height:auto
  }
     .u-point {
    height:auto;
    min-height:0
  }
     .u-point h3 {
    font-size:14px;
    line-height:21px;
    min-height:42px
  }
     .u-point-2 .u-point-image {
    width:300px;
    max-width:none;
    align-self:center;
    transform:scale(.85);
    transform-origin:center center
  }
     .u-point-3 figcaption {
    font-size:11px;
    white-space:normal
  }
  .u-point-3 .u-point-native,.u-point-4 .u-point-image>picture>img,.u-point-5 .u-point-native {
    width:100%
  }
  .u-point-5 .u-point-image>.u-line-logo {
    left:44.05144694533762%;
    top:46.44516255805645%;
    width:12.218649517684888%;
    height:auto
  }
     .u-reason-list>li,.u-reason-list>li:first-child,.u-reason-list>li:nth-child(3),.u-reason-list>li:last-child {
    height:auto;
    min-height:80px
  }
     .u-reason-campaign>b {
    font-size:12px;
    white-space:normal
  }
     .u-professional-intro h3 {
    font-size:17px;
    line-height:27px
  }
     .u-professional-flow {
    height:auto;
    min-height:105px
  }
     .u-professional-flow p {
    font-size:10px
  }
}
