@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:root {
  --keycolor: #1569A2;
  --noto: "Noto Sans JP", sans-serif;
  --min: "Shippori Mincho", serif;
}

/* 初期設定 */
body {
  overflow-y: scroll;
  background-color: #000;
}

html, body {
  font-family: var(--noto);
  font-size: 62.5%;
  font-weight: 400;
  color: #252629;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
}

a {
  color: var(--sub04-dark);
}
sup {
  vertical-align: super;
  font-size: 60%;
}

strong, b {
  font-weight: bold;
}

.lp-print {
  z-index: 0;
}
.lp-print #bg-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: -1;
}
.lp-print .header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5.270863836vw;
  z-index: 1000;
  background-color: #EAECF0;
  transition: 0.3s ease height;
}
@media screen and (max-width: 1024px) {
  .lp-print .header {
    height: 7.03125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header {
    height: 16vw;
  }
}
.lp-print .header.is-fixed {
  height: 3.513909224vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .header.is-fixed {
    height: 4.6875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header.is-fixed {
    height: 10.6666666667vw;
  }
}
.lp-print .header-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.lp-print .header-logo-area {
  display: flex;
  align-items: center;
  gap: 0 1.9765739385vw;
  padding-left: 6.0761346999vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-logo-area {
    gap: 0 2.63671875vw;
    padding-left: 8.10546875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-logo-area {
    gap: 0 2.6666666667vw;
    padding-left: 2.6666666667vw;
  }
}
.lp-print .header-logo {
  display: block;
  width: 14.6412884334vw;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-logo {
    width: 19.53125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-logo {
    width: 37.3333333333vw;
  }
}
.lp-print .header-logo-text {
  align-self: center;
  font-size: 1.1713030747vw;
  padding: 0.3660322108vw 0.878477306vw;
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-logo-text {
    font-size: 1.5625vw;
    padding: 0.48828125vw 1.171875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-logo-text {
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw 3.2vw;
  }
}
.lp-print .header-contact {
  height: 100%;
}
.lp-print .header-contact-link {
  display: flex;
  align-items: center;
  gap: 0 0.5856515373vw;
  text-decoration: none;
  padding-left: 2.4890190337vw;
  padding-right: 2.4890190337vw;
  height: 100%;
  background-color: #0071BD;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-contact-link {
    gap: 0 0.78125vw;
    padding-left: 3.3203125vw;
    padding-right: 3.3203125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-contact-link {
    gap: 0;
    padding-left: 4.2666666667vw;
    padding-right: 4.2666666667vw;
  }
}
.lp-print .header-contact-link--icon img {
  display: block;
  width: 2.0497803807vw;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-contact-link--icon img {
    width: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-contact-link--icon img {
    width: 7.4666666667vw;
  }
}
.lp-print .header-contact-link--text {
  font-size: 1.317715959vw;
  font-weight: bold;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .lp-print .header-contact-link--text {
    font-size: 1.7578125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .header-contact-link--text {
    display: none;
  }
}
.lp-print .hero {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 0;
  padding-bottom: 4.39238653vw;
  margin-bottom: 4.39238653vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .hero {
    padding-bottom: 4.39453125vw;
    margin-bottom: 4.39453125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .hero {
    aspect-ratio: 378/480;
    height: auto;
    padding-bottom: 8vw;
    margin-bottom: 8vw;
  }
}
.lp-print .hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 9.224011713vw;
  height: 100%;
  background: linear-gradient(to bottom, rgb(234, 236, 240) 0%, rgb(234, 236, 240) 20%, rgb(161, 171, 198) 20%, rgb(222, 225, 235) 100%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .lp-print .hero::before {
    width: 9.1796875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .hero::before {
    width: 11.7333333333vw;
  }
}
.lp-print .hero::after {
  content: "";
  position: absolute;
  bottom: -4.39238653vw;
  left: 0;
  width: 100%;
  height: 4.39238653vw;
  background: linear-gradient(to right, rgb(222, 225, 235) 0%, rgb(222, 225, 235) 90%, rgb(234, 236, 240) 90%, rgb(234, 236, 240) 100%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .lp-print .hero::after {
    bottom: -4.39453125vw;
    height: 4.39453125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .hero::after {
    bottom: -8vw;
    height: 8vw;
  }
}
.lp-print .hero-title {
  opacity: 0;
  position: absolute;
  bottom: 10%;
  left: 9.224011713vw;
  -webkit-transform: translateX(-16%);
  transform: translateX(-16%);
}
@media screen and (max-width: 1024px) {
  .lp-print .hero-title {
    left: 9.1796875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .hero-title {
    bottom: 15%;
    left: 11.7333333333vw;
  }
}
.lp-print .hero-title img {
  width: auto;
  height: 60%;
}
@media screen and (max-width: 768px) {
  .lp-print .hero-title img {
    width: 30.4vw;
    height: auto;
  }
}
.lp-print .hero-title.is-view {
  opacity: 1;
  bottom: 15%;
  transition: 1s ease-in-out bottom, 1s ease-in-out opacity;
}
@media screen and (max-width: 768px) {
  .lp-print .hero-title.is-view {
    bottom: 20%;
  }
}
.lp-print .intro {
  padding: 2.9282576867vw 0 2.9282576867vw 6.0761346999vw;
  background-color: #EAECF0;
}
@media screen and (max-width: 1024px) {
  .lp-print .intro {
    padding: 0 0 0 3.7109375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .intro {
    padding: 10.6666666667vw 0 0 0;
  }
}
.lp-print .intro-wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .lp-print .intro-wrap {
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .intro-wrap {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.lp-print .intro-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  line-height: 1.5;
  color: var(--keycolor);
}
@media screen and (max-width: 1024px) {
  .lp-print .intro-title {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .intro-title {
    font-size: 6.4vw;
  }
  .lp-print .intro-title br {
    display: none;
  }
}
.lp-print .intro-lead {
  font-size: 1.317715959vw;
  line-height: 1.8;
  margin-top: 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .intro-lead {
    font-size: 1.7578125vw;
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .intro-lead {
    font-size: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
  .lp-print .intro-lead br {
    display: none;
  }
}
.lp-print .intro-text-area {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .lp-print .intro-text-area {
    padding: 0 2.6666666667vw;
  }
}
.lp-print .intro-img-area {
  width: 53.0014641288vw;
  height: auto;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .lp-print .intro-img-area {
    width: 54.6875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .intro-img-area {
    width: 100%;
  }
}
.lp-print .intro-img-area img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.lp-print .intro-img-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #eaecf0 0%, rgba(234, 236, 240, 0) 40%);
}
@media screen and (max-width: 768px) {
  .lp-print .intro-img-area::before {
    background: linear-gradient(180deg, #eaecf0 0%, rgba(234, 236, 240, 0) 60%);
  }
}
.lp-print .strong {
  background-color: #EAECF0;
  padding-top: 5.8565153734vw;
  padding-bottom: 5.8565153734vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong {
    padding-top: 5.859375vw;
    padding-bottom: 5.859375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong {
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
.lp-print .strong-wrap {
  display: flex;
  gap: 0 4.39238653vw;
  width: 100%;
  max-width: 79.0629575403vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-wrap {
    width: calc(100% - 7.421875vw);
    max-width: inherit;
    margin-left: 3.7109375vw;
    margin-right: 3.7109375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-wrap {
    flex-direction: column;
    width: calc(100% - 5.3333333333vw);
    margin-left: 2.6666666667vw;
    margin-right: 2.6666666667vw;
  }
}
.lp-print .strong-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.5;
}
.lp-print .strong-title strong {
  color: var(--keycolor);
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-title {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-title {
    font-size: 8.5333333333vw;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }
}
.lp-print .strong-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.9282576867vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-list {
    gap: 2.9296875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-list {
    gap: 10.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.lp-print .strong-item {
  display: flex;
  align-items: center;
  gap: 0 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item {
    align-items: self-start;
    gap: 0 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item {
    flex-direction: column;
    gap: 10.6666666667vw;
  }
}
.lp-print .strong-item-ph-area {
  width: 32.2108345534vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-ph-area {
    width: 32.03125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-ph-area {
    width: 100%;
    max-width: 117.3333333333vw;
  }
}
.lp-print .strong-item-ph-area img {
  display: block;
  width: 100%;
  height: auto;
}
.lp-print .strong-item-text-area {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-text-area {
    width: 100%;
  }
}
.lp-print .strong-item-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  font-weight: bold;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #C7CACB;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-title {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-title {
    font-size: 5.3333333333vw;
  }
}
.lp-print .strong-item-sub-list {
  margin-top: 0.878477306vw;
}
.lp-print .strong-item-sub-list__ttl {
  font-size: 1.1713030747vw;
  line-height: 1.6;
  font-weight: bold;
  color: var(--keycolor);
  position: relative;
  margin-left: 1.1713030747vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-sub-list__ttl {
    font-size: 1.5625vw;
    margin-left: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-sub-list__ttl {
    font-size: 4.2666666667vw;
    margin-left: 4.2666666667vw;
  }
}
.lp-print .strong-item-sub-list__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.1713030747vw;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0.878477306vw;
  height: 0.878477306vw;
  border-radius: 100%;
  border: 0.2196193265vw solid var(--keycolor);
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-sub-list__ttl::before {
    left: -1.5625vw;
    width: 1.171875vw;
    height: 1.171875vw;
    border: 0.29296875vw solid var(--keycolor);
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-sub-list__ttl::before {
    left: -4.2666666667vw;
    width: 3.2vw;
    height: 3.2vw;
    border: 0.8vw solid var(--keycolor);
  }
}
.lp-print .strong-item-sub-list__ttl + .strong-item-sub-list__text {
  margin-top: 0.5856515373vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-sub-list__ttl + .strong-item-sub-list__text {
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-sub-list__ttl + .strong-item-sub-list__text {
    margin-top: 2.1333333333vw;
  }
}
.lp-print .strong-item-sub-list__text {
  font-size: 1.1713030747vw;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-sub-list__text {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-sub-list__text {
    font-size: 4.2666666667vw;
  }
}
.lp-print .strong-item-sub-list__text + .strong-item-sub-list__ttl {
  margin-top: 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-sub-list__text + .strong-item-sub-list__ttl {
    margin-top: 1.46484375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-sub-list__text + .strong-item-sub-list__ttl {
    margin-top: 4vw;
  }
}
.lp-print .strong-item-text {
  font-size: 1.1713030747vw;
  line-height: 1.6;
  margin-top: 1.0980966325vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-text {
    font-size: 1.5625vw;
    margin-top: 1.46484375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-text {
    font-size: 4.2666666667vw;
    margin-top: 4vw;
  }
}
.lp-print .strong-item-link {
  font-size: inherit;
  line-height: 1.2;
  display: inline-block;
  color: var(--keycolor);
}
.lp-print .strong-item-link::after {
  content: "›";
  display: inline-block;
  font-size: 1.4641288433vw;
  margin-left: 0.2em;
}
@media screen and (max-width: 1024px) {
  .lp-print .strong-item-link::after {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .strong-item-link::after {
    font-size: 4.2666666667vw;
  }
}
.lp-print .strong-item-link:hover {
  color: #1485D1;
  text-decoration: none;
}
.lp-print .service {
  background-color: rgba(0, 0, 0, 0.75);
  padding-top: 5.8565153734vw;
  padding-bottom: 5.8565153734vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .service {
    padding-top: 5.859375vw;
    padding-bottom: 5.859375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service {
    padding-top: 16vw;
    padding-bottom: 16vw;
    position: relative;
  }
  .lp-print .service::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("/img/lp/print/bg-sp-01@2x.jpg") top center no-repeat;
    background-size: cover;
    background-attachment: fixed;
    z-index: -1;
  }
}
.lp-print .service-wrap {
  display: flex;
  gap: 0 4.39238653vw;
  width: 100%;
  max-width: 79.0629575403vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-wrap {
    width: calc(100% - 7.421875vw);
    max-width: inherit;
    margin-left: 3.7109375vw;
    margin-right: 3.7109375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-wrap {
    flex-direction: column;
    width: calc(100% - 5.3333333333vw);
    margin-left: 2.6666666667vw;
    margin-right: 2.6666666667vw;
  }
}
.lp-print .service-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-title {
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-title {
    font-size: 8.5333333333vw;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: center;
  }
}
.lp-print .service-list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 1.756954612vw 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-list {
    gap: 2.34375vw 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-list {
    flex-direction: column;
    gap: 5.3333333333vw 0;
    margin-top: 5.3333333333vw;
  }
}
.lp-print .service-item {
  width: calc((100% - 1.4641288433vw) / 2);
  padding: 1.756954612vw 2.196193265vw;
  background-color: #fff;
  position: relative;
  opacity: 1;
  transition: 0.3s ease opacity;
  display: flex;
  flex-direction: column;
  border-radius: 0.2928257687vw;
  opacity: 0;
  -webkit-transform: translateY(-5%);
  transform: translateY(-5%);
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item {
    width: calc((100% - 1.953125vw) / 2);
    padding: 2.34375vw 2.9296875vw;
    border-radius: 0.390625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item {
    width: 100%;
    padding: 6.4vw;
    border-radius: 1.0666666667vw;
  }
}
.lp-print .service-item.is-view {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: 0.6s ease-in-out opacity, 0.6s ease-in-out transform;
}
.lp-print .service-item-wrap {
  display: flex;
  gap: 0 2.3426061493vw;
  margin-bottom: 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-wrap {
    gap: 0 3.125vw;
    margin-bottom: 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-wrap {
    gap: 8.5333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.lp-print .service-item-wrap--icon {
  width: 5.270863836vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-wrap--icon {
    width: 7.03125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-wrap--icon {
    width: 19.2vw;
  }
}
.lp-print .service-item-wrap--icon img {
  width: 100%;
  max-width: initial;
}
.lp-print .service-item-wrap--text-area {
  flex: 1;
}
.lp-print .service-item-title {
  font-size: 1.4641288433vw;
  font-family: var(--min);
  padding-bottom: 0.439238653vw;
  margin-bottom: 0.878477306vw;
  border-bottom: 1px solid #C7CACB;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-title {
    font-size: 1.953125vw;
    padding-bottom: 0.5859375vw;
    margin-bottom: 1.171875vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-title {
    font-size: 5.3333333333vw;
    padding-bottom: 1.6vw;
    margin-bottom: 3.2vw;
  }
}
.lp-print .service-item-title--text {
  position: relative;
  padding-bottom: 0.1464128843vw;
  border-bottom: 1px solid #1569A2;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-title--text {
    padding-bottom: 0.1953125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-title--text {
    padding-bottom: 0.5333333333vw;
  }
}
.lp-print .service-item-text {
  font-size: 1.1713030747vw;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-text {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-text {
    font-size: 4.2666666667vw;
  }
}
.lp-print .service-item-btn-area {
  margin-top: auto;
  margin-bottom: 0;
  text-align: center;
}
.lp-print .service-item-btn {
  min-width: 17.5695461201vw;
  display: inline-block;
  font-size: 1.317715959vw;
  text-align: center;
  text-decoration: none;
  border: 1px solid #9AA3AD;
  color: #252629;
  border-radius: 999px;
  padding: 1.0248901903vw 1.756954612vw;
  background-color: #fff;
  cursor: pointer;
  transition: 0.3s ease background-color;
}
.lp-print .service-item-btn:hover {
  background-color: #1569A2;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .lp-print .service-item-btn {
    min-width: 23.4375vw;
    font-size: 1.7578125vw;
    padding: 1.3671875vw 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .service-item-btn {
    min-width: 64vw;
    font-size: 4.2666666667vw;
    padding: 3.7333333333vw 6.4vw;
  }
}
.lp-print .choose {
  background-color: #EAECF0;
}
.lp-print .choose-wrap {
  width: 100%;
  max-width: 79.0629575403vw;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5.8565153734vw;
  padding-bottom: 5.8565153734vw;
  display: flex;
  gap: 0 3.513909224vw;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .lp-print .choose-wrap {
    width: calc(100% - 7.421875vw);
    max-width: inherit;
    margin-left: 3.7109375vw;
    margin-right: 3.7109375vw;
    padding-top: 5.859375vw;
    padding-bottom: 5.859375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .choose-wrap {
    flex-direction: column;
    gap: 6.4vw 0;
    width: calc(100% - 5.3333333333vw);
    margin-left: 2.6666666667vw;
    margin-right: 2.6666666667vw;
    padding-top: 10.6666666667vw;
    padding-bottom: 10.6666666667vw;
  }
}
.lp-print .choose-img-area {
  width: 37.9209370425vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .choose-img-area {
    width: 46.2890625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .choose-img-area {
    width: 100%;
  }
}
.lp-print .choose-img-area img {
  display: block;
  width: 100%;
  height: auto;
}
.lp-print .choose-text-area {
  flex: 1;
}
.lp-print .choose-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .lp-print .choose-title {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .choose-title {
    font-size: 5.3333333333vw;
    text-align: center;
  }
}
.lp-print .choose-text {
  font-size: 1.1713030747vw;
  line-height: 1.8;
  margin-top: 2.3426061493vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .choose-text {
    font-size: 1.5625vw;
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .choose-text {
    font-size: 4.2666666667vw;
    margin-top: 6.4vw;
  }
}
.lp-print .contact {
  display: flex;
  align-items: center;
  aspect-ratio: 1366/447;
  background: url("/img/lp/print/lp-print-footer-ph@2x.jpg") no-repeat center center;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 768px) {
  .lp-print .contact {
    aspect-ratio: auto;
    padding: 26.6666666667vw 0;
  }
}
.lp-print .contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, black 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}
.lp-print .contact-wrap {
  width: 100%;
  max-width: 79.0629575403vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .lp-print .contact-wrap {
    width: calc(100% - 7.421875vw);
    max-width: inherit;
    margin-left: 3.7109375vw;
    margin-right: 3.7109375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .contact-wrap {
    flex-direction: column;
    gap: 6.4vw;
    width: calc(100% - 5.3333333333vw);
    margin-left: 2.6666666667vw;
    margin-right: 2.6666666667vw;
  }
}
.lp-print .contact-text-area {
  width: 26.3543191801vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .contact-text-area {
    width: 35.15625vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .contact-text-area {
    width: 100%;
    text-align: center;
  }
}
.lp-print .contact-cta-area {
  flex: 1;
}
.lp-print .contact-title {
  font-size: 2.0497803807vw;
  font-family: var(--min);
  color: #FFF;
}
@media screen and (max-width: 1024px) {
  .lp-print .contact-title {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .contact-title {
    font-size: 8.5333333333vw;
  }
}
.lp-print .contact-text {
  font-size: 1.1713030747vw;
  line-height: 1.8;
  color: #FFF;
  margin-top: 1.756954612vw;
}
@media screen and (max-width: 1024px) {
  .lp-print .contact-text {
    font-size: 1.5625vw;
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .contact-text {
    font-size: 4.2666666667vw;
    margin-top: 4.2666666667vw;
  }
}
.lp-print .contact-btn {
  display: inline-block;
  min-width: 29.2825768668vw;
  font-size: 1.756954612vw;
  font-family: var(--min);
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  border: 1px solid #707070;
  border-radius: 999px;
  padding: 1.6105417277vw;
  background-color: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  color: #FFF;
  transition: 0.3s ease background-color;
}
.lp-print .contact-btn:hover {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 1024px) {
  .lp-print .contact-btn {
    min-width: 39.0625vw;
    font-size: 2.34375vw;
    padding: 2.1484375vw;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .contact-btn {
    min-width: 85.3333333333vw;
    font-size: 6.4vw;
    padding: 5.8666666667vw;
  }
}
.lp-print .footer {
  background-color: #252629;
  font-size: 1.0248901903vw;
  text-align: center;
  color: #fff;
  padding: 1.5373352855vw 0;
}
@media screen and (max-width: 1024px) {
  .lp-print .footer {
    font-size: 1.3671875vw;
    padding: 1.953125vw 0;
  }
}
@media screen and (max-width: 768px) {
  .lp-print .footer {
    font-size: 3.7333333333vw;
    padding: 5.3333333333vw 0;
  }
}

.dialog {
  width: 100%;
  max-width: 64.4216691069vw;
  padding: 0;
  border: none;
  border-radius: 0.7320644217vw;
  background-color: #EAECF0;
}
@media screen and (max-width: 1024px) {
  .dialog {
    max-width: 85.9375vw;
    border-radius: 0.9765625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog {
    width: calc(100% - 10.6666666667vw);
    max-width: initial;
    border-radius: 2.6666666667vw;
  }
}
.dialog-wrap {
  width: 100%;
  height: 80vh;
  padding-bottom: 2.9282576867vw;
  overflow-y: auto;
}
@media screen and (max-width: 1024px) {
  .dialog-wrap {
    padding-bottom: 3.90625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-wrap {
    padding-bottom: 10.6666666667vw;
  }
}
.dialog-close {
  position: absolute;
  bottom: 50%;
  right: 0.7320644217vw;
  z-index: 10;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  background-color: rgba(234, 236, 240, 0.8);
}
@media screen and (max-width: 1024px) {
  .dialog-close {
    right: 0.7320644217vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-close {
    right: 2.6666666667vw;
  }
}
.dialog-close__btn {
  display: block;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.7320644217vw;
}
@media screen and (max-width: 1024px) {
  .dialog-close__btn {
    padding: 0.9765625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-close__btn {
    padding: 2.6666666667vw;
  }
}
.dialog-close__btn--text {
  display: block;
  text-align: center;
  font-size: 0.878477306vw;
  color: #252629;
  padding-top: 1.6105417277vw;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .dialog-close__btn--text {
    font-size: 1.171875vw;
    padding-top: 2.1484375vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-close__btn--text {
    font-size: 3.2vw;
    padding-top: 5.8666666667vw;
  }
}
.dialog-close__btn--text::before, .dialog-close__btn--text::after {
  display: block;
  content: "";
  position: absolute;
  top: 0.7320644217vw;
  right: 50%;
  width: 70%;
  height: 2px;
  background-color: #252629;
  -webkit-transform: translateX(50%) rotate(45deg);
  transform: translateX(50%) rotate(45deg);
}
@media screen and (max-width: 1024px) {
  .dialog-close__btn--text::before, .dialog-close__btn--text::after {
    top: 0.9765625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-close__btn--text::before, .dialog-close__btn--text::after {
    top: 2.6666666667vw;
  }
}
.dialog-close__btn--text::after {
  -webkit-transform: translateX(50%) rotate(-45deg);
  transform: translateX(50%) rotate(-45deg);
}
.dialog-header {
  width: 100%;
  height: auto;
  position: relative;
}
.dialog-header img {
  display: block;
  width: 100%;
  height: auto;
}
.dialog-content {
  width: 100%;
  max-width: 52.7086383602vw;
  padding: 2.9282576867vw 0;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .dialog-content {
    max-width: 52.7086383602vw;
    padding: 3.90625vw 0;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content {
    width: calc(100% - 10.6666666667vw);
    max-width: initial;
    padding: 8vw 0;
    margin-left: 5.3333333333vw;
    margin-right: 5.3333333333vw;
  }
}
.dialog-content__area {
  display: flex;
  flex-direction: column;
  gap: 4.39238653vw 0;
}
@media screen and (max-width: 1024px) {
  .dialog-content__area {
    gap: 5.859375vw 0;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content__area {
    gap: 10.6666666667vw 0;
  }
}
.dialog-content-col {
  display: flex;
  gap: 0 2.3426061493vw;
  margin-top: 2.9282576867vw;
}
@media screen and (max-width: 1024px) {
  .dialog-content-col {
    gap: 0 3.125vw;
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-col {
    flex-direction: column;
    gap: 6.6666666667vw 0;
    margin-top: 10.6666666667vw;
  }
}
.dialog-content-col__item {
  width: calc((100% - 2.3426061493vw) / 2);
}
.dialog-content-col__item img {
  display: block;
  width: 100%;
  max-width: initial;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .dialog-content-col__item {
    flex: 1;
    width: auto;
  }
}
@media screen and (max-width: 1024px) {
  .dialog-content-col__item--img {
    width: calc((100% - 3.125vw) / 2);
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-col__item--img {
    width: 100%;
  }
}
.dialog-content-col + .dialog__text {
  margin-top: 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .dialog-content-col + .dialog__text {
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-col + .dialog__text {
    margin-top: 5.3333333333vw;
  }
}
.dialog-content-sub-col {
  display: flex;
  gap: 0 0.878477306vw;
  margin-left: 2.0497803807vw;
  margin-right: 2.0497803807vw;
  margin-top: 2.5622254758vw;
}
@media screen and (max-width: 1024px) {
  .dialog-content-sub-col {
    gap: 0 1.171875vw;
    margin-left: 2.734375vw;
    margin-right: 2.734375vw;
    margin-top: 3.41796875vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-sub-col {
    flex-direction: column;
    gap: 3.2vw 0;
    margin-left: 0vw;
    margin-right: 0vw;
    margin-top: 9.3333333333vw;
  }
}
.dialog-content-sub-col__item {
  flex: 1;
}
.dialog-content-sub-col__item img {
  display: block;
  width: 100%;
  max-width: initial;
  height: auto;
}
.dialog-content-column {
  border: 1px solid #4F5964;
  padding: 1.0980966325vw;
  margin-top: 1.4641288433vw;
}
@media screen and (max-width: 1024px) {
  .dialog-content-column {
    padding: 1.46484375vw;
    margin-top: 1.4641288433vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-column {
    padding: 4vw;
    margin-top: 5.3333333333vw;
  }
}
.dialog-content-column__ttl {
  font-size: 1.1713030747vw;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .dialog-content-column__ttl {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-column__ttl {
    font-size: 4.2666666667vw;
  }
}
.dialog-content-list {
  display: flex;
  flex-direction: column;
  gap: 1.1713030747vw 0;
  margin-top: 1.1713030747vw;
}
@media screen and (max-width: 1024px) {
  .dialog-content-list {
    gap: 1.5625vw 0;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-list {
    gap: 4.2666666667vw 0;
    margin-top: 4.2666666667vw;
  }
}
.dialog-content-list__item {
  font-size: 1.0248901903vw;
  line-height: 1.6;
  position: relative;
  margin-left: 2em;
}
.dialog-content-list__item::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: -2em;
  font-size: inherit;
  width: 1em;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #0071BD;
}
@media screen and (max-width: 1024px) {
  .dialog-content-list__item {
    font-size: 1.3671875vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-content-list__item {
    font-size: 3.7333333333vw;
  }
}
.dialog__ttl {
  font-size: 1.4641288433vw;
  line-height: 1.6;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid #C7CACB;
}
@media screen and (max-width: 1024px) {
  .dialog__ttl {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__ttl {
    font-size: 6.4vw;
  }
}
.dialog__ttl--text {
  font-size: inherit;
  line-height: inherit;
  font-family: var(--min);
  padding-bottom: 0.6em;
  border-bottom: 1px solid #0071BD;
}
.dialog__sub-ttl {
  font-size: 1.4641288433vw;
  font-family: var(--min);
  line-height: 1.5;
  color: #1569A2;
  margin-bottom: 1.756954612vw;
}
@media screen and (max-width: 1024px) {
  .dialog__sub-ttl {
    font-size: 2.34375vw;
    margin-bottom: 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__sub-ttl {
    font-size: 4.8vw;
    margin-bottom: 6.4vw;
  }
}
.dialog__small-ttl {
  font-size: 1.1713030747vw;
  line-height: 1.6;
  color: #0071BD;
  position: relative;
  margin-left: 1.1713030747vw;
  margin-bottom: 1.756954612vw;
}
@media screen and (max-width: 1024px) {
  .dialog__small-ttl {
    font-size: 1.5625vw;
    margin-left: 1.5625vw;
    margin-bottom: 2.34375vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__small-ttl {
    margin-left: 4.2666666667vw;
    font-size: 4.2666666667vw;
    margin-bottom: 6.4vw;
  }
}
.dialog__small-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.1713030747vw;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0.878477306vw;
  height: 0.878477306vw;
  border-radius: 100%;
  border: 0.2196193265vw solid #0071BD;
}
@media screen and (max-width: 1024px) {
  .dialog__small-ttl::before {
    left: -1.5625vw;
    width: 1.171875vw;
    height: 1.171875vw;
    border: 0.29296875vw solid #0071BD;
  }
}
@media screen and (max-width: 768px) {
  .dialog__small-ttl::before {
    left: -4.2666666667vw;
    width: 3.2vw;
    height: 3.2vw;
    border: 0.8vw solid #0071BD;
  }
}
.dialog__text {
  font-size: 1.1713030747vw;
  line-height: 1.6;
}
.dialog__text + .dialog__text {
  margin-top: 1.5em;
}
@media screen and (max-width: 1024px) {
  .dialog__text {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__text {
    font-size: 4.2666666667vw;
  }
}
.dialog__link-area {
  font-size: 1.1713030747vw;
  margin-top: 1em;
}
@media screen and (max-width: 1024px) {
  .dialog__link-area {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__link-area {
    font-size: 4.2666666667vw;
  }
}
.dialog__link {
  font-size: inherit;
  line-height: 1.2;
  display: inline-block;
  color: var(--keycolor);
}
.dialog__link::after {
  content: "›";
  display: inline-block;
  font-size: 1.4641288433vw;
  margin-left: 0.2em;
}
@media screen and (max-width: 1024px) {
  .dialog__link::after {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog__link::after {
    font-size: 4.2666666667vw;
  }
}
.dialog__link:hover {
  color: #1485D1;
  text-decoration: none;
}
.dialog sup {
  font-size: 80%;
}
.dialog-contact {
  text-align: center;
}
.dialog-contact__text {
  font-size: 1.0248901903vw;
  text-align: center;
  line-height: 1.6;
  color: #1569A2;
}
@media screen and (max-width: 1024px) {
  .dialog-contact__text {
    font-size: 1.3671875vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-contact__text {
    font-size: 3.2vw;
  }
}
.dialog-contact__btn {
  min-width: 17.5695461201vw;
  display: inline-block;
  font-size: 1.317715959vw;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  border: 1px solid #9AA3AD;
  border-radius: 999px;
  padding: 1.0248901903vw 1.756954612vw;
  background-color: transparent;
  cursor: pointer;
  transition: 0.3s ease background-color;
  margin-top: 2.196193265vw;
}
.dialog-contact__btn:hover {
  background-color: #1569A2;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .dialog-contact__btn {
    min-width: 23.4375vw;
    font-size: 1.7578125vw;
    padding: 1.3671875vw 2.34375vw;
    margin-top: 2.9296875vw;
  }
}
@media screen and (max-width: 768px) {
  .dialog-contact__btn {
    min-width: 64vw;
    font-size: 4.2666666667vw;
    padding: 3.7333333333vw 6.4vw;
    margin-top: 8vw;
  }
}

body.is-modal-open {
  overflow: hidden;
}
body.is-modal-open ::-webkit-backdrop {
  background: rgba(0, 0, 0, 0.8);
}
body.is-modal-open ::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.dialog[open] {
  -webkit-animation: fadeIn 0.3s ease;
  animation: fadeIn 0.3s ease;
}

.dialog.closing {
  -webkit-animation: fadeOut 0.3s ease;
  animation: fadeOut 0.3s ease;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}