@charset "UTF-8";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: rgba(0, 0, 0, 0);
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

:root {
  --site_letter_base: #000000;
  --blue: #0368B7;
  --pink: #EB6E8E;
  --red: #DD3412;
  --white: #FFFFFF;
  --black: #1C1C1C;
  --wh_img: #E5E5E5;
  --wh_grey: #777777;
  --font1: Noto Sans JP, sans-serif;
  --font2: Outfit, sans-serif;
}

.tc {
  text-align: center;
}

.tl {
  text-align: left;
}

.tr {
  text-align: right;
}

.mc {
  margin: 0 auto;
}

.ml {
  margin-left: auto;
}

.mr {
  margin-right: auto;
}

.fw_400 {
  font-weight: 400;
}

.fw_500 {
  font-weight: 500;
}

.fw_600 {
  font-weight: 600;
}

.fw_700 {
  font-weight: 700;
}

.fw_900 {
  font-weight: 900;
}

.f_en {
  font-family: var(--font_en);
}

.f_ja {
  font-family: var(--font_ja);
}

.italic {
  font-style: italic;
}

.flex {
  display: flex;
}

.align_c {
  align-items: center;
}

.align_s {
  align-items: flex-start;
}

.align_e {
  align-items: flex-end;
}

.justify_c {
  justify-content: center;
}

.justify_sb {
  justify-content: space-between;
}

.justify_s {
  justify-content: flex-start;
}

.justify_e {
  justify-content: flex-end;
}

.flex_wrap {
  flex-wrap: wrap;
}

.flex_col {
  flex-direction: column;
}

.on1920,
.on1366,
.on1024,
.on768,
.on480,
.on375 {
  display: none;
}

html {
  font-size: 62.5%;
}

html.active {
  overflow: hidden;
}

body {
  letter-spacing: 0.05em;
  word-break: break-word;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: var(--site_letter_base);
  font-size: clamp(1.4rem, 1.0980966325vw, 1.5rem);
}

p {
  line-height: 1.8125;
}

a {
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

main {
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.container {
  max-width: 1600px;
  width: 83.3333333333%;
  margin: 0 auto;
}

.txt {
  line-height: 1.4444444444;
}

.btn_wrap {
  width: -moz-fit-content;
  width: fit-content;
}

.f10 {
  font-size: clamp(0.8rem, 0.5208333333vw, 1rem);
}

.f12 {
  font-size: clamp(1rem, 0.625vw, 1.2rem);
}

.f14 {
  font-size: clamp(1.2rem, 0.7291666667vw, 1.4rem);
}

.f15 {
  font-size: clamp(1.3rem, 0.78125vw, 1.5rem);
}

.f16 {
  font-size: clamp(1.4rem, 0.8333333333vw, 1.6rem);
}

.f18 {
  font-size: clamp(1.6rem, 0.9375vw, 1.8rem);
}

.f20 {
  font-size: clamp(1.8rem, 1.0416666667vw, 2rem);
}

.f22 {
  font-size: clamp(2rem, 1.1458333333vw, 2.2rem);
}

.f24 {
  font-size: clamp(2.2rem, 1.25vw, 2.4rem);
}

.f26 {
  font-size: clamp(2.4rem, 1.3541666667vw, 2.6rem);
}

.f28 {
  font-size: clamp(2.4rem, 1.4583333333vw, 2.8rem);
}

.f30 {
  font-size: clamp(2.8rem, 1.5625vw, 3rem);
}

.f32 {
  font-size: clamp(3rem, 1.6666666667vw, 3.2rem);
}

.f34 {
  font-size: clamp(3.2rem, 1.7708333333vw, 3.4rem);
}

.f36 {
  font-size: clamp(3.4rem, 1.875vw, 3.6rem);
}

.f38 {
  font-size: clamp(3.6rem, 1.9791666667vw, 3.8rem);
}

.f40 {
  font-size: clamp(3.8rem, 2.0833333333vw, 4rem);
}

.f42 {
  font-size: clamp(4rem, 2.1875vw, 4.2rem);
}

.f44 {
  font-size: clamp(4.2rem, 2.2916666667vw, 4.4rem);
}

.f48 {
  font-size: clamp(4.4rem, 2.5vw, 4.8rem);
}

.f54 {
  font-size: clamp(4.8rem, 2.7vw, 5.4rem);
}

.f56 {
  font-size: clamp(5.2rem, 2.9166666667vw, 5.6rem);
}

.f66 {
  font-size: clamp(6.2rem, 3.4vw, 6.6rem);
}

.f80 {
  font-size: clamp(7.6rem, 4.1666666667vw, 8rem);
}

.f112 {
  font-size: clamp(4.4rem, 5.8333333333vw, 11.2rem);
}

.header {
  height: 88px;
  background-color: #fff;
}

.header .inner {
  padding: 8px 40px 16px;
}

.header .logo {
  max-width: 184px;
}

.sec_ttl .eiwan {
  width: 6.25vw;
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.3541666667vw;
  position: relative;
}

.sec_ttl .eiwan::before,
.sec_ttl .eiwan::after {
  content: "";
  display: block;
  position: absolute;
  width: 4.1666666667vw;
  height: 1px;
  background-color: var(--blue);
  bottom: 0;
}

.sec_ttl .eiwan::before {
  left: calc(-100% - 16px);
}

.sec_ttl .eiwan::after {
  right: calc(-100% - 16px);
}

.sec_ttl .sub_ttl {
  color: var(--blue);
  font-weight: bold;
  text-align: center;
}

.sec_ttl .ttl {
  color: var(--blue);
  text-align: center;
  font-weight: bold;
}

.cta_sec {
  background-color: var(--blue);
  padding: 4.6875vw 0;
}

.cta_sec .container {
  max-width: 1760px;
  width: 91.6666666667%;
}

.cta_sec .cols {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cta_sec .col1 {
  display: flex;
  align-items: center;
  gap: 1.25vw;
}

.cta_sec .logo_icon {
  width: 8.3333333333vw;
  max-width: 160px;
}

.cta_sec .head {
  color: var(--white);
  font-weight: bold;
}

.cta_sec .heading {
  color: var(--white);
  font-weight: bold;
  margin-top: 4px;
}

.cta_sec .txt {
  color: var(--white);
  font-weight: bold;
  margin-top: 4px;
}

.cta_sec .download_list {
  display: flex;
  gap: 2.0833333333vw;
}

.cta_sec .download_list .item {
  display: flex;
  align-items: flex-end;
  gap: 1.25vw;
}

.cta_sec .download_list .item_qr {
  width: 9.375vw;
  max-width: 180px;
}

.cta_sec .download_list .item_btn.iphone {
  width: 11.8229166667vw;
  max-width: 227px;
}

.cta_sec .download_list .item_btn.android {
  width: 12.5vw;
  max-width: 240px;
}

.fv_sec {
  height: calc(100vh - 88px);
  max-height: 992px;
  min-height: 768px;
}

.fv_sec .fv_list {
  height: 100%;
}

.fv_sec .fv_list>.fv_item:not(:first-child) {
  display: none;
}

.fv_sec .fv_list .fv_item {
  height: 100%;
  overflow: hidden;
}

.fv_sec .fv_list .fv_item.fv_item1 {
  background-image: url(../images/bg_fv1.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fv_sec .fv_list .fv_item.fv_item2 {
  background-image: url(../images/bg_fv2.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fv_sec .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  height: 100%;
}

.fv_sec .stroke_wrap {
  position: relative;
  z-index: 0;
}

.fv_sec .bubble {
  text-align: center;
  color: var(--blue);
  display: block;
}

.fv_sec .bubble.stroke {
  position: absolute;
  -webkit-text-stroke: 8px var(--white);
  inset: 0;
  z-index: -1;
}

.fv_sec .sub {
  color: var(--white);
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--blue);
  border-radius: 100px;
  padding: 0.8333333333vw 2.0833333333vw;
  margin-top: 8px;
}

.fv_sec .hero {
  color: var(--blue);
  text-align: center;
  margin-top: 8px;
}

.fv_sec .hero.stroke {
  position: absolute;
  -webkit-text-stroke: 8px var(--white);
  inset: 0;
  z-index: -1;
}

.fv_sec .eiwan {
  width: 12.9166666667vw;
  max-width: 248px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 24px;
}

.fv_sec .eiwan_txt {
  position: absolute;
  left: calc(100% - 1.25vw);
  bottom: 0;
  white-space: nowrap;
  line-height: 1.4666666667;
}

.fv_sec .eiwan_txt .strong {
  color: var(--blue);
}

.fv_sec .download_txt {
  border-top: 1px solid var(--blue);
  border-bottom: 1px solid var(--blue);
  text-align: center;
  color: var(--blue);
  font-weight: bold;
  margin-top: 24px;
}

.fv_sec .download_list {
  display: flex;
  padding: 24px 8px;
  gap: 1.6666666667vw;
}

.fv_sec .download_list .item {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

.fv_sec .download_list .item_qr {
  width: 9.375vw;
  max-width: 180px;
}

.fv_sec .download_list .item_btn {
  flex: 1;
}

.fv_sec .download_list .btn_txt {
  color: var(--blue);
  font-weight: bold;
}

.fv_sec .download_list .btn_link {
  display: block;
}

.fv_sec .download_list .btn_link.iphone {
  width: 11.8229166667vw;
  max-width: 227px;
}

.fv_sec .download_list .btn_link.android {
  width: 12.5vw;
  max-width: 240px;
}

.fv_sec .phone {
  width: 31.40625vw;
  max-width: 603px;
  max-height: 91.3306451613%;
  position: absolute;
  bottom: 0;
  left: calc(100% + 2.0833333333vw);
}

.fv_sec .dpoint {
  width: 81.6666666667vw;
  max-width: 1568px;
  max-height: 91.3306451613%;
  position: relative;
}

.fv_sec .d_icon {
  width: 21.9270833333vw;
  max-width: 421px;
  max-height: 91.3306451613%;
  position: absolute;
  bottom: -4.375vw;
  left: -8.125vw;
}

.fv_sec .slick-list,
.fv_sec .slick-track,
.fv_sec .container {
  height: 100%;
}

.fv_sec .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dpoint_sec {
  background-image: url(../images/bg2.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 4.1666666667vw 0;
}

.dpoint_sec .bubble {
  text-align: center;
  border-radius: 100px;
  border: 0.3125vw solid var(--red);
  border-bottom: 0.625vw solid var(--red);
  padding: 4px 24px;
  color: var(--red);
  font-weight: bold;
  background-color: var(--white);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.6666666667vw;
  position: relative;
}

.dpoint_sec .bubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 2.0833333333vw 2.0833333333vw 0 2.0833333333vw;
  border-color: #dd3412 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  translate: -50% 100%;
}

.dpoint_sec .bubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 1.1979166667vw 1.1979166667vw 0 1.1979166667vw;
  border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  translate: -50% 100%;
}

.dpoint_sec .present_img {
  position: relative;
  max-width: 950px;
  width: 92%;
  margin-right: auto;
  margin-left: auto;
}

.dpoint_sec .present_img .generic {
  position: absolute;
  display: block;
  object-fit: cover;
}

.dpoint_sec .present_img .generic.img_1 {
  top: 115px;
  left: -247px;
  width: 23vw;
  height: 23vw;
}

.dpoint_sec .present_img .generic.img_2 {
  top: -77px;
  right: -235px;
  width: 28vw;
  height: 28vw;
}

.dpoint_sec .present_img .generic.img_3 {
  bottom: -120px;
  right: -80px;
  width: 19vw;
  height: 19vw;
}

.dpoint_sec .present_img .generic.img_4 {
  bottom: -120px;
  left: -250px;
  width: 30vw;
  height: 20vw;
}

@media screen and (min-width: 1441px) {
  .dpoint_sec .present_img .generic.img_1 {
    width: 333px;
    height: 333px;
  }

  .dpoint_sec .present_img .generic.img_2 {
    width: 405px;
    height: 405px;
  }

  .dpoint_sec .present_img .generic.img_3 {
    width: 275px;
    height: 275px;
  }

  .dpoint_sec .present_img .generic.img_4 {
    width: 434px;
    height: 289px;
  }
}

.dpoint_sec .present_btn {
  max-width: 700px;
  width: 92%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  margin-top: 20px;
  border-radius: 8px;
  overflow: hidden;
}

.dpoint_sec .present_btn a {
  display: block;
  position: relative;
  padding: 1rem 3rem 2rem 0;
  background-color: #EC140B;
  border: 8px solid #EC140B;
  border-image: linear-gradient(to bottom, #EC140B, #860B06) 1;
  color: #fff;
}

.dpoint_sec .present_btn a:hover {
  opacity: 1;
  background-color: #860B06;
  color: #FFF000;
  border-image: linear-gradient(to bottom, #860B06, #860B06) 1;
}

.dpoint_sec .present_btn a::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 35px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221%22%20height%3D%2235%22%20viewBox%3D%220%200%2021%2035%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2.3254e-05%2033.0545C-0.00127945%2032.7986%200.0525421%2032.5451%200.158331%2032.3088C0.264121%2032.0725%200.419747%2031.8582%200.616078%2031.6784L15.9334%2017.4766L0.616079%203.27471C0.245102%202.90558%200.0431384%202.41735%200.0527381%201.91289C0.0623378%201.40842%200.282753%200.9271%200.667541%200.570333C1.05233%200.213565%201.57146%200.00920423%202.11555%200.000303517C2.65964%20-0.0085972%203.18621%200.178657%203.58434%200.522617L20.3858%2016.1005C20.7791%2016.4656%2021%2016.9606%2021%2017.4766C21%2017.9926%2020.7791%2018.4875%2020.3858%2018.8526L3.58433%2034.4305C3.19055%2034.7952%202.65676%2035%202.1002%2035C1.54366%2035%201.00986%2034.7952%200.616078%2034.4305C0.419747%2034.2507%200.26412%2034.0364%200.158331%2033.8001C0.0525421%2033.5638%20-0.00127948%2033.3103%202.3254e-05%2033.0545Z%22%20fill%3D%22%23FFF000%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  pointer-events: none;
}

.dpoint_sec .box {
  position: relative;
  margin-top: 1.6666666667vw;
}

.dpoint_sec .box_list {
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
  display: flex;
  gap: 3.3333333333vw;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 3.3333333333vw 4.1666666667vw 2.0833333333vw;
  position: relative;
}

.dpoint_sec .box_list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  max-width: 40px;
  max-height: 40px;
  background-image: url(../images/icon_plus.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.dpoint_sec .box_list .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  border: 3px solid var(--red);
  border-radius: 40px;
  text-align: center;
  padding: 2.0833333333vw 2.9166666667vw;
}

.dpoint_sec .box_list .item_head {
  background-color: var(--red);
  color: var(--white);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 4px 24px;
  border-radius: 100px;
  font-weight: bold;
}

.dpoint_sec .box_list .item_txt {
  font-size: 1.0416666667vw;
  font-weight: bold;
  line-height: normal;
  color: var(--black);
  margin-top: 10px;
}

.dpoint_sec .box_list .item_txt .strong {
  display: block;
}

.dpoint_sec .box_list .item_point {
  margin-top: 16px;
}

.dpoint_sec .box_list .item_note {
  font-weight: bold;
  color: var(--black);
  text-align: center;
  margin-top: 16px;
}

.dpoint_sec .bottom {
  border-bottom-left-radius: 40px;
  border-bottom-right-radius: 40px;
  background-color: var(--red);
  padding: 2.0833333333vw 2.0833333333vw;
  position: relative;
}

.dpoint_sec .head {
  color: var(--red);
  font-weight: bold;
  background-color: var(--white);
  padding: 4px 24px;
  border-radius: 100px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.dpoint_sec .heading {
  color: var(--white);
  font-weight: bold;
  text-align: center;
  margin-top: 10px;
  font-size: 2.9166666667vw;
}

.dpoint_sec .heading .strong {
  font-size: 4.1666666667vw;
}

.dpoint_sec .d_icon {
  position: absolute;
  width: 21.9270833333vw;
  max-width: 421px;
  top: 50%;
  transform: translateY(-50%);
  right: -6.9791666667vw;
}

.app_sec {
  background-image: url(../images/bg1.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 2.9166666667vw;
}

.app_sec .cols {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.app_sec .col1 {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 1.25vw;
}

.app_sec .phone {
  width: 16.09375vw;
  max-width: 309px;
}

.app_sec .textarea {
  flex: 1;
}

.app_sec .heading {
  font-weight: bold;
  color: var(--blue);
}

.app_sec .heading .small {
  display: block;
  margin-bottom: 6px;
}

.app_sec .stroke_wrap {
  position: relative;
  z-index: 0;
  margin-top: 1.25vw;
}

.app_sec .txt {
  color: var(--blue);
  font-weight: bold;
}

.app_sec .txt.stroke {
  position: absolute;
  color: var(--site_letter_base);
  -webkit-text-stroke: 4px var(--white);
  inset: 0;
  z-index: -1;
}

.app_sec .eiwan {
  width: 17.7083333333vw;
  max-width: 340px;
}

.function_sec {
  padding: 4.1666666667vw 0 5.2083333333vw;
}

.function_sec .function_list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 3.3333333333vw;
  justify-content: space-between;
  position: relative;
  border-top: 1px solid var(--blue);
  margin-top: 1.25vw;
  padding-top: 2.5vw;
  padding-bottom: 1.7708333333vw;
}

.function_sec .function_list::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(45% - 0.833333vw);
  transform: translateY(-45%);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--blue);
}

.function_sec .function_list .item {
  width: calc(33.3333333333% - 2.2222222222vw);
  counter-increment: function_list;
}

.function_sec .function_list .item:nth-child(2) {
  position: relative;
}

.function_sec .function_list .item:nth-child(2)::before,
.function_sec .function_list .item:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 1px;
  height: calc(100% - 16px);
  background-color: var(--blue);
}

.function_sec .function_list .item:nth-child(2)::before {
  left: -32px;
}

.function_sec .function_list .item:nth-child(2)::after {
  right: -32px;
}

.function_sec .function_list .item:nth-child(2):nth-child(3)::before {
  display: none;
}

.function_sec .function_list .item:nth-child(5) {
  position: relative;
}

.function_sec .function_list .item:nth-child(5)::before,
.function_sec .function_list .item:nth-child(5)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 1px;
  height: calc(100% + 34px);
  background-color: var(--blue);
}

.function_sec .function_list .item:nth-child(5)::before {
  left: -32px;
}

.function_sec .function_list .item:nth-child(5)::after {
  right: -32px;
}

.function_sec .function_list .item:nth-child(5):nth-child(3)::before {
  display: none;
}

.function_sec .function_list .item_img {
  width: 8.3333333333vw;
  max-width: 160px;
  margin-left: auto;
  margin-right: auto;
}

.function_sec .function_list .item_head {
  font-weight: bold;
  color: var(--black);
  margin-top: 1.875vw;
  text-align: center;
}

.function_sec .function_list .item_head::before {
  content: counter(function_list) ". ";
  display: inline;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
}

.function_sec .function_list .item_txt {
  text-align: center;
  margin-top: 4px;
  white-space: nowrap;
}

.function_sec .function_list .item_btn {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.function_sec .function_list .item_btn a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.625vw 1.6666666667vw;
  background-color: var(--blue);
  border-radius: 100px;
  margin-top: 0.8333333333vw;
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all 0.3s ease;
}

.function_sec .function_list .item_btn a .btn_arrow {
  width: 24px;
  height: 24px;
  background-color: var(--white);
  display: block;
  border-radius: 50%;
  position: relative;
}

.function_sec .function_list .item_btn a .btn_arrow::before {
  content: "";
  display: block;
  width: 6px;
  aspect-ratio: 6/10;
  background-color: var(--blue);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.function_sec .function_list .item_btn a .btn_txt {
  font-weight: bold;
  color: var(--white);
}

.function_sec .function_list .item_btn a:hover {
  background-color: var(--white);
  border: 2px solid var(--blue);
  opacity: 1;
}

.function_sec .function_list .item_btn a:hover .btn_arrow {
  background-color: var(--blue);
}

.function_sec .function_list .item_btn a:hover .btn_arrow::before {
  background-color: var(--white);
}

.function_sec .function_list .item_btn a:hover .btn_txt {
  color: var(--blue);
}

.merit_sec {
  background-image: url(../images/bg3.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 5.9375vw 0 6.7708333333vw;
}

.merit_sec .sec_ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.merit_sec .sec_ttl::before,
.merit_sec .sec_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.0833333333vw;
  aspect-ratio: 40/80;
}

.merit_sec .sec_ttl::before {
  right: calc(100% + 16px);
  background-image: url(../images/merit_left.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.merit_sec .sec_ttl::after {
  left: calc(100% + 16px);
  background-image: url(../images/merit_right.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.merit_sec .merit_list {
  display: flex;
  gap: 2.5vw;
  margin-top: 3.3333333333vw;
  position: relative;
}

.merit_sec .merit_list::before {
  content: "";
  display: block;
  position: absolute;
  width: 6.25vw;
  max-width: 120px;
  height: 1px;
  background-color: var(--blue);
  top: -2.0833333333vw;
  left: 50%;
  transform: translateX(-50%);
}

.merit_sec .merit_list .item {
  flex: 1;
  counter-increment: merit_list;
}

.merit_sec .merit_list .item::before {
  content: "メリット" counter(merit_list);
  display: block;
  background-color: var(--blue);
  color: var(--white);
  text-align: center;
  border-radius: 100px;
  padding: 12px;
  font-weight: bold;
}

.merit_sec .merit_list .item_cols {
  display: flex;
  align-items: center;
  height: 7.5em;
  gap: 0.8333333333vw;
  margin-top: 1.0416666667vw;
}

.merit_sec .merit_list .item_icon {
  width: 5vw;
  max-width: 96px;
}

.merit_sec .merit_list .item_col2 {
  flex: 1;
}

.merit_sec .merit_list .item_head {
  color: var(--blue);
  font-weight: bold;
}

.merit_sec .merit_list .item_txt {
  color: var(--blue);
  margin-top: 8px;
}

.merit_sec .merit_list .item_emphasis {
  font-weight: bold;
  text-align: center;
  border-top: 1px solid var(--blue);
  border-bottom: 1px solid var(--blue);
  padding: 12px 0;
  line-height: 1;
  margin-top: 1.0416666667vw;
  color: var(--blue);
}

.flow_sec {
  background-image: url(../images/bg4.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 5.2083333333vw 0 8.5416666667vw;
}

.flow_sec .flow_list {
  border-top: 1px solid var(--blue);
  padding-top: 4.5833333333vw;
  margin-top: 1.25vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 64px;
}

.flow_sec .flow_list::before {
  content: "";
  order: 1;
  width: calc(20% - 2vw);
}

.flow_sec .flow_list::after {
  content: "";
  width: calc(20% - 2vw);
}

.flow_sec .flow_list .item {
  width: calc(20% - 2vw);
  counter-increment: flow_list;
  position: relative;
}

.flow_sec .flow_list .item:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.0833333333vw;
  width: 1.6666666667vw;
  height: 1.6666666667vw;
  background-image: url(../images/arrow1.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.flow_sec .flow_list .item::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -32px;
  width: calc(100% + 48px);
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--blue);
  height: 1px;
}

.flow_sec .flow_list .item_img {
  width: 8.75vw;
  max-width: 168px;
  margin-left: auto;
  margin-right: auto;
}

.flow_sec .flow_list .item_textarea {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.5em;
  margin-top: 1.5625vw;
}

.flow_sec .flow_list .item_txt {
  white-space: nowrap;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: normal;
  gap: 0.4166666667vw;
}

.flow_sec .flow_list .item_txt::before {
  content: counter(flow_list);
  background-color: var(--blue);
  color: var(--white);
  border-radius: 50%;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  max-width: 40px;
  max-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
  font-weight: bold;
  font-size: 0.78125vw;
}

.campaign_sec {
  padding: 5.2083333333vw 0 7.2916666667vw;
}

.campaign_sec .contents {
  border-top: 1px solid var(--blue);
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.6666666667vw;
  justify-content: space-between;
  padding-top: 2.9166666667vw;
  margin-top: 1.25vw;
}

.campaign_sec .contents .content1,
.campaign_sec .contents .content2 {
  width: 47%;
}

.campaign_sec .contents .content3 {
  width: 100%;
  border-top: 1px solid var(--blue);
  padding-top: 1.6666666667vw;
}

.campaign_sec .contents .content3 .campaign_list {
  margin-top: 0;
}

.campaign_sec .campaign_list {
  margin-top: 1.5em;
  line-height: 1.4666666667;
}

.campaign_sec .campaign_list>.item:not(:first-child) {
  margin-top: 1.5em;
}

.campaign_sec .campaign_list .item_term span {
  color: var(--blue);
}

.campaign_sec .grandchild_list {
  display: flex;
  flex-wrap: wrap;
  padding-left: 3.2em;
}

.usage_sec {
  padding: 6.25vw 0 8.3333333333vw;
}

.usage_sec .usage_list {
  line-height: 1.4666666667;
  margin-top: 1.25vw;
  padding-top: 2.0833333333vw;
  border-top: 1px solid var(--blue);
}

.usage_sec .usage_list .item:not(:first-child) {
  margin-top: 16px;
}

.usage_sec .usage_list .item_head {
  color: var(--blue);
  font-weight: bold;
  margin-bottom: 8px;
}

.usage_sec .usage_list .child_item {
  display: flex;
}

.usage_sec .usage_list .child_item span {
  color: var(--blue);
  flex: none;
}

.usage_sec .usage_list .item_table {
  margin-left: 8px;
  margin-bottom: 4px;
}

.usage_sec .usage_list .item_table table th {
  background-color: var(--wh_img);
  color: var(--black);
  font-weight: bold;
  text-align: center;
  padding: 8px 12px;
  border-left: 2px solid var(--white);
  border-right: 2px solid var(--white);
}

.usage_sec .usage_list .item_table table tbody tr {
  border-bottom: 1px solid var(--wh_img);
}

.usage_sec .usage_list .item_table table td {
  text-align: center;
  padding: 8px 4px;
  border-left: 2px solid var(--white);
  border-right: 2px solid var(--white);
}

.usage_sec .usage_list .item_table table td[rowspan="2"] {
  text-align: left;
  vertical-align: middle;
}

.usage_sec .usage_list .item_note {
  display: flex;
}

.usage_sec .usage_list .item_note span {
  flex: none;
}

.faq_sec {
  background-color: rgba(3, 104, 183, 0.05);
  padding: 6.25vw 0;
}

.faq_sec .container {
  max-width: 1200px;
  width: 62.5%;
}

.faq_sec .faq_list {
  margin-top: 3.3333333333vw;
}

.faq_sec .faq_list .item {
  cursor: pointer;
}

.faq_sec .faq_list .item:not(:first-child) {
  margin-top: 16px;
}

.faq_sec .faq_list .item .icon {
  font-weight: bold;
  flex: none;
}

.faq_sec .faq_list .item .item_q {
  background-color: var(--white);
  padding: 1.4583333333vw 1.6666666667vw;
  display: flex;
  gap: 8px;
  position: relative;
}

.faq_sec .faq_list .item .item_q::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.6666666667vw;
  width: 12px;
  aspect-ratio: 12/6;
  background-image: url(../images/icon_accordion.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.3s;
}

.faq_sec .faq_list .item .item_head {
  font-weight: bold;
  color: var(--black);
}

.faq_sec .faq_list .item .item_a {
  padding: 0.8333333333vw 1.6666666667vw 1.25vw;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid var(--white);
}

.faq_sec .faq_list .item .item_txt {
  color: var(--black);
}

.faq_sec .faq_list .item.active .item_q::before {
  transform: translateY(-50%) rotate(180deg);
}

.footer {
  background-color: var(--blue);
  padding: 16px;
}

.footer .copyright {
  color: var(--white);
  text-align: center;
}

@media (min-width: 1920px) {
  .off1920 {
    display: none;
  }

  .on1920 {
    display: block;
  }

  .fv_sec .phone {
    left: calc(100% + 112px);
  }

  .dpoint_sec .box_list .item {
    padding: 40px 56px;
  }

  .dpoint_sec .box_list .item_txt {
    font-size: 20px;
  }
}

@media (min-width: 1367px) {
  .off1366 {
    display: none;
  }

  .on1366 {
    display: block;
  }

  body {
    font-size: 1.5rem;
  }

  .f10 {
    font-size: 1rem;
  }

  .f12 {
    font-size: 1.2rem;
  }

  .f14 {
    font-size: 1.4rem;
  }

  .f15 {
    font-size: 1.5rem;
  }

  .f16 {
    font-size: 1.6rem;
  }

  .f18 {
    font-size: 1.8rem;
  }

  .f20 {
    font-size: 2rem;
  }

  .f22 {
    font-size: 2.2rem;
  }

  .f24 {
    font-size: 2.4rem;
  }

  .f26 {
    font-size: 2.6rem;
  }

  .f28 {
    font-size: 2.8rem;
  }

  .f30 {
    font-size: 3rem;
  }

  .f32 {
    font-size: 3.2rem;
  }

  .f34 {
    font-size: 3.4rem;
  }

  .f36 {
    font-size: 3.6rem;
  }

  .f38 {
    font-size: 3.8rem;
  }

  .f40 {
    font-size: 4rem;
  }

  .f42 {
    font-size: 4.2rem;
  }

  .f44 {
    font-size: 4.4rem;
  }

  .f48 {
    font-size: 4.8rem;
  }

  .f54 {
    font-size: 5.4rem;
  }

  .f56 {
    font-size: 5.6rem;
  }

  .f66 {
    font-size: 6.6rem;
  }

  .f80 {
    font-size: 8rem;
  }

  .sec_ttl .eiwan {
    margin-bottom: 26px;
  }

  .sec_ttl .eiwan::before,
  .sec_ttl .eiwan::after {
    width: 80px;
  }

  .cta_sec {
    padding: 90px 0;
  }

  .cta_sec .col1 {
    gap: 24px;
  }

  .cta_sec .download_list {
    gap: 40px;
  }

  .cta_sec .download_list .item {
    gap: 24px;
  }

  .fv_sec .sub {
    padding: 16px 40px;
  }

  .fv_sec .eiwan_txt {
    left: calc(100% - 24px);
  }

  .fv_sec .download_list {
    gap: 32px;
  }

  .dpoint_sec {
    padding: 80px 0;
  }

  .dpoint_sec .bubble {
    font-size: 32px;
  }

  .dpoint_sec .box {
    margin-top: 32px;
  }

  .dpoint_sec .box_list {
    gap: 64px;
  }

  .dpoint_sec .box_list {
    padding: 64px 80px 40px;
  }

  .dpoint_sec .bottom {
    padding: 40px 80px;
  }

  .dpoint_sec .d_icon {
    right: -134px;
  }

  .app_sec {
    padding-top: 56px;
  }

  .app_sec .col1 {
    gap: 24px;
  }

  .app_sec .stroke_wrap {
    margin-top: 24px;
  }

  .function_sec {
    padding: 80px 0;
  }

  .function_sec .function_list {
    row-gap: 64px;
  }

  .function_sec .function_list {
    margin-top: 24px;
  }

  .function_sec .function_list {
    padding-top: 48px;
    padding-bottom: 34px;
  }

  .function_sec .function_list .item {
    width: calc(33.3333333333% - 42.6666666667px);
  }

  .function_sec .function_list .item_head {
    margin-top: 36px;
  }

  .function_sec .function_list .item_btn a {
    padding: 12px 32px;
  }

  .function_sec .function_list .item_btn a {
    margin-top: 16px;
  }

  .merit_sec {
    padding: 114px 0 130px;
  }

  .merit_sec .merit_list {
    gap: 48px;
    margin-top: 64px;
  }

  .merit_sec .merit_list .item_cols {
    gap: 16px;
    margin-top: 20px;
  }

  .merit_sec .merit_list .item_emphasis {
    margin-top: 20px;
  }

  .flow_sec {
    padding: 100px 0 164px;
  }

  .flow_sec .flow_list {
    padding-top: 88px;
    margin-top: 24px;
  }

  .flow_sec .flow_list::before {
    width: calc(20% - 38.4px);
  }

  .flow_sec .flow_list::after {
    width: calc(20% - 38.4px);
  }

  .flow_sec .flow_list .item {
    width: calc(20% - 38.4px);
  }

  .flow_sec .flow_list .item:not(:first-child)::before {
    left: -40px;
    width: 32px;
    height: 32px;
  }

  .flow_sec .flow_list .item_textarea {
    margin-top: 30px;
  }

  .flow_sec .flow_list .item_txt {
    gap: 8px;
  }

  .flow_sec .flow_list .item_txt::before {
    font-size: 15px;
  }

  .campaign_sec {
    padding: 100px 0 140px;
  }

  .campaign_sec .contents {
    padding-top: 56px;
    margin-top: 24px;
    row-gap: 32px;
  }

  .campaign_sec .contents .content3 {
    padding-top: 32px;
  }

  .usage_sec {
    padding: 120px 0 160px;
  }

  .usage_sec .usage_list {
    margin-top: 24px;
    padding-top: 40px;
  }

  .faq_sec {
    padding: 120px 0;
  }

  .faq_sec .faq_list {
    margin-top: 64px;
  }

  .faq_sec .faq_list .item .item_q {
    padding: 28px 32px;
  }

  .faq_sec .faq_list .item .item_q::before {
    right: 32px;
  }
}

@media (max-width: 1024px) {
  .off1024 {
    display: none;
  }

  .on1024 {
    display: block;
  }

  body {
    font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  }

  .container {
    width: 90%;
  }

  .f10 {
    font-size: clamp(0.8rem, 0.9765625vw, 1rem);
  }

  .f12 {
    font-size: clamp(1rem, 1.171875vw, 1.2rem);
  }

  .f14 {
    font-size: clamp(1.2rem, 1.3671875vw, 1.4rem);
  }

  .f15 {
    font-size: clamp(1.3rem, 1.46484375vw, 1.5rem);
  }

  .f16 {
    font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  }

  .f18 {
    font-size: clamp(1.6rem, 1.7578125vw, 1.8rem);
  }

  .f20 {
    font-size: clamp(1.8rem, 1.953125vw, 2rem);
  }

  .f22 {
    font-size: clamp(2rem, 2.1484375vw, 2.2rem);
  }

  .f24 {
    font-size: clamp(2.2rem, 2.34375vw, 2.4rem);
  }

  .f26 {
    font-size: clamp(2.4rem, 2.5390625vw, 2.6rem);
  }

  .f28 {
    font-size: clamp(2.6rem, 2.734375vw, 2.8rem);
  }

  .f30 {
    font-size: clamp(2.8rem, 2.9296875vw, 3rem);
  }

  .f32 {
    font-size: clamp(3rem, 3.125vw, 3.2rem);
  }

  .f34 {
    font-size: clamp(3.2rem, 3.3203125vw, 3.4rem);
  }

  .f36 {
    font-size: clamp(3.4rem, 3.515625vw, 3.6rem);
  }

  .f38 {
    font-size: clamp(3.6rem, 3.7109375vw, 3.8rem);
  }

  .f40 {
    font-size: clamp(3.8rem, 3.90625vw, 4rem);
  }

  .f42 {
    font-size: clamp(4rem, 4.1015625vw, 4.2rem);
  }

  .f44 {
    font-size: clamp(4.2rem, 4.296875vw, 4.4rem);
  }

  .f48 {
    font-size: clamp(4.4rem, 4.6875vw, 4.8rem);
  }

  .f56 {
    font-size: clamp(5.2rem, 5.46875vw, 5.6rem);
  }

  .f80 {
    font-size: clamp(7.6rem, 7.8125vw, 8rem);
  }

  .f112 {
    font-size: clamp(4.4rem, 10.9375vw, 11.2rem);
  }

  .header {
    height: 64px;
  }

  .header .inner {
    padding: 0 16px;
  }

  .header .logo {
    max-width: 160px;
  }

  .fv_sec {
    height: calc(100svh - 64px);
    max-height: 100%;
  }

  .fv_sec .hero {
    font-size: 72px;
  }

  .fv_sec .container {
    align-items: center;
  }

  .fv_sec .phone {
    width: 30%;
    left: 80%;
  }

  .fv_sec .sub {
    font-size: 26px;
  }

  .fv_sec .eiwan_txt {
    left: 105%;
    font-size: 12px;
  }

  .fv_sec .dpoint {
    width: 100vw;
  }

  .fv_sec .d_icon {
    bottom: -57%;
    width: 40%;
    left: 0%;
  }

  .cta_sec .cols {
    flex-direction: column;
    gap: 24px;
  }

  .dpoint_sec .box_list .item_txt {
    font-size: 14px;
  }

  .dpoint_sec .bubble {
    font-size: 2.34375vw;
  }

  .app_sec .cols {
    gap: 8px;
  }

  .app_sec .col1 {
    align-items: flex-end;
  }

  .app_sec .textarea {
    padding-bottom: 16px;
  }

  .function_sec .function_list::before {
    display: none;
  }

  .function_sec .function_list .item {
    width: 50%;
    position: relative;
  }

  .function_sec .function_list .item:nth-child(2)::after,
  .function_sec .function_list .item:nth-child(5)::after {
    display: none;
  }

  .function_sec .function_list .item:nth-child(2)::before,
  .function_sec .function_list .item:nth-child(5)::before {
    top: auto;
    bottom: -1.6666666667vw;
    left: 0;
    width: 100%;
    background-color: var(--blue);
    height: 1px;
  }

  .function_sec .function_list .item::before {
    content: "";
    position: absolute;
    bottom: -1.6666666667vw;
    left: 0;
    width: 100%;
    background-color: var(--blue);
    height: 1px;
  }

  .function_sec .function_list .item:nth-child(odd) {
    border-right: 1px solid var(--blue);
  }

  .function_sec .function_list .item_btn {
    margin-right: auto;
  }

  .merit_sec .sec_ttl::before,
  .merit_sec .sec_ttl::after {
    width: 18%;
  }

  .merit_sec .merit_list {
    flex-direction: column;
    gap: 40px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .merit_sec .merit_list .item_cols {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .merit_sec .merit_list .item_icon {
    width: 80px;
  }

  .flow_sec .flow_list::after {
    width: 33.3333333333%;
  }

  .flow_sec .flow_list .item {
    width: 33.3333333333%;
  }

  .flow_sec .flow_list .item::after {
    width: 100%;
    bottom: -32px;
  }

  .flow_sec .flow_list .item:not(:first-child)::before {
    width: 24px;
    height: 24px;
  }

  .flow_sec .flow_list .item_txt::before {
    width: 24px;
    height: 24px;
    font-size: 10px;
  }

  .campaign_sec .contents .content1,
  .campaign_sec .contents .content2 {
    width: 100%;
  }

  .campaign_sec .contents .content2 {
    border-top: 1px solid var(--blue);
    padding-top: 1.6666666667vw;
  }

  .faq_sec .container {
    width: 90%;
  }
}

@media (max-width: 768px) {
  .off768 {
    display: none;
  }

  .on768 {
    display: block;
  }

  body {
    font-size: clamp(1.4rem, 1.953125vw, 1.5rem);
  }

  .f10 {
    font-size: clamp(0.8rem, 1.3020833333vw, 1rem);
  }

  .f12 {
    font-size: clamp(1rem, 1.5625vw, 1.2rem);
  }

  .f14 {
    font-size: clamp(1.2rem, 1.8229166667vw, 1.4rem);
  }

  .f15 {
    font-size: clamp(1.3rem, 1.953125vw, 1.5rem);
  }

  .f16 {
    font-size: clamp(1.4rem, 2.0833333333vw, 1.6rem);
  }

  .f18 {
    font-size: clamp(1.6rem, 2.34375vw, 1.8rem);
  }

  .f20 {
    font-size: clamp(1.8rem, 2.6041666667vw, 2rem);
  }

  .f22 {
    font-size: clamp(2rem, 2.8645833333vw, 2.2rem);
  }

  .f24 {
    font-size: clamp(2.2rem, 3.125vw, 2.4rem);
  }

  .f26 {
    font-size: clamp(2.4rem, 3.3854166667vw, 2.6rem);
  }

  .f28 {
    font-size: clamp(2.6rem, 3.6458333333vw, 2.8rem);
  }

  .f30 {
    font-size: clamp(2.8rem, 3.90625vw, 3rem);
  }

  .f32 {
    font-size: clamp(3rem, 4.1666666667vw, 3.2rem);
  }

  .f34 {
    font-size: clamp(3.2rem, 4.4270833333vw, 3.4rem);
  }

  .f36 {
    font-size: clamp(3.4rem, 4.6875vw, 3.6rem);
  }

  .f38 {
    font-size: clamp(3.6rem, 4.9479166667vw, 3.8rem);
  }

  .f40 {
    font-size: clamp(3.8rem, 5.2083333333vw, 4rem);
  }

  .f42 {
    font-size: clamp(4rem, 5.46875vw, 4.2rem);
  }

  .f44 {
    font-size: clamp(4.2rem, 5.7291666667vw, 4.4rem);
  }

  .f48 {
    font-size: clamp(4.4rem, 6.25vw, 4.8rem);
  }

  .f56 {
    font-size: clamp(5.2rem, 7.2916666667vw, 5.6rem);
  }

  .f80 {
    font-size: clamp(7.6rem, 10.4166666667vw, 8rem);
  }

  .f112 {
    font-size: clamp(4.4rem, 14.5833333333vw, 11.2rem);
  }

  .fv_sec .phone {
    width: 24%;
  }

  .app_sec .heading {
    font-size: 32px;
  }

  .app_sec .txt {
    font-size: 16px;
  }

  .function_sec .item_txt {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .off480 {
    display: none;
  }

  .on480 {
    display: block;
  }

  body {
    font-size: clamp(1.4rem, 3.125vw, 1.5rem);
  }

  .container {
    width: 86%;
  }

  .f10 {
    font-size: clamp(0.8rem, 2.0833333333vw, 1rem);
  }

  .f12 {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
  }

  .f14 {
    font-size: clamp(1.2rem, 2.9166666667vw, 1.4rem);
  }

  .f15 {
    font-size: clamp(1.3rem, 3.125vw, 1.5rem);
  }

  .f16 {
    font-size: clamp(1.4rem, 3.3333333333vw, 1.6rem);
  }

  .f18 {
    font-size: clamp(1.6rem, 3.75vw, 1.8rem);
  }

  .f20 {
    font-size: clamp(1.8rem, 4.1666666667vw, 2rem);
  }

  .f22 {
    font-size: clamp(2rem, 4.5833333333vw, 2.2rem);
  }

  .f24 {
    font-size: clamp(2.2rem, 5vw, 2.4rem);
  }

  .f26 {
    font-size: clamp(2.4rem, 5.4166666667vw, 2.6rem);
  }

  .f28 {
    font-size: clamp(2.6rem, 5.8333333333vw, 2.8rem);
  }

  .f30 {
    font-size: clamp(2.8rem, 6.25vw, 3rem);
  }

  .f32 {
    font-size: clamp(3rem, 6.6666666667vw, 3.2rem);
  }

  .f34 {
    font-size: clamp(3.2rem, 7.0833333333vw, 3.4rem);
  }

  .f36 {
    font-size: clamp(3.4rem, 7.5vw, 3.6rem);
  }

  .f38 {
    font-size: clamp(3.6rem, 7.9166666667vw, 3.8rem);
  }

  .f40 {
    font-size: clamp(3.8rem, 8.3333333333vw, 4rem);
  }

  .f42 {
    font-size: clamp(4rem, 8.75vw, 4.2rem);
  }

  .f44 {
    font-size: clamp(4.2rem, 9.1666666667vw, 4.4rem);
  }

  .f48 {
    font-size: clamp(4.4rem, 10vw, 4.8rem);
  }

  .f56 {
    font-size: clamp(5.2rem, 11.6666666667vw, 5.6rem);
  }

  .f80 {
    font-size: clamp(7.6rem, 16.6666666667vw, 8rem);
  }

  .f112 {
    font-size: clamp(4.4rem, 23.3333333333vw, 11.2rem);
  }

  .header {
    height: 48px;
  }

  .header .inner {
    padding: 0 12px;
  }

  .header .logo {
    max-width: 120px;
  }

  .fv_sec {
    height: calc(100svh - 48px);
    min-height: 619px;
  }

  .fv_sec .sub {
    font-size: 4.8vw;
    text-align: center;
    padding: 12px 40px;
  }

  .fv_sec .hero {
    font-size: 8.5333333333vw;
  }

  .fv_sec .bubble {
    font-size: 4.8vw;
  }

  .fv_sec .eiwan {
    width: 30%;
  }

  .fv_sec .eiwan_txt {
    font-size: 2.6666666667vw;
  }

  .fv_sec .download_txt {
    font-size: 4.8vw;
  }

  .fv_sec .download_list {
    flex-direction: column;
  }

  .fv_sec .download_list .item {
    align-items: center;
  }

  .fv_sec .download_list .item_qr {
    width: 20%;
  }

  .fv_sec .download_list .btn_link.iphone {
    margin-top: 4px;
    width: 40%;
  }

  .fv_sec .download_list .btn_link.android {
    width: 44%;
  }

  .fv_sec .d_icon {
    bottom: -70%;
    width: 50%;
  }

  .sec_ttl .eiwan {
    width: 72px;
  }

  .sec_ttl .sub_ttl {
    font-size: 18px;
  }

  .sec_ttl .ttl {
    font-size: 28px;
  }

  .cta_sec {
    padding: 40px 0;
  }

  .cta_sec .col1 {
    gap: 16px;
  }

  .cta_sec .logo_icon {
    width: 64px;
  }

  .cta_sec .head {
    font-size: 14px;
  }

  .cta_sec .heading {
    font-size: 26px;
  }

  .cta_sec .txt {
    font-size: 20px;
  }

  .cta_sec .download_list {
    flex-direction: column;
    gap: 16px;
  }

  .cta_sec .download_list .item {
    justify-content: center;
  }

  .cta_sec .download_list .item_qr {
    width: 16%;
  }

  .cta_sec .download_list .item_btn.iphone,
  .cta_sec .download_list .item_btn.android {
    width: 40%;
  }

  .dpoint_sec {
    padding: 40px 0;
  }

  .dpoint_sec .bubble {
    font-size: 2.6666666667vw;
    border: 2px solid var(--red);
    border-bottom: 4px solid var(--red);
    margin-bottom: 4px;
  }

  .dpoint_sec .bubble::before {
    border-width: 12px 12px 0 12px;
  }

  .dpoint_sec .bubble::after {
    border-width: 8px 8px 0 8px;
  }

  .dpoint_sec .box_list {
    flex-direction: column;
    gap: 40px;
    padding: 24px;
  }

  .dpoint_sec .box_list::before {
    display: none;
  }

  .dpoint_sec .box_list .item:first-child {
    position: relative;
  }

  .dpoint_sec .box_list .item:first-child::before {
    content: "";
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 24px;
    max-width: 40px;
    max-height: 40px;
    background-image: url(../images/icon_plus.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
  }

  .dpoint_sec .box_list .item_txt {
    font-size: 14px;
  }

  .dpoint_sec .bottom {
    padding: 24px;
  }

  .dpoint_sec .heading {
    font-size: 16px;
  }

  .dpoint_sec .heading .strong {
    font-size: 28px;
  }

  .dpoint_sec .d_icon {
    width: 35%;
    top: 100%;
  }

  .app_sec {
    padding-top: 40px;
  }

  .app_sec .cols {
    flex-direction: column;
  }

  .app_sec .heading {
    font-size: 28px;
    text-align: center;
  }

  .app_sec .heading .small {
    font-size: 18px;
  }

  .app_sec .stroke_wrap {
    margin-top: 16px;
  }

  .app_sec .txt {
    font-size: 16px;
  }

  .app_sec .col2 {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    margin-left: auto;
  }

  .function_sec {
    padding: 40px 0;
  }

  .function_sec .function_list {
    margin-top: 24px;
  }

  .function_sec .function_list .item {
    width: 100%;
    padding: 16px;
  }

  .function_sec .function_list .item:nth-child(odd) {
    border-right: none;
  }

  .function_sec .function_list .item_btn {
    margin-top: 16px;
  }

  .function_sec .function_list .item_btn a {
    padding: 12px 16px;
  }

  .function_sec .function_list .item_btn a .btn_arrow {
    width: 18px;
    height: 18px;
  }

  .function_sec .function_list .item_img {
    width: 20%;
  }

  .merit_sec {
    padding: 40px 0;
  }

  .merit_sec .merit_list {
    margin-top: 24px;
    padding-top: 16px;
  }

  .merit_sec .merit_list .item_cols {
    height: auto;
    padding: 16px 0;
  }

  .flow_sec {
    padding: 40px 0;
  }

  .flow_sec .flow_list {
    margin-top: 24px;
    row-gap: 16px;
  }

  .flow_sec .flow_list .item {
    width: 50%;
    border-bottom: 1px solid var(--blue);
    padding: 16px 0;
  }

  .flow_sec .flow_list .item::after {
    content: counter(flow_list);
    background-color: var(--blue);
    color: var(--white);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: none;
    font-weight: bold;
    left: 0;
    top: 0;
    transform: translate(0);
    font-size: 12px;
  }

  .flow_sec .flow_list .item_img {
    width: 40%;
  }

  .flow_sec .flow_list .item_textarea {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .flow_sec .flow_list .item_txt {
    text-align: center;
  }

  .flow_sec .flow_list .item_txt::before {
    display: none;
  }

  .campaign_sec {
    padding: 40px 0;
  }

  .campaign_sec .contents {
    margin-top: 24px;
    gap: 16px;
  }

  .campaign_sec .contents .content2,
  .campaign_sec .contents .content3 {
    padding-top: 16px;
  }

  .usage_sec {
    padding: 40px 0;
  }

  .usage_sec .usage_list {
    margin-top: 24px;
  }

  .usage_sec .usage_list .item {
    padding-top: 16px;
  }

  .usage_sec .usage_list .item_table {
    margin-left: 0;
    overflow-x: auto;
  }

  .usage_sec .usage_list .item_table table {
    width: -moz-max-content;
    width: max-content;
  }

  .faq_sec {
    padding: 40px 0;
  }

  .faq_sec .faq_list {
    margin-top: 24px;
  }

  .faq_sec .faq_list .item .item_q {
    padding: 16px 32px 16px 16px;
  }

  .faq_sec .faq_list .item .item_q::before {
    right: 16px;
  }

  .faq_sec .faq_list .item .item_a {
    padding: 16px;
    align-items: flex-start;
  }

  .faq_sec .faq_list .item .item_a .icon {
    padding-top: 4px;
  }
}

@media (min-width: 1440px) {
  .fv_sec .phone {
    left: calc(100% + 4.1666666667vw);
  }

  .fv_sec .d_icon {
    left: -106px;
    bottom: -56px;
  }
}

@media (min-width: 1441px) {
  .fv_sec .dpoint>img {
    height: 100%;
    width: auto;
    margin-left: auto;
    margin-right: auto;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
  }
}

@media (orientation: landscape) and (max-width: 932px) {
  .fv_sec .hero {
    font-size: 64px;
  }

  .fv_sec .phone {
    width: 16%;
    left: auto;
    right: 0;
  }

  .fv_sec .download_list .btn_txt {
    font-size: 20px;
  }
}

/* 20251127追記 */
.fb {
  font-weight: bold;
}

.dpoint_sec .block {
  margin-top: 4%;
  border-radius: 40px;
  overflow: hidden;
  border: 5px solid #0368B7;
}

.dpoint_sec .block h3 {
  padding: 2rem 0;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #0368B7;
  color: #fff;
}

.dpoint_sec .block .content {
  background-color: rgba(255, 255, 255, 0.8);
}

.dpoint_sec .block .sp_block {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1550px;
  margin-right: auto;
  margin-left: auto;
  padding: 1.2rem 0;
}

.dpoint_sec .block .sp_block p {
  display: flex;
  align-items: center;
  flex: 0 0 38%;
  white-space: nowrap;
}

.dpoint_sec .block .sp_block p span.arrow {
  margin: 0 15px;
  color: #0368B7;
}

.dpoint_sec .block .sp_block p .c_red {
  color: #FF000B;
}

.campaign_detail {
  padding: 4.1666666667vw 0 5.2083333333vw;
}

.campaign_detail .container .c_blue {
  color: #0368B7;
}

.campaign_detail .container .wrapper {
  padding-top: 5rem;
  margin-top: 5rem;
  border-top: 1px solid #0368B7;
}

.campaign_detail .container .wrapper .second_txt {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}

@media (max-width: 1800px) {
  .dpoint_sec .block .content p {
    flex: 0 0 42%;
  }
}

@media (max-width: 1650px) {
  .dpoint_sec .block .content p {
    flex: 0 0 45%;
  }
}

@media (max-width: 1500px) {
  .dpoint_sec .block .content p.f42 {
    font-size: 3.6rem;
  }

  .dpoint_sec .block .content p .f56 {
    font-size: 5rem;
  }

  .dpoint_sec .block .content p {
    flex: 0 0 45%;
  }
}

@media (min-width: 1367px) {
  .campaign_detail {
    padding: 80px 0;
  }
}

@media (max-width: 1200px) {
  .dpoint_sec .block .content p.f42 {
    font-size: 3rem;
  }

  .dpoint_sec .block .content p .f56 {
    font-size: 4.5rem;
  }
}

@media (max-width: 1024px) {
  .dpoint_sec .block .content p.f42 {
    font-size: 3rem;
  }

  .dpoint_sec .block .content p .f56 {
    font-size: 4rem;
  }

  .dpoint_sec .block .content p {
    flex: 0 0 48%;
  }

  .dpoint_sec .present_img .generic {
    display: none;
  }
}

@media (max-width: 860px) {
  .campaign_detail .container .wrapper .second_txt {
    display: block;
  }

  .dpoint_sec .block .content {
    display: block;
  }

  .dpoint_sec .block .sp_block {
    display: flex;
    flex-direction: column;
  }

  .campaign_detail .container .wrapper .second_txt .right {
    margin-top: 3rem;
  }

  .dpoint_sec .block .content .sp_block p {
    justify-content: center;
  }

  .dpoint_sec .block .content .sp_block p:first-child {
    order: 1;
  }

  .dpoint_sec .block .content .sp_block p:nth-child(2) {
    order: 3;
  }

  .dpoint_sec .block .content .sp_block p:nth-child(3) {
    order: 2;
  }

  .dpoint_sec .block .content .sp_block p:nth-child(4) {
    order: 4;
  }

  .f38 {
    font-size: 24px;
  }

  .dpoint_sec .present_btn {
    max-width: 480px;
  }
}

@media (max-width: 480px) {
  .dpoint_sec .block {
    margin-top: 34px;
  }

  .dpoint_sec .block h3 {
    font-size: 16px;
  }

  .dpoint_sec .block h3 .f48 {
    font-size: 30px;
  }

  .dpoint_sec .block .content p.f42 {
    font-size: 18px;
  }

  .dpoint_sec .block .content p .f56 {
    font-size: 28px;
  }

  .dpoint_sec .block .sp_block p span.arrow {
    margin: 0 10px;
    font-size: 16px;
  }

  .campaign_detail .container .wrapper {
    padding-top: 24px;
    margin-top: 24px;
  }

  .campaign_detail {
    padding: 40px 0;
  }

  .function_sec .function_list .item_btn a:nth-child(n+2) {
    margin-top: 12px;
  }

  .dpoint_sec .present_img {
    width: 100%;
  }

  .dpoint_sec .present_btn a {
    padding: 1rem 4rem 1.5rem 0;
    border: 3px solid #EC140B;
    border-image: linear-gradient(to bottom, #EC140B, #860B06) 1;
    font-size: 16px;
  }

  .dpoint_sec .present_btn a::after {
    right: 1.5rem;
    width: 10px;
    height: 15px;
  }
}

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