@charset "UTF-8";
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: inherit;
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

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

b,
strong {
  font-weight: bolder;
}

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

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;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  /*line-height:1.15;*/
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

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

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

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

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

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

section,
main {
  display: block;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
}

i,
em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

li {
  list-style: none;
}

/* wp */
img.scaled-image {
  border: none !important;
  margin: 0 !important;
}

/* ==========================================================================
   Colors
========================================================================== */
/* Gray-scale */
/* background 1 */
/* background 3 */
/* table-border, box-outline, section-devider */
/* placeholder, input borders */
/* (signage-card-bg) */
/* all text (including subtext) */
/* background for close status on signage */
/* background for signage */
/* Blue-gray-scale */
/* background 2 */
/* Vacancy */
/* vacant status on the dark background */
/* background for vacant status  */
/* text for vacant status  */
/* for vacant status */
/* background for fairly crowded status  */
/* text for fairly crowded status  */
/* background for full status*/
/* text for full status*/
/* Accent */
/* background color for selected element */
/* General */
/* Used for link and button */
/* Used for important messages */
/* Corporate / main 紫 */
/* corporate color */
/* corporate color */
/* background hover on console */
/* for button and link on console */
/* Throne */
/* men toilet */
/* men toilet disable */
/* Women toilet */
/* women toilet disable */
/* multiple toilet */
/* multiple toilet disable */
/* unisex toilet */
/* unisex toilet disable */
/* nursery room */
/* nursery room disable */
/* powder room */
/* powder room disable */
/* WCAG */
/* placeholder, input borders,label */
/* Used for important messages */
/* Used for vacant status, background for vacant status */
/* Used for fairly crowded status, text for crowded status */
/* Used for crowded status, text for full status */
/* Used for link and button */
/* ==========================================================================
   Fonts
   ========================================================================== */
.preload {
  transition: 0 !important;
}

.preload * {
  transition: none !important;
}

/*スクリーンリーダー用 */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 959px) {
  html {
    font-size: 59.375%;
  }
}

body {
  color: #3B3544;
  background: #ffffff;
  font-size: 1.6rem;
  line-height: 1.8;
  line-height: 1.8;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  word-wrap: break-word;
  overflow-x: hidden;
  font-feature-settings: "palt";
  position: relative;
}
body::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background-color: #7800D2;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
body.footer-pos::before {
  opacity: 1;
}

.wrap {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  padding: 92px 0 0;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .wrap {
    padding-top: 76px;
  }
}

.container {
  padding-left: 7%;
  padding-right: 7%;
}
@media screen and (min-width: 960px) {
  .container {
    padding-left: 10%;
    padding-right: 10%;
  }
}
.container {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media screen and (min-width: 960px) {
  .container {
    min-height: 70vh;
  }
}
@media screen and (max-width: 959px) {
  .container {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.section--main {
  position: relative;
  opacity: 1;
  transform: none;
  padding: 8rem 10%;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .section--main {
    padding: 2rem 7%;
  }
}
.section--main.fixed-width {
  max-width: 92rem;
  margin: 0 auto;
}
.section--main.post-template {
  padding: 6rem 2%;
}
@media screen and (max-width: 959px) {
  .section--main.post-template {
    padding: 6rem 7%;
  }
}
.section--main.section--downloadPages {
  padding: 2rem 0;
}
@media screen and (max-width: 959px) {
  .section--main.section--downloadPages {
    padding: 6rem 7%;
  }
}
.section--main.section--downloadPages .global-message {
  padding-top: 24px;
  border-top: 1px solid #f1f1f1;
  margin-top: 40px;
  text-align: center;
  font-size: 1.4rem;
}
.section--main.section--contact {
  padding: 6rem 0;
}
@media screen and (max-width: 959px) {
  .section--main.section--contact {
    padding: 6rem 7%;
  }
}
.section--main.section--contact > h2.section-tit {
  font-size: 3vw;
  margin: 0 0 4vh;
}
@media screen and (max-width: 959px) {
  .section--main.section--contact > h2.section-tit {
    font-size: 2.4rem;
  }
}
.section--main.section--terms {
  padding: 6rem 0;
}
@media screen and (max-width: 959px) {
  .section--main.section--terms {
    padding: 6rem 7%;
  }
}
.section--main.section--terms > h2.section-tit {
  font-size: 3vw;
  margin: 0 0 4vh;
}
@media screen and (max-width: 959px) {
  .section--main.section--terms > h2.section-tit {
    font-size: 2.4rem;
  }
}

.container:has(.section--contact) + footer > .section--footer-contact {
  display: none;
}

.wrap.preload .section--main {
  opacity: 0;
  transform: translateY(10rem);
}

.section-inner {
  margin: 8rem auto 0;
  font-size: 1.6rem;
}
@media screen and (min-width: 960px) {
  .section-inner {
    padding-left: 8rem;
    border-left: 1px solid;
  }
}

a {
  color: inherit;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  a:hover {
    color: #a960e8;
  }
}

svg * {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}

img {
  max-width: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  line-height: 0;
}

.ph, .thumb {
  position: relative;
  line-height: 0;
}

.ph .dummy {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.iframe-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.iframe-wrap iframe,
.iframe-wrap object,
.iframe-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.iframe-text {
  border: 1px solid #ddd !important;
  background: #fff;
  line-height: 0;
}
.iframe-text iframe {
  width: 100%;
  height: 50vh;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.txt {
  margin-bottom: 1.5rem;
}

.txt--sub {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #78797b;
}

@media screen and (min-width: 960px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .pc {
    display: none !important;
  }
}
.btn {
  margin: 1em 0;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .btn {
    text-align: left;
  }
}

.btn--main {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  border: none;
  cursor: pointer;
  min-width: 70%;
  padding: 1.2em 1.5em;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.1em;
  text-decoration: none;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .btn--main {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    min-width: 260px;
  }
}
@media screen and (min-width: 559px) and (max-width: 959px) {
  .btn--main {
    min-width: 45%;
    padding: 1.4em;
    font-size: 2rem;
    max-width: 50rem;
  }
}
.btn--main {
  background: #512376;
  color: #ffffff;
}
.btn--main:hover {
  background: #a960e8;
  color: #ffffff;
}

.btn--sub {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  border: none;
  cursor: pointer;
  min-width: 70%;
  padding: 1.2em 1.5em;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.1em;
  text-decoration: none;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .btn--sub {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    min-width: 260px;
  }
}
@media screen and (min-width: 559px) and (max-width: 959px) {
  .btn--sub {
    min-width: 45%;
    padding: 1.4em;
    font-size: 2rem;
    max-width: 50rem;
  }
}
.btn--sub {
  color: #512376;
  border: 1px solid;
}

.btn--back {
  margin-top: 8rem;
}
.btn--back a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  display: inline-block;
  letter-spacing: 0.1em;
  text-decoration: none;
}
.btn--back .icon--chevron {
  margin: 0 1em 0 0;
  transform: scale(-1, 1);
}

/* list
----------------------------------- */
.list--card > li {
  position: relative;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  background: #ffffff;
}
.list--card > li a {
  display: block;
  text-decoration: none;
  width: 100%;
}
.list--card > li .inner {
  padding: 2rem 2.4rem;
}
.list--card > li .date {
  font-size: 1.2rem;
  line-height: 1.5;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.15em;
  margin: 0 0 0.5em;
}
.list--card > li .tit {
  font-size: 1.6rem;
  line-height: 1.8;
  line-height: 1.5;
}
.list--card > li .txt {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 1em 0 0;
}
.list--card {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list--card::after {
  content: "";
  display: block;
  width: 30%;
}
.list--card > li {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .list--card > li:not(:last-child) {
    margin-bottom: 3.2rem;
  }
}
@media screen and (min-width: 960px) {
  .list--card > li {
    margin-bottom: 4rem;
    width: 31%;
    display: flex;
    align-items: stretch;
    /*
    *::after {
    	content: "";
    	display: block;
    	width: 30%;
    }
    */
  }
}
.list--card > li .thumb {
  line-height: 0;
  border-right: none;
  position: relative;
  overflow: hidden;
}
.list--card > li .thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  .list--card > li a:hover .thumb img {
    transform: scale(1.05) rotate(0.1deg);
  }
}
.list--card .new::before {
  content: "NEW!";
}

.list--txt > li {
  position: relative;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  background: #ffffff;
}
.list--txt > li a {
  display: block;
  text-decoration: none;
  width: 100%;
}
.list--txt > li .inner {
  padding: 2rem 2.4rem;
}
.list--txt > li .date {
  font-size: 1.2rem;
  line-height: 1.5;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.15em;
  margin: 0 0 0.5em;
}
.list--txt > li .tit {
  font-size: 1.6rem;
  line-height: 1.8;
  line-height: 1.5;
}
.list--txt > li .txt {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 1em 0 0;
}
.list--txt > li {
  width: 70%;
}
.list--txt > li .inner {
  display: flex;
}
.list--txt > li .date {
  width: 8em;
  line-height: 2.6rem;
  margin: 0;
}
.list--txt > li .tit {
  flex: 1;
}
.list--txt > li + li {
  margin-top: 0.8rem;
}

.section-tit {
  line-height: 1;
  letter-spacing: 0.025em;
  margin-bottom: 5.6rem;
  font-weight: bold;
  position: relative;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .section-tit {
    margin-bottom: 5rem;
  }
}
.section-tit span.en {
  display: block;
  font-size: 5.6vw;
  font-family: "Roboto", sans-serif;
  position: relative;
}
@media screen and (min-width: 960px) {
  .section-tit span.en {
    left: -0.7em;
  }
}
@media screen and (max-width: 959px) {
  .section-tit span.en {
    font-size: 10vw;
  }
}
.section-tit span.jp {
  display: block;
  font-size: 1.4rem;
  margin-top: 1.5em;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 959px) {
  .section-tit span.jp {
    letter-spacing: 0.15em;
  }
}
.section-tit span.jp::after {
  content: "";
  height: 1px;
  width: 100%;
  background: #3B3544;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.section-tit small {
  display: inline-block;
  font-size: inherit;
}
@media screen and (max-width: 959px) {
  .section-tit small {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

.page-template-default .section-tit {
  font-size: 3vw;
}
@media screen and (max-width: 959px) {
  .page-template-default .section-tit {
    font-size: 2rem;
  }
}

@media screen and (min-width: 960px) {
  .title-wrap {
    display: flex;
    justify-content: space-between;
  }
}
.title-wrap {
  margin: 0 0 6rem;
}
.title-wrap > .txt {
  padding-left: 3em;
  border-left: 1px solid;
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .title-wrap > .txt {
    margin: 7vw 0 0;
    flex: 1;
  }
}
@media screen and (max-width: 959px) {
  .title-wrap > .txt {
    padding-left: 1.5em;
  }
}
@media screen and (min-width: 960px) {
  .title-wrap .section-tit {
    flex: 1;
    width: 50%;
  }
}

.list--tags {
  margin-top: 0.5em;
}
.list--tags li {
  font-size: 1.2rem;
  line-height: 1.5;
  display: inline-block;
  background: rgba(81, 34, 117, 0.1);
  padding: 0 0.5em;
  margin: 0 0.5em 0 0;
}

.list--links {
  margin-top: 1em;
}
@media screen and (min-width: 960px) {
  .list--links li {
    display: inline-block;
    margin-right: 2em;
  }
}
.list--links li a {
  font-weight: bold;
}
.list--links li a::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border: 2px solid;
  border-top: none;
  border-right: none;
  transform: rotate(-135deg);
  vertical-align: middle;
  pointer-events: none;
  margin-top: -0.25em;
  margin-right: 0.25em;
  position: relative;
  left: 0.25em;
}

.more {
  margin-top: 3.2rem;
  position: relative;
  text-align: right;
}
.more a {
  display: inline-block;
  letter-spacing: 0.15em;
  text-decoration: none;
  font-family: "Roboto", sans-serif;
  font-size: 1.2rem;
}
.more .icon--chevron {
  margin-left: 1em;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  .more a:hover .icon--chevron {
    transform: translateX(0.25em);
  }
}

/* design
----------------------------------- */
.bg-pattern {
  position: absolute;
  width: 100%;
  z-index: 0;
  left: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .bg-pattern {
    width: 300%;
    max-width: unset;
  }
}

.container > .bg-pattern {
  top: 50vh;
}

body > .side-cell {
  position: fixed;
  top: 0;
  width: 2.5vh;
  z-index: 9999;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
body > .side-cell.side-cell--left {
  left: 0;
  transform: translateX(-100%);
}
body > .side-cell.side-cell--right {
  right: -2px;
  transform: translateX(100%);
}
body > .side-cell li {
  width: 2.5vh;
  height: 2.5vh;
  border: 1px solid #a960e8;
  border-bottom: none;
  opacity: 0.5;
}

body.under-firstview:not(.footer-pos) > .side-cell {
  transform: translateX(0);
}

body > .side-cell li {
  animation: flash01 8s linear infinite;
}
body > .side-cell li:nth-child(1) {
  animation-delay: 0.25s;
}
body > .side-cell li:nth-child(2) {
  animation-delay: 0.5s;
}
body > .side-cell li:nth-child(3) {
  animation-delay: 0.75s;
}
body > .side-cell li:nth-child(4) {
  animation-delay: 1s;
}
body > .side-cell li:nth-child(5) {
  animation-delay: 1.25s;
}
body > .side-cell li:nth-child(6) {
  animation-delay: 1.5s;
}
body > .side-cell li:nth-child(7) {
  animation-delay: 1.75s;
}
body > .side-cell li:nth-child(8) {
  animation-delay: 2s;
}
body > .side-cell li:nth-child(9) {
  animation-delay: 2.25s;
}
body > .side-cell li:nth-child(10) {
  animation-delay: 2.5s;
}
body > .side-cell li:nth-child(11) {
  animation-delay: 2.75s;
}
body > .side-cell li:nth-child(12) {
  animation-delay: 3s;
}
body > .side-cell li:nth-child(13) {
  animation-delay: 3.25s;
}
body > .side-cell li:nth-child(14) {
  animation-delay: 3.5s;
}
body > .side-cell li:nth-child(15) {
  animation-delay: 3.75s;
}
body > .side-cell li:nth-child(16) {
  animation-delay: 4s;
}
body > .side-cell li:nth-child(17) {
  animation-delay: 4.25s;
}
body > .side-cell li:nth-child(18) {
  animation-delay: 4.5s;
}
body > .side-cell li:nth-child(19) {
  animation-delay: 4.75s;
}
body > .side-cell li:nth-child(20) {
  animation-delay: 5s;
}
body > .side-cell li:nth-child(21) {
  animation-delay: 5.25s;
}
body > .side-cell li:nth-child(22) {
  animation-delay: 5.5s;
}
body > .side-cell li:nth-child(23) {
  animation-delay: 5.75s;
}
body > .side-cell li:nth-child(24) {
  animation-delay: 6s;
}
body > .side-cell li:nth-child(25) {
  animation-delay: 6.25s;
}
body > .side-cell li:nth-child(26) {
  animation-delay: 6.5s;
}
body > .side-cell li:nth-child(27) {
  animation-delay: 6.75s;
}
body > .side-cell li:nth-child(28) {
  animation-delay: 7s;
}
body > .side-cell li:nth-child(29) {
  animation-delay: 7.25s;
}
body > .side-cell li:nth-child(30) {
  animation-delay: 7.5s;
}
body > .side-cell li:nth-child(31) {
  animation-delay: 7.75s;
}
body > .side-cell li:nth-child(32) {
  animation-delay: 8s;
}
body > .side-cell li:nth-child(33) {
  animation-delay: 8.25s;
}
body > .side-cell li:nth-child(34) {
  animation-delay: 8.5s;
}
body > .side-cell li:nth-child(35) {
  animation-delay: 8.75s;
}
body > .side-cell li:nth-child(36) {
  animation-delay: 9s;
}
body > .side-cell li:nth-child(37) {
  animation-delay: 9.25s;
}
body > .side-cell li:nth-child(38) {
  animation-delay: 9.5s;
}
body > .side-cell li:nth-child(39) {
  animation-delay: 9.75s;
}
body > .side-cell li:nth-child(40) {
  animation-delay: 10s;
}

body > .side-cell--right li:nth-child(1) {
  animation-delay: 7.75s;
}
body > .side-cell--right li:nth-child(2) {
  animation-delay: 7.5s;
}
body > .side-cell--right li:nth-child(3) {
  animation-delay: 7.25s;
}
body > .side-cell--right li:nth-child(4) {
  animation-delay: 7s;
}
body > .side-cell--right li:nth-child(5) {
  animation-delay: 6.75s;
}
body > .side-cell--right li:nth-child(6) {
  animation-delay: 6.5s;
}
body > .side-cell--right li:nth-child(7) {
  animation-delay: 6.25s;
}
body > .side-cell--right li:nth-child(8) {
  animation-delay: 6s;
}
body > .side-cell--right li:nth-child(9) {
  animation-delay: 5.75s;
}
body > .side-cell--right li:nth-child(10) {
  animation-delay: 5.5s;
}
body > .side-cell--right li:nth-child(11) {
  animation-delay: 5.25s;
}
body > .side-cell--right li:nth-child(12) {
  animation-delay: 5s;
}
body > .side-cell--right li:nth-child(13) {
  animation-delay: 4.75s;
}
body > .side-cell--right li:nth-child(14) {
  animation-delay: 4.5s;
}
body > .side-cell--right li:nth-child(15) {
  animation-delay: 4.25s;
}
body > .side-cell--right li:nth-child(16) {
  animation-delay: 4s;
}
body > .side-cell--right li:nth-child(17) {
  animation-delay: 3.75s;
}
body > .side-cell--right li:nth-child(18) {
  animation-delay: 3.5s;
}
body > .side-cell--right li:nth-child(19) {
  animation-delay: 3.25s;
}
body > .side-cell--right li:nth-child(20) {
  animation-delay: 3s;
}
body > .side-cell--right li:nth-child(21) {
  animation-delay: 2.75s;
}
body > .side-cell--right li:nth-child(22) {
  animation-delay: 2.5s;
}
body > .side-cell--right li:nth-child(23) {
  animation-delay: 2.25s;
}
body > .side-cell--right li:nth-child(24) {
  animation-delay: 2s;
}
body > .side-cell--right li:nth-child(25) {
  animation-delay: 1.75s;
}
body > .side-cell--right li:nth-child(26) {
  animation-delay: 1.5s;
}
body > .side-cell--right li:nth-child(27) {
  animation-delay: 1.25s;
}
body > .side-cell--right li:nth-child(28) {
  animation-delay: 1s;
}
body > .side-cell--right li:nth-child(29) {
  animation-delay: 0.75s;
}
body > .side-cell--right li:nth-child(30) {
  animation-delay: 0.5s;
}
body > .side-cell--right li:nth-child(31) {
  animation-delay: 0.25s;
}
body > .side-cell--right li:nth-child(32) {
  animation-delay: 0s;
}
body > .side-cell--right li:nth-child(33) {
  animation-delay: -0.25s;
}
body > .side-cell--right li:nth-child(34) {
  animation-delay: -0.5s;
}
body > .side-cell--right li:nth-child(35) {
  animation-delay: -0.75s;
}
body > .side-cell--right li:nth-child(36) {
  animation-delay: -1s;
}
body > .side-cell--right li:nth-child(37) {
  animation-delay: -1.25s;
}
body > .side-cell--right li:nth-child(38) {
  animation-delay: -1.5s;
}
body > .side-cell--right li:nth-child(39) {
  animation-delay: -1.75s;
}
body > .side-cell--right li:nth-child(40) {
  animation-delay: -2s;
}

@keyframes flash01 {
  0% {
    background-color: transparent;
  }
  40% {
    background-color: transparent;
  }
  50% {
    background-color: #a960e8;
  }
  60% {
    background-color: transparent;
  }
  100% {
    background-color: transparent;
  }
}
/*
.thumb .side-cell {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    @include flex-display();
    @include flex-wrap;
    flex-direction: row;
    li {
        border: none;
        width: calc(100%/24);
        height: calc(100%/12);
        background-color: $accent-color1-light;
        opacity: .5;
    }
}
.thumb.delighter.started .side-cell li{
    animation: flash02 1s linear forwards ;
    &:nth-child(10n + 1){animation-delay: .2s;}
    &:nth-child(10n + 2){animation-delay: .6s;}
    &:nth-child(10n + 3){animation-delay: .1s;}
    &:nth-child(10n + 4){animation-delay: .8s;}
    &:nth-child(10n + 5){animation-delay: .9s;}
    &:nth-child(10n + 6){animation-delay: .4s;}
    &:nth-child(10n + 7){animation-delay: .8s;}
    &:nth-child(10n + 8){animation-delay: .5s;}
    &:nth-child(10n + 9){animation-delay: .3s;}
}

@keyframes flash02 {
    0% {background-color: $accent-color1-light;}
    10% {background-color: transparent;}
    100% {background-color:transparent;;}
}
*/
body.footer-pos .section-tit,
body.footer-pos .section--footer-contact .txt,
body.footer-pos .section-inner,
body.footer-pos .pager__prev,
body.footer-pos .more a,
body.footer-pos .nav-links a,
body.footer-pos .nav-links span,
body.footer-pos .nav--pager a,
body.footer-pos .btn--back a {
  color: #ffffff;
}
body.footer-pos .more svg *,
body.footer-pos .nav--pager svg *,
body.footer-pos .btn--back svg * {
  stroke: #ffffff;
}
body.footer-pos .bg-pattern {
  opacity: 0.4;
}
body.footer-pos.home .section-tit:not(.section-tit--footer) span.jp::after {
  background: #ffffff;
}
body.footer-pos .nav--pager .pager__prev::after {
  background: #ffffff;
}
body.footer-pos .list--card a {
  color: #3B3544;
}
body.footer-pos footer .btn .btn--main {
  background: #ffffff;
  color: #512376;
}

/* header
----------------------------------- */
.g-nav .menu > li {
  position: relative;
}
.g-nav .menu > li a {
  text-decoration: none;
  display: block;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  transition-property: color, background;
}

.sub-menu a::before {
  content: "";
  width: 0.5em;
  background: #ffffff;
  position: absolute;
  top: 50%;
  left: 0;
  height: 1px;
}

.menu-social-menu-container ul {
  display: flex;
  align-items: center;
  gap: 8px;
}
.menu-social-menu-container li {
  display: inline-block;
  margin: 0 !important;
}
.menu-social-menu-container li:has(.icon--facebook), .menu-social-menu-container li:has(.icon--twitter), .menu-social-menu-container li:has(.icon--instagram) {
  width: 40px;
  height: 40px;
}
.menu-social-menu-container li:has(.icon--facebook) a, .menu-social-menu-container li:has(.icon--twitter) a, .menu-social-menu-container li:has(.icon--instagram) a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}
.menu-social-menu-container li + li {
  margin-left: 1em;
}
.menu-social-menu-container li span {
  position: relative;
  display: block;
  width: 1.8em;
  height: 1.8em;
  text-align: center;
}
.menu-social-menu-container li span::before {
  font-family: "FontAwesome";
  position: relative;
  left: 0.06em;
  top: 0.14em;
  font-weight: 500;
}
.menu-social-menu-container .icon--facebook {
  width: 32px !important;
  height: 32px !important;
}
.menu-social-menu-container .icon--facebook::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  background: url("/common/images/common/social_icon_facebook.svg") center center/cover;
  filter: brightness(0) saturate(100%) invert(17%) sepia(10%) saturate(1152%) hue-rotate(222deg) brightness(100%) contrast(86%);
}
.menu-social-menu-container .icon--linkedin {
  width: 18px !important;
  height: 18px !important;
}
.menu-social-menu-container .icon--linkedin::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  background: url("/common/images/common/social_icon_linkedin.svg") center center/cover;
  filter: brightness(0) saturate(100%) invert(17%) sepia(10%) saturate(1152%) hue-rotate(222deg) brightness(100%) contrast(86%);
}
.menu-social-menu-container .icon--twitter {
  width: 18px !important;
  height: 18px !important;
}
.menu-social-menu-container .icon--twitter::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  background: url("/common/images/common/social_icon_x.svg") center center/cover;
  filter: brightness(0) saturate(100%) invert(17%) sepia(10%) saturate(1152%) hue-rotate(222deg) brightness(100%) contrast(86%);
}
.menu-social-menu-container .icon--instagram {
  width: 20px !important;
  height: 20px !important;
}
.menu-social-menu-container .icon--instagram::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  background: url("/common/images/common/social_icon_instagram.svg") center center/cover;
  filter: brightness(0) saturate(100%) invert(17%) sepia(10%) saturate(1152%) hue-rotate(222deg) brightness(100%) contrast(86%);
}

/* navBtn */
.drawer__btn {
  width: 72px;
  height: 72px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  mix-blend-mode: exclusion;
}
@media screen and (min-width: 1209px) {
  .drawer__btn {
    display: none;
  }
}
@media screen and (min-width: 959px) and (max-width: 1208px) {
  .drawer__btn {
    right: 2.4rem;
    top: 0.8rem;
  }
}
.drawer__btn .drawer__btn__inner {
  position: absolute;
  right: 0px;
  top: 8px;
  width: 56px;
  height: 56px;
}
.drawer__btn span {
  display: inline-block;
  width: 40%;
  height: 2px;
  position: absolute;
  left: 17px;
  background-color: #3B3544;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  background: #fff;
}
.drawer__btn span:nth-of-type(1) {
  top: 22px;
}
.drawer__btn span:nth-of-type(2) {
  bottom: 22px;
}

/* float-btn */
.btn--contact {
  display: none;
}
@media screen and (min-width: 959px) and (max-width: 1208px) {
  .btn--contact {
    display: block;
  }
}
.btn--contact {
  position: fixed;
  right: 10rem;
  top: 0.2rem;
  z-index: 9998;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
}
.btn--contact a {
  line-height: 52px;
  font-size: 1.6rem;
  padding: 0 2.4rem;
  font-weight: 500;
  min-width: unset;
}

.middle-logo {
  display: none;
}
@media screen and (min-width: 959px) and (max-width: 1208px) {
  .middle-logo {
    display: block;
  }
}
.middle-logo {
  position: fixed;
  top: 3.2rem;
  left: 3.2rem;
  z-index: 9998;
}
.middle-logo a {
  display: block;
  width: 120px;
  line-height: 0;
}

.menu-open .drawer__btn span {
  background: #ffffff;
}
.menu-open .drawer__btn span:nth-of-type(1) {
  transform: translateY(5px) rotate(-45deg);
}
.menu-open .drawer__btn span:nth-of-type(2) {
  transform: translateY(-5px) rotate(45deg);
}

/* megamenu */
header.contact-header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 92px;
  z-index: 9998;
  background: #fff;
}
header.contact-header h1 {
  display: flex;
  align-items: center;
  margin-left: 40px;
}
header.contact-header h1 a {
  display: block;
  width: 120px;
  line-height: 0;
}
header #mega-menu-wrap-global {
  background: transparent;
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global {
    padding: 16px 24px;
  }
}
header #mega-menu-wrap-global {
  /* New custom styles */
}
header #mega-menu-wrap-global .mega-menu-link {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global .mega-sub-menu {
    width: 283px !important;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global .mega-description-group {
    margin: 16px 0;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global .mega-description-group {
    margin: 8px 0;
  }
}
header #mega-menu-wrap-global .mega-menu-description {
  padding-top: 4px;
  font-style: normal !important;
  /* Enable monospaced-like behavior */
  font-feature-settings: "palt" 0, "pkna" 0, "fwid" 1, "hwid" 0 !important;
}
header #mega-menu-wrap-global {
  /* End of new custom styles */
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global .mega-menu-toggle + #mega-menu-global {
    background: transparent;
  }
}
header #mega-menu-wrap-global #mega-menu-global li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {
  margin-left: 4px;
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    width: 100%;
    display: list-item;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:last-child a.mega-menu-link {
    background: #512376 !important;
    color: #ffffff !important;
    padding: 0 16px;
    font-weight: 500 !important;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:last-child a.mega-menu-link:hover {
    background: #a960e8 !important;
    color: #ffffff !important;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:last-child {
    border: none;
    margin: 2.4rem 1.6rem;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:last-child a.mega-menu-link {
    text-align: center;
    color: #512376 !important;
    background: #ffffff !important;
    padding: 1em 3.2rem;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:nth-last-child(2) a.mega-menu-link {
    background: #3B3544 !important;
    color: #ffffff !important;
    padding: 0 16px;
    font-weight: 500 !important;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:nth-last-child(2) a.mega-menu-link:hover {
    background: #a960e8 !important;
    color: #ffffff !important;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:nth-last-child(2) {
    border: none;
    margin: 2.4rem 1.6rem;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:nth-last-child(2) a.mega-menu-link {
    text-align: center;
    color: #512376 !important;
    background: #ffffff !important;
    padding: 1em 3.2rem;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item:nth-last-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item > a.mega-menu-link {
  line-height: 59px;
  font-size: 1.4rem;
  padding: 0;
  font-weight: bold;
  height: auto;
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item > a.mega-menu-link {
    color: #3B3544;
    margin: 0 0 0 1.2vw;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item > a.mega-menu-link {
    padding: 1.25em 1.6rem 1.25em 2.4rem;
    font-size: 1.38rem;
    line-height: 1.5em;
    display: block !important;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item > a.mega-menu-link:hover {
    background: transparent;
    color: #a960e8;
    font-weight: bold;
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu {
  padding: 1rem 0;
  background-color: #3B3544;
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu {
    background: #451a67;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {
    top: -1rem;
    background: #4a4355;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {
    background: #4a4355;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link:hover, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link:focus {
    background: #554a66;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu a.mega-menu-link {
    background: #391457;
    padding: 0.75em 1.6rem 0.75em 2.4rem;
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  color: #ffffff;
  background: #3B3544;
  padding: 0 2rem;
  line-height: 4rem;
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    background: transparent;
    font-size: 1.38rem;
    line-height: 1.5em;
    padding: 0.75em 1.6rem 0.75em 2.4rem;
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
  background: #554a66;
  color: #ffffff;
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
    background: transparent;
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
  background: transparent;
  font-weight: bold;
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    color: #a960e8;
  }
}
header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
  background: transparent;
  font-weight: bold;
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    color: #a960e8;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    background: #653789;
    color: #ffffff;
  }
}
@media screen and (min-width: 1209px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-item > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-ancestor > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-page-ancestor > a.mega-menu-link {
    color: #3B3544;
  }
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-item > a.mega-menu-link:hover, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-ancestor > a.mega-menu-link:hover, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-page-ancestor > a.mega-menu-link:hover {
    color: #a960e8;
  }
}
@media screen and (max-width: 1208px) {
  header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-item > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-menu-ancestor > a.mega-menu-link, header #mega-menu-wrap-global #mega-menu-global > li.mega-menu-item.mega-menu-item-has-children.mega-current-page-ancestor > a.mega-menu-link {
    background: transparent;
  }
}

/* sp */
@media screen and (max-width: 1208px) {
  .sp-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
  }
  .sp-header h1 {
    line-height: 0;
    width: 50%;
    padding-left: 2.4rem;
  }
  .sp-header h1 svg * {
    fill: #ffffff !important;
  }
  .logo--v {
    position: fixed;
    top: 1.6rem;
    left: 1.2rem;
    z-index: 9999;
    width: 4.75rem;
    height: 4.75rem;
  }
}
@media screen and (max-width: 1208px) and (min-width: 959px) and (max-width: 1208px) {
  .logo--v {
    /*
    top: 2.4rem;
    left: 2.4rem;
    */
    display: none;
  }
}
@media screen and (max-width: 1208px) {
  .logo--v a {
    display: block;
    padding: 10px;
  }
  .logo--v svg {
    width: 100%;
    height: 100%;
    display: block;
  }
}
@media screen and (max-width: 1208px) {
  /* drawer */
  header.drawer {
    width: 28rem;
    height: 100%;
    padding: 12vh 0;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    background: #512376;
    z-index: 9998;
  }
  header.drawer h1 {
    line-height: 0;
    width: 50%;
    padding-left: 2.4rem;
  }
  header.drawer h1 svg * {
    fill: #ffffff;
  }
  .transition-on header.drawer {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    -webkit-transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  }
  .menu-open::before, .menu-open .wrap {
    filter: grayscale(1);
  }
  .menu-open header {
    transform: translateX(0);
  }
  .g-nav {
    margin-top: 4rem;
  }
}
/* PC */
@media screen and (min-width: 1209px) {
  header {
    display: flex;
    justify-content: space-between;
    height: 92px;
    z-index: 9998;
    background: #ffffff;
    width: 100%;
    padding: 0 5vh;
    left: 0;
    top: 0;
  }
  header.header--fixed {
    position: fixed;
    top: 0;
    bottom: auto;
  }
  header.header--fixed .sub-menu {
    bottom: auto !important;
    top: 67px !important;
  }
  .sp-header {
    display: none;
  }
  .pc-header.up-move {
    animation: UpAnime 0.5s forwards;
  }
  @keyframes UpAnime {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(-100px);
    }
  }
  .pc-header.down-move {
    animation: DownAnime 0.5s forwards;
  }
  @keyframes DownAnime {
    from {
      opacity: 0;
      transform: translateY(-100px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  header h1 {
    display: flex;
    align-items: center;
    margin-left: 40px;
  }
  header h1 a {
    display: block;
    width: 120px;
    line-height: 0;
  }
}
/* footer
----------------------------------- */
footer {
  position: relative;
  /* contact */
}
footer .section--footer-contact {
  padding: 14vh 12% 26vh;
  overflow: hidden;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 959px) {
  footer .section--footer-contact {
    padding-top: 8vh;
  }
}
footer .section--footer-contact .section-tit .en {
  font-size: 6rem;
  left: 0;
}
@media screen and (max-width: 959px) {
  footer .section--footer-contact .section-tit .en {
    font-size: 4rem;
  }
}
footer .section--footer-contact .txt {
  margin-bottom: 4rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  footer .section--footer-contact .txt {
    font-size: 1.8rem;
  }
}
footer .section--footer-contact .btn {
  margin-bottom: 0;
  text-align: center;
}
footer .section--footer-contact .btn .btn--main {
  position: relative;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
}
@media screen and (min-width: 960px) {
  footer .section--footer-contact .btn .btn--main {
    font-size: 2rem;
    width: 40rem;
  }
  footer .section--footer-contact .btn .btn--main:hover {
    color: #a960e8;
  }
}
@media screen and (max-width: 959px) {
  footer .section--footer-contact .btn .btn--main {
    width: 100%;
  }
}
footer .section--footer-nav {
  background: #ffffff;
  padding: 6rem 7%;
  color: #3B3544;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav {
    padding: 10rem 12% 8rem;
  }
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav {
    margin: 0 0 5rem;
  }
}
footer .section--footer-nav .footer-nav li a {
  display: block;
  font-size: 1.3rem;
  text-decoration: none;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2em;
}
footer .section--footer-nav .footer-nav li a::before {
  display: none;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav li a {
    line-height: 2.5;
    font-size: 1.4rem;
    font-weight: bold;
  }
  footer .section--footer-nav .footer-nav li a:hover {
    color: #a960e8;
  }
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--top {
    display: flex;
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
    padding-bottom: 8rem;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--top .logo {
  width: 18rem;
  margin-right: 16rem;
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .logo {
    width: 14rem;
    margin: 0 0 4rem;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--top .logo a {
  display: block;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .nav {
    width: 24rem;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--top .tit {
  font-size: 1.4rem;
  font-weight: bold;
  color: #78797b;
  margin: 0 0 0.5em;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .tit {
    line-height: 2.5;
  }
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .tit {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .nav--domain .menu li a,
  footer .section--footer-nav .footer-nav .footer-nav--top .nav--purpose .menu li a {
    font-weight: normal;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--top .nav--domain,
  footer .section--footer-nav .footer-nav .footer-nav--top .nav--purpose {
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
    padding: 1.6rem 0;
  }
  footer .section--footer-nav .footer-nav .footer-nav--top #menu-footer-menu_domain {
    font-size: 1.2rem;
  }
  footer .section--footer-nav .footer-nav .footer-nav--top .nav--domain {
    border-top: 1px solid rgba(59, 53, 68, 0.15);
  }
  footer .section--footer-nav .footer-nav .footer-nav--top #menu-footer-menu_main li {
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
  }
  footer .section--footer-nav .footer-nav .footer-nav--top #menu-footer-menu_main li a {
    padding: 1.2rem 0;
    font-weight: bold;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom {
  padding-top: 3.2rem;
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .nav {
  margin-bottom: 3.2rem;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .nav {
    display: flex;
  }
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .nav {
    margin-bottom: 4rem;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .tit {
  font-size: 1.3rem;
  font-weight: bold;
  width: 16rem;
  line-height: 2.5;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .tit {
    font-size: 1.3rem;
    margin: 0 0 0.5em;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .tit a {
  text-decoration: none;
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-wrap {
  flex: 1;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-wrap > * {
    display: inline-block;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom li {
  display: inline-block;
  margin-right: 1.25em;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom li {
    margin-right: 1.75em;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom li a {
  font-size: 1.2rem;
}
@media screen and (max-width: 959px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container {
    position: relative;
    left: -1rem;
    margin: 1em 0 0;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li {
  margin: 0 0.5em 0 0;
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li a {
  line-height: 3.5em;
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li span {
  width: 2.8em;
  height: 2.8em;
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li span::before {
  left: 0.05rem;
  top: -0.25rem;
  font-size: 1.6rem;
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li span::before {
    left: 0.05rem;
    top: 0.4rem;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 960px) {
  footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container li a {
    line-height: inherit;
  }
  footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-social-menu-container a > span::before {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  }
}
footer .section--footer-nav .footer-nav .footer-nav--bottom .menu-footer-menu_support-container {
  flex: 1;
}
footer .section--footer-nav .copyright {
  opacity: 0.5;
  font-size: 1.1rem;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin-top: 4rem;
}

.open-modal .list--category {
  display: none;
}

.service-modal {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.service-modal .modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(59, 53, 64, 0.65);
}
.service-modal .modal__inner {
  color: #3B3544;
  width: 80rem;
  padding: 5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #ffffff;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .service-modal .modal__inner {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    width: 90%;
    padding: 2rem;
  }
}
.service-modal .modal__inner .tit {
  font-weight: bold;
  margin: 0 0 3.2rem;
}
@media screen and (min-width: 960px) {
  .service-modal .modal__inner .tit {
    font-size: 2rem;
  }
}
@media screen and (max-width: 959px) {
  .service-modal .modal__inner .tit {
    margin: 0 0 1.6rem;
  }
}
@media screen and (min-width: 960px) {
  .service-modal .modal__inner .list--category {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
  .service-modal .modal__inner .list--category li {
    margin: 1.5% 1.5%;
    width: 47%;
  }
}
@media screen and (max-width: 959px) {
  .service-modal .modal__inner .list--category li + li {
    margin-top: 0.5rem;
  }
}
.service-modal .modal__inner .list--category li a {
  display: block;
  height: 100%;
  width: 100%;
  text-decoration: none;
  padding: 1.6rem 2rem;
  background: #e2d9eb;
  color: #512376;
  line-height: 1.5;
  text-align: left;
  display: flex;
  align-items: center;
}
.service-modal .modal__inner .list--category dt {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.8;
}
@media screen and (max-width: 959px) {
  .service-modal .modal__inner .list--category dt {
    font-size: 1.4rem;
    display: flex;
  }
}
.service-modal .modal__inner .list--category dd {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 0.5em;
  display: none;
}
.service-modal .modal__inner .list--category span.material-icons-outlined {
  width: 3rem;
  height: 3rem;
  font-size: 1.8rem;
  line-height: 3rem;
  margin: 0 0.75em 0 0;
  color: #e2d9eb;
  background: #512376;
}
@media screen and (max-width: 959px) {
  .service-modal .modal__inner .list--category span.material-icons-outlined {
    width: 2.4rem;
    height: 2.4rem;
    line-height: 2.4rem;
    font-size: 1.2rem;
    margin-right: 1em;
  }
}
.service-modal .close {
  position: absolute;
  transition: all 0.3s;
}
@media screen and (min-width: 960px) {
  .service-modal .close {
    cursor: pointer;
    width: 3.2rem;
    height: 3.2rem;
    top: 2rem;
    right: 2.8rem;
    padding: 16px 0 0 0;
  }
}
@media screen and (max-width: 959px) {
  .service-modal .close {
    width: 3rem;
    height: 3rem;
    top: 1.5rem;
    right: 1rem;
    padding: 13px 0 0 0;
  }
}
.service-modal .close span {
  width: 3.2rem;
  display: block;
  height: 2px;
  background: #3B3544;
  transition: all 0.5s;
  position: relative;
}
@media screen and (max-width: 959px) {
  .service-modal .close span {
    width: 2rem;
  }
}
.service-modal .close span.lb {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.service-modal .close span.rb {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  top: -2px;
}

.section--service span.material-icons-outlined,
.service-modal span.material-icons-outlined {
  background: #3B3544;
  color: #ffffff;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  text-align: center;
  border-radius: 2rem;
  font-size: 2rem;
  margin-right: 1.6rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .section--service span.material-icons-outlined,
  .service-modal span.material-icons-outlined {
    width: 2.4rem;
    height: 2.4rem;
    line-height: 2.4rem;
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 960px) {
  .g-nav .menu > li:hover {
    color: #a960e8;
  }
  a:hover .icon--chevron * {
    stroke: #a960e8;
  }
}
.common-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  border-radius: 8px;
  box-sizing: border-box;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  min-width: 152px;
  box-shadow: rgba(0, 0, 0, 0.08) 0 2px 6px;
}
.common-btn__text {
  line-height: 1;
}
.common-btn__icon {
  display: block;
  line-height: 0;
}
.common-btn__icon--left {
  margin-right: 8px;
}
.common-btn__icon--right {
  margin-left: 8px;
}
.common-btn--size-normal {
  height: 64px;
  padding: 0 48px;
  font-size: 18px;
}
.common-btn--size-normal .common-btn__icon {
  font-size: 24px;
}
@media screen and (max-width: 959px) {
  .common-btn {
    height: 48px;
    padding: 0 32px;
    font-size: 14px;
  }
}
.common-btn--size-small {
  height: 48px;
  padding: 0 32px;
  font-size: 14px;
}
.common-btn--size-small .common-btn__icon {
  font-size: 18px;
}
.common-btn--color-black.common-btn--style-fill {
  background-color: #2f2f2f;
  color: #ffffff;
}
.common-btn--color-black.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-black.common-btn--style-outline {
  background-color: transparent;
  border-color: #2f2f2f;
  color: #2f2f2f;
}
.common-btn--color-black.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #2f2f2f;
}
.common-btn--color-freeza.common-btn--style-fill {
  background-color: #7800D2;
  color: #ffffff;
}
.common-btn--color-freeza.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-freeza.common-btn--style-outline {
  background-color: transparent;
  border-color: #7800D2;
  color: #7800D2;
}
.common-btn--color-freeza.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #7800D2;
}
.common-btn--color-green.common-btn--style-fill {
  background-color: #008298;
  color: #ffffff;
}
.common-btn--color-green.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-green.common-btn--style-outline {
  background-color: transparent;
  border-color: #008298;
  color: #008298;
}
.common-btn--color-green.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #008298;
}
.common-btn--color-orange.common-btn--style-fill {
  background-color: #AA6702;
  color: #ffffff;
}
.common-btn--color-orange.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-orange.common-btn--style-outline {
  background-color: transparent;
  border-color: #AA6702;
  color: #AA6702;
}
.common-btn--color-orange.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #AA6702;
}
.common-btn--color-red.common-btn--style-fill {
  background-color: #B60000;
  color: #ffffff;
}
.common-btn--color-red.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-red.common-btn--style-outline {
  background-color: transparent;
  border-color: #B60000;
  color: #B60000;
}
.common-btn--color-red.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #B60000;
}
.common-btn--color-blue.common-btn--style-fill {
  background-color: #0071EA;
  color: #ffffff;
}
.common-btn--color-blue.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-blue.common-btn--style-outline {
  background-color: transparent;
  border-color: #0071EA;
  color: #0071EA;
}
.common-btn--color-blue.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #0071EA;
}
.common-btn--color-gray.common-btn--style-fill {
  background-color: #767676;
  color: #ffffff;
}
.common-btn--color-gray.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-gray.common-btn--style-outline {
  background-color: transparent;
  border-color: #767676;
  color: #767676;
}
.common-btn--color-gray.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #767676;
}
.common-btn--color-vacan.common-btn--style-fill {
  background-color: #512376;
  color: #ffffff;
}
.common-btn--color-vacan.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-vacan.common-btn--style-outline {
  background-color: transparent;
  border-color: #512376;
  color: #512376;
}
.common-btn--color-vacan.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #512376;
}
.common-btn--color-white.common-btn--style-fill {
  background-color: #ffffff;
  color: #ffffff;
}
.common-btn--color-white.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-white.common-btn--style-outline {
  background-color: transparent;
  border-color: #ffffff;
  color: #ffffff;
}
.common-btn--color-white.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #ffffff;
}
.common-btn--color-yellow.common-btn--style-fill {
  background-color: #FFD03F;
  color: #ffffff;
}
.common-btn--color-yellow.common-btn--style-fill.common-btn--color-yellow {
  color: #2f2f2f;
}
.common-btn--color-yellow.common-btn--style-outline {
  background-color: transparent;
  border-color: #FFD03F;
  color: #FFD03F;
}
.common-btn--color-yellow.common-btn--style-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #FFD03F;
}
.common-btn:hover {
  opacity: 0.8;
}
/* top-page
----------------------------------- */
body.home .bg {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: linear-gradient(191.81deg, #FF8B8B -8.34%, #FFAB5E 105.72%);
}
body.home .container {
  padding: 0;
}
body.home .container > .bg-pattern {
  display: none;
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv {
    padding: 4rem 7%;
    min-height: auto;
  }
}
body.home .section--main.section--kv {
  position: relative;
  background: #ffffff;
  padding: 8rem 10%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 960px) {
  body.home .section--main.section--kv {
    max-width: 160rem;
    height: auto;
    min-height: 64vh;
    margin: 0 auto;
  }
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv {
    min-height: 85vh;
    min-height: calc(100vh - 92px - 60px);
    min-height: calc(var(--vh, 1vh) * 100 - 92px - 60px);
    padding-bottom: 0;
  }
}
body.home .section--main.section--kv .inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
body.home .section--main.section--kv .inner .kv {
  position: absolute;
  line-height: 0;
  z-index: -2;
}
@media screen and (min-width: 960px) {
  body.home .section--main.section--kv .inner .kv {
    right: -64%;
    top: 45%;
    transform: translate(-50%, -50%);
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv .inner .kv {
    width: 200%;
    transform: translate(-15%, -55%);
  }
}
body.home .section--main.section--kv .inner .copy {
  position: relative;
  z-index: 2;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  body.home .section--main.section--kv .inner .copy {
    line-height: 1.45;
    letter-spacing: 0.1em;
    font-size: 4vw;
    font-size: calc(16px + 30 * (100vw - 320px) / 680);
  }
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv .inner .copy {
    font-size: 9.6vw;
    line-height: 1.4em;
  }
}
body.home .section--main.section--kv .inner .copy span {
  display: block;
  font-size: calc(12px + 2 * (100vw - 320px) / 680);
  line-height: 1.5;
  margin-top: 24px;
  padding-left: 0.3em;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv .inner .copy span {
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv .inner .copy .btn--main {
    margin-top: 16px;
  }
}
body.home .section--main.section--kv .inner .section--main--cta {
  display: flex;
  flex-direction: row;
  gap: 8px;
  position: relative;
  z-index: 2;
}
body.home .section--main.section--kv .inner .section--main--cta a.btn--main, body.home .section--main.section--kv .inner .section--main--cta a.btn--sub {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  position: relative;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  width: -moz-fit-content;
  width: fit-content;
  height: 56px;
  min-width: auto;
  font-size: calc(14px + 2 * (100vw - 320px) / 680);
  line-height: 2rem;
}
@media screen and (max-width: 959px) {
  body.home .section--main.section--kv .inner .section--main--cta a.btn--main, body.home .section--main.section--kv .inner .section--main--cta a.btn--sub {
    font-size: calc(12px + 2 * (100vw - 320px) / 680);
  }
}
body.home .section--main.section--kv .inner .section--main--cta a.btn--sub {
  background: #ffffff;
}
body.home .section--main.section--kv .inner .section--main--cta a .btn--balloon {
  text-wrap: nowrap;
  font-size: calc(11px + 2 * (100vw - 320px) / 680);
  position: absolute;
  display: block;
  top: -22px;
  left: 50%;
  right: 0;
  transform: translateX(-50%);
  width: -moz-fit-content;
  width: fit-content;
  color: #512376;
  padding: 0;
  margin: 0;
}
body.home .section--main.section--kv .inner .section--main--cta a .btn--balloon::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  transform: rotate(-45deg);
  background: #512376;
  top: 4px;
  bottom: 0;
  left: -8px;
}
body.home .section--main.section--kv .inner .section--main--cta a .btn--balloon::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  transform: rotate(45deg);
  background: #512376;
  top: 4px;
  bottom: 0;
  right: -8px;
}
body.home .section--main.section--kv .inner .section--main--cta a .btn--icon {
  width: 20px;
  height: 20px;
}
body.home .section-tit:not(.section-tit--footer) span.en {
  font-size: 4.8rem;
}
@media screen and (max-width: 959px) {
  body.home .section-tit:not(.section-tit--footer) span.en {
    font-size: 2.8rem;
  }
}
body.home .section-tit:not(.section-tit--footer) span.jp {
  position: relative;
  margin-top: 1.6em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.home .section-tit:not(.section-tit--footer) span.jp {
    margin-top: 1em;
  }
}
body.home .section-tit:not(.section-tit--footer) small {
  display: inline-block;
  z-index: 1;
  padding: 0 1em 0 0;
  position: relative;
  white-space: nowrap;
}
body.home .section-tit:not(.section-tit--footer) span.jp::after {
  content: "";
  height: 1px;
  width: 100%;
  background: #3B3544;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
body.home .section-tit--sub {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1em;
  position: relative;
}
@media screen and (max-width: 959px) {
  body.home .section-tit--sub {
    font-size: 1.8rem;
  }
}
body.home .top-news {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  z-index: 100;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  body.home .top-news {
    width: 80%;
    margin: 0 10%;
  }
}
body.home .top-news a {
  display: block;
  background: #3B3544;
  display: flex;
  text-decoration: none;
  color: #ffffff;
  padding: 0.8em 2em;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  body.home .top-news a {
    font-size: 1.2rem;
    padding: 0 2.4rem;
    height: 6rem;
    line-height: 6rem;
  }
}
body.home .top-news a:hover {
  background: #a960e8;
}
body.home .top-news .tit {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  margin-right: 8rem;
  font-weight: 500;
}
body.home .top-news .date {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.15em;
  margin-right: 4rem;
  position: relative;
  font-weight: 500;
}
body.home .top-news .date::after {
  content: "";
  height: 0.85em;
  width: 1px;
  background: #fff;
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-50%) rotate(25deg);
}
body.home .top-news .icon--chevron {
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
  body.home .top-news .icon--chevron {
    height: 0.8rem;
    right: 2.4rem;
  }
}
body.home .top-news .icon--chevron path {
  stroke: #fff;
}
body.home {
  /* scroll animation */
}
body.home .c-scrolldown {
  width: 1px;
  height: 14vh;
  position: absolute;
  bottom: 0;
  left: 50%;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
body.home .c-scrolldown .c-line {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to bottom, #3B3544 50%, rgba(255, 255, 255, 0) 50%);
  background-position: 0 -14vh;
  background-size: 100% 200%;
  animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@keyframes scrolldown {
  0% {
    background-position: 0 -14vh;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 14vh;
  }
}
body.home.scrolled .c-scrolldown {
  opacity: 0;
}
@media screen and (min-width: 960px) {
  body.home .section--service {
    padding-top: 0;
    padding-bottom: 12rem;
  }
}
body.home .section--service .bg-pattern01 {
  top: 27rem;
}
@media screen and (max-width: 959px) {
  body.home .section--service .bg-pattern01 {
    top: 19rem;
  }
}
body.home .section--service .bg-pattern02 {
  top: 81rem;
}
@media screen and (max-width: 959px) {
  body.home .section--service .bg-pattern02 {
    top: 64rem;
  }
}
body.home .section--service .ph {
  position: absolute;
  right: 7vw;
  top: 0rem;
  width: 39vw;
  max-width: 56rem;
  z-index: 1;
}
body.home .section--service .ph img {
  clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
}
body.home .section--service .ph .back {
  width: 100%;
  position: absolute;
}
body.home .section--service .area--genre {
  margin-bottom: 8rem;
}
@media screen and (min-width: 960px) {
  body.home .section--service .area--genre .list--genre {
    width: 39vw;
  }
}
body.home .section--service .area--genre .list--genre {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
body.home .section--service .area--genre .list--genre li {
  width: 49%;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 959px) {
  body.home .section--service .area--genre .list--genre li {
    margin-bottom: 1.5vw;
  }
}
body.home .section--service .area--genre .list--genre li a {
  display: block;
  height: 100%;
  padding: 1.2rem 1.6rem;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  text-decoration: none;
  background: #ffffff;
  font-weight: bold;
  line-height: 1.2em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.home .section--service .area--genre .list--genre li a {
    font-size: 1.4rem;
  }
}
body.home .section--service .area--genre .list--genre li a span.txt {
  margin: 0;
}
body.home .section--service .area--genre .list--genre li a span.txt small {
  position: relative;
  top: -0.1em;
}
@media screen and (max-width: 959px) {
  body.home .section--service .area--genre .list--genre li a span.txt small {
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin-top: 0.5em;
  }
}
body.home .section--service .area--genre .list--genre li a:hover .material-icons-outlined {
  background: #a960e8;
}
@media screen and (min-width: 960px) {
  body.home .section--service .area--genre .more {
    text-align: left;
  }
}
body.home .section--service .area--genre .more {
  margin-top: 1.2rem;
}
@media screen and (min-width: 960px) {
  body.home .section--service .area--purpose .list--card li a {
    text-align: center;
  }
}
body.home .section--service .area--purpose .list--card li a {
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  body.home .section--service .area--purpose .list--card > li:not(:last-child) {
    margin-bottom: 1.5vw;
  }
  body.home .section--service .area--purpose .list--card a {
    display: flex;
    align-items: center;
  }
  body.home .section--service .area--purpose .list--card .tit {
    font-size: 1.4rem;
  }
  body.home .section--service .area--purpose .list--card .thumb {
    width: 8rem;
    height: 8rem;
  }
  body.home .section--service .area--purpose .list--card .thumb img {
    height: 100%;
    aspect-ratio: unset;
  }
  body.home .section--service .area--purpose .list--card .inner {
    padding: 0 1.6rem;
    flex: 1;
  }
}
@media screen and (min-width: 960px) {
  body.home .section--service .area--purpose .more {
    margin-top: 0;
  }
}
@media screen and (max-width: 959px) {
  body.home .section--service .area--purpose .more {
    margin-top: 2.4rem;
  }
}
body.home .section--partner {
  position: relative;
  z-index: 2;
  padding: 8rem 0;
}
@media screen and (min-width: 960px) {
  body.home .section--partner .section-tit {
    margin-bottom: 18rem;
  }
}
@media screen and (max-width: 959px) {
  body.home .section--partner {
    padding: 8rem 0 4rem;
  }
}
body.home .section--partner .partner-tit {
  font-size: 2rem;
  text-align: center;
  margin-top: 0;
  margin-bottom: 3rem;
}
@media screen and (max-width: 959px) {
  body.home .section--partner .partner-tit {
    font-size: 1.4rem;
  }
}
body.home .section--partner .splide__slide img {
  height: auto;
  width: 100%;
}
body.home .section--partner .splide__track,
body.home .section--partner .splide__list {
  transition: transform 0s !important; /* Disable transition on transform */
}
body.home .section--partner .splide {
  margin-bottom: 1rem;
}
@media screen and (max-width: 959px) {
  body.home .section--partner .splide {
    margin-bottom: 0.8rem;
  }
}
body.home .section--partner #splide-3 {
  display: none;
}
body.home .section--case .list-case-wrap {
  width: calc(100vw - 10%);
  overflow: scroll;
}
body.home .section--case .list-case-wrap::-webkit-scrollbar {
  display: none;
}
body.home .section--case .list-case-wrap .list--case {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 24px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 96px 0 0;
}
@media screen and (max-width: 959px) {
  body.home .section--case .list-case-wrap .list--case {
    padding: 0 24px 0 0;
  }
}
body.home .section--case .list-case-wrap .list--case > li {
  width: 100%;
  min-width: 480px;
}
@media screen and (max-width: 959px) {
  body.home .section--case .list-case-wrap .list--case > li {
    min-width: 280px;
  }
}
body.home .section--case .list-case-wrap .list--case > li > a {
  text-decoration: none;
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner {
  position: relative;
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .numb {
  position: absolute;
  right: 2rem;
  top: 0;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  line-height: 1.3;
}
@media screen and (max-width: 959px) {
  body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .numb {
    font-size: 3.2rem;
    line-height: 1;
    right: 0;
  }
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .numb::before {
  content: "";
  height: 0.8em;
  width: 1px;
  background: #3B3544;
  position: absolute;
  left: -0.55em;
  top: 58%;
  transform: translateY(-50%) rotate(25deg);
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .tit {
  font-weight: bold;
  margin: 0 0 3.2rem;
  font-size: 2rem;
  line-height: 1.6;
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .tit span {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 0.75em;
}
@media screen and (max-width: 959px) {
  body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .tit span {
    font-size: 1.5rem;
  }
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .inner .txt {
  font-size: 1.4rem;
  min-height: 128px;
}
body.home .section--case .list-case-wrap .list--case > li .inner-wrap .thumb {
  overflow: hidden;
}
body.home .section--column .bg-pattern {
  top: 24rem;
}
@media screen and (min-width: 960px) {
  body.home .section--column .more {
    margin-top: 0;
  }
}
body.home .section--info {
  padding-top: 0;
}
body.home .section--info .bg-pattern {
  top: 30rem;
}
body.home .section--info .list--txt {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
body.home.under-firstview .top-news {
  transform: translateY(100%);
}

/* service
----------------------------------- */
.section--service .logo {
  width: 64%;
  margin: 7rem auto 4rem;
  line-height: 0;
}
@media screen and (min-width: 960px) {
  .section--service .logo {
    width: 32%;
    margin: 0 auto 5rem;
  }
}
.section--service .catch {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: bold;
  margin-bottom: 8rem;
}
@media screen and (min-width: 960px) {
  .section--service .catch {
    font-size: 6vw;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 14rem;
  }
}
.section--service .area-tit {
  letter-spacing: 0.1em;
  margin: 0 0 3rem;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .section--service .area-tit {
    font-size: 3.2rem;
  }
}
.section--service .area--capability {
  margin: 0 0 10rem;
}
@media screen and (min-width: 960px) {
  .section--service .area--capability {
    margin: 0 0 15rem;
    text-align: center;
  }
}
.section--service .area--capability .txt,
.section--service .area--capability .list--links {
  font-size: 1.8rem;
  line-height: 1.8;
}
.section--service .list--vacan-features {
  text-align: left;
  margin: 0 0 5rem;
}
.section--service .list--vacan-features li {
  border: 1px solid;
  background: #fff;
  padding: 1.5em;
}
@media screen and (min-width: 960px) {
  .section--service .list--vacan-features li {
    display: flex;
    align-items: center;
  }
}
.section--service .list--vacan-features li + li {
  margin-top: 2rem;
}
.section--service .list--vacan-features .numb {
  font-size: 6vw;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.05em;
  display: inline-block;
  color: #78797b;
  opacity: 0.5;
  font-weight: bold;
  width: 1.75em;
}
@media screen and (min-width: 960px) {
  .section--service .list--vacan-features .numb {
    text-align: center;
    width: 2.5em;
    flex-shrink: 0;
    font-size: 2em;
  }
}
.section--service .list--vacan-features .tit {
  display: inline-block;
  font-weight: bold;
  font-size: 5vw;
}
@media screen and (min-width: 960px) {
  .section--service .list--vacan-features .tit {
    font-size: 2.4rem;
    width: 12em;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 959px) {
  .section--service .list--vacan-features .tit {
    margin-bottom: 0.5em;
  }
}
.section--service .list--vacan-features .txt {
  margin: 0;
}
@media screen and (max-width: 959px) {
  .section--service .list--vacan-features .txt {
    display: block;
  }
}
.section--service .list__tit {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 4rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .section--service .list__tit {
    margin-bottom: 6rem;
    font-size: 3.2rem;
  }
}
.section--service .list__tit span {
  display: block;
  font-size: 2em;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.05em;
}
.section--service .list--category > li + li {
  margin-top: 8rem;
}

/* common
----------------------------------- */
.page-template-template-service-detail .container {
  padding: 0;
}
.page-template-template-service-detail .bg-pattern,
.page-template-template-service-detail .side-cell,
.page-template-template-service-detail .section--footer-contact,
.page-template-template-service-detail .floating-btn {
  display: none;
}

.service-detail .list--1col li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .service-detail .list--1col li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .list--1col li .tit {
    font-size: 1.4em;
  }
}
.service-detail .list--1col li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.service-detail .list--1col li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .service-detail .list--1col li + li {
    margin-top: 7rem;
  }
}
.service-detail .list--1col .ph {
  margin-bottom: 2.5rem;
}
.service-detail .list--1col .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .service-detail .list--1col > li {
    display: flex;
    justify-content: space-between;
  }
  .service-detail .list--1col > li .ph {
    flex-basis: 30%;
    margin-right: 3rem;
    margin-bottom: 0;
  }
  .service-detail .list--1col li + li {
    margin-top: 7rem;
  }
  .service-detail .list--1col .txt-side {
    flex-basis: 65%;
  }
}
.service-detail .list--2col li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .service-detail .list--2col li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .list--2col li .tit {
    font-size: 1.4em;
  }
}
.service-detail .list--2col li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.service-detail .list--2col li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .service-detail .list--2col li + li {
    margin-top: 7rem;
  }
}
.service-detail .list--2col .ph {
  margin-bottom: 2.5rem;
}
.service-detail .list--2col .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .service-detail .list--2col {
    display: flex;
    justify-content: space-between;
  }
  .service-detail .list--2col > li {
    width: 47.5%;
  }
}
.service-detail .list--3col li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .service-detail .list--3col li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .list--3col li .tit {
    font-size: 1.4em;
  }
}
.service-detail .list--3col li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.service-detail .list--3col li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .service-detail .list--3col li + li {
    margin-top: 7rem;
  }
}
.service-detail .list--3col .ph {
  margin-bottom: 2.5rem;
}
.service-detail .list--3col .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .service-detail .list--3col {
    display: flex;
    justify-content: space-between;
  }
  .service-detail .list--3col > li {
    width: 30%;
  }
}
.service-detail .list--4col li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .service-detail .list--4col li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .list--4col li .tit {
    font-size: 1.4em;
  }
}
.service-detail .list--4col li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.service-detail .list--4col li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .service-detail .list--4col li + li {
    margin-top: 7rem;
  }
}
.service-detail .list--4col .ph {
  margin-bottom: 2.5rem;
}
.service-detail .list--4col .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .service-detail .list--4col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .service-detail .list--4col > li {
    width: 47.5%;
  }
  .service-detail .list--4col > li:nth-child(1), .service-detail .list--4col > li:nth-child(2) {
    margin-bottom: 7rem;
  }
}
.service-detail .area {
  padding-left: 7%;
  padding-right: 7%;
}
@media screen and (min-width: 960px) {
  .service-detail .area {
    padding-left: 10%;
    padding-right: 10%;
  }
}
.service-detail .area {
  padding-top: 8rem;
  padding-bottom: 8rem;
  overflow: hidden;
  position: relative;
  font-size: 1.6rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
.service-detail .area .area-tit {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 2em;
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  .service-detail .area .area-tit {
    font-size: 3.2rem;
    text-align: center;
  }
}
.service-detail .area .area-tit--sub {
  margin-bottom: 3rem;
  font-weight: bold;
  font-size: 1.4em;
  border-bottom: 1px solid;
}
@media screen and (min-width: 960px) {
  .service-detail .area .area-tit--sub {
    font-size: 1.6em;
  }
}
.service-detail .area .area-lead {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: -1.5em;
  margin-bottom: 4em;
}
@media screen and (min-width: 960px) {
  .service-detail .area .area-lead {
    text-align: center;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area .btn {
    text-align: left;
  }
}
.service-detail .area .btn--main {
  padding: 1.2em 2em;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .service-detail .area .btn--main {
    font-size: 1.8rem;
    padding: 1.25em 3em;
  }
}
.service-detail .area--top {
  padding: 0;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top {
    min-height: 70vh;
    display: flex;
    justify-content: space-between;
  }
}
.service-detail .area--top .inner--text {
  padding-left: 7%;
  padding-right: 7%;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .inner--text {
    padding-left: 10%;
    padding-right: 10%;
  }
}
.service-detail .area--top .inner--text {
  padding-top: 10rem;
  padding-bottom: 5rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .inner--text {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
}
.service-detail .area--top .inner--text {
  display: flex;
  align-items: center;
  flex-basis: 60%;
}
.service-detail .area--top .inner--ph {
  background: no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .inner--ph {
    flex-basis: 40%;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--top .inner--ph {
    height: 50vh;
    width: 100%;
  }
}
.service-detail .area--top .page-tit {
  margin: 0 0 5rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit {
    margin-bottom: 3.5rem;
  }
}
.service-detail .area--top .page-tit img {
  height: 6rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit img {
    height: 8rem;
  }
}
.service-detail .area--top .page-tit span {
  display: inline-block;
  position: relative;
  padding: 0 1.25em;
  letter-spacing: 0.15em;
  font-size: 1.8rem;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit span {
    font-size: 2rem;
  }
}
.service-detail .area--top .page-tit span::before, .service-detail .area--top .page-tit span::after {
  content: "";
  width: 0.5em;
  height: 2px;
  background: #3B3544;
  position: absolute;
  top: 50%;
}
.service-detail .area--top .page-tit span::before {
  left: 0;
}
.service-detail .area--top .page-tit span::after {
  right: 0;
}
.service-detail .area--top .lead {
  font-size: 6vw;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .lead {
    font-size: 2.75vw;
  }
}
.service-detail .area--top .lead {
  font-weight: bold;
  line-height: 1.55;
  margin-bottom: 1em;
}
.service-detail .area--top .page-tit--txt-logo {
  font-size: 14vw;
  line-height: 1.3;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit--txt-logo {
    font-size: 5.25vw;
  }
}
.service-detail .area--top .page-tit--no-logo {
  font-size: 10vw;
  line-height: 1.3;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit--no-logo {
    font-size: 4.25vw;
  }
}
.service-detail .area--top .page-tit--no-logo + .lead {
  font-size: 4vw;
  margin: -1.75em 0px 2.5em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top .page-tit--no-logo + .lead {
    font-size: 1.9vw;
    margin: -0.6em 0 2.25em;
  }
}
.service-detail .area--top .btn {
  text-align: left;
}
.service-detail .area--about {
  background: #3B3544;
  color: #ffffff;
  line-height: 2em;
  overflow: hidden;
}
.service-detail .area--about .area-tit {
  text-align: left;
}
@media screen and (min-width: 960px) {
  .service-detail .area--about .about__ph {
    width: 36%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--about .about__ph {
    width: 80%;
    margin: 4rem auto 0;
  }
}
.service-detail .area--about .txt {
  position: relative;
  z-index: 1;
}
.service-detail .area--about .txt:not(:last-of-type) {
  margin-bottom: 1.5em;
}
.service-detail .area--box {
  background: #f2f1f5;
}
.service-detail .area--box .list--box > li {
  background: #fff;
}
.service-detail .area--box .list--box > li + li {
  margin-top: 4rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li + li {
    margin-top: 8rem;
  }
}
.service-detail .area--box .list--box > li > .tit {
  position: relative;
  background: #3B3544;
  color: #ffffff;
  padding: 2rem 2rem 4rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li > .tit {
    padding: 5rem 8rem;
  }
}
.service-detail .area--box .list--box > li > .tit .numb {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 5em;
  line-height: 1em;
  width: 12rem;
  display: block;
  margin-bottom: 0.3em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li > .tit .numb {
    text-align: center;
    font-size: 8em;
    position: absolute;
    top: 50%;
    left: 8rem;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li > .tit .txt-side {
    padding-left: 14rem;
  }
}
.service-detail .area--box .list--box > li > .tit .txt-side dt {
  line-height: 1.5;
  font-weight: bold;
  font-size: 2.4rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li > .tit .txt-side dt {
    font-size: 2.8rem;
  }
}
.service-detail .area--box .list--box > li > .tit .txt-side dd {
  margin-top: 1em;
}
.service-detail .area--box .list--box > li .block--place {
  padding: 4rem 2rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .block--place {
    padding: 5rem 8rem 6rem;
  }
}
.service-detail .area--box .list--box > li .block--place .list--2col .ph {
  margin-bottom: 1.5rem;
}
.service-detail .area--box .list--box > li .block--place .list--2col .tit {
  margin-bottom: 0.25rem;
}
@media screen and (max-width: 959px) {
  .service-detail .area--box .list--box > li .block--place .list--2col li + li {
    margin-top: 3.5rem;
  }
}
.service-detail .area--box .list--box > li .tit--sub {
  font-size: 2.4rem;
  margin: 0 0 1.5em;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .tit--sub {
    font-size: 2.6rem;
  }
}
.service-detail .area--box .list--box > li .box__feature {
  padding: 4rem 2rem 2rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4rem 8rem;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature .ph {
    flex-basis: 30%;
  }
}
.service-detail .area--box .list--box > li .box__feature .ph img {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
  height: 44vw;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature .ph img {
    height: 100%;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature .txt-side {
    flex-basis: 70%;
    padding-right: 8rem;
  }
}
.service-detail .area--box .list--box > li .box__feature .logo {
  height: 3rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature .logo {
    height: 4rem;
  }
}
.service-detail .area--box .list--box > li .box__feature .logo--txt {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box .list--box > li .box__feature .logo--txt {
    font-size: 3.8rem;
  }
}
.service-detail .area--box .list--box > li .box__feature .txt {
  margin: 2rem 0 0;
}
@media screen and (max-width: 959px) {
  .service-detail .area--box .list--box > li .box__feature .ph {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--features {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--features {
    display: flex;
    justify-content: space-between;
  }
}
.service-detail .area--features .area-tit {
  text-align: left;
}
.service-detail .area--features .inner--text {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--features .inner--text {
    padding-left: 12%;
    flex-basis: 70%;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--features .inner--ph {
    flex-basis: 30%;
  }
}
.service-detail .area--features .inner--ph {
  background: #6a4a86;
}
@media screen and (max-width: 959px) {
  .service-detail .area--features .inner--ph {
    height: 30rem;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
}
.service-detail .area--features .inner--ph img {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
  mix-blend-mode: hard-light;
}
@media screen and (max-width: 959px) {
  .service-detail .area--features .list--features {
    padding-left: 1em;
  }
}
.service-detail .area--features .list--features dt {
  font-size: 2.4rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--features .list--features dt {
    font-size: 2.8rem;
  }
}
.service-detail .area--features .list--features dt {
  font-weight: bold;
  line-height: 1.55;
  margin: 0 0 0.25em;
  position: relative;
}
.service-detail .area--features .list--features dt::before {
  content: "";
  width: 3px;
  height: 2.25em;
  background: #a960e8;
  position: absolute;
  left: -0.6em;
  top: -1em;
  transform: rotate(26deg);
}
@media screen and (min-width: 960px) {
  .service-detail .area--features .list--features dt::before {
    width: 5px;
    height: 2em;
    left: -1.25em;
    top: -0.3em;
  }
}
.service-detail .area--features .list--features dd:not(:last-child) {
  margin-bottom: 3em;
}
.service-detail .area--place {
  background: #3B3544;
  color: #ffffff;
}
.service-detail .area--contact {
  background: #512376;
  color: #ffffff;
}
.service-detail .area--contact .area-tit {
  margin-bottom: 1.25em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--contact .txt {
    text-align: center;
  }
}
.service-detail .area--contact .txt {
  margin-bottom: 2em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--contact .btn {
    text-align: center;
  }
}
.service-detail .area--contact .btn--main {
  background: #ffffff;
  color: #512376;
}
@media screen and (min-width: 960px) {
  .service-detail .area--contact .btn--main:hover {
    color: #a960e8;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--contact .btn--back {
    text-align: center;
  }
  .service-detail .area--contact .btn--back a:hover {
    color: inherit;
  }
}
.service-detail .area--contact .btn--back .icon--chevron path {
  stroke: #ffffff;
}
.service-detail .area--contact:not(:last-of-type) .btn--back {
  display: none;
}
.service-detail .area--top--full-sc {
  min-height: 76vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-detail .area--top--full-sc::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background: no-repeat center;
  background-size: cover;
}
.service-detail .area--top--full-sc .bg-design li {
  position: absolute;
  height: 80%;
  mix-blend-mode: color-dodge;
}
.service-detail .area--top--full-sc .bg-design li.bg-design--left {
  left: 0;
  bottom: 0;
}
.service-detail .area--top--full-sc .bg-design li.bg-design--right {
  top: 0;
  right: 0;
  transform: scale(-1, -1);
}
.service-detail .area--top--full-sc .bg-design li img {
  height: 100%;
}
.service-detail .area--top--full-sc .inner {
  font-weight: bold;
  position: relative;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .inner {
    width: 100%;
    padding: 0;
    max-width: 960px;
    margin: auto;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--top--full-sc .top__ph {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .top__ph {
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 270px;
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.2));
  }
}
.service-detail .area--top--full-sc .txt-side {
  background: #ffffff;
  border-radius: 2.5rem;
  padding: 5rem 3rem;
}
@media screen and (max-width: 959px) {
  .service-detail .area--top--full-sc .txt-side {
    text-align: center;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .txt-side {
    padding: 70px;
    padding-left: 177px;
    margin-left: 150px;
  }
}
.service-detail .area--top--full-sc .catch {
  font-size: 1.6rem;
  position: relative;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .catch {
    font-size: 2.2rem;
  }
}
.service-detail .area--top--full-sc .catch span {
  display: inline-block;
  position: relative;
  background: #ffffff;
  padding: 0 0.5em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .catch span {
    padding: 0 1em 0 0;
  }
}
.service-detail .area--top--full-sc .catch::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  margin-top: -2px;
  background: #3B3544;
}
.service-detail .area--top--full-sc .lead {
  font-size: 7.5vw;
  line-height: 1.5em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .lead {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--top--full-sc .btn {
    margin: 2rem 0 0;
    text-align: center;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--top--full-sc .btn {
    margin: 3rem 0 0;
  }
}
.service-detail .area--top--full-sc .top__chevron {
  position: absolute;
  bottom: 3vh;
  width: 2.5rem;
}
.service-detail .area--logo {
  background: #fff;
}
.service-detail .area--logo .area-tit {
  font-weight: 500;
  text-align: center;
  font-size: 2.4rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--logo .area-tit {
    font-size: 2.8rem;
  }
}
.service-detail .area--logo .list--logo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 0;
  margin-bottom: -3rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--logo .list--logo {
    margin-bottom: -5rem;
  }
}
.service-detail .area--logo .list--logo li {
  width: 48%;
  padding: 0 4% 3rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--logo .list--logo li {
    width: 25%;
    padding-bottom: 5rem;
  }
}
.service-detail .area--issue-solution {
  position: relative;
}
.service-detail .area--issue-solution::before {
  content: "";
  width: 100%;
  height: 100%;
  filter: grayscale(1);
  background: no-repeat center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.service-detail .area--issue-solution::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
.service-detail .area--issue {
  position: relative;
  z-index: 1;
  line-height: 2em;
  text-align: left;
  color: #ffffff;
  padding-bottom: 0;
}
.service-detail .area--issue .area-tit {
  text-align: left;
  margin-bottom: 1em;
}
.service-detail .area--solution {
  position: relative;
  z-index: 1;
  overflow: visible;
}
.service-detail .area--solution .area__inner {
  line-height: 2em;
  padding: 3rem 7vw;
  margin: 0 auto;
  width: 100%;
  background: #ffffff;
  border-radius: 1rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--solution .area__inner {
    width: 100%;
    padding: 7rem 5vw;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--solution .flex-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.service-detail .area--solution .area-tit {
  text-align: left;
  margin-bottom: 1em;
  color: #512376;
}
@media screen and (min-width: 960px) {
  .service-detail .area--solution .ph {
    flex-basis: 30%;
    align-self: stretch;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--solution .ph {
    margin-top: 3rem;
  }
}
.service-detail .area--solution .ph img {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 960px) {
  .service-detail .area--solution .ph img {
    height: 100%;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--solution .txt-side {
    flex-basis: 70%;
    padding-right: 7rem;
  }
}
.service-detail .area--expansion {
  padding-top: 2rem;
}
@media screen and (max-width: 959px) {
  .service-detail .area--expansion .list--3col {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 959px) and (min-width: 559px) and (max-width: 959px) {
  .service-detail .area--expansion .list--3col {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--expansion .list--3col li {
    margin-top: 0;
  }
}
@media screen and (max-width: 959px) and (min-width: 559px) and (max-width: 959px) {
  .service-detail .area--expansion .list--3col li + li {
    margin-left: 4rem;
  }
}
.service-detail .area--expansion .wrapper {
  overflow: hidden;
  margin: auto;
  background-color: #F4F0E9;
  border-radius: 1rem;
}
@media screen and (max-width: 959px) {
  .service-detail .area--expansion .wrapper {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--expansion .flex-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.service-detail .area--expansion .txt-side {
  margin: auto;
  padding: 20px;
}
@media screen and (min-width: 960px) {
  .service-detail .area--expansion .txt-side {
    padding: 5%;
  }
}
.service-detail .area--expansion .area-tit {
  text-align: center;
  margin-bottom: 5rem;
  color: #512376;
}
.service-detail .area--expansion .tit {
  font-weight: bold;
  margin-bottom: 1em;
  font-size: 1.6em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--expansion .tit {
    font-size: 1.4em;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--expansion .ph {
    flex-basis: 47%;
    align-self: center;
  }
}
.service-detail .area--expansion .ph img {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
}
.service-detail .area--box--ver2 {
  background: #3B3544;
  color: #ffffff;
}
.service-detail .area--box--ver2 .area-tit + .txt {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: -1.5em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .area-tit + .txt {
    text-align: center;
  }
}
.service-detail .area--box--ver2 .list--parent {
  margin-top: 10rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--parent {
    padding-bottom: 13rem;
  }
}
.service-detail .area--box--ver2 .list--parent > li {
  position: relative;
}
.service-detail .area--box--ver2 .list--parent > li + li {
  margin-top: 10rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--parent > li + li {
    margin-top: 20rem;
  }
}
.service-detail .area--box--ver2 .list--parent .parent__tit {
  font-size: 2.4rem;
  border-bottom: 1px solid;
  letter-spacing: 0.15em;
  position: relative;
}
@media screen and (max-width: 959px) {
  .service-detail .area--box--ver2 .list--parent .parent__tit {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--parent .parent__tit {
    position: absolute;
    top: 0;
    width: 100%;
    font-size: 3.2rem;
  }
}
.service-detail .area--box--ver2 .list--parent .ph--bg {
  position: absolute;
  top: -3rem;
  right: -10%;
  width: 120%;
  height: 30%;
  background: #040106;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--parent .ph--bg {
    background: #150325;
    top: 10rem;
    right: auto;
    left: 0;
    height: 100%;
    width: 100%;
  }
}
.service-detail .area--box--ver2 .list--parent .ph--bg img {
  width: 100%;
  height: 100%;
  background: no-repeat center;
  background-size: cover;
  mix-blend-mode: luminosity;
  opacity: 0.25;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--parent .ph--bg img {
    opacity: 0.5;
  }
}
.service-detail .area--box--ver2 .list--box {
  position: relative;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--box {
    width: 80%;
    right: -26vw;
  }
}
.service-detail .area--box--ver2 .list--box > li {
  background: #000;
  padding: 2.5rem 3rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--box > li {
    padding: 4rem 5rem;
  }
}
.service-detail .area--box--ver2 .list--box > li + li {
  margin-top: 1rem;
}
.service-detail .area--box--ver2 .list--box .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--box .tit {
    font-size: 1.4em;
  }
}
.service-detail .area--box--ver2 .list--box .tit--logo {
  line-height: 0;
  padding: 0.5em 0;
}
.service-detail .area--box--ver2 .list--box .tit--logo img {
  height: 1.25em;
}
.service-detail .area--box--ver2 .list--box .btn {
  margin-bottom: 0;
  margin-top: 1.5em;
}
.service-detail .area--box--ver2 .list--box .btn--main {
  background: #ccc;
  min-width: unset;
  padding: 0.5em 3em;
  color: #3B3544;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .service-detail .area--box--ver2 .list--box .btn--main:hover {
    background: #ffffff;
  }
}
.service-detail .area--review {
  background: #f2f1f5;
}
.service-detail .area--review .list--review li {
  background: #ffffff;
  border-radius: 1.5rem;
}
@media screen and (max-width: 959px) {
  .service-detail .area--review .list--review li + li {
    margin-top: 3rem;
  }
}
.service-detail .area--review .list--review li .inner {
  position: relative;
  padding: 3rem;
}
@media screen and (min-width: 960px) {
  .service-detail .area--review .list--review li .inner {
    padding: 3em;
  }
}
.service-detail .area--review .list--review li .icon--user {
  position: absolute;
  width: 5.5rem;
  top: -2rem;
  left: -2rem;
  border: 4px solid #ffffff !important;
  border-radius: 100px;
}
@media screen and (min-width: 960px) {
  .service-detail .area--review .list--review li .icon--user {
    width: 4.5em;
    top: -10%;
    left: -7%;
  }
}
.service-detail .area--review .list--review li .icon--quote {
  position: absolute;
  width: 16%;
  right: 5%;
  bottom: 5%;
  opacity: 0.1;
}
@media screen and (min-width: 960px) {
  .service-detail .area--review > .txt--sub {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
  }
}
@media screen and (max-width: 959px) {
  .service-detail .area--review > .txt--sub {
    margin-top: 3rem;
  }
}
.service-detail {
  /* delighter　before */
}
.service-detail .delighter.area-tit,
.service-detail .delighter .area__inner,
.service-detail .delighter .inner--text {
  transform: translateY(5rem);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  .service-detail .delighter.area-tit,
  .service-detail .delighter .area__inner,
  .service-detail .delighter .inner--text {
    transform: translateY(10rem);
  }
}
.service-detail {
  /* delighter　after */
}
.service-detail .delighter.started.area-tit,
.service-detail .delighter.started .area__inner,
.service-detail .delighter.started .inner--text {
  transform: translate(0);
  opacity: 1;
}
.service-detail .area--process .list--3col .ph img {
  background-size: contain;
}

/* unique */
.section--vacan-ais .area--case-study {
  background: #f2f1f5;
}

.section--throne-airknock .area--top .page-tit img {
  height: 3.4vw;
}
@media screen and (max-width: 959px) {
  .section--throne-airknock .area--top .page-tit img {
    height: 8vw;
  }
}
.section--throne-airknock .area--top .page-tit span {
  display: inline-block;
  top: -0.1em;
  padding: 0 0.75em;
}
.section--throne-airknock .area--top .page-tit span::before, .section--throne-airknock .area--top .page-tit span::after {
  display: none;
}
.section--throne-airknock .area--about .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
.section--throne-airknock .area--about .area-tit {
  margin-bottom: 1.2em;
}
@media screen and (min-width: 960px) {
  .section--throne-airknock .area--about .flex-wrap {
    display: flex;
    align-items: center;
  }
  .section--throne-airknock .area--about .iframe-wrap-wide {
    flex-basis: 50%;
    margin-left: 8%;
  }
  .section--throne-airknock .area--about .ph {
    flex-basis: 50%;
    margin-left: 5%;
  }
  .section--throne-airknock .area--about .flex-inner {
    flex-basis: 50%;
  }
}
@media screen and (max-width: 959px) {
  .section--throne-airknock .area--about .ph {
    margin-top: 2.5rem;
  }
  .section--throne-airknock .area--about .iframe-wrap-wide {
    margin-top: 8rem;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
}
.section--throne-airknock .area--about--throne {
  padding-bottom: 0;
}
@media screen and (min-width: 960px) {
  .section--throne-airknock .area--about--throne .flex-inner {
    order: 2;
  }
  .section--throne-airknock .area--about--throne .ph {
    margin: 0 5% 0 0;
  }
}
.section--throne-airknock .area--feature .feature--03 .ph,
.section--throne-airknock .area--feature .feature--04 .ph {
  background: #efefef;
  padding: 2rem;
}
.section--throne-airknock .area--feature .block--small {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 7rem;
  border: 1px solid #eee;
  padding: 2em;
  margin: 5rem 0 0;
}
.section--throne-airknock .area--feature .txt-side .tit span {
  font-size: 1.2rem;
}
.section--throne-airknock .area--campaign {
  background: #f2f1f5;
}
.section--throne-airknock .area--campaign .area-tit {
  text-align: left;
  margin-bottom: 1em;
}
.section--throne-airknock .area--campaign .txt--sub {
  margin-top: 1em;
}
@media screen and (max-width: 959px) {
  .section--throne-airknock .area--campaign .list--1col .ph {
    text-align: center;
  }
  .section--throne-airknock .area--campaign .list--1col .ph img {
    width: 60%;
  }
}

.section--vacan-maps .gmark {
  background: none;
  height: auto;
  position: absolute;
  width: 13rem;
  bottom: 1.5rem;
  right: 1.5rem;
  border-radius: 6px;
}
.section--vacan-maps .area--top .page-tit img {
  height: 4.2rem;
}
@media screen and (min-width: 960px) {
  .section--vacan-maps .area--top .page-tit img {
    height: 5.5rem;
  }
}
.section--vacan-maps .list--card > li:last-child {
  margin-bottom: 0;
}
.section--vacan-maps .area-tit--sub + ul {
  margin-top: 5rem;
}
.section--vacan-maps ul + .area-tit--sub {
  margin-top: 7rem;
}
.section--vacan-maps .list--card.logos > li {
  width: 48%;
}
@media screen and (min-width: 960px) {
  .section--vacan-maps .area-tit--sub + ul {
    margin-top: 7rem;
  }
  .section--vacan-maps ul + .area-tit--sub {
    margin-top: 10rem;
  }
  .section--vacan-maps .list--card.logos > li {
    width: 19%;
  }
  .section--vacan-maps .list--card > li {
    margin-bottom: 0;
  }
}
.section--vacan-maps .area--case-study .txt {
  margin-bottom: 3rem;
}

@media screen and (min-width: 960px) {
  .section--qticket .area--about .about__ph {
    opacity: 0.7;
    width: 56vh;
    right: -10vw;
  }
}
.section--qticket .area--use-image {
  background: #f2f1f5;
}
.section--qticket .area--use-image .box--use-image {
  border: 1px solid;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
}
.section--qticket .area--use-image .box--use-image dt {
  padding: 1rem 2rem;
  background: #3B3544;
  color: #ffffff;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: 0.5em;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image dt {
    padding: 3rem;
    writing-mode: vertical-rl;
    flex-basis: 10%;
    font-size: 2.8rem;
  }
}
.section--qticket .area--use-image .box--use-image dd {
  background: #fff;
  padding: 4rem 2rem;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image dd {
    padding: 6rem;
    flex-basis: 90%;
  }
}
.section--qticket .area--use-image .box--use-image dd .ph {
  background: no-repeat center #ddd;
  background-size: cover;
  margin-bottom: 1.75rem;
}
.section--qticket .area--use-image .box--use-image dd .ph img {
  width: 100%;
}
.section--qticket .area--use-image .box--use-image dd .tit {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.25em;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image dd .tit {
    font-size: 1.4em;
  }
}
.section--qticket .area--use-image .box--use-image dd .txt {
  margin-bottom: 0;
  line-height: 1.5;
}
.section--qticket .area--use-image .box--use-image dd .txt li + li {
  margin-top: 0.4em;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image .box-use-image__list {
    display: flex;
    justify-content: space-between;
  }
  .section--qticket .area--use-image .box--use-image .box-use-image__list > li {
    flex-basis: 42%;
  }
}
.section--qticket .area--use-image .box--use-image .box-use-image__list .or {
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .section--qticket .area--use-image .box--use-image .box-use-image__list .or {
    margin: 3rem 0;
    font-size: 1.75em;
    text-align: center;
  }
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image .box-use-image__list .or {
    flex-basis: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
  }
}
.section--qticket .area--use-image .box--use-image + .box--use-image {
  margin-top: 5rem;
}
@media screen and (min-width: 960px) {
  .section--qticket .area--use-image .box--use-image--call dd {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .section--qticket .area--use-image .box--use-image--call dd .ph {
    flex-basis: 42%;
    margin-bottom: 0;
  }
  .section--qticket .area--use-image .box--use-image--call .txt-side {
    flex-basis: 52%;
  }
}

@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--display .area__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--display .txt-side {
    flex-basis: 60%;
    padding-right: 5%;
  }
}
.section--utilization_hotel .area--display .area-tit {
  text-align: left;
}
.section--utilization_hotel .area--display .area-tit + .txt {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: -1.5em;
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--display .ph--display {
    display: block;
    width: 80%;
    margin: 1.5rem auto 0;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--display .ph--display {
    flex-basis: 40%;
  }
}
.section--utilization_hotel .area--display .ph--display img {
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.2));
}
.section--utilization_hotel .area--reason {
  background: #f2f1f5;
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box {
    max-width: 900px;
    margin: 0 auto;
  }
}
.section--utilization_hotel .area--reason .list--text-box li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--reason .list--text-box li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box li .tit {
    font-size: 1.4em;
  }
}
.section--utilization_hotel .area--reason .list--text-box li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.section--utilization_hotel .area--reason .list--text-box li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--reason .list--text-box li + li {
    margin-top: 7rem;
  }
}
.section--utilization_hotel .area--reason .list--text-box .ph {
  margin-bottom: 2.5rem;
}
.section--utilization_hotel .area--reason .list--text-box .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
.section--utilization_hotel .area--reason .list--text-box > li {
  background: #ffffff;
  padding: 3rem 7vw;
  border-radius: 1rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box > li {
    padding: 4rem 5vw;
    display: flex;
    align-items: center;
  }
}
.section--utilization_hotel .area--reason .list--text-box > li .numb {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1em;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box > li .numb {
    font-size: 2em;
  }
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--reason .list--text-box > li .numb {
    font-size: 1.5em;
    margin: -0.25em 0 0.75em;
  }
}
.section--utilization_hotel .area--reason .list--text-box > li .numb span {
  width: 8rem;
  height: 8rem;
  border-radius: 999px;
  color: #ffffff;
  background: #3B3544;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--reason .list--text-box > li .numb span {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box > li .numb span {
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_hotel .area--reason .list--text-box > li .txt-side {
    padding-left: 4rem;
  }
}
.section--utilization_hotel .area--reason .list--text-box > li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 959px) {
  .section--utilization_hotel .area--process .area-tit {
    font-size: 2.4rem;
  }
}
.section--utilization_hotel .area--process .ph {
  border: 2px solid #512376;
  border-radius: 20px;
}
.section--utilization_hotel .area--process img {
  background: no-repeat center;
  background-size: contain;
  width: 100%;
  padding: 10px 0px;
}
.section--utilization_hotel .area--process .step--03 .ph {
  padding: 10px 0;
}
.section--utilization_hotel .area--process .step--03 img {
  background-size: 94% !important;
  background-position: top;
  top: -40px;
  position: relative;
  padding-bottom: 40px;
  margin-bottom: -50px;
}

.section--utilization_government .list--card > li:last-child {
  margin-bottom: 0;
}
.section--utilization_government .list--card.logos > li {
  width: 50%;
}
.section--utilization_government .area-tit--sub + ul {
  margin-top: 5rem;
}
.section--utilization_government ul + .area-tit--sub {
  margin-top: 7rem;
}
@media screen and (max-width: 959px) {
  .section--utilization_government .area--top--full-sc .btn--main {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .section--utilization_government .area--solution .area-tit {
    font-size: 2.4rem;
  }
  .section--utilization_government .area--solution .area-tit br {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .section--utilization_government .area--process .area-tit {
    font-size: 2.4rem;
  }
  .section--utilization_government .area--process .area-tit br {
    display: none;
  }
}
.section--utilization_government .area--process .ph {
  border: 2px solid #512376;
  border-radius: 20px;
}
.section--utilization_government .area--process img {
  background: no-repeat center;
  background-size: contain;
  width: 100%;
  padding: 10px 0px;
}
.section--utilization_government .area--process .step--03 .ph {
  padding: 10px 0;
}
.section--utilization_government .area--process .step--03 img {
  background-size: 94% !important;
  background-position: top;
  top: -40px;
  position: relative;
  padding-bottom: 40px;
  margin-bottom: -50px;
}
@media screen and (min-width: 960px) {
  .section--utilization_government .area--process .ph {
    background-size: contain;
  }
  .section--utilization_government .area--process .step--03 .ph {
    padding: 10px 0;
  }
  .section--utilization_government .area--process .step--03 img {
    background-size: 95% !important;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_government .list--card > li {
    margin-bottom: 0;
  }
  .section--utilization_government .list--card.logos > li {
    width: 19%;
  }
  .section--utilization_government .list--1col .txt-side {
    align-self: center;
    font-size: 2rem;
  }
  .section--utilization_government .area-tit--sub + ul {
    margin-top: 7rem;
  }
  .section--utilization_government ul + .area-tit--sub {
    margin-top: 10rem;
  }
  .section--utilization_government .area--process .ph {
    background-size: contain;
  }
  .section--utilization_government .area--process .step--03 .ph {
    padding: 10px 0;
  }
  .section--utilization_government .area--process .step--03 img {
    background-size: 95% !important;
  }
}
@media screen and (min-width: 960px) {
  .section--utilization_government .area--solution .ph.genre > img {
    position: absolute;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%);
    margin: auto;
    min-width: 150%;
    min-height: 150%;
    max-width: none;
    background-size: unset;
  }
}

.service-list {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-decoration: none;
  color: #2f2f2f;
  position: relative;
  opacity: 1;
  transform: none;
  -ms-overflow-style: none;
}
.service-list ::-webkit-scrollbar {
  display: none;
}
.service-list-content {
  width: 100%;
  padding: 48px 0;
}
.service-list-content .service-list-content--list {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.service-list-content .service-list-content--list .service-list-content--list__item {
  position: relative;
  width: calc(33.333% - 24px);
  height: auto;
  aspect-ratio: 1/1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
  background: #ffffff;
  -webkit-transition: all ease-in 0.5s;
  overflow: hidden;
}
.service-list-content .service-list-content--list .service-list-content--list__item:hover {
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
}
.service-list-content .service-list-content--list .service-list-content--list__item:hover .service-list-content--list__item--link {
  color: inherit;
}
.service-list-content .service-list-content--list .service-list-content--list__item .service-list-content--list__item--link {
  text-decoration: none;
}
.service-list-content .service-list-content--list .service-list-content--list__item .service-list-content--list__item--bg {
  width: 100;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all ease-in 8s;
}
.service-list-content .service-list-content--list .service-list-content--list__item .service-list-content--list__item--img {
  width: auto;
  height: 28px;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  will-change: filter;
  filter: invert(1) brightness(10);
}
.service-list-content .service-list-content--list .service-list-content--list__item .name {
  font-size: 2.4rem;
  z-index: 1;
  will-change: filter;
  filter: invert(1) brightness(10);
}
.service-list-content .service-list-content--list .service-list-content--list__item .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: space-between;
  gap: 16px;
  z-index: 1;
  will-change: filter;
  filter: invert(1) brightness(10);
}
.service-list-content .service-list-content--list .service-list-content--list__item .inner .tit {
  font-size: 1.4rem;
  text-decoration: none;
}
/* documents
----------------------------------- */
body.documents .section--documents .list--card.large-list li {
  width: calc(50% - 20px);
  text-align: center;
}
body.documents .section--documents .list--card.large-list li.thirds {
  width: calc(33.3333333333% - 20px);
}
body.documents .section--documents .list--card.large-list li .thumb.slideshow {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  margin: 0;
}
body.documents .section--documents .list--card.large-list li .thumb.slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  animation: fade-slideshow 9s infinite;
}
body.documents .section--documents .list--card.large-list li .thumb.slideshow img:nth-child(1) {
  animation-delay: 0s;
}
body.documents .section--documents .list--card.large-list li .thumb.slideshow img:nth-child(2) {
  animation-delay: 3s;
}
body.documents .section--documents .list--card.large-list li .thumb.slideshow img:nth-child(3) {
  animation-delay: 6s;
}
body.documents .section--documents .list--card.large-list li .tit {
  font-size: calc(20px + 4 * (100vw - 640px) / 1000);
}
body.documents .section--documents .list--card.large-list li .more {
  display: flex;
  gap: 8px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
  padding: 16px;
  background: #512376;
  color: #FFF;
}
@media screen and (max-width: 959px) {
  body.documents .section--documents .list--card.large-list li:nth-child(1),
  body.documents .section--documents .list--card.large-list li:nth-child(2),
  body.documents .section--documents .list--card.large-list li:nth-child(3) {
    width: calc(100% - 0px);
  }
}
body.documents .section--documents .list--card li .tit {
  font-size: 1.8rem;
  line-height: 1.8;
}
body.documents .section--documents .list--card li .more {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 1em 0 0;
}

@keyframes fade-slideshow {
  0% {
    opacity: 0;
  }
  11% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  44% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.lp_page .dl, .lp_jinryu .dl {
  background-color: #e3920d;
  padding: 12px 40px;
  text-align: center;
  border-radius: 8px;
  color: #FFF;
}
.lp_page .dl a, .lp_jinryu .dl a {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .lp_page .dl, .lp_jinryu .dl {
    width: 90%;
    margin: 30px auto 0;
    position: absolute;
    left: 0;
    right: 0;
  }
}
@media screen and (min-width: 960px) {
  .lp_page .dl, .lp_jinryu .dl {
    margin: 0 16px;
  }
  .lp_page header, .lp_jinryu header {
    padding: 12px;
    width: 100%;
    background: #512376;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    border-bottom: 0px;
    left: 0;
  }
  .lp_page header .menu, .lp_jinryu header .menu {
    display: flex;
    align-items: center;
  }
  .lp_page header li, .lp_jinryu header li {
    margin: 0 16px;
  }
}
.lp_page .area, .lp_jinryu .area {
  position: relative;
  padding: 2em;
}
@media screen and (max-width: 959px) {
  .lp_page .area .area-tit br,
  .lp_page .area .sub-tit br, .lp_jinryu .area .area-tit br,
  .lp_jinryu .area .sub-tit br {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .lp_page .area, .lp_jinryu .area {
    padding: 4em 4em 0;
  }
  .lp_page .area.area--partners, .lp_jinryu .area.area--partners {
    padding: 4em;
  }
}
.lp_page .area .area-tit, .lp_jinryu .area .area-tit {
  font-size: 2em;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
.lp_page .area__inner, .lp_jinryu .area__inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .lp_page .area__inner, .lp_jinryu .area__inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.lp_page .area--top, .lp_jinryu .area--top {
  padding: 8rem 4rem;
  color: #fff;
  background-position: center;
  background-size: cover;
  background-image: url("/common/images/dx/slide3.jpg");
}
.lp_page .area--top .ph, .lp_jinryu .area--top .ph {
  max-width: 242px;
  display: block;
}
@media screen and (max-width: 959px) {
  .lp_page .area--top .ph, .lp_jinryu .area--top .ph {
    max-width: 182px;
    width: 50%;
    margin: 3rem auto;
  }
}
.lp_page .area--top .wrapper img, .lp_jinryu .area--top .wrapper img {
  border: 0;
}
.lp_page .area--top:after, .lp_jinryu .area--top:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.lp_page .area--top .area-tit, .lp_jinryu .area--top .area-tit {
  font-size: 1.8em;
  text-align: left;
  margin-bottom: 1rem;
}
.lp_page .area--top .txt, .lp_jinryu .area--top .txt {
  margin-bottom: 2em;
}
@media screen and (max-width: 959px) {
  .lp_page .area--top .txt-side, .lp_jinryu .area--top .txt-side {
    max-width: 570px;
    margin: auto;
  }
  .lp_page .area--top .wrapper, .lp_jinryu .area--top .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .lp_page .area--top .wrapper img, .lp_jinryu .area--top .wrapper img {
    max-width: 290px;
    margin: 8px auto;
  }
  .lp_page .area--top .wrapper img:first-child, .lp_jinryu .area--top .wrapper img:first-child {
    max-height: 82px;
  }
}
@media screen and (min-width: 960px) {
  .lp_page .area--top, .lp_jinryu .area--top {
    padding: 8rem;
    margin-top: 80px;
  }
  .lp_page .area--top .txt-side, .lp_jinryu .area--top .txt-side {
    margin-left: 42px;
  }
  .lp_page .area--top .txt-side .area-tit, .lp_jinryu .area--top .txt-side .area-tit {
    font-size: 3em;
    line-height: 160%;
    margin-bottom: 16px;
  }
  .lp_page .area--top .txt-side .txt, .lp_jinryu .area--top .txt-side .txt {
    font-size: 1.7rem;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 960px) and (min-width: 960px) {
  .lp_page .area--top .txt-side .wrapper, .lp_jinryu .area--top .txt-side .wrapper {
    display: flex;
    align-items: center;
    max-width: 250px;
  }
}
@media screen and (min-width: 960px) {
  .lp_page .area--top .txt-side .wrapper img:first-child, .lp_jinryu .area--top .txt-side .wrapper img:first-child {
    max-height: 71px;
    margin-right: 16px;
  }
}
.lp_page .area--contact, .lp_jinryu .area--contact {
  background-color: #512376;
  text-align: center;
  padding: 4em 2em;
  color: #FFF;
}
@media screen and (min-width: 960px) {
  .lp_page .area--contact, .lp_jinryu .area--contact {
    padding: 4em;
  }
  .lp_page .area--contact .sub-tit, .lp_jinryu .area--contact .sub-tit {
    margin-bottom: 2em;
  }
}
.lp_page .area--contact.last, .lp_jinryu .area--contact.last {
  background-image: url("/common/images/dx/slide1.jpg");
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 960px) {
  .lp_page .area--contact.last, .lp_jinryu .area--contact.last {
    padding-bottom: 0;
  }
}
.lp_page .area--contact.last:after, .lp_jinryu .area--contact.last:after {
  content: "";
  background-color: rgba(81, 36, 118, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.lp_page .area--contact.last .notice, .lp_jinryu .area--contact.last .notice {
  margin: 4em auto 2em;
  font-size: 0.8em;
}
.lp_page .area--contact .area-tit, .lp_jinryu .area--contact .area-tit {
  font-size: 2em;
  line-height: 160%;
  margin-bottom: 8px;
}
.lp_page .area--contact .txt, .lp_jinryu .area--contact .txt {
  font-size: 1.8rem;
  margin-bottom: 24px;
}
@media screen and (min-width: 960px) {
  .lp_page .area--contact .btn, .lp_jinryu .area--contact .btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 959px) {
  .lp_page .area--contact .btn, .lp_jinryu .area--contact .btn {
    margin: 1em 0 0;
  }
}
.lp_page .area--contact .btn--main, .lp_jinryu .area--contact .btn--main {
  background-color: #FFF;
  color: #512376;
  padding: 16px 20px;
  max-width: 260px;
  text-align: center;
  border-radius: 100px;
  font-size: 0.9em;
  margin: 1em 0 0;
  width: 100%;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .lp_page .area--contact .btn--main, .lp_jinryu .area--contact .btn--main {
    margin: auto 1.6rem;
    width: auto;
    font-size: 1.8rem;
  }
}
.lp_page .area--recommended .ph img, .lp_jinryu .area--recommended .ph img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .lp_page .area--recommended .txt-side, .lp_jinryu .area--recommended .txt-side {
    margin-left: 6%;
    line-height: 200%;
  }
}
.lp_page .area--about .area__inner, .lp_jinryu .area--about .area__inner {
  display: block;
}
.lp_page .area--about .ph, .lp_jinryu .area--about .ph {
  max-width: 1090px;
  margin: auto;
  display: block;
}
.lp_page .area--about .txt, .lp_jinryu .area--about .txt {
  font-size: 1.4em;
}
.lp_page .area--advantages, .lp_jinryu .area--advantages {
  padding-bottom: 4em;
}
.lp_page .area--advantages .area-tit, .lp_jinryu .area--advantages .area-tit {
  margin-bottom: 1rem;
}
.lp_page .area--advantages .sub-tit, .lp_jinryu .area--advantages .sub-tit {
  text-align: center;
  margin-bottom: 4rem;
  font-size: 1.4em;
}
.lp_page .area--advantages .ph, .lp_jinryu .area--advantages .ph {
  max-width: 375px;
}
.lp_page .area--advantages .ph img, .lp_jinryu .area--advantages .ph img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .lp_page .area--advantages .txt-side, .lp_jinryu .area--advantages .txt-side {
    max-width: 60%;
    margin-left: 5%;
  }
}
.lp_page .area--cases .area__inner,
.lp_page .area--customers .area__inner,
.lp_page .area--business .area__inner, .lp_jinryu .area--cases .area__inner,
.lp_jinryu .area--customers .area__inner,
.lp_jinryu .area--business .area__inner {
  display: block;
}
.lp_page .area--cases .row,
.lp_page .area--customers .row,
.lp_page .area--business .row, .lp_jinryu .area--cases .row,
.lp_jinryu .area--customers .row,
.lp_jinryu .area--business .row {
  margin-bottom: 56px;
}
.lp_page .area--cases .row img,
.lp_page .area--customers .row img,
.lp_page .area--business .row img, .lp_jinryu .area--cases .row img,
.lp_jinryu .area--customers .row img,
.lp_jinryu .area--business .row img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .lp_page .area--cases .row,
  .lp_page .area--customers .row,
  .lp_page .area--business .row, .lp_jinryu .area--cases .row,
  .lp_jinryu .area--customers .row,
  .lp_jinryu .area--business .row {
    margin-bottom: 80px;
    display: flex;
    align-items: center;
  }
}
.lp_page .area--cases .ph,
.lp_page .area--customers .ph,
.lp_page .area--business .ph, .lp_jinryu .area--cases .ph,
.lp_jinryu .area--customers .ph,
.lp_jinryu .area--business .ph {
  max-width: 375px;
}
@media screen and (min-width: 960px) {
  .lp_page .area--cases .txt-side,
  .lp_page .area--customers .txt-side,
  .lp_page .area--business .txt-side, .lp_jinryu .area--cases .txt-side,
  .lp_jinryu .area--customers .txt-side,
  .lp_jinryu .area--business .txt-side {
    max-width: 60%;
    margin-left: 5%;
  }
}
.lp_page .area--cases .tit,
.lp_page .area--customers .tit,
.lp_page .area--business .tit, .lp_jinryu .area--cases .tit,
.lp_jinryu .area--customers .tit,
.lp_jinryu .area--business .tit {
  font-weight: bold;
  font-size: 1.4em;
  margin-bottom: 16px;
}
.lp_page .area--place, .lp_jinryu .area--place {
  background-color: #f7f7f7;
}
.lp_page .area--place .area__inner, .lp_jinryu .area--place .area__inner {
  justify-content: space-between;
  align-items: start;
}
.lp_page .area--place .column:not(:last-child), .lp_jinryu .area--place .column:not(:last-child) {
  margin-bottom: 3em;
}
@media screen and (min-width: 960px) {
  .lp_page .area--place .column, .lp_jinryu .area--place .column {
    width: 30%;
    margin: 0 3%;
  }
}
.lp_page .area--place .tit, .lp_jinryu .area--place .tit {
  margin: 16px 0 8px;
  font-size: 1.2em;
  font-weight: bold;
}
.lp_page .area--place .ph img, .lp_jinryu .area--place .ph img {
  width: 100%;
}
.lp_page .area--flow .area__inner, .lp_jinryu .area--flow .area__inner {
  display: block;
  max-width: 700px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .lp_page .area--flow .area__inner, .lp_jinryu .area--flow .area__inner {
    text-align: center;
  }
}
.lp_page .area--flow .row, .lp_jinryu .area--flow .row {
  margin-bottom: 56px;
  position: relative;
  text-decoration: none;
  display: block;
}
@media screen and (min-width: 960px) {
  .lp_page .area--flow .row, .lp_jinryu .area--flow .row {
    display: flex;
    align-items: center;
  }
  .lp_page .area--flow .row:not(:last-child):before, .lp_jinryu .area--flow .row:not(:last-child):before {
    content: "";
    width: 1px;
    height: 45px;
    position: absolute;
    left: 55px;
    bottom: -5px;
    transform: translateY(100%);
    background-color: #4e4e4e;
  }
  .lp_page .area--flow .row .txt-side, .lp_jinryu .area--flow .row .txt-side {
    margin-left: 5%;
  }
}
.lp_page .area--flow .tit, .lp_jinryu .area--flow .tit {
  font-size: 1.7em;
  font-weight: bold;
  width: 100%;
}
.lp_page .area--flow .txt, .lp_jinryu .area--flow .txt {
  font-size: 1.2em;
  margin-bottom: 0;
}
.lp_page .area--faq, .lp_jinryu .area--faq {
  padding-bottom: 4em;
}
.lp_page .area--faq .area__inner, .lp_jinryu .area--faq .area__inner {
  display: block;
}
.lp_page .area--faq .row, .lp_jinryu .area--faq .row {
  margin-bottom: 56px;
}
.lp_page .area--faq .row:last-child, .lp_jinryu .area--faq .row:last-child {
  margin-bottom: 0;
}
.lp_page .area--faq .tit, .lp_jinryu .area--faq .tit {
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 959px) {
  .lp_page .area--faq .tit, .lp_jinryu .area--faq .tit {
    font-size: 1.8rem;
  }
}
.lp_page .section--footer-nav, .lp_jinryu .section--footer-nav {
  text-align: center;
}
.lp_page .section--footer-nav li, .lp_jinryu .section--footer-nav li {
  margin: 0 1.75em;
}
.lp_page .section--footer-nav .copyright, .lp_jinryu .section--footer-nav .copyright {
  position: relative;
}
.lp_page .tit, .lp_page .txt, .lp_jinryu .tit, .lp_jinryu .txt {
  position: relative;
  z-index: 1;
}
.lp_page .txt-side, .lp_jinryu .txt-side {
  position: relative;
}
.lp_page .number, .lp_jinryu .number {
  position: absolute;
  font-size: 14em;
  line-height: 100%;
  top: -70px;
  left: -50px;
  font-weight: bold;
  color: #512376;
  opacity: 0.1;
  z-index: 0;
}

.area--partners {
  padding: 4em;
  overflow-x: hidden;
}
.area--partners .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  max-width: 1180px;
  margin: auto;
}
.area--partners .swiper-slide {
  text-align: center;
  margin: 1% 2%;
  max-width: 150px;
}
@media screen and (max-width: 959px) {
  .area--partners .swiper-slide {
    max-width: 145px;
  }
}

.lp_keeple header, .event_lp header, .lp_patokids header {
  background: #fff;
  color: #512376;
  border-bottom: 1px solid #512376;
}
.lp_keeple header.drawer, .event_lp header.drawer, .lp_patokids header.drawer {
  z-index: 5;
}
@media screen and (max-width: 959px) {
  .lp_keeple header.drawer, .event_lp header.drawer, .lp_patokids header.drawer {
    padding: 12vh 0 12vh 2rem;
  }
  .lp_keeple header .dl, .event_lp header .dl, .lp_patokids header .dl {
    position: relative;
    padding: 16px 16px;
  }
}
@media (min-width: 960px) and (max-width: 1162px) {
  .lp_keeple header .dl, .event_lp header .dl, .lp_patokids header .dl {
    padding: 12px 24px;
    margin-left: 0;
    margin-right: 16px;
  }
  .lp_keeple header li, .event_lp header li, .lp_patokids header li {
    margin: 0 12px;
    font-size: 0.8em;
  }
}
@media screen and (max-width: 959px) {
  .lp_keeple .g-nav, .event_lp .g-nav, .lp_patokids .g-nav {
    margin-top: 0;
  }
}
.lp_keeple .g-nav li > a, .event_lp .g-nav li > a, .lp_patokids .g-nav li > a {
  color: #512376;
}
@media screen and (max-width: 959px) {
  .lp_keeple .g-nav li > a, .event_lp .g-nav li > a, .lp_patokids .g-nav li > a {
    padding: 1.25em 0;
    font-size: 1.38rem;
    line-height: 1.5em;
  }
}
.lp_keeple .ph, .event_lp .ph, .lp_patokids .ph {
  display: block;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .lp_keeple .ph, .event_lp .ph, .lp_patokids .ph {
    max-width: 40vw;
    margin: auto;
  }
}
.lp_keeple .ph img, .event_lp .ph img, .lp_patokids .ph img {
  margin: auto;
  border: none;
}
@media screen and (max-width: 959px) {
  .lp_keeple .btn--main, .event_lp .btn--main, .lp_patokids .btn--main {
    width: 100%;
  }
}
.lp_keeple .dl, .event_lp .dl, .lp_patokids .dl {
  background: #512376;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area, .event_lp .area, .lp_patokids .area {
    padding: 4em;
  }
}
.lp_keeple .area .area-tit, .event_lp .area .area-tit, .lp_patokids .area .area-tit {
  color: #512376;
}
@media screen and (max-width: 959px) {
  .lp_keeple .area .area-tit, .event_lp .area .area-tit, .lp_patokids .area .area-tit {
    font-size: 1.8em;
  }
}
.lp_keeple .area--contact .area-tit, .event_lp .area--contact .area-tit, .lp_patokids .area--contact .area-tit {
  color: #FFF;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--contact.floating, .event_lp .area--contact.floating, .lp_patokids .area--contact.floating {
    max-width: 80%;
    margin: -80px auto 0;
  }
}
.lp_keeple .area--top, .event_lp .area--top, .lp_patokids .area--top {
  background-image: url("/common/images/service/keeple/top_bg.jpg");
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--top, .event_lp .area--top, .lp_patokids .area--top {
    padding: 6rem 8rem 13rem;
  }
  .lp_keeple .area--top .txt-side, .event_lp .area--top .txt-side, .lp_patokids .area--top .txt-side {
    max-width: none;
    margin-left: 5vw;
  }
}
.lp_keeple .area--top .area-tit, .event_lp .area--top .area-tit, .lp_patokids .area--top .area-tit {
  color: #FFF;
  line-height: inherit;
  width: auto;
}
.lp_keeple .area--top .txt-side .txt, .event_lp .area--top .txt-side .txt, .lp_patokids .area--top .txt-side .txt {
  font-size: 2.8rem;
}
.lp_keeple .area--keypoint, .event_lp .area--keypoint, .lp_patokids .area--keypoint {
  text-align: center;
}
.lp_keeple .area--keypoint .area__inner, .event_lp .area--keypoint .area__inner, .lp_patokids .area--keypoint .area__inner {
  align-items: baseline;
}
.lp_keeple .area--keypoint .area__inner .tit, .event_lp .area--keypoint .area__inner .tit, .lp_patokids .area--keypoint .area__inner .tit {
  font-weight: bold;
  margin-top: 16px;
}
.lp_keeple .area--keypoint .column, .event_lp .area--keypoint .column, .lp_patokids .area--keypoint .column {
  margin: 8%;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--keypoint .column, .event_lp .area--keypoint .column, .lp_patokids .area--keypoint .column {
    width: 20%;
    margin: 0 auto;
    text-align: center;
    margin-top: auto;
  }
}
.lp_keeple .area--about .ph, .event_lp .area--about .ph, .lp_patokids .area--about .ph {
  max-width: none;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--service .txt-side, .event_lp .area--service .txt-side, .lp_patokids .area--service .txt-side {
    max-width: 60%;
    margin-left: 7%;
  }
}
@media screen and (max-width: 959px) {
  .lp_keeple .area--service .ph, .event_lp .area--service .ph, .lp_patokids .area--service .ph {
    max-width: 420px;
  }
  .lp_keeple .area--service .txt-side, .event_lp .area--service .txt-side, .lp_patokids .area--service .txt-side {
    margin-top: 4rem;
  }
}
.lp_keeple .area--service .tit, .event_lp .area--service .tit, .lp_patokids .area--service .tit {
  font-weight: bold;
}
.lp_keeple .area--service .logo_service, .event_lp .area--service .logo_service, .lp_patokids .area--service .logo_service {
  max-width: 250px;
  display: block;
}
@media screen and (max-width: 959px) {
  .lp_keeple .area--service .logo_service, .event_lp .area--service .logo_service, .lp_patokids .area--service .logo_service {
    margin: auto;
  }
}
.lp_keeple .area--service .area-tit, .event_lp .area--service .area-tit, .lp_patokids .area--service .area-tit {
  margin: 16px;
  text-align: left;
  color: #512376;
}
.lp_keeple .area--problems .txt, .event_lp .area--problems .txt, .lp_patokids .area--problems .txt {
  background: #F0F0F0;
  padding: 24px;
  border-radius: 12px;
  position: relative;
  font-size: 1.1em;
  min-height: 140px;
  display: flex;
  align-items: center;
}
.lp_keeple .area--problems .txt:after, .event_lp .area--problems .txt:after, .lp_patokids .area--problems .txt:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 25px 0 25px;
  border-color: #f0f0f0 transparent transparent transparent;
}
.lp_keeple .area--problems img, .event_lp .area--problems img, .lp_patokids .area--problems img {
  max-width: 87px;
  margin: 40px auto 0;
  display: block;
}
.lp_keeple .area--problems .column, .event_lp .area--problems .column, .lp_patokids .area--problems .column {
  margin: 4rem 0;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--problems .column, .event_lp .area--problems .column, .lp_patokids .area--problems .column {
    margin: 0rem 2% 6rem;
    min-width: 33.3333%;
  }
}
.lp_keeple .area--steps, .event_lp .area--steps, .lp_patokids .area--steps {
  background: #00B0AC;
  color: #FFF;
  overflow: hidden;
  padding: 6em 2em 2em;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--steps, .event_lp .area--steps, .lp_patokids .area--steps {
    padding: 6em 4em;
  }
}
.lp_keeple .area--steps .area__inner, .event_lp .area--steps .area__inner, .lp_patokids .area--steps .area__inner {
  align-items: flex-start;
}
.lp_keeple .area--steps:before, .event_lp .area--steps:before, .lp_patokids .area--steps:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 200px 0 200px;
  border-color: #f9fcfc transparent transparent transparent;
}
.lp_keeple .area--steps .column, .event_lp .area--steps .column, .lp_patokids .area--steps .column {
  overflow: hidden;
  border-radius: 12px;
  margin: 4rem 0;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--steps .column, .event_lp .area--steps .column, .lp_patokids .area--steps .column {
    width: 33.333%;
    margin: 0 2%;
  }
}
.lp_keeple .area--steps .column .ph, .event_lp .area--steps .column .ph, .lp_patokids .area--steps .column .ph {
  max-width: none;
  text-align: center;
}
.lp_keeple .area--steps .tit, .event_lp .area--steps .tit, .lp_patokids .area--steps .tit {
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 8px;
}
.lp_keeple .area--steps .txt, .event_lp .area--steps .txt, .lp_patokids .area--steps .txt {
  margin-bottom: 0;
}
.lp_keeple .area--cases .txt-side, .event_lp .area--cases .txt-side, .lp_patokids .area--cases .txt-side {
  margin-top: 2em;
  position: relative;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--cases .txt-side, .event_lp .area--cases .txt-side, .lp_patokids .area--cases .txt-side {
    max-width: 30vw;
    margin-left: 8%;
    margin-top: 0;
  }
}
.lp_keeple .area--cases .row, .event_lp .area--cases .row, .lp_patokids .area--cases .row {
  justify-content: center;
}
.lp_keeple .area--cases .tit, .lp_keeple .area--cases .txt, .event_lp .area--cases .tit, .event_lp .area--cases .txt, .lp_patokids .area--cases .tit, .lp_patokids .area--cases .txt {
  position: relative;
  z-index: 1;
}
.lp_keeple .area--cases .area-tit, .event_lp .area--cases .area-tit, .lp_patokids .area--cases .area-tit {
  margin-bottom: 2em;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--cases .area-tit, .event_lp .area--cases .area-tit, .lp_patokids .area--cases .area-tit {
    margin-bottom: 3em;
  }
}
.lp_keeple .area--cases .area-tit img, .event_lp .area--cases .area-tit img, .lp_patokids .area--cases .area-tit img {
  max-width: 220px;
  vertical-align: bottom;
  margin-right: 16px;
}
@media screen and (max-width: 959px) {
  .lp_keeple .area--cases .area-tit img, .event_lp .area--cases .area-tit img, .lp_patokids .area--cases .area-tit img {
    max-width: 180px;
    vertical-align: top;
    margin-right: 8px;
  }
}
.lp_keeple .area--cases .number, .event_lp .area--cases .number, .lp_patokids .area--cases .number {
  position: absolute;
  font-size: 14em;
  line-height: 100%;
  top: -70px;
  left: -50px;
  font-weight: bold;
  color: #512376;
  opacity: 0.1;
  z-index: 0;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--client, .event_lp .area--client, .lp_patokids .area--client {
    text-align: center;
  }
}
.lp_keeple .area--client .area__inner, .event_lp .area--client .area__inner, .lp_patokids .area--client .area__inner {
  align-items: start;
}
.lp_keeple .area--client .ph:first-child, .event_lp .area--client .ph:first-child, .lp_patokids .area--client .ph:first-child {
  margin-bottom: 30px;
}
.lp_keeple .area--client .ph, .event_lp .area--client .ph, .lp_patokids .area--client .ph {
  max-width: none;
}
.lp_keeple .area--client .area-tit, .event_lp .area--client .area-tit, .lp_patokids .area--client .area-tit {
  margin-bottom: 16px;
}
.lp_keeple .area--client .sub-tit, .event_lp .area--client .sub-tit, .lp_patokids .area--client .sub-tit {
  margin-bottom: 3em;
}
.lp_keeple .area--client .picture-side, .event_lp .area--client .picture-side, .lp_patokids .area--client .picture-side {
  text-align: center;
}
.lp_keeple .area--client .txt-side, .event_lp .area--client .txt-side, .lp_patokids .area--client .txt-side {
  margin-top: 2em;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--client .txt-side, .event_lp .area--client .txt-side, .lp_patokids .area--client .txt-side {
    text-align: left;
    max-width: 60%;
    margin-left: 5%;
    margin-top: 0;
  }
}
.lp_keeple .area--client .txt-side .tit, .event_lp .area--client .txt-side .tit, .lp_patokids .area--client .txt-side .tit {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 0.8em;
}
.lp_keeple .area--client .infos, .event_lp .area--client .infos, .lp_patokids .area--client .infos {
  text-align: right;
}
.lp_keeple .area--contact.last, .event_lp .area--contact.last, .lp_patokids .area--contact.last {
  background: #512376;
}
.lp_keeple .area--contact.last:after, .event_lp .area--contact.last:after, .lp_patokids .area--contact.last:after {
  display: none;
}
.lp_keeple .area--contact.last .column, .event_lp .area--contact.last .column, .lp_patokids .area--contact.last .column {
  margin: 7rem 5%;
}
.lp_keeple .area--contact.last .tit, .event_lp .area--contact.last .tit, .lp_patokids .area--contact.last .tit {
  font-size: 1.6em;
  font-weight: bold;
  margin-top: 12px;
}
@media screen and (max-width: 959px) {
  .lp_keeple .area--contact.last .column, .event_lp .area--contact.last .column, .lp_patokids .area--contact.last .column {
    margin: 7rem auto;
  }
  .lp_keeple .area--contact.last .btn, .lp_keeple .area--contact.last .txt, .event_lp .area--contact.last .btn, .event_lp .area--contact.last .txt, .lp_patokids .area--contact.last .btn, .lp_patokids .area--contact.last .txt {
    margin: auto;
  }
}

@media screen and (min-width: 960px) {
  .lp_keeple {
    width: 100%;
    max-width: calc(100vw - 310px);
  }
}
.lp_keeple #contact_form {
  width: 100%;
  padding: 3.2rem;
}
@media screen and (max-width: 959px) {
  .lp_keeple #contact_form {
    background: #ffffff;
  }
}
@media screen and (min-width: 960px) {
  .lp_keeple #contact_form {
    background: #f5f5f5;
    max-width: 310px;
    position: fixed;
    right: 0;
    top: 7rem;
    height: calc(100% - 80px);
    overflow-y: scroll;
  }
}
.lp_keeple #contact_form .tit {
  text-align: center;
  margin-bottom: 2.4rem;
  font-size: 2rem;
  line-height: 1.3em;
  font-weight: bold;
}
.lp_keeple #contact_form .tit svg {
  position: relative;
  top: 0.75rem;
  margin: 0 0.25em 0 0;
  width: 3rem;
  height: 3rem;
}
.lp_keeple #contact_form .list--form > li {
  margin-bottom: 6px;
  line-height: 1.4em;
}
.lp_keeple #contact_form .list--form > li label {
  font-size: 1.2rem;
  font-weight: bold;
}
.lp_keeple #contact_form .list--form > li.required label::after {
  content: "*";
  color: #f00;
  font-weight: 500;
  font-size: 1.6rem;
}
.lp_keeple #contact_form .list--form > li input[type=text],
.lp_keeple #contact_form .list--form > li input[type=email],
.lp_keeple #contact_form .list--form > li input[type=tel],
.lp_keeple #contact_form .list--form > li select {
  width: 100%;
  padding: 6px 12px;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.8em;
  box-sizing: border-box;
  background-color: #fff;
}
.lp_keeple #contact_form .list--form > li input:active, .lp_keeple #contact_form .list--form > li input:focus {
  border-color: #512376;
}
.lp_keeple #contact_form .list--form > li ::-moz-placeholder {
  color: #aaa;
}
.lp_keeple #contact_form .list--form > li ::placeholder {
  color: #aaa;
}
.lp_keeple #contact_form .list--form > li .select-wrap {
  position: relative;
}
.lp_keeple #contact_form .list--form > li .select-wrap::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.lp_keeple #contact_form .list--form > li.line-up {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
.lp_keeple #contact_form .list--form > li.line-up input[type=text],
.lp_keeple #contact_form .list--form > li.line-up input[type=email],
.lp_keeple #contact_form .list--form > li.line-up input[type=tel],
.lp_keeple #contact_form .list--form > li.line-up .select-wrap {
  width: 75%;
}
.lp_keeple #contact_form .list--form > li.policy {
  justify-content: center;
  margin-top: 20px;
}
.lp_keeple #contact_form .list--form > li.policy label {
  margin-left: 10px;
  font-size: 0.8em;
}
.lp_keeple #contact_form .list--form > li.margin-top {
  margin-top: 2.4rem;
}
.lp_keeple #contact_form .btn input[type=submit] {
  width: 100%;
  background-color: #512376;
  color: white;
  font-weight: bold;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.lp_keeple #contact_form .btn input[type=submit]:hover {
  background-color: #a960e8;
}
@media screen and (min-width: 960px) {
  .lp_keeple .area--top {
    padding: 9rem 6vw;
  }
  .lp_keeple .area--top .ph {
    width: 16vw;
  }
  .lp_keeple .area--top .txt-side .area-tit {
    font-size: 2.8vw;
  }
  .lp_keeple .area--top .txt-side .txt {
    font-size: 1.5vw;
  }
}
.lp_keeple #keypoint, .lp_keeple #about, .lp_keeple #data, .lp_keeple #client, .lp_keeple #flow {
  border-bottom: 1px solid #ddd;
}
.lp_keeple .area--cases .ph {
  text-align: center;
}
.lp_keeple .area--cases .ph img {
  width: auto;
  max-height: 26rem;
}
@media screen and (max-width: 959px) {
  .lp_keeple .area--top .ph--display {
    width: 50%;
  }
  .lp_keeple .area--top .area-tit {
    line-height: 1.4;
    text-align: center;
  }
  .lp_keeple .area--top .area-tit + .txt {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 0.5em;
  }
  .lp_keeple .area--service .logo_service {
    width: 50%;
  }
  .lp_keeple .area--service .area-tit {
    font-size: 2.4rem;
    margin: 3.5rem 0 3rem;
  }
}

.lp_hotel02 header {
  background-color: #FFF;
  color: #000;
  border-bottom: solid 1px #4EACAA;
}
.lp_hotel02 header .dl {
  background-color: #4EACAA;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 header {
    padding-left: 0;
  }
  .lp_hotel02 header h1 {
    width: 60%;
  }
  .lp_hotel02 header.drawer svg {
    margin-left: 1em;
  }
  .lp_hotel02 header.drawer h1 svg * {
    fill: #000 !important;
  }
  .lp_hotel02 header .logo {
    margin-left: 2em;
  }
  .lp_hotel02 header li a {
    margin-left: 1em;
    color: #4EACAA;
  }
}
.lp_hotel02 .btn--main {
  background-color: #4EACAA;
  font-weight: bold;
}
.lp_hotel02 .tit {
  font-weight: bold;
  font-size: 2.2rem;
}
.lp_hotel02 .area-tit {
  font-size: 4rem;
}
.lp_hotel02 .area-tit .highlight {
  color: #4EACAA;
}
.lp_hotel02 .area {
  padding: 2em;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area {
    padding: 5rem 7%;
  }
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area {
    padding: 4em;
  }
}
.lp_hotel02 .area--top {
  background-image: url(https://corp-vacan-com.s3.ap-northeast-1.amazonaws.com/wp-content/uploads/2022/01/31230752/ph_background.jpg);
  padding: 6em 2em;
}
.lp_hotel02 .area--top:after {
  content: "";
  background-color: rgba(25, 26, 28, 0.6);
}
.lp_hotel02 .area--top .txt-side .area-tit {
  max-width: 700px;
}
.lp_hotel02 .area--top .txt-side .wrapper {
  max-width: none;
}
.lp_hotel02 .area--top img.gda {
  position: absolute;
  bottom: 24px;
  z-index: 1;
  max-width: 190px;
  left: 0;
  right: 0;
  margin: auto !important;
}
.lp_hotel02 .area--top .btn--main {
  margin-right: 1.2rem;
  font-size: 1.1em;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--top .btn--main {
    width: 100%;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--top {
    padding: 4em;
  }
  .lp_hotel02 .area--top img.gda {
    right: 24px;
    left: auto;
    max-width: 230px;
  }
}
.lp_hotel02 .area--features .area__inner {
  flex-wrap: wrap;
}
.lp_hotel02 .area--features .row {
  padding: 4rem 2rem;
  border: solid 1px #cdcdcd;
  border-radius: 10px;
  justify-content: center;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  width: 100%;
  margin-bottom: 4rem;
}
.lp_hotel02 .area--features .txt-side {
  margin-top: 2em;
  position: relative;
}
.lp_hotel02 .area--features .ph img {
  border-radius: 10px;
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--features .row {
    flex-direction: row;
  }
  .lp_hotel02 .area--features .ph--display {
    width: 50%;
  }
  .lp_hotel02 .area--features .txt-side {
    width: 100%;
    max-width: 440px;
    margin-right: 6%;
    margin-top: 0;
  }
}
.lp_hotel02 .area--cases .txt-side {
  margin-top: 2em;
  position: relative;
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--cases .txt-side {
    max-width: 440px;
    margin-left: 8%;
    margin-top: 0;
  }
}
.lp_hotel02 .area--cases:last-child img {
  max-width: 220px;
  display: block;
  margin: auto;
}
.lp_hotel02 .area--customers {
  background-color: #f7f7f7;
}
.lp_hotel02 .area--cases .row,
.lp_hotel02 .area--business .row,
.lp_hotel02 .area--customers .row {
  justify-content: center;
}
.lp_hotel02 .area--cases .tit, .lp_hotel02 .area--cases .txt,
.lp_hotel02 .area--business .tit,
.lp_hotel02 .area--business .txt,
.lp_hotel02 .area--customers .tit,
.lp_hotel02 .area--customers .txt {
  position: relative;
  z-index: 1;
}
.lp_hotel02 .area--cases .area-tit,
.lp_hotel02 .area--business .area-tit,
.lp_hotel02 .area--customers .area-tit {
  margin-bottom: 2em;
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--cases .area-tit,
  .lp_hotel02 .area--business .area-tit,
  .lp_hotel02 .area--customers .area-tit {
    margin-bottom: 3em;
  }
}
.lp_hotel02 .area--cases .area-tit img,
.lp_hotel02 .area--business .area-tit img,
.lp_hotel02 .area--customers .area-tit img {
  max-width: 220px;
  vertical-align: bottom;
  margin-right: 16px;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--cases .area-tit img,
  .lp_hotel02 .area--business .area-tit img,
  .lp_hotel02 .area--customers .area-tit img {
    max-width: 180px;
    vertical-align: top;
    margin-right: 8px;
  }
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--partners .swiper-slide {
    max-width: 200px;
  }
}
.lp_hotel02 .area--about .area__inner {
  display: flex;
}
.lp_hotel02 .area--about .txt-side {
  margin-left: 0;
}
.lp_hotel02 .area--about .tit {
  font-size: 3rem;
  color: #512376;
  line-height: 140%;
  margin-bottom: 16px;
}
.lp_hotel02 .area--about .txt {
  font-size: 1.5rem;
}
.lp_hotel02 .area--about .ph--display {
  max-width: 220px;
  margin-bottom: 4rem;
}
.lp_hotel02 .area--about .ph--display img {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--about .area__inner {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--about .ph--display {
    max-width: 270px;
    margin-bottom: 0;
  }
  .lp_hotel02 .area--about .ph--display img {
    width: 100%;
  }
  .lp_hotel02 .area--about .txt-side {
    line-height: 180%;
    width: 60%;
  }
}
.lp_hotel02 .area--recommended .txt {
  font-size: 3rem;
  text-align: center;
  color: #4a4a4a;
  font-weight: bold;
}
.lp_hotel02 .area--recommended .txt span {
  color: #512376;
  font-size: 7rem;
}
.lp_hotel02 .area--recommended .txt span small {
  font-size: 55%;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--recommended .txt {
    line-height: 190%;
    margin-top: 30px;
  }
}
.lp_hotel02 .area--recommended .ph {
  text-align: center;
  display: block;
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--recommended .ph {
    margin-right: 5%;
  }
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--recommended .ph img {
    max-width: 50rem;
  }
}
.lp_hotel02 .area--recommended .tit,
.lp_hotel02 .area--graphic .tit {
  font-size: 3rem;
  color: #512376;
  line-height: 140%;
  margin-bottom: 16px;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--recommended .ph--display, .lp_hotel02 .area--recommended .wrapper,
  .lp_hotel02 .area--graphic .ph--display,
  .lp_hotel02 .area--graphic .wrapper {
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--recommended,
  .lp_hotel02 .area--graphic {
    padding: 4em;
  }
  .lp_hotel02 .area--recommended .txt-side,
  .lp_hotel02 .area--graphic .txt-side {
    margin-left: 0;
    margin-right: 6%;
    width: 40%;
  }
  .lp_hotel02 .area--recommended .ph--display, .lp_hotel02 .area--recommended .wrapper,
  .lp_hotel02 .area--graphic .ph--display,
  .lp_hotel02 .area--graphic .wrapper {
    max-width: 45%;
  }
}
.lp_hotel02 .area--single-text {
  padding: 0 2em;
}
.lp_hotel02 .area--graphic {
  background-color: #ececec;
}
.lp_hotel02 .area--graphic .tit {
  font-weight: bold;
  color: #000;
  line-height: 180%;
}
.lp_hotel02 .area--graphic .tit span {
  font-size: 5rem;
  position: relative;
  z-index: 1;
}
.lp_hotel02 .area--graphic .tit span::after {
  content: "";
  background: #e3920d;
  width: 100%;
  position: absolute;
  z-index: -1;
  bottom: 1px;
  border-radius: 50px;
  height: 15px;
  left: 0;
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--graphic .wrapper {
    margin-top: 5rem;
  }
}
.lp_hotel02 .area--graphic .wrapper .txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 120%;
  font-weight: bold;
  color: #505050;
}
@media screen and (min-width: 559px) and (max-width: 959px) {
  .lp_hotel02 .area--graphic .ph--display {
    text-align: center;
    display: block;
  }
}
.lp_hotel02 .area--contact {
  background-color: #4EACAA;
}
.lp_hotel02 .area--contact.last:after {
  background-color: #4EACAA;
}
.lp_hotel02 .area--contact .btn--main {
  background-color: #FFF;
  font-size: 18px;
  padding: 16px 40px;
  color: #4EACAA;
}
.lp_hotel02 .area--single .area__inner {
  display: block;
}
.lp_hotel02 .area--single .sub-tit {
  text-align: center;
  margin: 0 0 3em;
}
.lp_hotel02 .area--single .ph--display {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.lp_hotel02 .area--single .txt {
  text-align: center;
  margin: 3em auto;
  width: 70%;
}
.lp_hotel02 .list--picture {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
  margin: 0 auto;
}
.lp_hotel02 .list--picture .ph--display {
  width: auto;
}
.lp_hotel02 .list--picture .ph--display:first-of-type {
  margin-right: 5%;
}
.lp_hotel02 .area--place .tit span {
  opacity: 0.6;
  font-size: 1.3em;
}
@media screen and (min-width: 960px) {
  .lp_hotel02 .area--contact.last {
    padding-bottom: 4em;
  }
}
@media screen and (max-width: 959px) {
  .lp_hotel02 .area--contact .area-tit,
  .lp_hotel02 .area .area-tit,
  .lp_hotel02 .dx_jinryu .area--flow .tit,
  .lp_hotel02 .dx_jinryu .area--faq .tit {
    font-size: 1.4em;
  }
  .lp_hotel02 .area--single .sub-tit {
    text-align: left;
    font-weight: 500;
  }
  .lp_hotel02 .list--picture,
  .lp_hotel02 .area--single .ph--display,
  .lp_hotel02 .area--single .txt {
    width: 100%;
    text-align: left;
  }
}

.event_lp .area {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 959px) {
  .event_lp .area {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.event_lp .area--swiper {
  margin-top: 76px;
  min-height: calc(50vh - 80px);
  width: 100%;
  position: relative;
}
@media screen and (min-width: 960px) {
  .event_lp .area--swiper {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    align-content: center;
    margin-top: 80px;
    justify-content: space-between;
    overflow: hidden;
    max-height: 1080px;
  }
}
.event_lp .area--swiper .swiper-container {
  overflow: hidden;
}
@media screen and (min-width: 960px) {
  .event_lp .area--swiper .swiper-container {
    width: 50%;
  }
}
.event_lp .area--swiper .swiper-container .swiper-wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}
.event_lp .area--swiper .swiper-container .swiper-slide {
  background-position: center;
  background-size: cover;
  min-height: calc(100vh - 80px);
}
@media screen and (max-width: 959px) {
  .event_lp .area--swiper .swiper-container .swiper-slide {
    min-height: calc(50vh - 80px);
  }
}
.event_lp .area--swiper .txt-side {
  text-align: left;
  padding: 2rem 2rem 3rem;
  position: relative;
  display: flex;
  color: #FFF;
  z-index: 4;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #1e1e1e;
}
@media screen and (min-width: 960px) {
  .event_lp .area--swiper .txt-side {
    width: 50%;
    align-items: center;
  }
  .event_lp .area--swiper .txt-side:after {
    content: "";
    position: absolute;
    transform: translate(100%, -50%);
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    z-index: -1;
    border-style: solid;
    border-width: 1200px 0 0 200px;
    border-color: transparent transparent transparent #1e1e1e;
  }
}
.event_lp .area--swiper .txt-side .area-tit {
  font-size: 7vw;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .event_lp .area--swiper .txt-side .area-tit {
    font-size: 3em;
  }
}
@media (min-width: 960px) and (max-width: 1133px) {
  .event_lp .area--swiper .txt-side .area-tit {
    font-size: 2.2em;
  }
}
.event_lp .area--swiper .txt-side .sub-tit {
  margin: 32px 0;
  font-size: 1.6em;
}
@media screen and (max-width: 959px) {
  .event_lp .area--swiper .txt-side .sub-tit {
    margin: 16px 0 24px;
    font-size: 1.1em;
  }
}
.event_lp .area--swiper .txt-side .btn {
  text-align: center;
  display: flex;
  margin: 0;
  justify-content: flex-start;
}
.event_lp .area--swiper .txt-side .btn .btn--main {
  font-weight: bold;
  background-color: #ffffff;
  color: #512376;
  min-width: 200px;
}
.event_lp .area--swiper .txt-side .btn .btn--main:first-child {
  margin-right: 24px;
}
@media screen and (max-width: 959px) {
  .event_lp .area--swiper .txt-side .btn {
    width: 100%;
    flex-wrap: wrap;
  }
  .event_lp .area--swiper .txt-side .btn .btn--main:first-child {
    margin-right: 0;
    margin-bottom: 24px;
  }
}
.event_lp .area--cases.location .tit {
  font-size: 1.3em;
}
.event_lp .area--cases.location .highlight {
  background: rgba(255, 234, 200, 0.5);
  display: inline-block;
  padding: 8px;
  padding-right: 32px;
  padding-left: 16px;
}
.event_lp .area--cases.location .highlight li {
  left: 16px;
  position: relative;
  list-style: disc;
}
.event_lp .area--cases.location .ph {
  max-width: none;
}
@media screen and (min-width: 960px) {
  .event_lp .area--cases.location .ph--display {
    max-width: 50%;
  }
  .event_lp .area--cases.location .txt-side {
    max-width: 51%;
    margin-left: 48px;
  }
}
.event_lp .area--about {
  background: #f4f4f4;
  text-align: center;
}
.event_lp .area--about .area__inner .column {
  margin: 32px auto;
}
@media screen and (min-width: 960px) {
  .event_lp .area--about .area__inner {
    display: flex;
    justify-content: space-evenly;
    margin: 80px auto;
  }
  .event_lp .area--about .area__inner .column {
    margin: 0 24px;
  }
}
.event_lp .area--contact .area-tit {
  margin-bottom: 2em;
}
.event_lp .area--contact.simple {
  background: transparent;
}
.event_lp .area--contact.simple .area-tit {
  color: #512376;
}
.event_lp .area--contact.simple .btn--main {
  background: #512376;
  color: #FFF;
}
@media screen and (min-width: 960px) {
  .event_lp .area--contact.last {
    padding: 104px 24px;
  }
}
.event_lp .area--cases.numbers .sub-tit {
  font-weight: 500;
  margin: auto;
  font-size: 0.6em;
  margin-top: 2em;
}
@media screen and (max-width: 959px) {
  .event_lp .area--cases.numbers .txt-side {
    margin-left: 10%;
    margin-top: 56px;
    max-width: 85%;
  }
}
@media screen and (min-width: 960px) {
  .event_lp .area--cases.numbers .sub-tit {
    max-width: 50%;
  }
  .event_lp .area--cases.numbers .ph {
    max-width: 40%;
  }
  .event_lp .area--cases.numbers .txt-side {
    max-width: 40%;
    margin-left: 10%;
  }
}
.event_lp .area--process .area__inner {
  align-items: flex-start;
}
.event_lp .area--process .column {
  margin: 0 0 32px;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 960px) {
  .event_lp .area--process .column {
    width: 33.3333%;
    margin: 0 16px;
  }
}
.event_lp .area--process .img_wrap {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 32px;
}
.event_lp .area--process img {
  margin: auto;
  display: block;
}
.event_lp .area--process .circle {
  display: block;
  position: relative;
  margin: 0 auto 32px;
  top: 0;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  background-color: #512376;
}
@media screen and (max-width: 959px) {
  .event_lp .area--process .circle {
    display: none;
  }
}
.event_lp .area--process .element {
  position: relative;
}
.event_lp .area--process .arrow {
  display: block;
  top: 50%;
  left: calc(100% + 16px);
  transform: translate(-50%, -50%);
  position: absolute;
}
@media screen and (max-width: 959px) {
  .event_lp .area--process .arrow {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .event_lp .area--process .arrow {
    max-width: 75%;
    width: 100%;
  }
}
.event_lp .area--process .txt-side {
  position: relative;
}
.event_lp .area--process .tit {
  font-size: 1.6em;
  font-weight: bold;
  width: 100%;
}
.event_lp .area--process .notice {
  text-align: center;
  margin-top: 4rem;
}
.event_lp .started .btn--main {
  animation: change_color;
  animation-duration: 1s;
  animation-iteration-count: 2;
}

@keyframes change_color {
  0% {
    background-color: #512376;
  }
  50% {
    background-color: #b962ff;
  }
  100% {
    background-color: #512376;
  }
}
.new_lp {
  background: #FFF;
}
.new_lp .top-bg {
  position: absolute;
  width: 100%;
  overflow: hidden;
  z-index: 0;
  height: 1200px;
  top: 0;
  left: 0;
}
.new_lp .top-bg:before, .new_lp .top-bg:after {
  content: "";
  background: url("/common/images/other/lp/restaurant/o_circle.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
}
.new_lp .top-bg:before {
  transform: translate(10%, 10%);
  right: 0;
  top: 0;
  width: 1000px;
  height: 1000px;
}
@media screen and (max-width: 959px) {
  .new_lp .top-bg:before {
    transform: translate(-30%, -10%);
    right: 0;
    top: 0;
    width: 500px;
    height: 500px;
  }
}
.new_lp .top-bg:after {
  transform: translate(30%, 30%);
  left: 0;
  top: 0;
  width: 800px;
  height: 800px;
}
@media screen and (max-width: 959px) {
  .new_lp .top-bg:after {
    transform: translate(10%, 10%);
    left: 0;
    top: 0;
    width: 400px;
    height: 400px;
  }
}
.new_lp .anchor {
  position: absolute;
  top: 35rem;
}
@media screen and (max-width: 959px) {
  .new_lp .anchor {
    top: 15rem;
  }
}
.new_lp.scrolled header {
  background: #FFF;
}
.new_lp.scrolled .sub-menu2 {
  background: #FFF;
}
@media screen and (min-width: 960px) {
  .new_lp header {
    background: transparent;
    margin: 0px auto;
    left: 0;
    right: 0;
    color: #000;
    width: 100%;
    min-width: auto;
    padding: 48px 16px;
    transition: all 0.2s linear;
  }
}
.new_lp header .cls-1 {
  fill: #00B0AC !important;
}
@media screen and (max-width: 959px) {
  .new_lp header.sp-header {
    padding: 0;
    position: relative;
    height: auto;
    width: auto;
    line-height: 100%;
    mix-blend-mode: normal;
  }
  .new_lp header.drawer {
    background: #FFF;
    padding: 24px;
    width: auto;
  }
  .new_lp header.drawer h1 {
    width: 40%;
  }
  .new_lp header.drawer a:not(.btn) {
    color: #000;
  }
  .new_lp header.drawer .btn--main {
    margin: 24px auto 0;
  }
}
.new_lp header .btn--main {
  margin-left: 16px;
}
.new_lp header .g-nav .menu > li {
  margin: auto;
}
.new_lp header .g-nav .menu > li:hover {
  color: initial;
}
.new_lp header li > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.new_lp header li > a:hover {
  color: #00B0AC;
}
.new_lp header li > a {
  padding: 24px;
}
@media screen and (max-width: 959px) {
  .new_lp header li > a {
    padding: 16px;
  }
}
@media screen and (min-width: 960px) {
  .new_lp header li:nth-of-type(2):hover .sub-menu2 {
    max-height: 130px;
  }
}
.new_lp header .sub-menu2 {
  position: relative;
  color: #4a4a4a;
}
@media screen and (min-width: 960px) {
  .new_lp header .sub-menu2 {
    position: absolute;
    top: 62px;
    left: 50%;
    max-height: 0px;
    overflow: hidden;
    transform: translateX(-50%);
    min-width: 250px;
    background: transparent;
    text-align: center;
    transition: all 0.2s linear;
  }
  .new_lp header .sub-menu2 li {
    margin: 8px 16px;
  }
  .new_lp header .sub-menu2 li a {
    padding: 0;
  }
}
@media screen and (max-width: 959px) {
  .new_lp header .sub-menu2 {
    padding: 0 16px;
  }
  .new_lp header .sub-menu2:before {
    content: "";
    width: 1px;
    height: 86%;
    position: absolute;
    background: #d8d8d8;
    display: block;
    left: 20px;
    top: 8px;
  }
  .new_lp header .sub-menu2 li a {
    padding: 12px 24px;
  }
}
.new_lp header .sub-menu2 > a:hover {
  color: #00B0AC !important;
}
.new_lp header .sub-menu2 > a {
  color: #00B0AC !important;
}
@media screen and (max-width: 959px) {
  .new_lp .nav {
    display: flex;
    align-items: center;
    height: 60px;
    position: fixed;
    top: 0;
    justify-content: space-between;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #FFF;
    padding: 0 12px;
  }
  .new_lp .logo--v {
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    max-width: 120px;
    height: auto;
  }
  .new_lp .drawer__btn {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    height: auto;
  }
  .new_lp .drawer__btn__inner {
    position: relative;
    top: 0;
    right: 0;
  }
  .new_lp li:nth-of-type(2) a {
    padding-bottom: 8px;
  }
}
.new_lp .btn {
  border-radius: 100px;
  padding: 20px 24px;
  margin: auto;
  min-width: 200px;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  line-height: 100%;
  display: inline-block;
}
.new_lp .btn:hover {
  background: #12cfcb;
  color: #FFF;
  border-color: transparent;
}
@media screen and (max-width: 959px) {
  .new_lp .btn {
    width: 100%;
  }
}
.new_lp .btn--main {
  background: #00B0AC;
  color: #FFF;
}
.new_lp .btn--secondary {
  border: #00B0AC 1px solid;
  color: #00B0AC;
}
.new_lp .area {
  padding: 80px 32px;
  position: relative;
}
.new_lp .area h1, .new_lp .area h2, .new_lp .area h3 {
  line-height: 150%;
}
.new_lp .area h1.area-tit {
  font-size: 68px;
  text-align: left;
  line-height: 140%;
  margin-bottom: 24px;
}
.new_lp .area h2.area-tit {
  font-size: 48px;
  margin-bottom: 80px;
  line-height: 150%;
}
.new_lp .area h3 {
  font-size: 24px;
  margin-bottom: 24px;
}
.new_lp .area p.txt {
  font-size: 16px;
  color: #4E4E4E;
  margin-bottom: 0;
}
.new_lp .area p.sub-tit {
  font-size: 18px;
  max-width: 760px;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .new_lp .area {
    padding: 40px 24px;
  }
  .new_lp .area h1.area-tit {
    font-size: 40px;
  }
  .new_lp .area h2.area-tit {
    font-size: 25px;
    line-height: 150%;
  }
  .new_lp .area h3 {
    font-size: 20px;
    line-height: 150%;
  }
  .new_lp .area p.txt {
    font-size: 16px;
  }
  .new_lp .area p.sub-tit {
    font-size: 18px;
  }
}
.new_lp .ph {
  display: block;
}
.new_lp .area__inner {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .new_lp .area__inner {
    flex-direction: column-reverse;
  }
}
.new_lp .banner {
  width: 100%;
  height: 56vh;
  max-height: 720px;
  background-size: cover;
  background-position: center;
}
.new_lp .top--kv .ph img {
  width: 95%;
  margin: auto;
  display: block;
}
@media screen and (min-width: 960px) {
  .new_lp .top--kv {
    z-index: 0;
    padding: 210px 0 360px;
  }
  .new_lp .top--kv .txt-side {
    margin-top: -5rem;
  }
  .new_lp .top--kv .area__inner {
    width: 90%;
    align-items: flex-start;
  }
  .new_lp .top--kv .ph {
    z-index: -1;
    position: absolute;
    right: -20px;
    width: 90vw;
    max-width: 900px;
    margin-top: 50px;
  }
  .new_lp .top--kv .ph img {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .new_lp .top--kv {
    margin-top: 72px;
  }
  .new_lp .top--kv .ph:before, .new_lp .top--kv .ph:after {
    width: 300px;
    height: 300px;
  }
  .new_lp .top--kv .ph:before {
    transform: translate(0%, -15%);
  }
  .new_lp .top--kv .ph:after {
    transform: translate(60%, 70%);
  }
  .new_lp .top--kv h1.area-tit {
    width: 100%;
    margin-top: 24px;
  }
  .new_lp .top--kv .ph {
    width: 100%;
  }
}
.new_lp .col-3 {
  text-align: center;
  width: 30.3333%;
}
@media screen and (max-width: 959px) {
  .new_lp .col-3 {
    width: 90%;
    margin-bottom: 56px;
  }
}
.new_lp .txt {
  text-align: left;
}
.new_lp .area--problems .ph {
  margin-bottom: 32px;
}
@media screen and (min-width: 960px) {
  .new_lp .area--problems .area__inner {
    align-items: flex-start;
  }
}
@media screen and (max-width: 959px) {
  .new_lp .area--problems .area__inner {
    flex-direction: column;
  }
}
.new_lp .area--highlight {
  padding-bottom: 160px;
}
.new_lp .area--highlight h2.area-tit {
  text-align: left;
  margin-bottom: 32px;
  line-height: 100%;
}
.new_lp .area--highlight h2.area-tit span {
  color: #00B0AC;
}
.new_lp .area--highlight .ph {
  max-width: 550px;
}
.new_lp .area--highlight .txt-side {
  max-width: 570px;
  margin-right: 5%;
  width: 95%;
}
@media screen and (max-width: 959px) {
  .new_lp .area--highlight {
    padding-bottom: 80px;
  }
  .new_lp .area--highlight h2.area-tit {
    margin-top: 32px;
    text-align: center;
  }
  .new_lp .area--highlight .txt-side {
    margin-right: 0;
    width: 100%;
  }
}
.new_lp .area--service {
  padding: 0 0 80px;
}
.new_lp .area--service.service1 {
  background-color: #FFF9F7;
}
.new_lp .area--service.service2 {
  background-color: #FFFBF4;
}
.new_lp .area--service.service3 {
  background-color: #F2FBFB;
}
.new_lp .area--service .container {
  max-width: 1440px;
  width: 95%;
  margin: -180px auto 0px;
  position: relative;
  border-radius: 30px;
  background-color: #FFF;
  padding: 80px 32px;
  overflow: hidden;
  box-shadow: 10px 10px 30px 0px rgba(114, 114, 114, 0.1);
}
.new_lp .area--service .container h2.area-tit {
  margin-bottom: 32px;
}
.new_lp .area--service .header {
  text-align: center;
  margin-bottom: 40px;
}
.new_lp .area--service .area__inner {
  flex-direction: column;
}
.new_lp .area--service .row {
  display: flex;
  margin: 56px auto;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.new_lp .area--service .row:first-child {
  margin-top: 80px;
}
.new_lp .area--service .row:last-child {
  margin-bottom: 0;
}
.new_lp .area--service .ph {
  max-width: 600px;
  z-index: 1;
}
.new_lp .area--service p.txt {
  margin-bottom: 24px;
}
.new_lp .area--service .btn {
  min-width: 300px;
  padding: 24px;
  margin-top: 24px;
}
@media screen and (min-width: 960px) {
  .new_lp .area--service.service1 .banner {
    background-position: top;
  }
  .new_lp .area--service.service1 .row:nth-of-type(even) .txt-side {
    margin-left: 5%;
    margin-right: 0;
  }
  .new_lp .area--service.service1 .row:nth-of-type(even) :before {
    transform: translateX(-70%);
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
  .new_lp .area--service.service2 .row:nth-of-type(odd) .txt-side {
    margin-left: 5%;
    margin-right: 0;
  }
  .new_lp .area--service.service2 .row:nth-of-type(odd) :before {
    transform: translateX(-70%);
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
  .new_lp .area--service.service3 .row:nth-of-type(odd) .txt-side {
    margin-left: 5%;
    margin-right: 0;
  }
  .new_lp .area--service.service3 .row:nth-of-type(odd) :before {
    transform: translateX(-70%);
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
  .new_lp .area--service .txt-side {
    max-width: 510px;
    padding: 24px 0;
    width: 100%;
    margin-right: 5%;
  }
}
@media screen and (max-width: 959px) {
  .new_lp .area--service .banner {
    height: 270px;
  }
  .new_lp .area--service .container {
    margin: -100px auto 0px;
    padding: 40px 24px;
    width: 90%;
    border-radius: 15px;
  }
  .new_lp .area--service .row {
    flex-direction: column;
    margin: 40px auto 16px;
  }
  .new_lp .area--service .row:nth-of-type(2) {
    margin-top: 10px;
  }
  .new_lp .area--service .row:before {
    display: none;
  }
  .new_lp .area--service .row:first-child {
    margin-top: 40px;
  }
  .new_lp .area--service .txt-side {
    margin-top: 24px;
  }
  .new_lp .area--service.service1 .row:nth-of-type(odd) {
    flex-direction: column-reverse;
  }
  .new_lp .area--service.service2 .row:nth-of-type(even) {
    flex-direction: column-reverse;
  }
  .new_lp .area--service.service3 .row:nth-of-type(even) {
    flex-direction: column-reverse;
  }
}
.new_lp .area--case h2.area-tit {
  margin-bottom: 80px;
}
.new_lp .area--case .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 32px;
  align-items: stretch;
  justify-content: space-around;
}
.new_lp .area--case .grid img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  border: none;
  margin: 0;
}
.new_lp .area--case .grid .block {
  background: #FFF;
  box-shadow: 10px 10px 30px 0px rgba(114, 114, 114, 0.1);
  border-radius: 15px;
  overflow: hidden;
}
.new_lp .area--case .grid .block .txt-side {
  padding: 24px 32px;
}
.new_lp .area--case .grid .ph {
  height: 250px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .new_lp .area--case h2.area-tit {
    margin: 40px auto;
  }
  .new_lp .area--case .grid {
    grid-template-columns: 1fr;
  }
  .new_lp .area--case .grid .txt-side {
    padding: 24px;
  }
  .new_lp .area--case .grid .ph {
    height: 160px;
  }
  .new_lp .area--case .grid .block {
    max-width: 600px;
    margin: auto;
  }
}
.new_lp .area--support {
  overflow: hidden;
}
.new_lp .area--support:before {
  content: "";
  background: url("/common/images/other/lp/restaurant/g_circle.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  width: 1440px;
  height: 100%;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.new_lp .area--support .area__inner {
  align-items: stretch;
}
.new_lp .area--support h2.area-tit {
  margin-bottom: 80px;
}
.new_lp .area--support .col-3 {
  padding: 32px;
  border: solid 2px #00B0AC;
  border-radius: 15px;
  position: relative;
  display: flex;
  justify-content: center;
  background: #FFF;
  min-height: 340px;
  box-shadow: 10px 10px 30px 0px rgba(114, 114, 114, 0.1);
}
.new_lp .area--support .col-3 .ph {
  max-width: 96px;
  min-height: 120px;
  margin: 0 auto 24px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.new_lp .area--support .circle {
  background: #00B0AC;
  color: #FFF;
  position: absolute;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  font-weight: bold;
  text-align: center;
  line-height: 160%;
  font-size: 38px;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
}
.new_lp .area--support .notice {
  text-align: center;
  margin-top: 56px;
}
@media screen and (max-width: 959px) {
  .new_lp .area--support .area__inner {
    flex-direction: column;
    align-items: center;
  }
  .new_lp .area--support .col-3 {
    width: 95%;
    max-width: 600px;
    min-height: auto;
  }
  .new_lp .area--support .col-3 .ph {
    max-width: 70px;
    min-height: 100px;
  }
  .new_lp .area--support .col-3:last-child .ph {
    max-width: 60px;
  }
  .new_lp .area--support .col-3:last-child {
    margin-bottom: 40px;
  }
  .new_lp .area--support .notice {
    margin-top: 0;
  }
}
.new_lp .area--download .area__inner {
  background: #00B0AC;
  color: #FFF;
  padding: 5rem 8rem;
  border-radius: 30px;
}
.new_lp .area--download h2.area-tit {
  margin-bottom: 60px;
}
.new_lp .area--download h2.area-tit .sp {
  display: none;
}
.new_lp .area--download .ph {
  max-width: 500px;
}
@media screen and (min-width: 960px) {
  .new_lp .area--download .btn-group {
    display: flex;
    justify-content: space-evenly;
  }
  .new_lp .area--download .btn {
    margin: 0 12px;
  }
}
.new_lp .area--download .btn--main {
  background-color: #FFF;
  color: #00B0AC;
}
.new_lp .area--download .btn--main:hover {
  background-color: #12cfcb;
  color: #FFF;
}
.new_lp .area--download .btn--secondary {
  border-color: #FFF;
  color: #FFF;
}
.new_lp .area--download .txt-side {
  text-align: center;
  max-width: 480px;
}
@media screen and (max-width: 959px) {
  .new_lp .area--download h2.area-tit .sp {
    display: block;
  }
  .new_lp .area--download h2.area-tit .pc {
    display: none;
  }
  .new_lp .area--download .area__inner {
    padding: 4rem;
    width: 95%;
    max-width: 600px;
    flex-direction: column;
  }
  .new_lp .area--download .btn {
    margin: 16px auto 0;
  }
  .new_lp .area--download .txt-side {
    margin: 24px auto 0;
  }
  .new_lp .area--download h2.area-tit {
    line-height: 150%;
    margin-bottom: 40px;
  }
}
.new_lp .delighter .area__inner, .new_lp .delighter.row, .new_lp .delighter.col-3,
.new_lp .delighter .block {
  opacity: 0;
  transform: translateY(10rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .new_lp .delighter .area__inner, .new_lp .delighter.row, .new_lp .delighter.col-3,
  .new_lp .delighter .block {
    transform: translateY(6rem);
  }
}
.new_lp .delighter.container {
  opacity: 1;
  transform: translateY(14rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .new_lp .delighter.container {
    transform: translateY(10rem);
  }
}
.new_lp .delighter.started .area__inner, .new_lp .delighter.started.row, .new_lp .delighter.started.container, .new_lp .delighter.started.col-3 {
  opacity: 1;
  transform: translateY(0);
}
.new_lp .delighter.started.container {
  transform: translateY(0);
}
.new_lp .delighter.started.col-3:nth-of-type(1) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.new_lp .delighter.started.col-3:nth-of-type(2) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}
.new_lp .delighter.started.col-3:nth-of-type(3) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.new_lp .delighter.started .block:nth-of-type(1) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
}
.new_lp .delighter.started .block:nth-of-type(2) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
}
.new_lp .delighter.started .block:nth-of-type(3) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.75s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.75s;
}
.new_lp .delighter.started .block:nth-of-type(4) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1s;
}

.lp_patokids {
  background-color: #F6A03A;
}
.lp_patokids section {
  position: relative;
}
.lp_patokids .area {
  padding: 6em 4em;
}
.lp_patokids .area h2.area-tit {
  margin-bottom: 1.2em;
  font-size: 2.4em;
  color: #3B3544;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area {
    padding: 4em 2em;
  }
  .lp_patokids .area h2.area-tit {
    font-size: 1.6em;
  }
}
.lp_patokids header {
  background: #3B3544;
  border: none;
  color: #FFF;
  min-width: auto;
}
.lp_patokids header .g-nav li {
  color: #FFF;
}
.lp_patokids header .g-nav li a {
  color: #FFF;
  text-decoration: none;
}
.lp_patokids header .btn {
  background: #FFF;
  color: #d88a0c;
  padding: 12px 36px;
  border-radius: 100px;
  transition: all 0.4s ease;
  font-weight: bold;
  width: 100%;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  .lp_patokids header {
    padding: 12px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    transition: background 0.3s ease;
  }
  .lp_patokids header .menu {
    display: flex;
    align-items: center;
  }
  .lp_patokids header .g-nav li {
    margin: 0 16px;
    color: #FFF;
  }
  .lp_patokids header .g-nav li a {
    color: #FFF;
  }
  .lp_patokids header .btn {
    background: #FFF;
    color: #d88a0c;
    padding: 12px 36px;
    border-radius: 100px;
    text-decoration: none;
    margin-right: 12px;
    font-weight: bold;
    transition: all 0.4s ease;
  }
  .lp_patokids header .btn:hover {
    background-color: #F6A03A;
    color: #FFF;
  }
}
@media screen and (max-width: 959px) {
  .lp_patokids .area .area-tit br {
    display: block;
  }
  .lp_patokids header.drawer {
    width: 28rem;
    padding: 6em 2em;
  }
  .lp_patokids header h1 {
    display: none;
  }
  .lp_patokids header .btn--wrap {
    display: flex;
    flex-direction: column;
  }
}
.lp_patokids .area--top {
  background: transparent;
  display: flex;
  align-items: center;
  padding: 10rem 5vw 24em;
  margin-top: 80px;
}
.lp_patokids .area--top .area__inner {
  width: 100%;
  max-width: 1400px;
  justify-content: start;
}
.lp_patokids .area--top::before, .lp_patokids .area--top:after {
  display: none;
}
.lp_patokids .area--top .ph {
  max-width: none;
  position: absolute;
  z-index: 0;
  left: 50%;
  transform: translate(-8%, -50%);
  top: 100%;
  width: 1200px;
}
.lp_patokids .area--top .txt-side {
  margin-left: 0;
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--top .txt-side .wrapper {
    max-width: 580px;
  }
}
.lp_patokids .area--top .txt-side .wrapper img:first-child {
  max-height: none;
  margin-right: 0;
}
.lp_patokids .area--top .txt-side .area-tit {
  color: #3B3544;
  font-size: 4.9em;
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--top {
    margin-top: 76px;
    padding: 2em 24px 8em;
  }
  .lp_patokids .area--top .ph {
    position: relative;
    width: auto;
    top: 0;
    left: 0;
    transform: none;
    margin-top: 0;
  }
  .lp_patokids .area--top .ph img {
    width: 100%;
  }
  .lp_patokids .area--top .txt-side {
    max-width: 820px;
    margin: auto;
  }
  .lp_patokids .area--top .txt-side .area-tit {
    font-size: 7.6vw;
  }
  .lp_patokids .area--top .txt-side .area-tit br {
    display: block;
  }
  .lp_patokids .area--top .txt-side .wrapper svg {
    width: 100%;
    height: auto;
  }
}
.lp_patokids .area--contact {
  background-color: #F6A03A;
  text-align: center;
  padding: 4em 2em;
  color: #FFF;
}
.lp_patokids .area--contact .btn {
  transition: all 0.4s ease;
}
.lp_patokids .area--contact .btn:hover {
  background-color: #F6A03A;
  color: #FFF;
}
.lp_patokids .area--contact h2.area-tit {
  color: #FFF;
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--contact {
    padding: 4em;
  }
  .lp_patokids .area--contact .sub-tit {
    margin-bottom: 2em;
  }
}
.lp_patokids .area--contact.last {
  background: #3B3544;
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--contact.last {
    padding-bottom: 4em;
  }
}
.lp_patokids .area--contact.last .notice {
  margin: 4em auto 2em;
  font-size: 0.8em;
}
.lp_patokids .area--contact .btn {
  min-width: 340px;
}
.lp_patokids .area--contact.floating {
  background: #3B3544;
  border-radius: 20px;
}
.lp_patokids .area--contact .area-tit {
  font-size: 2em;
  line-height: 160%;
  margin-bottom: 8px;
}
.lp_patokids .area--contact .txt {
  font-size: 1.8rem;
  margin-bottom: 24px;
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--contact .btn--wrap {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--contact .btn--wrap {
    margin: 1em 0 0;
  }
}
.lp_patokids .area--contact .btn {
  background-color: #FFF;
  color: #d88a0c;
  padding: 16px 20px;
  max-width: 260px;
  text-align: center;
  border-radius: 100px;
  font-size: 0.9em;
  margin: 1em 0 0;
  width: 100%;
  font-weight: bold;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--contact .btn {
    margin: auto 1.6rem;
    width: auto;
    font-size: 2rem;
  }
}
.lp_patokids .area--contact.banner {
  padding: 6em 4em;
}
.lp_patokids .area--contact.banner h2.area-tit {
  margin-bottom: 1em;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--contact {
    max-width: 95vw;
    margin: -80px auto 0;
    padding: 3em 2em;
  }
  .lp_patokids .area--contact.banner {
    padding: 4em 2em;
  }
  .lp_patokids .area--contact h2.area-tit {
    font-size: 2em;
  }
  .lp_patokids .area--contact .btn--wrap {
    display: flex;
    flex-direction: column;
    margin: 0;
  }
  .lp_patokids .area--contact .btn {
    min-width: auto;
    max-width: none;
    width: 100%;
    margin: 1em 0px;
  }
  .lp_patokids .area--contact.last {
    margin-top: 0;
    max-width: none;
  }
  .lp_patokids .area--contact.last .btn {
    min-width: auto;
    max-width: none;
    width: 100%;
    margin: 1em 0px;
  }
}
.lp_patokids .area--ai .ph {
  margin: auto;
  max-width: 800px;
}
.lp_patokids .area--ai .flow {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.lp_patokids .area--ai .flow .block {
  text-align: center;
  width: 43%;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai .flow {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .lp_patokids .area--ai .flow .block {
    width: 100%;
  }
}
.lp_patokids .area--ai h3.tit {
  font-size: 1.6em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai h3.tit {
    font-size: 1.2em;
  }
}
.lp_patokids .area--ai #arrowAnim {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0;
  padding-top: 27%;
  position: relative;
  width: 14%;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai #arrowAnim {
    width: 100%;
    height: 150px;
    align-items: center;
    padding-top: 0;
  }
}
@media screen and (min-width: 960px) {
  .lp_patokids .area--ai .arrow {
    transform: rotate(-45deg);
    border: solid black;
    border-width: 0 20px 20px 0;
    display: inline-block;
    padding: 28px;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai .arrow {
    transform: rotate(45deg);
    border: solid black;
    border-width: 0 12px 12px 0;
    display: inline-block;
    padding: 18px;
  }
}
.lp_patokids .area--ai .arrowSliding {
  top: 50%;
  transform: translate(-150px, -50%);
  position: absolute;
  animation: slide 4s linear infinite;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai .arrowSliding {
    animation: none;
    transform: none;
    top: 28%;
  }
}
.lp_patokids .area--ai .delay1 {
  animation-delay: 1s;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai .delay1 {
    transform: translateY(-60%);
  }
}
.lp_patokids .area--ai .delay2 {
  animation-delay: 2s;
}
.lp_patokids .area--ai .delay3 {
  animation-delay: 3s;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--ai .delay3 {
    transform: translateY(60%);
  }
}
@keyframes slide {
  0% {
    opacity: 1;
    transform: translate(-150px, -50%);
  }
  20% {
    opacity: 1;
    transform: translate(-90px, -50%);
  }
  80% {
    opacity: 1;
    transform: translate(90px, -50%);
  }
  100% {
    opacity: 1;
    transform: translate(150px, -50%);
  }
}
.lp_patokids .area--cases {
  background-color: #E89736;
  padding-bottom: 8em;
}
.lp_patokids .area--cases .row {
  margin-bottom: 100px;
}
.lp_patokids .area--cases h2.area-tit {
  margin-bottom: 2em;
}
.lp_patokids .area--cases .number {
  color: #FFF;
}
@media screen and (max-width: 959px) {
  .lp_patokids .area--cases .txt-side {
    margin-top: 2em;
  }
  .lp_patokids .area--cases .number {
    top: -50px;
  }
}
.lp_patokids footer {
  background-color: #121212;
}
.lp_patokids footer .section--footer-nav {
  padding: 4em 0;
}
.lp_patokids footer a:hover {
  color: #F6A03A;
}
.lp_patokids footer .copyright {
  padding: 0;
  margin-top: 2em;
}
.lp_patokids footer .copyright a:hover {
  color: #F6A03A;
}
@media screen and (max-width: 959px) {
  .lp_patokids footer .section--footer-nav {
    padding: 0;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .lp_patokids footer .section--footer-nav {
    padding: 2em 0;
  }
}

.hotel_lp {
  background: #FFF;
  font-family: Noto Sans JP;
  /********** Global Page Style ***********/
}
@media screen and (min-width: 960px) {
  .hotel_lp header {
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    min-width: auto;
    z-index: 100;
    border: 1px solid transparent;
    transition: background 0.3s ease;
    background: transparent;
  }
  .hotel_lp .g-nav {
    margin-left: 5%;
  }
  .hotel_lp .g-nav .menu {
    display: flex;
    justify-content: space-between;
  }
  .hotel_lp .g-nav .menu li a:hover {
    color: #c3a877;
  }
}
.hotel_lp .fixed-ctr-bnr {
  position: fixed;
  z-index: 2;
  bottom: 16px;
  right: 16px;
  opacity: 0;
  animation: slideRight 0.75s ease-in-out 1.5s forwards;
  max-width: 480px;
}
.hotel_lp .fixed-ctr-bnr.delete {
  display: none;
}
.hotel_lp .fixed-ctr-bnr-close {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: -12px;
  left: -12px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}
.hotel_lp .fixed-ctr-bnr-close::before {
  content: "";
  width: 12px;
  height: 2px;
  background: #512376;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.hotel_lp .fixed-ctr-bnr-close::after {
  content: "";
  width: 12px;
  height: 2px;
  background: #512376;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 959px) {
  .hotel_lp .fixed-ctr-bnr {
    max-width: 300px;
  }
  .hotel_lp .fixed-ctr-bnr-close {
    top: -12px;
    left: -12px;
  }
  .hotel_lp .fixed-ctr-bnr {
    right: calc(50% - 150px);
  }
}
.hotel_lp .anchor {
  position: absolute;
  top: -153px;
  left: 0;
  height: 1px;
  background: transparent;
}
.hotel_lp .anchor#flow {
  top: -40px;
}
.hotel_lp .container {
  min-height: auto;
  padding: 0;
}
.hotel_lp .g-nav {
  width: 100%;
  max-width: 850px;
}
.hotel_lp .g-nav .menu li {
  position: relative;
  margin: 0 0.9%;
}
.hotel_lp .btn-group {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.hotel_lp .btns {
  padding: 16px 32px;
  border-radius: 100px;
  text-decoration: none;
  background: #937132;
  display: block;
  color: #FFF;
  text-align: center;
  min-width: 200px;
  transition: background 0.2s ease !important;
}
.hotel_lp .btns:hover {
  background: #c3a877;
}
.hotel_lp section {
  margin-bottom: 180px;
  position: relative;
}
.hotel_lp .area__inner {
  padding: 0 40px;
  max-width: 1260px;
  margin: auto;
  position: relative;
  flex-direction: row;
}
@media screen and (max-width: 959px) {
  .hotel_lp .area__inner {
    flex-direction: column;
    row-gap: 80px;
  }
}
.hotel_lp.mode-pc.scrolled header.pc-header {
  top: 0;
  position: fixed;
  color: #03372E;
  padding: 0 3%;
  background: #FFF;
  border-bottom: solid 1px #03372E;
}
.hotel_lp.mode-pc.scrolled header.pc-header .logo svg path, .hotel_lp.mode-pc.scrolled header.pc-header .logo svg polygon {
  fill: #03372E;
}
.hotel_lp .sp-header {
  background: #03372E !important;
}
.hotel_lp .sp-header .logo--v svg path {
  fill: #FFF;
}
.hotel_lp .pc-header {
  animation: slideDown 0.5s ease-in-out forwards;
}
.hotel_lp header {
  color: #FFF;
  top: 40px;
  padding: 0 8%;
  position: absolute;
  transition: padding ease 0.2s, background ease 0.2s;
}
.hotel_lp header .btns {
  margin-right: 0;
}
.hotel_lp header.drawer {
  display: none;
}
@media screen and (max-width: 959px) {
  .hotel_lp header {
    top: 0;
  }
  .hotel_lp header.pc-header {
    display: none;
  }
  .hotel_lp header.drawer {
    display: block;
    top: 0;
    padding-top: 100px;
    overflow: hidden;
  }
  .hotel_lp header .btns {
    position: absolute;
    left: 0;
    right: 0;
    max-width: 50%;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .hotel_lp .drawer__btn span {
    background: #FFF;
  }
}
.hotel_lp .deco {
  position: absolute;
  z-index: 0;
  width: 90px;
  height: 90px;
}
.hotel_lp .deco.ornement-tl {
  top: 30px;
  left: 30px;
  transform: scaleY(-1);
}
.hotel_lp .deco.ornement-tr {
  top: 30px;
  right: 30px;
  transform: scale(-1);
}
.hotel_lp .deco.ornement-bl {
  bottom: 30px;
  left: 30px;
}
.hotel_lp .deco.ornement-br {
  bottom: 30px;
  right: 30px;
  transform: scaleX(-1);
}
.hotel_lp .logo svg {
  display: block;
  width: 110px;
}
.hotel_lp .g-nav {
  max-width: 700px;
}
.hotel_lp .g-nav .menu {
  align-items: center;
}
.hotel_lp .g-nav .menu > li {
  padding: 0;
}
.hotel_lp .g-nav .menu > li:hover {
  color: #c3a877;
}
.hotel_lp h1.area-tit {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  font-size: calc(24px + 24 * (100vw - 320px) / 1120);
  color: #FFF;
  margin-bottom: 40px;
  font-weight: normal;
  letter-spacing: 5px;
  opacity: 0;
  animation: slideLeft 0.75s ease-in-out forwards;
}
.hotel_lp h1.area-tit p {
  font-size: calc(16px + 8 * (100vw - 320px) / 1120);
  opacity: 0;
  margin-top: 8px;
  animation: slideLeft 0.5s ease-in-out 0.5s forwards;
}
.hotel_lp h2.area-tit {
  text-align: center;
  font-size: 34px;
  margin-bottom: 90px;
  font-weight: 500;
  position: relative;
  max-width: 780px;
  margin: 0 auto 90px;
  color: #03372E;
}
.hotel_lp h2.area-tit:before, .hotel_lp h2.area-tit:after {
  content: "";
  display: block;
  width: 100%;
  height: 20px;
  margin: auto;
  text-align: center;
}
.hotel_lp h2.area-tit.primary:before, .hotel_lp h2.area-tit.primary:after {
  background: url("/common/images/other/lp/hotel/primary_divider.svg") no-repeat center;
  background-size: contain;
}
.hotel_lp h2.area-tit.secondary {
  color: #FFF;
}
.hotel_lp h2.area-tit.secondary:before, .hotel_lp h2.area-tit.secondary:after {
  background: url("/common/images/other/lp/hotel/secondary_divider.svg") no-repeat center;
  background-size: contain;
}
.hotel_lp h2.area-tit.primary:before, .hotel_lp h2.area-tit.secondary:before {
  margin-bottom: 8px;
}
.hotel_lp h2.area-tit.primary:after, .hotel_lp h2.area-tit.secondary:after {
  margin-top: 8px;
}
.hotel_lp h3.tit {
  font-size: 22px;
  margin-bottom: 16px;
  font-weight: 600;
}
.hotel_lp .txt {
  font-size: 16px;
  font-weight: 400;
}
.hotel_lp .row {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.hotel_lp .col {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: stretch;
}
.hotel_lp .col.col-2 {
  width: 50%;
}
.hotel_lp .col.col-3 {
  width: 33.3333333%;
}
@media screen and (max-width: 959px) {
  .hotel_lp .col.col-2, .hotel_lp .col.col-3 {
    width: 100%;
  }
}
.hotel_lp {
  /********** Section ***********/
}
.hotel_lp .floating-img {
  position: absolute;
  bottom: -30px;
  right: 0;
  padding: 30px;
  z-index: 0;
  width: 58%;
  height: 1096px;
  max-width: 640px;
}
.hotel_lp .floating-img .hero-pic {
  height: 100%;
  width: 100%;
  opacity: 0;
  background: url("/common/images/other/lp/hotel/hero-pic.jpg") no-repeat center;
  background-size: cover;
  box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.25);
  animation: slideTop 0.75s ease-in-out 0.75s forwards;
}
.hotel_lp .floating-img .deco {
  position: absolute;
  bottom: 0;
}
.hotel_lp .floating-img .deco.ornement-l {
  left: 0;
}
.hotel_lp .floating-img .deco.ornement-r {
  right: 0;
  transform: scaleX(-1);
}
.hotel_lp .area--hero {
  background: #03372E;
  padding: 180px 0;
  margin-bottom: 90px;
  overflow: hidden;
}
.hotel_lp .area--hero .silhouette {
  position: absolute;
  bottom: -2px;
  width: 100%;
  left: 50%;
  transform: translate(-50%, 0%);
}
.hotel_lp .area--hero .silhouette.foreground {
  padding: 0 20px;
  animation: slideUp 0.5s ease-in-out forwards;
  transform: translate(-50%, 100%);
}
.hotel_lp .area--hero .btn-group {
  padding-right: 50px;
}
.hotel_lp .area--hero .btns {
  opacity: 0;
  animation: slideLeft 0.5s ease-in-out 0.75s forwards;
}
.hotel_lp .area--hero .btns:nth-of-type(2) {
  animation: slideLeft 0.5s ease-in-out 1s forwards;
}
.hotel_lp .area--hero .txt-side {
  width: 47vw;
  padding-right: 20px;
}
.hotel_lp .area--benefits {
  margin-bottom: 260px;
}
.hotel_lp .area--benefits .container {
  padding: 0;
  max-width: 50%;
  padding-right: 90px;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
.hotel_lp .area--benefits img {
  width: 70px;
}
.hotel_lp .area--features .row {
  background: #03372E;
  align-items: stretch;
  margin-bottom: 40px;
  box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.25);
  -moz-column-gap: 0;
       column-gap: 0;
}
.hotel_lp .area--features .row:last-of-type {
  margin-bottom: 0;
}
.hotel_lp .area--features .row .wrap-img {
  width: 50%;
  padding-top: 32%;
}
.hotel_lp .area--features .row .txt-side {
  width: 50%;
  padding: 80px;
  color: #FFF;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hotel_lp .area--features .row .txt-side .deco {
  position: absolute;
}
.hotel_lp .area--features .row .txt-side .deco.ornement-tl {
  top: 9%;
  left: 5%;
}
.hotel_lp .area--features .row .txt-side .deco.ornement-br {
  bottom: 9%;
  right: 5%;
}
.hotel_lp .area--features .row:nth-of-type(1) .wrap-img {
  background: url("/common/images/other/lp/hotel/feature1.jpg") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--features .row:nth-of-type(2) .wrap-img {
  background: url("/common/images/other/lp/hotel/feature2.jpg") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--features .row:nth-of-type(3) .wrap-img {
  background: url("/common/images/other/lp/hotel/feature3.png") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--usage {
  background: #03372E;
  margin-top: 512px;
  padding-bottom: 180px;
}
.hotel_lp .area--usage h2.area-tit.secondary {
  margin-top: -120px;
}
.hotel_lp .area--usage .container {
  padding: 0;
}
.hotel_lp .area--usage .container:nth-of-type(1) {
  top: -312px;
  position: relative;
}
.hotel_lp .area--usage .container:nth-of-type(1) .area__inner {
  display: flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.hotel_lp .area--usage .container:nth-of-type(1) .txt-side {
  background: #FFF;
  padding: 30px;
  min-height: 335px;
  margin-top: -2px;
}
.hotel_lp .area--usage .container:nth-of-type(2) .area__inner {
  display: flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 5%;
       column-gap: 5%;
}
.hotel_lp .area--usage .container:nth-of-type(2) .wrap-img {
  background: url("/common/images/other/lp/hotel/devices.jpg") no-repeat center;
  background-size: cover;
  width: 50%;
  max-width: 480px;
  height: 634px;
  margin: auto;
}
.hotel_lp .area--usage .container:nth-of-type(2) .content {
  width: 50%;
}
.hotel_lp .area--usage .container:nth-of-type(2) .txt-side {
  color: #FFF;
}
.hotel_lp .area--usage .container:nth-of-type(2) .row {
  align-items: center;
  margin-bottom: 40px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.hotel_lp .area--usage .container:nth-of-type(2) .row:last-of-type {
  margin-bottom: 0;
}
.hotel_lp .area--usage .container:nth-of-type(2) .icon {
  width: 100%;
  max-width: 75px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hotel_lp .area--testimonials .area__inner {
  display: flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.hotel_lp .area--testimonials .col:nth-of-type(1) .wrap-img {
  background: url("/common/images/other/lp/hotel/case1.png") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--testimonials .col:nth-of-type(2) {
  margin-top: 90px;
}
.hotel_lp .area--testimonials .col:nth-of-type(2) .wrap-img {
  background: url("/common/images/other/lp/hotel/case2.png") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--testimonials .col:nth-of-type(3) {
  margin-top: 180px;
}
.hotel_lp .area--testimonials .col:nth-of-type(3) .wrap-img {
  background: url("/common/images/other/lp/hotel/case3.png") no-repeat center;
  background-size: cover;
}
.hotel_lp .area--testimonials .wrap-img {
  padding-top: 120%;
  width: 100%;
}
.hotel_lp .area--testimonials .txt-side {
  padding: 30px;
  background: #FFF;
  max-width: 90%;
  margin: auto;
  margin-top: -90px;
}
.hotel_lp .area--testimonials .quote {
  margin-bottom: 20px;
  display: block;
}
.hotel_lp .area--testimonials .quote path {
  fill: #c3a877;
}
.hotel_lp .area--numbers {
  background: url("/common/images/other/lp/hotel/hotel_kv.jpg") no-repeat center;
  background-size: cover;
  padding: 90px 0;
  color: #FFF;
  margin-bottom: 0;
}
.hotel_lp .area--numbers:before {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}
.hotel_lp .area--numbers .area__inner {
  display: flex;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 100px;
       column-gap: 100px;
  max-width: 880px;
}
.hotel_lp .area--numbers .col {
  z-index: 1;
  position: relative;
}
.hotel_lp .area--numbers .number {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  font-size: 114px;
  line-height: 100%;
  text-align: center;
}
.hotel_lp .area--numbers .number span {
  font-size: 60px;
  font-weight: 100;
}
.hotel_lp .area--flow {
  background: #F7F6F5;
  padding: 120px 0;
  margin-bottom: 0;
}
.hotel_lp .area--flow .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hotel_lp .area--flow .inner_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 20px;
}
.hotel_lp .area--flow .col {
  width: 100%;
  max-width: 60px;
}
.hotel_lp .area--flow .circle {
  background: transparent;
  border: 1px solid #03372E;
  border-radius: 100%;
  height: 60px;
  width: 60px;
  font-size: 24px;
  position: relative;
  display: inline-block;
  color: #03372E;
  top: 0;
  left: auto;
  transform: none;
  line-height: 230%;
  text-align: center;
  background: #FFF;
  font-family: "Roboto", sans-serif;
  z-index: 1;
}
.hotel_lp .area--flow .txt-side {
  max-width: 544px;
  padding-top: 12px;
}
.hotel_lp .area--flow .row {
  -moz-column-gap: 30px;
       column-gap: 30px;
  align-items: flex-start;
}
.hotel_lp .area--flow .row:after {
  content: "";
  background: #03372E;
  width: 1px;
  min-height: 100%;
  position: absolute;
  top: 60px;
  z-index: 0;
  left: 30px;
  margin: auto;
  z-index: -1;
}
.hotel_lp .area--flow .row:last-child:after {
  display: none;
}
.hotel_lp .area--download {
  padding-top: 0;
  padding-bottom: 90px;
  background: #F7F6F5;
  margin-bottom: 0;
}
.hotel_lp .area--download .area__inner {
  padding: 80px;
  background: #03372E;
  box-shadow: 10px 10px 40px 0px rgba(0, 0, 0, 0.25);
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  align-items: center;
}
.hotel_lp .area--download img {
  width: 50%;
  background: #F7F6F5;
}
.hotel_lp .area--download h2.area-tit {
  color: #FFF;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  text-align: left;
  margin-bottom: 40px;
  font-size: 40px;
  font-weight: 100;
}
.hotel_lp .area--download .txt-side {
  width: 50%;
}
.hotel_lp .area--footer {
  padding: 80px 0;
  background: #03372E;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.hotel_lp .area--footer .footer-nav {
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-bottom: 80px;
  justify-content: center;
  font-weight: 400;
}
.hotel_lp .area--footer a {
  text-decoration: none;
  transition: color 0.2s ease;
  color: #FFF;
}
.hotel_lp .area--footer a:hover {
  color: #c3a877;
}
.hotel_lp .area--footer .copyright {
  font-size: 14px;
  opacity: 0.5;
  font-weight: lighter;
}
.hotel_lp {
  /***********  Mobile responsive  **********/
}
@media screen and (max-width: 959px) {
  .hotel_lp h1.area-tit {
    line-height: normal;
    width: auto;
    margin-bottom: 10px;
  }
  .hotel_lp h1.area-tit p {
    margin-bottom: 20px;
  }
  .hotel_lp .sp-header {
    background: #03372E;
    position: fixed;
  }
  .hotel_lp header {
    padding: 0 2em;
    transition: padding ease 0.2s, background ease 0.2s, transform 0.3s ease;
  }
  .hotel_lp .anchor {
    top: -112px;
  }
  .hotel_lp .anchor#flow {
    top: 0;
  }
  .hotel_lp .txt {
    font-weight: 100;
  }
  .hotel_lp .g-nav {
    margin-top: 3rem;
  }
  .hotel_lp .g-nav li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .hotel_lp .g-nav li > a {
    display: inline-block;
    padding: 1.25em 0;
    color: #F9FCFC;
    font-size: 1.38rem;
    line-height: 1.5em;
    letter-spacing: 0.125em;
    position: relative;
  }
  .hotel_lp .pc-header {
    background: transparent;
  }
  .hotel_lp header.drawer {
    background: #022620;
    width: 26rem;
    position: fixed;
  }
  .hotel_lp h2.area-tit {
    padding: 0 20px;
    font-size: 24px;
  }
  .hotel_lp h3.tit {
    font-size: 20px;
  }
  .hotel_lp .deco {
    width: 60px;
    height: 60px;
  }
  .hotel_lp .deco.ornement-tl {
    top: 20px;
    left: 20px;
  }
  .hotel_lp .deco.ornement-tr {
    top: 20px;
    right: 20px;
  }
  .hotel_lp .deco.ornement-bl {
    bottom: 20px;
    left: 20px;
  }
  .hotel_lp .deco.ornement-br {
    bottom: 20px;
    right: 20px;
  }
  .hotel_lp .btn-group {
    width: 100%;
    justify-content: center;
  }
  .hotel_lp .btns {
    width: 100%;
    max-width: 380px;
  }
  .hotel_lp .area__inner {
    padding: 0 20px;
  }
  .hotel_lp .area--hero {
    padding: 120px 0 200px;
  }
  .hotel_lp .area--hero .btn-group {
    padding-right: 0;
  }
  .hotel_lp .area--hero .txt-side {
    width: 100%;
    padding: 0 10px;
    max-width: 600px;
    margin: auto;
  }
  .hotel_lp .floating-img {
    position: relative;
    height: auto;
    padding-top: 80%;
    bottom: 0;
    width: 100%;
    max-width: 700px;
    margin: -270px auto 60px;
  }
  .hotel_lp .floating-img .hero-pic {
    height: auto;
    width: auto;
    position: absolute;
    top: 15px;
    right: 15px;
    left: 15px;
    bottom: 15px;
  }
  .hotel_lp .area--benefits {
    margin-bottom: 120px;
  }
  .hotel_lp .area--benefits .container {
    max-width: 550px;
    padding: 0;
    margin: auto;
    width: 90%;
  }
  .hotel_lp .area--benefits .row {
    row-gap: 20px;
    flex-wrap: wrap;
    align-items: center;
  }
  .hotel_lp .area--benefits .txt-side {
    width: 100%;
    max-width: 400px;
  }
  .hotel_lp .area--features .row {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .hotel_lp .area--features .row .wrap-img {
    padding-top: 56%;
  }
  .hotel_lp .area--features .row .txt-side {
    padding: 50px;
  }
  .hotel_lp .area--features .row .wrap-img, .hotel_lp .area--features .row .txt-side {
    width: 100%;
  }
  .hotel_lp .area--usage {
    padding-bottom: 90px;
  }
  .hotel_lp .area--usage h2.area-tit.secondary {
    margin-top: -180px;
  }
  .hotel_lp .area--usage .container:nth-of-type(1) .txt-side {
    min-height: auto;
  }
  .hotel_lp .area--usage .container:nth-of-type(2) .row {
    flex-direction: column;
    row-gap: 40px;
  }
  .hotel_lp .area--usage .container:nth-of-type(2) .wrap-img {
    width: 90%;
    max-width: none;
    height: auto;
    padding-top: 56%;
  }
  .hotel_lp .area--usage .container:nth-of-type(2) .content {
    width: 100%;
    max-width: 550px;
  }
  .hotel_lp .area--testimonials .col {
    max-width: 600px;
    margin: auto;
    margin-top: 0 !important;
  }
  .hotel_lp .area--testimonials .col .wrap-img {
    padding-top: 100%;
  }
  .hotel_lp .area--numbers .col {
    max-width: 550px;
    margin: auto;
  }
  .hotel_lp .area--flow .row {
    max-width: 550px;
    -moz-column-gap: 10px;
         column-gap: 10px;
    flex-direction: column;
    align-items: center;
  }
  .hotel_lp .area--flow .row:after {
    display: none;
  }
  .hotel_lp .area--flow .txt-side {
    text-align: center;
  }
  .hotel_lp .area--flow .inner_wrap {
    row-gap: 40px;
    align-items: center;
  }
  .hotel_lp .area--download .area__inner {
    row-gap: 40px;
    padding: 70px 40px 80px;
  }
  .hotel_lp .area--download h2.area-tit {
    margin-bottom: -12px;
    font-size: 24px;
    padding: 8px 8px 0;
  }
  .hotel_lp .area--download h2.area-tit:before, .hotel_lp .area--download h2.area-tit:after {
    display: none;
  }
  .hotel_lp .area--download h2.area-tit br {
    display: none;
  }
  .hotel_lp .area--download img {
    width: 100%;
  }
  .hotel_lp .area--download .txt-side {
    width: 100%;
  }
  .hotel_lp .area--footer {
    padding: 40px 0 160px;
  }
  .hotel_lp .area--footer .footer-nav {
    flex-direction: column;
    row-gap: 20px;
  }
}
.hotel_lp .delighter.area__inner,
.hotel_lp .delighter .row,
.hotel_lp .delighter .col,
.hotel_lp .delighter .block {
  opacity: 0;
  transform: translateY(10rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .hotel_lp .delighter.area__inner,
  .hotel_lp .delighter .row,
  .hotel_lp .delighter .col,
  .hotel_lp .delighter .block {
    transform: translateY(6rem);
  }
}
.hotel_lp .delighter .fixed-btn-wrap {
  opacity: 1;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.hotel_lp .delighter.started.area__inner, .hotel_lp .delighter.started.container {
  opacity: 1;
  transform: translateY(0);
}
.hotel_lp .delighter.started .row:nth-of-type(1),
.hotel_lp .delighter.started .col:nth-of-type(1) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  transform: translateY(0);
  opacity: 1;
}
.hotel_lp .delighter.started .row:nth-of-type(2),
.hotel_lp .delighter.started .col:nth-of-type(2) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  transform: translateY(0);
  opacity: 1;
}
.hotel_lp .delighter.started .row:nth-of-type(3),
.hotel_lp .delighter.started .col:nth-of-type(3) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  transform: translateY(0);
  opacity: 1;
}
.hotel_lp .delighter.started .fixed-btn-wrap {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 360px) {
  .hotel_lp h1.area-tit p {
    font-size: 20px;
    margin-bottom: 20px;
    margin-top: 10px;
  }
}

@keyframes openImg {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
@keyframes slideUp {
  0% {
    transform: translate(-50%, 100%);
  }
  100% {
    transform: translate(-50%, 0%);
  }
}
@keyframes slideTop {
  0% {
    transform: translateY(15%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes slideLeft {
  0% {
    transform: translateX(-15%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes slideRight {
  0% {
    transform: translateX(15%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
.government_lp {
  background: #FFF;
  color: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.government_lp footer .section--footer-contact {
  display: none;
}
.government_lp footer .section--footer-nav .footer-nav .footer-nav--top {
  display: none;
}
.government_lp footer .section--footer-nav {
  padding: 10rem 12% 8rem;
}
.government_lp .wrap {
  padding: 0px;
}
.government_lp {
  /* scroll animation */
}
.government_lp .c-scrolldown {
  width: 1px;
  height: 14vh;
  position: absolute;
  bottom: 0;
  left: 50%;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.government_lp .c-scrolldown .c-line {
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(to bottom, #F2BE29 50%, rgba(255, 255, 255, 0) 50%);
  background-position: 0 -14vh;
  background-size: 100% 200%;
  animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@keyframes scrolldown {
  0% {
    background-position: 0 -14vh;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 14vh;
  }
}
.government_lp.scrolled .c-scrolldown {
  opacity: 0;
}
.government_lp {
  /********** Global Page Style ***********/
}
@media screen and (min-width: 960px) {
  .government_lp .drawer__btn .drawer__btn__inner {
    display: none;
  }
  .government_lp header {
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    min-width: auto;
    z-index: 100;
    border: 1px solid transparent;
    transition: background 0.3s ease;
    background: transparent;
  }
  .government_lp .g-nav {
    margin-left: 5%;
    margin-top: 0;
  }
  .government_lp .g-nav .menu {
    display: flex;
    justify-content: space-between;
  }
  .government_lp .g-nav .menu li a:after {
    content: "";
    position: absolute;
    background-color: #512376;
    width: 0%;
    height: 7px;
    margin: auto;
    bottom: 3px;
    color: #FFF;
    left: 0;
    z-index: -1;
    transition: width 0.3s ease;
  }
  .government_lp .g-nav .menu li a:hover {
    color: #FFF;
  }
  .government_lp .g-nav .menu li a:hover:after {
    width: 100%;
  }
}
.government_lp .anchor {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background: transparent;
}
.government_lp .anchor#flow {
  top: -40px;
}
.government_lp .container {
  min-height: auto;
  padding: 0;
}
.government_lp .g-nav {
  width: 100%;
  max-width: 850px;
}
.government_lp .g-nav .menu li {
  position: relative;
  margin: 0 0.9%;
}
.government_lp .g-nav .menu li a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #FFF;
}
.government_lp .btn-group {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.government_lp .btns {
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none;
  background: #FFF;
  display: block;
  color: #2f2f2f;
  text-align: center;
  min-width: 200px;
  font-weight: bolder;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.government_lp .btns.secondary {
  background: #FFF;
  border: solid 2px #2f2f2f;
  color: #2f2f2f;
}
.government_lp .btns.secondary:hover {
  background: #2f2f2f;
}
.government_lp .btns:hover {
  opacity: 0.8;
}
.government_lp section {
  padding: 120px 0;
  position: relative;
}
.government_lp .area__inner {
  max-width: 960px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.government_lp.mode-pc.scrolled header.pc-header {
  top: 0;
  position: fixed;
  color: #2f2f2f;
  padding: 0 3%;
  background: #FFF;
  border-bottom: solid 1px #2f2f2f;
}
.government_lp.mode-pc.scrolled header.pc-header .logo svg path, .government_lp.mode-pc.scrolled header.pc-header .logo svg polygon {
  fill: #2f2f2f;
}
.government_lp.mode-pc.scrolled header.pc-header .btns {
  background: #512376;
  color: #FFF;
}
.government_lp.mode-pc.scrolled header.pc-header .btns:hover {
  color: #FFF;
  opacity: 0.8;
}
.government_lp header.pc-header .btns {
  background: #512376;
  color: #FFF;
  transition: background 0.2s ease, color 0.2s ease, opacity 0.3s ease !important;
}
.government_lp.mode-pc.scrolled header.pc-header .g-nav li a {
  color: #2f2f2f;
}
.government_lp .sp-header {
  background: transparent !important;
  mix-blend-mode: exclusion;
}
.government_lp .sp-header .logo--v svg path {
  fill: #FFF;
}
.government_lp .pc-header {
  animation: slideDown 0.5s ease-in-out forwards;
}
.government_lp .pc-header .logo svg {
  fill: #FFF;
}
.government_lp header {
  color: #2f2f2f;
  padding: 0 3%;
  position: absolute;
  transition: padding ease 0.2s, background ease 0.2s;
}
.government_lp header .btns {
  margin-right: 0;
}
.government_lp header.drawer {
  display: none;
}
@media screen and (max-width: 959px) {
  .government_lp header {
    top: 0;
  }
  .government_lp header.pc-header {
    display: none;
  }
  .government_lp header.drawer {
    display: block;
    top: 0;
    padding-top: 100px;
    overflow: hidden;
  }
  .government_lp header .btns {
    position: absolute;
    left: 0;
    right: 0;
    max-width: 50%;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .government_lp .drawer__btn span {
    background: #FFF;
  }
}
.government_lp .deco {
  position: absolute;
  z-index: 0;
}
.government_lp .deco.tl {
  top: 0;
  left: 0;
}
.government_lp .deco.tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
}
.government_lp .deco.bl {
  bottom: 0;
  left: 0;
  transform: scaleY(-1);
}
.government_lp .deco.br {
  bottom: 0;
  right: 0;
  transform: scale(-1);
}
.government_lp .logo svg {
  display: block;
  width: 110px;
}
.government_lp .g-nav {
  max-width: 700px;
}
.government_lp .g-nav .menu {
  align-items: center;
}
.government_lp .g-nav .menu > li {
  padding: 0;
}
.government_lp .g-nav .menu > li:hover {
  color: #F2BE29;
}
.government_lp h1.area-tit {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 70px;
  color: #FFF;
  font-weight: 800;
  letter-spacing: 5px;
  margin-bottom: 5px;
  line-height: 140%;
  display: inline-block;
  opacity: 0;
  animation: slideUp 0.75s ease-in-out forwards;
}
.government_lp h1.area-tit br {
  display: none;
}
@media screen and (max-width: 1130px) {
  .government_lp h1.area-tit {
    font-size: 5.5vw;
  }
}
.government_lp h1.area-tit p {
  position: relative;
}
.government_lp h1.area-tit p:first-of-type:after {
  width: 90%;
}
.government_lp .head-tit {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: auto;
}
.government_lp .head-tit-sub {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto 80px;
}
@media screen and (max-width: 959px) {
  .government_lp .head-tit-sub {
    margin: 0 auto 32px;
  }
}
.government_lp .head-tit-numb {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: row;
  margin: 0 auto 80px;
}
@media screen and (max-width: 959px) {
  .government_lp .head-tit-numb {
    flex-direction: column;
    margin: 0 auto 32px;
  }
}
.government_lp h2.area-tit {
  font-size: 4rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  color: #2f2f2f;
  padding: 0 16px;
  margin: auto;
  z-index: 1;
}
.government_lp h2.area-tit br {
  display: none;
}
.government_lp h2.area-tit.secondary {
  font-size: 24px;
}
@media screen and (max-width: 959px) {
  .government_lp h2.area-tit.secondary {
    font-size: 20px;
  }
}
.government_lp .notice {
  font-size: 16px;
  font-weight: 700;
}
.government_lp p.area-subtit {
  font-size: 1.6rem;
  margin-top: 20px;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .government_lp p.area-subtit {
    font-size: 1.4rem;
  }
}
.government_lp p.area-subtit span {
  font-size: 2.4rem;
}
@media screen and (max-width: 959px) {
  .government_lp p.area-subtit span {
    font-size: 1.6rem;
  }
}
.government_lp p.area-subtit b {
  font-size: 4rem;
  font-weight: bolder;
}
@media screen and (max-width: 959px) {
  .government_lp p.area-subtit b {
    font-size: 2.4rem;
  }
}
.government_lp p.area-entit {
  font-size: 1.6rem;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 3.2px;
}
@media screen and (max-width: 959px) {
  .government_lp p.area-entit {
    font-size: 1.2rem;
  }
}
.government_lp h3.tit {
  font-size: 24px;
  margin-bottom: 16px;
  font-weight: bold;
}
.government_lp .txt {
  font-size: 16px;
  font-weight: 400;
}
.government_lp .row {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.government_lp .col {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: stretch;
}
.government_lp .col.col-2 {
  width: 50%;
}
.government_lp .col.col-3 {
  width: 33.3333333%;
}
@media screen and (max-width: 959px) {
  .government_lp .col.col-2, .government_lp .col.col-3 {
    width: 100%;
  }
}
.government_lp .buttonz {
  background-image: url("/common/images/other/lp/government/helmet_but.svg"), url("/common/images/other/lp/government/arrow_forward.svg");
  background-repeat: no-repeat;
  background-position: calc(0% - 100px), calc(100% - 24px);
  background-color: #F2BE29;
  color: #2f2f2f;
  cursor: pointer;
  display: block;
  position: relative;
  border: 4px solid #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 20px;
  font-weight: 700;
  padding: 24px 12px 24px 16px;
  width: 335px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  transition: 0.3s ease-in-out;
  border-radius: 100px;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .government_lp .buttonz {
    max-width: 335px;
    width: 100%;
    padding: 24px 12px 24px 18px;
  }
}
.government_lp .buttonz:hover {
  background-position: calc(25% - 45px), calc(100% + 100px);
  background-color: #F2BE29;
  transform: translateY(-4px);
  transition: 0.5s ease-in-out;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.4);
}
.government_lp {
  /********** Section ***********/
}
.government_lp .area--hero {
  background: #FFF;
  padding: 180px 0 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.government_lp .area--hero .area__inner {
  display: flex;
  align-items: center;
}
.government_lp .area--hero .hero-pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url("/common/images/other/lp/government/hero_bg.webp") no-repeat center;
  background-size: cover;
  z-index: 0;
}
.government_lp .area--hero .hero-pic:before {
  content: "";
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
}
.government_lp .area--hero .txt-side {
  color: #FFF;
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 17vw 0;
}
.government_lp .area--hero p.txt {
  font-size: 20px;
  opacity: 0;
  margin-top: 8px;
  animation: slideUp 0.5s ease-in-out 0.5s forwards;
  position: relative;
}
.government_lp .area--hero p.txt span {
  font-size: 65%;
  line-height: 1;
}
.government_lp .area--hero .btn-group {
  padding-right: 50px;
  margin-top: 26px;
  justify-content: center;
}
.government_lp .area--hero .btns {
  opacity: 0;
  animation: slideUp 0.5s ease-in-out 0.75s forwards;
}
.government_lp .area--hero .btns:nth-of-type(2) {
  animation: slideUp 0.5s ease-in-out 1s forwards;
}
.government_lp .area--hero .buttonz {
  background-color: #F2BE29;
  color: #2f2f2f;
}
.government_lp .area--hero .buttonz:hover {
  background-color: #F2BE29;
  color: #2f2f2f;
}
.government_lp .area--case {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--case {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.government_lp .area--solutions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--solutions {
    width: auto;
    gap: 40px;
  }
}
.government_lp .area--dx {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--dx {
    width: auto;
    gap: 80px;
  }
}
.government_lp .area--dx .numb {
  display: block;
  background: #F2BE29;
  width: 4.8rem;
  height: 4.8rem;
  text-align: center;
  border-radius: 50%;
  font-size: 2.4rem;
  color: #2f2f2f;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  border: 4px solid #2f2f2f;
}
@media screen and (max-width: 959px) {
  .government_lp .area--dx .numb {
    width: 4rem;
    height: 4rem;
    font-size: 1.6rem;
    border: 3px solid #2f2f2f;
    line-height: 3.5rem;
    margin: 0 auto 16px;
  }
}
.government_lp .area--dx .numb > span {
  position: relative;
  top: -0.05em;
}
@media screen and (max-width: 959px) {
  .government_lp .area--dx .numb > span {
    top: -0.1em;
  }
}
.government_lp .area--phase {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--phase {
    width: auto;
    gap: 80px;
  }
}
.government_lp .area--tami {
  display: flex;
  width: 960px;
  padding: 60px 0px;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 20px;
  background: #f0f0f0;
  margin: auto;
  margin-bottom: 120px;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami {
    width: auto;
    border-radius: 0px;
    gap: 80px;
  }
}
.government_lp .area--tami .head-tit {
  margin: 0 auto 80px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .head-tit {
    margin: 0 auto 32px;
  }
}
.government_lp .area--tami .appdownload {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
  padding: 40px 80px;
  gap: 48px;
  border-top: 4px solid #008298;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .appdownload {
    padding: 32px 0px;
    gap: 24px;
    width: 100%;
  }
}
.government_lp .area--tami .apptext h3 {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #008298;
  text-align: center;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .apptext h3 {
    font-size: 1.6rem;
  }
}
.government_lp .area--tami .apptext h3 + p {
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}
.government_lp .area--tami .appframe {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .appframe {
    gap: 24px;
  }
}
.government_lp .area--tami .appgroup {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 32px;
}
.government_lp .area--tami .w-136 {
  width: 136px;
}
.government_lp .area--tami .w-162 {
  width: 162px;
}
.government_lp .area--tami .tamilogo {
  width: 100%;
  margin: auto;
}
.government_lp .area--tami .w-80 {
  width: 80px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .w-80 {
    width: 72px;
  }
}
.government_lp .area--tami .qr-dl {
  width: 80px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .qr-dl {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .government_lp .area--tami .area__inner {
    width: 100%;
  }
}
.government_lp .area--tami h2.area-tit.secondary {
  color: #008298;
}
.government_lp .area--tami .notice {
  color: #008298;
}
.government_lp .area--tami p.area-subtit span {
  color: #008298;
  font-size: 16px;
}
.government_lp .area--tami p.area-subtit b {
  color: #008298;
  font-size: 40px;
}
.government_lp .area--document {
  padding-top: 0;
  padding-bottom: 80px;
  margin-bottom: 0;
}
.government_lp .area--document .area__inner {
  padding: 48px 80px;
  width: 90%;
  max-width: 960px;
  background: #F2BE29;
  box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  border-radius: 20px;
  align-items: center;
  justify-content: center;
}
.government_lp .area--document h2.area-tit {
  color: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 32px;
  text-align: center;
  margin-bottom: 40px;
}
.government_lp .area--document h2.area-tit span {
  position: relative;
  display: inline-block;
}
.government_lp .area--document .txt-side {
  text-align: center;
}
.government_lp .area--document .btn-group {
  justify-content: center;
}
.government_lp .area--document .btns {
  background: #2f2f2f;
  color: #FFF;
  font-size: 24px;
  padding: 16px 40px;
  min-width: 400px;
}
@media screen and (max-width: 959px) {
  .government_lp .area--document .btns {
    min-width: unset;
  }
}
.government_lp .area--document a:hover {
  color: #2f2f2f;
}
.government_lp .area--document .buttonz {
  background-color: #FFF;
  color: #2f2f2f;
}
.government_lp .area--document .buttonz:hover {
  background-color: #FFF;
  color: #2f2f2f;
}
.government_lp .area--footer {
  padding: 80px 0;
  background: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.government_lp .area--footer .footer-nav {
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-bottom: 80px;
  justify-content: center;
  font-weight: 400;
}
.government_lp .area--footer a {
  text-decoration: none;
  transition: color 0.2s ease;
  color: #FFF;
}
.government_lp .area--footer a:hover {
  color: #F2BE29;
}
.government_lp .area--footer .copyright {
  font-size: 14px;
  opacity: 0.5;
  font-weight: lighter;
}
.government_lp {
  /***********  Mobile responsive  **********/
}
@media screen and (max-width: 959px) {
  .government_lp h1.area-tit {
    font-size: 50px;
    width: auto;
    margin-bottom: 10px;
  }
  .government_lp h1.area-tit br {
    display: block;
  }
  .government_lp h1.area-tit p {
    display: inline-block;
  }
  .government_lp h1.area-tit p:after {
    height: 30px;
    bottom: 10px;
  }
  .government_lp h1.area-tit p:first-of-type:after {
    width: 100%;
  }
  .government_lp header {
    padding: 0 2em;
    transition: padding ease 0.2s, background ease 0.2s, transform 0.3s ease;
  }
  .government_lp section {
    padding: 60px 0;
  }
  .government_lp .sp-header {
    background: transparent;
    position: fixed;
  }
  .government_lp .anchor {
    top: 0;
    padding-top: -50px;
    margin-top: 50px;
  }
  .government_lp .g-nav {
    margin-top: 3rem;
  }
  .government_lp .g-nav .menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .government_lp .g-nav .menu li > a {
    display: inline-block;
    padding: 1.25em 0;
    color: #FFF;
    font-size: 1.38rem;
    line-height: 1.5em;
    letter-spacing: 0.125em;
    position: relative;
  }
  .government_lp .pc-header {
    background: transparent;
  }
  .government_lp header.drawer {
    background: #512376;
    width: 26rem;
    position: fixed;
  }
  .government_lp header.drawer .logo svg polygon,
  .government_lp header.drawer .logo svg path {
    fill: #FFF;
  }
  .government_lp header.drawer .btns {
    color: #512376;
  }
  .government_lp h2.area-tit {
    padding: 0;
    font-size: 2.4rem;
  }
  .government_lp h2.area-tit br {
    display: block;
  }
  .government_lp h2.area-tit.secondary:before {
    left: -10px;
  }
  .government_lp h2.area-tit.secondary:after {
    right: -10px;
  }
  .government_lp h2.area-tit.secondary:before, .government_lp h2.area-tit.secondary:after {
    width: 30px;
  }
  .government_lp h3.tit {
    font-size: 20px;
  }
  .government_lp h3.tit br {
    display: none;
  }
  .government_lp .deco {
    width: 60px;
  }
  .government_lp .head-tit {
    padding: 0 20px;
  }
  .government_lp .btn-group {
    width: 100%;
    justify-content: center;
  }
  .government_lp .btns {
    width: 100%;
    max-width: 380px;
  }
  .government_lp .area__inner {
    padding: 0 20px;
  }
  .government_lp .area--hero {
    padding: 80px 0;
  }
  .government_lp .area--hero p.txt {
    font-size: 18px;
  }
  .government_lp .area--hero .area__inner {
    flex-direction: column-reverse;
    align-items: center;
  }
  .government_lp .area--hero .btn-group {
    padding-right: 0;
  }
  .government_lp .area--hero .txt-side {
    width: 100%;
    padding: 12vh 0;
    max-width: 530px;
    margin: auto;
  }
  .government_lp .area--document .area__inner {
    padding: 48px 24px;
    max-width: 90%;
  }
  .government_lp .area--document h2.area-tit {
    font-size: 18px;
  }
  .government_lp .area--document h2.area-tit br {
    display: none;
  }
  .government_lp .area--document h2.area-tit span {
    display: inline;
  }
  .government_lp .area--document h2.area-tit span:after {
    display: none;
  }
  .government_lp .area--footer {
    padding: 40px 0;
  }
  .government_lp .area--footer .footer-nav {
    flex-direction: column;
    row-gap: 20px;
  }
}
.government_lp {
  /***********  Delighter  **********/
}
.government_lp .delighter.area__inner,
.government_lp .delighter .row,
.government_lp .delighter .col,
.government_lp .delighter .block {
  opacity: 0;
  transform: translateY(10rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .government_lp .delighter.area__inner,
  .government_lp .delighter .row,
  .government_lp .delighter .col,
  .government_lp .delighter .block {
    transform: translateY(6rem);
  }
}
.government_lp .delighter .fixed-btn-wrap {
  opacity: 1;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.government_lp .delighter.started.area__inner,
.government_lp .delighter.started .row,
.government_lp .delighter.started .col,
.government_lp .delighter.started .block {
  opacity: 1;
  transform: translateY(0);
}
.government_lp .delighter.started .row:nth-of-type(1),
.government_lp .delighter.started .col:nth-of-type(1) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  transform: translateY(0);
  opacity: 1;
}
.government_lp .delighter.started .row:nth-of-type(2),
.government_lp .delighter.started .col:nth-of-type(2) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  transform: translateY(0);
  opacity: 1;
}
.government_lp .delighter.started .row:nth-of-type(3),
.government_lp .delighter.started .col:nth-of-type(3) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  transform: translateY(0);
  opacity: 1;
}
.government_lp .delighter.started .row:nth-of-type(4),
.government_lp .delighter.started .col:nth-of-type(4) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.6s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.6s;
  transform: translateY(0);
  opacity: 1;
}
.government_lp .delighter.started .fixed-btn-wrap {
  opacity: 0;
  pointer-events: none;
}

/***********  Title Bar  **********/
#btn_animation {
  display: block;
  margin: 0 auto 20px;
  width: 88px;
  height: 8px;
  background: linear-gradient(45deg, #2F2F2F 25%, #F2BE29 25%, #F2BE29 50%, #2F2F2F 50%, #2F2F2F 75%, #F2BE29 75%, #F2BE29);
  background-size: 40px 40px;
  animation: anime_btn_animation_1 0.8s infinite linear;
}

/***********  Keyframes  **********/
@keyframes anime_btn_animation_1 {
  0% {
    background-position-y: 0;
  }
  100% {
    background-position-y: -40px;
  }
}
@keyframes slideUp {
  0% {
    transform: translateY(15%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
* {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0;
}
*[data-emergence=hidden] {
  transform: translateY(10%);
  opacity: 0;
}
*[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.upFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.upFade[data-emergence=hidden] {
  transform: translateY(-10%);
  opacity: 0;
}
.upFade[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.rightFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.rightFade[data-emergence=hidden] {
  transform: translateX(-10%);
  opacity: 0;
}
.rightFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.leftFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.leftFade[data-emergence=hidden] {
  transform: translateX(10%);
  opacity: 0;
}
.leftFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.tamitami_lp {
  background: #FFF;
  color: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.tamitami_lp footer .section--footer-contact {
  display: none;
}
.tamitami_lp footer .section--footer-nav .footer-nav .footer-nav--top {
  display: none;
}
.tamitami_lp footer .section--footer-nav {
  padding: 10rem 12% 8rem;
}
.tamitami_lp .wrap {
  padding: 0px;
}
.tamitami_lp {
  /********** Global Page Style ***********/
}
@media screen and (min-width: 960px) {
  .tamitami_lp .drawer__btn .drawer__btn__inner {
    display: none;
  }
  .tamitami_lp header {
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    min-width: auto;
    z-index: 100;
    border: 1px solid transparent;
    transition: background 0.3s ease;
    background: transparent;
  }
  .tamitami_lp .g-nav {
    margin-left: 5%;
    margin-top: 0;
  }
  .tamitami_lp .g-nav .menu {
    display: flex;
    justify-content: space-between;
  }
  .tamitami_lp .g-nav .menu li a:after {
    content: "";
    position: absolute;
    background-color: #008298;
    width: 0%;
    height: 7px;
    margin: auto;
    bottom: 3px;
    color: #FFF;
    left: 0;
    z-index: -1;
    transition: width 0.3s ease;
  }
  .tamitami_lp .g-nav .menu li a:hover {
    color: #FFF;
  }
  .tamitami_lp .g-nav .menu li a:hover:after {
    width: 100%;
  }
}
.tamitami_lp .anchor {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background: transparent;
}
.tamitami_lp .anchor#flow {
  top: -40px;
}
.tamitami_lp .container {
  min-height: auto;
  padding: 0;
}
.tamitami_lp .g-nav {
  width: 100%;
  max-width: 850px;
}
.tamitami_lp .g-nav .menu li {
  position: relative;
  margin: 0 0.9%;
}
.tamitami_lp .g-nav .menu li a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #FFF;
}
.tamitami_lp .btn-group {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.tamitami_lp .btns {
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none;
  background: #FFF;
  display: block;
  color: #2f2f2f;
  text-align: center;
  min-width: 200px;
  font-weight: bolder;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.tamitami_lp .btns.secondary {
  background: #FFF;
  border: solid 2px #2f2f2f;
  color: #2f2f2f;
}
.tamitami_lp .btns.secondary:hover {
  background: #2f2f2f;
}
.tamitami_lp .btns:hover {
  color: #FFF;
  background: #008298;
}
.tamitami_lp section {
  padding: 120px 0;
  position: relative;
}
.tamitami_lp .area__inner {
  max-width: 960px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.tamitami_lp.mode-pc.scrolled header.pc-header {
  top: 0;
  position: fixed;
  color: #2f2f2f;
  padding: 0 3%;
  background: #FFF;
  border-bottom: solid 1px #2f2f2f;
}
.tamitami_lp.mode-pc.scrolled header.pc-header .logo svg path,
.tamitami_lp.mode-pc.scrolled header.pc-header .logo svg polygon {
  fill: #2f2f2f;
}
.tamitami_lp.mode-pc.scrolled header.pc-header .btns {
  background: #2f2f2f;
  color: #FFF;
}
.tamitami_lp.mode-pc.scrolled header.pc-header .btns:hover {
  background: #008298;
  color: #FFF;
}
.tamitami_lp.mode-pc.scrolled header.pc-header .g-nav li a {
  color: #2f2f2f;
}
.tamitami_lp .sp-header {
  background: #FFF !important;
  mix-blend-mode: exclusion;
}
.tamitami_lp .sp-header .logo--v svg path {
  fill: #FFF;
}
.tamitami_lp .pc-header {
  animation: slideDown 0.5s ease-in-out forwards;
}
.tamitami_lp .pc-header .logo svg {
  fill: #FFF;
}
.tamitami_lp header {
  color: #2f2f2f;
  top: 40px;
  padding: 0 8%;
  position: absolute;
  transition: padding ease 0.2s, background ease 0.2s;
}
.tamitami_lp header .btns {
  margin-right: 0;
  color: #008298;
}
.tamitami_lp header.drawer {
  display: none;
}
@media screen and (max-width: 959px) {
  .tamitami_lp header {
    top: 0;
  }
  .tamitami_lp header.pc-header {
    display: none;
  }
  .tamitami_lp header.drawer {
    display: block;
    top: 0;
    padding-top: 100px;
    overflow: hidden;
  }
  .tamitami_lp header .btns {
    position: absolute;
    left: 0;
    right: 0;
    max-width: 50%;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .tamitami_lp .drawer__btn span {
    background: #FFF;
  }
}
.tamitami_lp .deco {
  position: absolute;
  z-index: 0;
}
.tamitami_lp .deco.tl {
  top: 0;
  left: 0;
}
.tamitami_lp .deco.tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
}
.tamitami_lp .deco.bl {
  bottom: 0;
  left: 0;
  transform: scaleY(-1);
}
.tamitami_lp .deco.br {
  bottom: 0;
  right: 0;
  transform: scale(-1);
}
.tamitami_lp .logo svg {
  display: block;
  width: 110px;
  fill: #FFF;
}
.tamitami_lp .g-nav {
  max-width: 700px;
}
.tamitami_lp .g-nav .menu {
  align-items: center;
}
.tamitami_lp .g-nav .menu > li {
  padding: 0;
}
.tamitami_lp .g-nav .menu > li:hover {
  color: #F2BE29;
}
.tamitami_lp h1.area-tit {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 70px;
  color: #FFF;
  font-weight: 800;
  letter-spacing: 5px;
  margin-bottom: 5px;
  line-height: 140%;
  display: inline-block;
  opacity: 0;
  animation: slideUp 0.75s ease-in-out forwards;
}
.tamitami_lp h1.area-tit br {
  display: none;
}
@media screen and (max-width: 1130px) {
  .tamitami_lp h1.area-tit {
    font-size: 5.5vw;
  }
}
.tamitami_lp h1.area-tit p {
  position: relative;
}
.tamitami_lp h1.area-tit p:first-of-type:after {
  width: 90%;
}
.tamitami_lp .head-tit {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: auto;
}
.tamitami_lp h2.area-tit {
  font-size: 4rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  color: #008298;
  padding: 0 16px;
  margin: auto;
  z-index: 1;
}
.tamitami_lp h2.area-tit span {
  font-size: 2.4rem;
}
@media screen and (max-width: 959px) {
  .tamitami_lp h2.area-tit span {
    font-size: 1.6rem;
  }
}
.tamitami_lp p.area-subtit {
  font-size: 1.6rem;
  margin-top: 20px;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .tamitami_lp p.area-subtit {
    font-size: 1.4rem;
  }
}
.tamitami_lp h3.tit {
  font-size: 24px;
  margin-bottom: 16px;
  font-weight: bold;
}
.tamitami_lp .txt {
  font-size: 16px;
  font-weight: 400;
}
.tamitami_lp .buttonz {
  background-image: url("/common/images/other/lp/tamitami/helmet_but.svg"), url("/common/images/other/lp/tamitami/arrow_forward.svg");
  background-repeat: no-repeat;
  background-position: calc(0% - 100px), calc(100% - 24px);
  background-color: #F2BE29;
  color: #2f2f2f;
  cursor: pointer;
  display: block;
  position: relative;
  border: 4px solid #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 20px;
  font-weight: 700;
  padding: 24px 12px 24px 16px;
  width: 335px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  transition: 0.3s ease-in-out;
  border-radius: 100px;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .buttonz {
    max-width: 335px;
    width: 100%;
    padding: 24px 12px 24px 18px;
  }
}
.tamitami_lp .buttonz:hover {
  background-position: calc(25% - 45px), calc(100% + 100px);
  background-color: #F2BE29;
  transform: translateY(-4px);
  transition: 0.5s ease-in-out;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.4);
}
.tamitami_lp .buttonz-tami {
  background-image: url("/common/images/other/lp/tamitami/tami_btn.svg"), url("/common/images/other/lp/tamitami/arrow_forward.svg");
  background-repeat: no-repeat;
  background-position: calc(0% - 100px), calc(100% - 24px);
  background-color: #FFF;
  color: #2f2f2f;
  cursor: pointer;
  display: block;
  position: relative;
  border: 4px solid #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 20px;
  font-weight: 700;
  padding: 24px 12px 24px 16px;
  width: 335px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  transition: 0.3s ease-in-out;
  border-radius: 100px;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .buttonz-tami {
    max-width: 335px;
    width: 100%;
    padding: 24px 12px 24px 18px;
  }
}
.tamitami_lp .buttonz-tami:hover {
  background-position: calc(25% - 45px), calc(100% + 100px);
  background-color: #FFF;
  transform: translateY(-4px);
  transition: 0.5s ease-in-out;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.4);
}
.tamitami_lp {
  /********** Section ***********/
}
.tamitami_lp .area--hero {
  background: #FFF;
  padding: 180px 0 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero {
    padding: 80px 0 0 0;
  }
}
.tamitami_lp .area--hero .content {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: flex-start;
  }
}
.tamitami_lp .area--hero .content.mainview-title {
  z-index: 2;
}
.tamitami_lp .area--hero .content-item > h1 {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: calc(24px + 48 * (100vw - 800px) / 1400);
  color: #FFF;
  font-weight: 700;
  margin-bottom: 40px;
  line-height: 150%;
  word-wrap: normal;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content-item > h1 {
    text-wrap: wrap;
    margin-bottom: 16px;
    font-size: calc(24px + 48 * (100vw - 320px) / 1200);
    text-align: center;
  }
}
.tamitami_lp .area--hero .content-item > p {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 12px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 40px;
  line-height: 150%;
  word-wrap: normal;
  width: -moz-max-content;
  width: max-content;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content-item > p {
    text-align: center;
  }
}
.tamitami_lp .area--hero .content-item:has(h1) {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  z-index: 2;
  padding-right: 6vw;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content-item:has(h1) {
    padding: 24px 8vw;
    align-items: center;
    gap: 3vh;
    justify-content: flex-end;
    height: -moz-max-content;
    height: max-content;
  }
}
.tamitami_lp .area--hero .content-item:has(figure) {
  width: 90%;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content-item:has(figure) {
    width: auto;
  }
}
.tamitami_lp .area--hero .content-item:has(figure) > figure {
  width: 90%;
}
.tamitami_lp .area--hero .content-item:has(figure) > figure:has(.mainview_img-tablet) {
  position: relative;
  z-index: 2;
  width: 100%;
  transform: scale(1);
  padding-left: 6vw;
  max-width: 40vw;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .content-item:has(figure) > figure:has(.mainview_img-tablet) {
    width: 40vh;
    transform: scale(1);
    right: -12vw;
    padding-left: 0;
    max-width: 37vh;
  }
}
.tamitami_lp .area--hero .content-item:has(figure) > figure > img {
  width: 100%;
}
.tamitami_lp .area--hero .area__inner {
  display: flex;
  align-items: center;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .area__inner {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.tamitami_lp .area--hero .appframe {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .appframe {
    gap: 16px;
    display: none;
  }
}
.tamitami_lp .area--hero .appframe-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .appframe-sp {
    gap: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    z-index: 10;
    position: absolute;
    margin-bottom: 64px;
  }
}
.tamitami_lp .area--hero .appgroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.tamitami_lp .area--hero .tamilogo {
  width: 290px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .tamilogo {
    width: 164px;
  }
}
.tamitami_lp .area--hero .w-136 {
  width: 136px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .w-136 {
    width: 113px;
  }
}
.tamitami_lp .area--hero .w-162 {
  width: 162px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .w-162 {
    width: 135px;
  }
}
.tamitami_lp .area--hero .qr-dl {
  width: 80px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--hero .qr-dl {
    display: none;
  }
}
.tamitami_lp .area--hero .back div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  animation: image-switch 18s ease-in-out infinite;
  z-index: 0;
}
.tamitami_lp .area--hero .back1 div {
  animation: image-switch-first 18s ease-in-out infinite;
  animation-delay: 0s;
}
.tamitami_lp .area--hero .back2 div {
  animation-delay: 3s;
}
.tamitami_lp .area--hero .back3 div {
  animation-delay: 6s;
}
.tamitami_lp .area--hero .back4 div {
  animation-delay: 9s;
}
.tamitami_lp .area--hero .back5 div {
  animation-delay: 12s;
}
.tamitami_lp .area--hero .back6 div {
  animation-delay: 15s;
}
@keyframes image-switch-first {
  0% {
    opacity: 1;
  }
  6% {
    opacity: 1;
  }
  21% {
    opacity: 1;
  }
  24% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes image-switch {
  0% {
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
  21% {
    opacity: 1;
  }
  24% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.tamitami_lp .area--tamitami {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--tamitami {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.tamitami_lp .area--reservation {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--reservation {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.tamitami_lp .area--feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--feature {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.tamitami_lp .area--document {
  padding-top: 0;
  padding-bottom: 80px;
  margin-bottom: 0;
}
.tamitami_lp .area--document .area__inner {
  padding: 48px 80px;
  width: 90%;
  max-width: 960px;
  background: #F2BE29;
  box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  border-radius: 20px;
  align-items: center;
  justify-content: center;
}
.tamitami_lp .area--document h2.area-tit {
  color: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 32px;
  text-align: center;
  margin-bottom: 40px;
}
.tamitami_lp .area--document h2.area-tit span {
  position: relative;
  display: inline-block;
}
.tamitami_lp .area--document .txt-side {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--document .txt-side {
    width: 100%;
  }
}
.tamitami_lp .area--document .btn-group {
  justify-content: center;
}
.tamitami_lp .area--document .btns {
  background: #2f2f2f;
  color: #FFF;
  font-size: 24px;
  padding: 16px 40px;
  min-width: 400px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--document .btns {
    min-width: unset;
  }
}
.tamitami_lp .area--document a:hover {
  color: #2f2f2f;
}
.tamitami_lp .area--document .buttonz {
  background-color: #FFF;
  color: #2f2f2f;
}
.tamitami_lp .area--document .buttonz:hover {
  background-color: #FFF;
  color: #2f2f2f;
}
.tamitami_lp .area--documenttami {
  padding-top: 0;
  padding-bottom: 80px;
  margin-bottom: 0;
}
.tamitami_lp .area--documenttami .area__inner {
  padding: 48px 80px;
  width: 90%;
  max-width: 960px;
  background: #008298;
  box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  border-radius: 20px;
  align-items: center;
  justify-content: center;
}
.tamitami_lp .area--documenttami h2.area-tit {
  color: #FFF;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 32px;
  text-align: center;
  margin-bottom: 40px;
}
.tamitami_lp .area--documenttami h2.area-tit span {
  position: relative;
  display: inline-block;
}
.tamitami_lp .area--documenttami .txt-side {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--documenttami .txt-side {
    width: 100%;
  }
}
.tamitami_lp .area--documenttami .btn-group {
  justify-content: center;
}
.tamitami_lp .area--documenttami .btns {
  background: #2f2f2f;
  color: #FFF;
  font-size: 24px;
  padding: 16px 40px;
  min-width: 400px;
}
@media screen and (max-width: 959px) {
  .tamitami_lp .area--documenttami .btns {
    min-width: unset;
  }
}
.tamitami_lp .area--documenttami a:hover {
  color: #2f2f2f;
}
.tamitami_lp .area--documenttami .buttonz {
  background-color: #FFF;
  color: #2f2f2f;
}
.tamitami_lp .area--documenttami .buttonz:hover {
  background-color: #FFF;
  color: #2f2f2f;
}
.tamitami_lp .area--footer {
  padding: 80px 0;
  background: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.tamitami_lp .area--footer .footer-nav {
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-bottom: 80px;
  justify-content: center;
  font-weight: 400;
}
.tamitami_lp .area--footer a {
  text-decoration: none;
  transition: color 0.2s ease;
  color: #FFF;
}
.tamitami_lp .area--footer a:hover {
  color: #F2BE29;
}
.tamitami_lp .area--footer .copyright {
  font-size: 14px;
  opacity: 0.5;
  font-weight: lighter;
}
.tamitami_lp {
  /***********  Mobile responsive  **********/
}
@media screen and (max-width: 959px) {
  .tamitami_lp h1.area-tit {
    font-size: 50px;
    width: auto;
    margin-bottom: 10px;
  }
  .tamitami_lp h1.area-tit br {
    display: block;
  }
  .tamitami_lp h1.area-tit p {
    display: inline-block;
  }
  .tamitami_lp h1.area-tit p:after {
    height: 30px;
    bottom: 10px;
  }
  .tamitami_lp h1.area-tit p:first-of-type:after {
    width: 100%;
  }
  .tamitami_lp header {
    padding: 0 2em;
    transition: padding ease 0.2s, background ease 0.2s, transform 0.3s ease;
  }
  .tamitami_lp section {
    padding: 60px 0;
  }
  .tamitami_lp .sp-header {
    background: #FFF;
    position: fixed;
  }
  .tamitami_lp .anchor {
    top: 0;
    padding-top: -50px;
    margin-top: 50px;
  }
  .tamitami_lp .g-nav {
    margin-top: 3rem;
  }
  .tamitami_lp .g-nav .menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .tamitami_lp .g-nav .menu li > a {
    display: inline-block;
    padding: 1.25em 0;
    color: #FFF;
    font-size: 1.38rem;
    line-height: 1.5em;
    letter-spacing: 0.125em;
    position: relative;
  }
  .tamitami_lp .pc-header {
    background: transparent;
  }
  .tamitami_lp header.drawer {
    background: #008298;
    width: 26rem;
    position: fixed;
  }
  .tamitami_lp h2.area-tit {
    padding: 0;
    font-size: 2.4rem;
  }
  .tamitami_lp h2.area-tit br {
    display: block;
  }
  .tamitami_lp h2.area-tit.secondary:before {
    left: -10px;
  }
  .tamitami_lp h2.area-tit.secondary:after {
    right: -10px;
  }
  .tamitami_lp h2.area-tit.secondary:before, .tamitami_lp h2.area-tit.secondary:after {
    width: 30px;
  }
  .tamitami_lp h3.tit {
    font-size: 20px;
  }
  .tamitami_lp h3.tit br {
    display: none;
  }
  .tamitami_lp .deco {
    width: 60px;
  }
  .tamitami_lp .head-tit {
    padding: 0 20px;
  }
  .tamitami_lp .btn-group {
    width: 100%;
    justify-content: center;
  }
  .tamitami_lp .btns {
    width: 100%;
    max-width: 380px;
  }
  .tamitami_lp .area__inner {
    padding: 0 20px;
  }
  .tamitami_lp .area--document .area__inner {
    padding: 48px 24px;
    max-width: 90%;
  }
  .tamitami_lp .area--document h2.area-tit {
    font-size: 18px;
  }
  .tamitami_lp .area--document h2.area-tit br {
    display: none;
  }
  .tamitami_lp .area--document h2.area-tit span {
    display: inline;
  }
  .tamitami_lp .area--document h2.area-tit span:after {
    display: none;
  }
  .tamitami_lp .area--documenttami .area__inner {
    padding: 48px 24px;
    max-width: 90%;
  }
  .tamitami_lp .area--documenttami h2.area-tit {
    font-size: 18px;
  }
  .tamitami_lp .area--documenttami h2.area-tit br {
    display: none;
  }
  .tamitami_lp .area--documenttami h2.area-tit span {
    display: inline;
  }
  .tamitami_lp .area--documenttami h2.area-tit span:after {
    display: none;
  }
  .tamitami_lp .area--footer {
    padding: 40px 0;
  }
  .tamitami_lp .area--footer .footer-nav {
    flex-direction: column;
    row-gap: 20px;
  }
}

/***********  Keyframes  **********/
@keyframes anime_btn_animation_1 {
  0% {
    background-position-y: 0;
  }
  100% {
    background-position-y: -40px;
  }
}
.variant_lp {
  font-family: zen-kaku-gothic-new, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  background-color: #F6F8F0;
  color: #1D263D;
  padding-top: 104px;
  height: auto;
}
@media screen and (max-width: 959px) {
  .variant_lp {
    padding-top: 60px;
  }
  .variant_lp .logo--v {
    display: none;
  }
  .variant_lp .anchor {
    position: relative;
    top: 76px;
  }
}
.variant_lp .fixed-btn-wrap {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9990;
}
@media screen and (max-width: 959px) {
  .variant_lp .fixed-btn-wrap {
    display: none;
  }
}
.variant_lp .btn {
  border-radius: 100px;
  padding: 20px;
  margin: auto;
  min-width: 280px;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  box-shadow: 20px 10px 30px rgba(57, 56, 62, 0.2);
  font-size: 18px;
}
.variant_lp .btn:hover {
  background: #a42aff;
  color: #FFF;
}
@media screen and (max-width: 959px) {
  .variant_lp .btn {
    width: 100%;
  }
}
.variant_lp .btn--main {
  background: #7800D2;
  color: #FFF;
}
.variant_lp .btn--secondary {
  border: #7800D2 1px solid;
  color: #7800D2;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  border: none;
  margin-top: 24px;
  line-height: 100%;
  display: block;
}
.variant_lp .area {
  padding: 148px 32px;
  position: relative;
}
.variant_lp .area h1, .variant_lp .area h2, .variant_lp .area h3 {
  line-height: 150%;
  display: inline-block;
  width: 100%;
}
.variant_lp .area h1.area-tit {
  font-size: 64px;
  text-align: left;
  line-height: 180%;
  margin-bottom: 32px;
  letter-spacing: 7px;
}
.variant_lp .area .en_tit {
  color: #00B0AC;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 5px;
  font-family: sofia-pro, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  margin-bottom: 4px;
  display: block;
}
@media screen and (max-width: 959px) {
  .variant_lp .area .en_tit {
    font-size: 12px;
    display: flex;
    align-items: center;
  }
  .variant_lp .area .en_tit:before {
    content: "";
    background: url("/common/images/other/lp/mall/note_tit.svg");
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 24px;
    height: 24px;
    position: relative;
    margin-right: 12px;
    background-repeat: no-repeat;
  }
}
.variant_lp .area h2.area-tit {
  font-size: 40px;
  line-height: 150%;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 959px) {
  .variant_lp .area h2.area-tit {
    margin-bottom: 28px;
  }
}
@media screen and (min-width: 960px) {
  .variant_lp .area h2.area-tit:before {
    content: "";
    background: url("/common/images/other/lp/mall/note_tit.svg");
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 64px;
    height: 64px;
    position: absolute;
    top: -35px;
    left: -24px;
    transform: translateX(-100%);
    background-repeat: no-repeat;
  }
}
.variant_lp .area h3 {
  font-size: 24px;
  margin-bottom: 16px;
}
.variant_lp .area p.txt {
  font-size: 15px;
  color: #1D263D;
  margin-bottom: 0;
}
.variant_lp .area p.sub-tit {
  font-size: 18px;
  max-width: 760px;
  text-align: left;
  margin: 0 0 40px;
  font-weight: bold;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .variant_lp .area {
    padding: 80px 24px;
  }
  .variant_lp .area h1.area-tit {
    font-size: 28px;
    letter-spacing: 3px;
  }
  .variant_lp .area h2.area-tit {
    font-size: 24px;
    line-height: 150%;
  }
  .variant_lp .area h3 {
    font-size: 18px;
    line-height: 150%;
  }
  .variant_lp .area p.txt {
    font-size: 15px;
  }
  .variant_lp .area p.sub-tit {
    font-size: 15px;
  }
}
.variant_lp .ph {
  display: block;
}
.variant_lp .container {
  padding: 0;
  min-height: 0;
  margin-top: 40px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .variant_lp .container {
    margin-top: 28px;
  }
}
.variant_lp .area__inner {
  width: 100%;
  max-width: 1040px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .variant_lp .area__inner {
    max-width: 600px;
  }
}
.variant_lp .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 56px;
}
.variant_lp .row:last-child {
  margin-bottom: 0;
}
.variant_lp .col-3 {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.variant_lp .col-3 .col {
  flex-direction: column;
  position: relative;
  width: 30%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.variant_lp .col-3 .col .wrapper_img {
  width: 100%;
  position: relative;
}
.variant_lp .col-3 .col .wrapper_img:before {
  content: "";
  background: #FFF;
  border-bottom-right-radius: 24px;
  border-top-left-radius: 24px;
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  z-index: 1;
  text-align: center;
  line-height: 250%;
  height: 64px;
  font-weight: 500;
  font-family: sofia-pro, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 24px;
}
.variant_lp .col-3 .col img {
  width: 100%;
  margin: 0;
  border: none;
}
.variant_lp .col-3 .col .ph {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 32px;
}
.variant_lp .col-3 .col:nth-of-type(1) .wrapper_img:before {
  content: "1";
}
.variant_lp .col-3 .col:nth-of-type(2) .wrapper_img:before {
  content: "2";
}
.variant_lp .col-3 .col:nth-of-type(3) .wrapper_img:before {
  content: "3";
}
@media screen and (max-width: 959px) {
  .variant_lp .col-3 {
    flex-direction: column;
  }
  .variant_lp .col-3 .col {
    width: 100%;
    margin-bottom: 56px;
  }
  .variant_lp .col-3 .col:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 960px) {
  .variant_lp.scrolled header {
    background: #fff;
    box-shadow: 10px 10px 20px rgba(46, 59, 94, 0.05);
    height: 84px;
    padding: 24px 2%;
  }
}
@media screen and (min-width: 960px) {
  .variant_lp header {
    height: 104px;
    padding: 32px 3%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
    min-width: auto;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease-in-out 0s;
    border-bottom: none;
  }
}
.variant_lp header .menu {
  display: flex;
}
.variant_lp header .menu span {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}
.variant_lp header .menu span.en {
  font-family: jaf-domus, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.variant_lp header .menu span.jp {
  font-weight: normal;
  font-size: 12px;
}
.variant_lp header h1 {
  margin-left: 2vw;
}
.variant_lp header .cls-1 {
  fill: #512376 !important;
}
.variant_lp header .btn--main {
  margin-left: 16px;
}
.variant_lp header .g-nav .menu > li:hover {
  color: initial;
}
.variant_lp header li > a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.variant_lp header li > a:hover {
  color: #7800D2;
}
.variant_lp header li > a {
  padding: 24px 1.3vw;
}
@media screen and (max-width: 959px) {
  .variant_lp header .cls-1 {
    fill: #1D263D !important;
  }
  .variant_lp header .menu {
    flex-direction: column;
    align-items: flex-start;
  }
  .variant_lp header .menu span {
    text-align: left;
  }
  .variant_lp header .g-nav li {
    border-bottom: none;
  }
  .variant_lp header li {
    text-align: left;
  }
  .variant_lp header li a {
    padding: 16px;
  }
  .variant_lp header.sp-header {
    padding: 0;
    position: relative;
    height: auto;
    width: auto;
    line-height: 100%;
  }
  .variant_lp header.drawer {
    background: linear-gradient(100deg, #ffd600 -10%, #48feff 100%);
    padding: 24px;
  }
  .variant_lp header.drawer h1 {
    width: 100%;
    max-width: 100px;
    margin-top: 4px;
    margin-left: 12px;
    padding: 0;
  }
  .variant_lp header.drawer a {
    color: #1D263D;
  }
  .variant_lp header.drawer .btn--main {
    margin: 24px auto 0;
  }
}
.variant_lp .top-bg {
  position: absolute;
  min-width: 100%;
  overflow: hidden;
  z-index: 0;
  min-height: 1500px;
  top: 0;
  left: 0;
}
.variant_lp .top-bg:after {
  content: "";
  background: url("/common/images/other/lp/mall/top_bg.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  min-width: 100%;
  min-height: 105%;
}
@media screen and (max-width: 959px) {
  .variant_lp .top-bg {
    top: 26vw;
    min-height: 760px;
  }
  .variant_lp .top-bg:after {
    background-size: 150%;
  }
}
.variant_lp .top--kv {
  z-index: 10;
}
.variant_lp .top--kv h1.area-tit span {
  font-size: 96px;
  position: relative;
}
.variant_lp .top--kv h1.area-tit span:after {
  content: "";
  background: url("/common/images/other/lp/mall/black_note.svg");
  background-position: center;
  background-size: contain;
  display: inline-block;
  position: relative;
  width: 61px;
  height: 63px;
  top: -43px;
  right: -7px;
  background-repeat: no-repeat;
}
.variant_lp .top--kv .area__inner {
  max-width: 1140px;
}
.variant_lp .top--kv .txt-side {
  position: relative;
  top: -20px;
}
.variant_lp .top--kv .ph img {
  width: 100%;
  margin: auto;
  display: block;
}
.variant_lp .top--kv p.txt {
  font-size: 22px;
  font-weight: bold;
  max-width: 470px;
}
@media screen and (min-width: 960px) {
  .variant_lp .top--kv {
    padding: 7% 0 290px;
  }
  .variant_lp .top--kv .area__inner {
    width: 90%;
    align-items: flex-start;
  }
  .variant_lp .top--kv .ph {
    z-index: -1;
    position: absolute;
    left: 50%;
    top: 50%;
    min-width: 700px;
    max-width: 70vw;
    transform: translate(-10%, -50%);
  }
  .variant_lp .top--kv .ph img {
    width: 95%;
  }
}
@media screen and (max-width: 959px) {
  .variant_lp .top--kv {
    padding: 16px 24px;
  }
  .variant_lp .top--kv h1.area-tit {
    width: 100%;
    font-size: 7vw;
    margin-bottom: 24px;
    padding-left: 0;
  }
  .variant_lp .top--kv h1.area-tit span {
    font-size: 10vw;
  }
  .variant_lp .top--kv h1.area-tit span:after {
    position: absolute;
    width: 24px;
    height: 24px;
    top: 7px;
    right: -26px;
  }
  .variant_lp .top--kv .area__inner {
    max-width: 700px;
    padding: 0 20px;
  }
  .variant_lp .top--kv p.txt {
    font-size: 18px;
  }
  .variant_lp .top--kv .ph:before, .variant_lp .top--kv .ph:after {
    width: 300px;
    height: 300px;
  }
  .variant_lp .top--kv .ph:before {
    transform: translate(0%, -15%);
  }
  .variant_lp .top--kv .ph:after {
    transform: translate(60%, 70%);
  }
  .variant_lp .top--kv .txt-side {
    top: 0;
  }
  .variant_lp .top--kv .ph {
    width: 100%;
    margin: auto;
    max-width: 400px;
  }
}
.variant_lp .area--about.area {
  padding-top: 0;
}
.variant_lp .area--about .row {
  margin-bottom: 0;
}
.variant_lp .area--about .area__inner {
  max-width: 1200px;
  min-height: auto;
  width: 90%;
  margin: auto;
  border-radius: 32px;
  background: #FFF;
  padding: 64px 144px;
}
.variant_lp .area--about h2.area-tit:before {
  display: none;
}
.variant_lp .area--about .sub-tit {
  margin: 40px 0 64px;
}
.variant_lp .area--about .col {
  width: 29%;
}
.variant_lp .area--about .col:last-child h3:after {
  display: none;
}
.variant_lp .area--about .row .ph {
  max-width: 780px;
  width: 90%;
  margin: auto;
  align-items: center;
  margin-bottom: 0;
}
.variant_lp .area--about .row .ph img {
  width: 100%;
}
.variant_lp .area--about .arrow {
  display: flex;
}
.variant_lp .area--about h3 {
  background-color: #EAF1D6;
  width: 100%;
  text-align: center;
  font-size: 20px;
  margin: 24px auto;
  padding: 10px;
  max-width: 200px;
  position: relative;
  display: block;
}
@media screen and (min-width: 960px) {
  .variant_lp .area--about.sp {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .variant_lp .area--about .area__inner {
    width: 100%;
    border-radius: 16px;
    padding: 32px 24px;
    max-width: 680px;
  }
  .variant_lp .area--about .txt-side {
    max-width: 440px;
  }
  .variant_lp .area--about .col-3 {
    align-items: center;
    margin-top: 0;
    padding-top: 32px;
    border-top: 1px solid rgba(29, 38, 61, 0.15);
  }
  .variant_lp .area--about .col {
    width: 100%;
    margin-bottom: 0;
  }
  .variant_lp .area--about .arrow {
    padding: 24px 0;
  }
  .variant_lp .area--about .arrow img {
    transform: rotate(90deg);
  }
  .variant_lp .area--about .col .ph {
    max-width: 100px;
    margin-bottom: 0;
  }
  .variant_lp .area--about.pc {
    display: none;
  }
}
.variant_lp .area--swiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.variant_lp .area--swiper .swiper-container {
  overflow: hidden;
}
.variant_lp .area--swiper .swiper-wrapper {
  overflow: hidden;
}
.variant_lp .area--swiper .swiper-slide {
  background-size: cover;
  padding-top: 45%;
}
.variant_lp .area--swiper .swiper-slide:after {
  content: "";
  width: 50%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: 1;
  position: absolute;
  background: linear-gradient(270deg, rgba(1, 25, 39, 0.8) 0%, rgba(1, 14, 22, 0.6) 45.93%, rgba(0, 0, 0, 0) 100%);
}
.variant_lp .area--swiper .txt-side {
  position: absolute;
  right: 64px;
  bottom: 100px;
  z-index: 2;
  text-align: right;
}
.variant_lp .area--swiper .txt-side .tit, .variant_lp .area--swiper .txt-side .sub-tit {
  color: #FFF;
  font-weight: normal;
}
.variant_lp .area--swiper .swiper-pagination {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 22px;
  position: absolute;
  bottom: 40px;
  right: 64px;
  width: auto;
  left: auto;
}
.variant_lp .area--swiper .swiper-pagination-bullet {
  width: 40px;
  opacity: 1;
  height: 40px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}
.variant_lp .area--swiper .swiper-pagination-bullet:after {
  content: "";
  width: 100%;
  height: 4px;
  background-color: #969696;
  border-radius: 50px;
}
.variant_lp .area--swiper .swiper-pagination-bullet-active:after {
  background-color: #00DBD0;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--swiper .swiper-slide {
    padding-top: 60%;
  }
  .variant_lp .area--swiper .txt-side {
    position: absolute;
    right: 16px;
    bottom: 44px;
    max-width: 120px;
    z-index: 2;
  }
  .variant_lp .area--swiper .txt-side .tit {
    font-size: 14px;
  }
  .variant_lp .area--swiper .txt-side .sub-tit {
    font-size: 12px;
  }
  .variant_lp .area--swiper .swiper-pagination {
    gap: 8px;
    bottom: 4px;
    right: 16px;
    -webkit-tap-highlight-color: transparent;
  }
  .variant_lp .area--swiper .swiper-pagination-bullet {
    width: 18px;
    -webkit-tap-highlight-color: transparent;
  }
}
.variant_lp .area--use {
  background: url("/common/images/other/lp/mall/bg.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.variant_lp .area--use:before {
  content: "";
  background: url("/common/images/other/lp/mall/notes1.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 100px;
  right: 15%;
  width: 220px;
  height: 180px;
}
.variant_lp .area--use:after {
  content: "";
  background: url("/common/images/other/lp/mall/notes2.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 40%;
  bottom: 0;
  right: 5%;
  margin: auto;
  width: 165px;
  height: 280px;
  z-index: -1;
}
.variant_lp .area--use .container:first-of-type {
  margin-bottom: 80px;
  background: transparent;
  padding: 0;
}
.variant_lp .area--use .container:nth-of-type(n+2) {
  padding: 80px 64px;
  background: #FFF;
  border-radius: 32px;
  max-width: 1040px;
  margin: 0 auto 40px;
}
.variant_lp .area--use .container:nth-of-type(n+2) .row .ph {
  max-width: 416px;
}
.variant_lp .area--use .container:nth-of-type(n+2) .row .txt-side {
  max-width: 440px;
}
.variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit {
  text-align: center;
  font-size: 40px;
  line-height: 100%;
  margin-bottom: 80px;
  position: relative;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
}
.variant_lp .area--use .container:nth-of-type(n+2):nth-of-type(2) h2.area-tit:before {
  content: "1";
}
.variant_lp .area--use .container:nth-of-type(n+2):nth-of-type(3) h2.area-tit:before {
  content: "2";
}
.variant_lp .area--use .container:nth-of-type(n+2):nth-of-type(4) h2.area-tit:before {
  content: "3";
}
.variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before,
.variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before,
.variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before {
  background: transparent;
  border: 2px solid #1D263D;
  border-radius: 100%;
  height: 60px;
  width: 60px;
  font-size: 24px;
  position: relative;
  margin-right: 24px;
  display: inline-block;
  top: 0;
  left: auto;
  transform: none;
  line-height: 230%;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--use {
    background-position: center 36%;
  }
  .variant_lp .area--use:before {
    top: 40px;
    right: 5%;
    width: 24vw;
    height: 105px;
  }
  .variant_lp .area--use:after {
    content: "";
    background: url("/common/images/other/lp/mall/bg.svg");
    background-size: contain;
    background-position: right bottom;
    background-repeat: no-repeat;
    position: absolute;
    top: auto;
    bottom: -160px;
    right: 0;
    margin: auto;
    width: 100%;
    min-height: 2000px;
  }
  .variant_lp .area--use .container:last-child {
    margin-bottom: 0;
  }
  .variant_lp .area--use .container:nth-of-type(n+2) {
    padding: 32px 24px;
    border-radius: 16px;
  }
  .variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before,
  .variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before,
  .variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit:before {
    margin-right: 0;
    margin-bottom: 16px;
    height: 32px;
    width: 32px;
    font-size: 16px;
    line-height: 170%;
    padding-left: 1px;
    display: inline-block;
    text-align: center;
  }
  .variant_lp .area--use .container:nth-of-type(n+2) h2.area-tit {
    flex-direction: column;
    font-size: 20px;
    margin-bottom: 32px;
  }
  .variant_lp .area--use .container:nth-of-type(n+2) .ph {
    margin-bottom: 24px;
  }
  .variant_lp .area--use .row {
    flex-direction: column;
  }
}
.variant_lp .area--service, .variant_lp .area--voice {
  background: #FFF;
}
.variant_lp .area--service:before, .variant_lp .area--voice:before {
  content: "";
  background: url("/common/images/other/lp/mall/notes1.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 100px;
  right: 15%;
  width: 220px;
  height: 180px;
}
.variant_lp .area--service .grid, .variant_lp .area--voice .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 56px;
  align-items: stretch;
  justify-content: space-around;
}
.variant_lp .area--service p.txt, .variant_lp .area--voice p.txt {
  margin-bottom: 12px;
}
.variant_lp .area--service p.txt:last-child, .variant_lp .area--voice p.txt:last-child {
  margin-bottom: 0;
}
.variant_lp .area--service .ph, .variant_lp .area--voice .ph {
  margin-bottom: 32px;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--service:before, .variant_lp .area--voice:before {
    top: 40px;
    right: 5%;
    width: 24vw;
    height: 105px;
  }
  .variant_lp .area--service .grid, .variant_lp .area--voice .grid {
    grid-template-columns: 1fr;
  }
  .variant_lp .area--service .grid .block, .variant_lp .area--voice .grid .block {
    max-width: 600px;
    margin: auto;
  }
}
.variant_lp .area--feature:before {
  content: "";
  background: url("/common/images/other/lp/mall/top_bg.svg");
  transform: scaleX(-1);
  background-size: 100%;
  background-position: 0px -48vw;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  min-width: 100%;
  min-height: 100%;
}
.variant_lp .area--feature:after {
  content: "";
  background: url("/common/images/other/lp/mall/notes2.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  bottom: 130px;
  left: 5%;
  width: 164px;
  height: 229px;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--feature:after {
    display: none;
  }
}
.variant_lp .area--flow:after {
  content: "";
  background: url("/common/images/other/lp/mall/notes2.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  bottom: 130px;
  left: 5%;
  width: 165px;
  height: 265px;
}
.variant_lp .area--flow .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.variant_lp .area--flow .inner_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.variant_lp .area--flow .col {
  width: 100%;
  max-width: 60px;
  margin-right: 24px;
}
.variant_lp .area--flow .circle {
  background: transparent;
  border: 1px solid #000;
  border-radius: 100%;
  height: 60px;
  width: 60px;
  font-size: 24px;
  position: relative;
  display: inline-block;
  top: 0;
  left: auto;
  transform: none;
  line-height: 230%;
  text-align: center;
  background: #FFF;
  font-family: sofia-pro, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  margin-right: 32px;
  z-index: 1;
}
.variant_lp .area--flow .txt-side {
  max-width: 544px;
  padding-top: 12px;
}
.variant_lp .area--flow .row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}
.variant_lp .area--flow .row:after {
  content: "";
  background: #000;
  width: 1px;
  min-height: 110%;
  position: absolute;
  top: 60px;
  z-index: 0;
  left: 30px;
  margin: auto;
  z-index: 0;
}
.variant_lp .area--flow .row:last-child:after {
  display: none;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--flow:after {
    background: url("/common/images/other/lp/mall/notes1.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    bottom: 40px;
    left: 5%;
    width: 15vw;
    height: 105px;
  }
}
.variant_lp .area--download {
  padding-top: 0;
}
.variant_lp .area--download .area__inner {
  border: 8px solid transparent;
  background: linear-gradient(to right, #ffd600, #48feff) padding-box, linear-gradient(to right, #ffd600, #48feff) border-box;
  border-radius: 32px;
  box-shadow: 10px 10px 30px 0px rgba(114, 114, 114, 0.1);
}
.variant_lp .area--download .wrapper {
  background: #FFF;
  padding: 5rem 4rem;
  border-radius: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.variant_lp .area--download h2.area-tit:before {
  display: none;
}
.variant_lp .area--download .ph {
  max-width: 550px;
}
@media screen and (min-width: 960px) {
  .variant_lp .area--download h2.area-tit {
    margin-bottom: 32px;
    font-size: 32px;
  }
  .variant_lp .area--download h2.area-tit:before {
    display: none;
  }
  .variant_lp .area--download h2.area-tit .sp {
    display: none;
  }
  .variant_lp .area--download .btn {
    margin: 0 12px;
  }
}
.variant_lp .area--download .txt-side {
  text-align: center;
  max-width: 420px;
}
@media screen and (max-width: 959px) {
  .variant_lp .area--download .area__inner {
    border: 4px solid transparent;
    border-radius: 16px;
    max-width: 600px;
  }
  .variant_lp .area--download h2.area-tit {
    line-height: 150%;
    margin-bottom: 16px;
    text-align: center;
  }
  .variant_lp .area--download h2.area-tit .sp {
    display: block;
  }
  .variant_lp .area--download h2.area-tit .pc {
    display: none;
  }
  .variant_lp .area--download .wrapper {
    padding: 5rem 2rem 6rem;
    border-radius: 12px;
    flex-direction: column;
  }
  .variant_lp .area--download .btn {
    padding: 16px 40px;
    margin: auto;
    min-width: 230px;
  }
  .variant_lp .area--download .txt-side {
    margin: 24px auto 0;
  }
}
@media screen and (max-width: 959px) and (max-width: 959px) {
  .variant_lp .area--download .txt-side {
    width: 100%;
  }
}
.variant_lp footer {
  background: transparent;
  text-align: center;
}
.variant_lp footer .section--footer-nav {
  padding: 0 24px 110px;
  background: unset;
}
.variant_lp footer .copyright {
  opacity: 1;
  position: relative;
  padding: 0;
}
.variant_lp footer a {
  color: #1D263D;
}
.variant_lp footer .footer-nav {
  margin-bottom: 40px;
}
.variant_lp footer .footer-nav li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 959px) {
  .variant_lp footer .section--footer-nav {
    padding: 0 24px 80px;
  }
}
.variant_lp .bottom-bg {
  position: absolute;
  min-width: 100%;
  overflow: hidden;
  z-index: -1;
  min-height: 2000px;
  bottom: 0;
  left: 0;
}
.variant_lp .bottom-bg:after {
  content: "";
  background: url("/common/images/other/lp/mall/bg.svg");
  background-size: 100%;
  background-position: right bottom;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -5vw;
  right: 0;
  min-width: 100%;
  min-height: 100%;
}
@media screen and (max-width: 959px) {
  .variant_lp .bottom-bg {
    min-height: 920px;
    bottom: 1110px;
  }
  .variant_lp .bottom-bg:after {
    bottom: 0;
  }
}
.variant_lp .delighter .area__inner, .variant_lp .delighter.row, .variant_lp .delighter.col,
.variant_lp .delighter .block {
  opacity: 0;
  transform: translateY(10rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .variant_lp .delighter .area__inner, .variant_lp .delighter.row, .variant_lp .delighter.col,
  .variant_lp .delighter .block {
    transform: translateY(6rem);
  }
}
.variant_lp .delighter .fixed-btn-wrap {
  opacity: 1;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.variant_lp .delighter.started .area__inner, .variant_lp .delighter.started.row, .variant_lp .delighter.started.container, .variant_lp .delighter.started.col {
  opacity: 1;
  transform: translateY(0);
}
.variant_lp .delighter.started.col:nth-of-type(1) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.variant_lp .delighter.started.col:nth-of-type(2) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}
.variant_lp .delighter.started.col:nth-of-type(3) {
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.variant_lp .delighter.started .block:nth-of-type(1) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.25s;
}
.variant_lp .delighter.started .block:nth-of-type(2) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
}
.variant_lp .delighter.started .block:nth-of-type(3) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.75s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.75s;
}
.variant_lp .delighter.started .block:nth-of-type(4) {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 1s;
}
.variant_lp .delighter.started .fixed-btn-wrap {
  opacity: 0;
  pointer-events: none;
}

.dx_campaign .floating_form {
  width: 100%;
  padding: 24px;
  background: #f5f5f5;
}
@media screen and (max-width: 959px) {
  .dx_campaign .floating_form {
    background: #ffffff;
  }
}
.dx_campaign .floating_form .area-tit {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.8em;
  color: #512376;
  line-height: 1.3em;
}
.dx_campaign .floating_form .note {
  font-size: 0.6em;
  line-height: 1.4em;
  margin-top: 10px;
  color: #656565;
}
.dx_campaign .floating_form .field {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.dx_campaign .floating_form .field.policy {
  justify-content: center;
  margin-top: 20px;
}
.dx_campaign .floating_form .field.policy label {
  margin-left: 10px;
  font-size: 0.8em;
}
.dx_campaign .floating_form label {
  font-size: 1.4rem;
  font-weight: bold;
  color: #512376;
}
.dx_campaign .floating_form input[type=text],
.dx_campaign .floating_form input[type=email],
.dx_campaign .floating_form input[type=tel],
.dx_campaign .floating_form select {
  width: 70%;
  padding: 10px 12px;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.8em;
  box-sizing: border-box;
}
.dx_campaign .floating_form input[type=submit] {
  width: 100%;
  background-color: #1EC0B8;
  color: white;
  font-weight: bold;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.dx_campaign .floating_form input[type=submit]:hover {
  background-color: #13857f;
}
.dx_campaign .floating_form input:active, .dx_campaign .floating_form input:focus {
  border-color: #512376;
}
@media screen and (min-width: 960px) {
  .dx_campaign {
    width: 100%;
    max-width: calc(100vw - 310px);
  }
  .dx_campaign .floating_form {
    max-width: 310px;
    position: fixed;
    right: 0;
    top: 76px;
    height: calc(100% - 76px);
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--general .area__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--general .txt-side {
    flex-basis: 60%;
    padding-right: 5%;
  }
}
.dx_campaign .area--general .area-tit {
  text-align: left;
  margin-bottom: 1.4em;
  color: #512376;
}
.dx_campaign .area--general .area-tit + .txt {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: -1.5em;
}
@media screen and (max-width: 959px) {
  .dx_campaign .area--general .ph--display {
    display: block;
    width: 100%;
    margin: 4rem auto 0;
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--general .ph--display {
    flex-basis: 40%;
  }
}
.dx_campaign .area--general .ph--display img {
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.2));
}
.dx_campaign .swiper-container {
  width: 100%;
  height: 100%;
  position: relative;
}
.dx_campaign .swiper-container:before {
  content: "";
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}
.dx_campaign .swiper-container .swiper-slide {
  background-position: center;
  background-size: cover;
  min-height: calc(100vh - 76px);
}
.dx_campaign .swiper-container .txt-side {
  width: 100%;
  max-width: 590px;
  text-align: center;
  margin: auto;
  padding: 1rem;
  z-index: 2;
  border-radius: 4rem;
  position: absolute;
  top: 50%;
  color: #FFF;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 960px) {
  .dx_campaign .swiper-container .txt-side {
    padding: 5rem;
  }
}
.dx_campaign .swiper-container .catch {
  font-size: 7rem;
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 6rem;
}
@media screen and (min-width: 960px) {
  .dx_campaign .swiper-container .catch {
    font-size: 12rem;
    line-height: 8rem;
    margin-bottom: 10px;
  }
}
.dx_campaign .swiper-container .catch span {
  font-size: 2.6rem;
  display: block;
  font-weight: normal;
  margin-left: 0;
}
@media screen and (min-width: 960px) {
  .dx_campaign .swiper-container .catch span {
    font-size: 2.8rem;
    margin-left: 6px;
  }
}
.dx_campaign .swiper-container .lead {
  font-size: 2rem;
}
@media screen and (max-width: 959px) {
  .dx_campaign .swiper-container .lead {
    margin-bottom: 30px;
  }
}
.dx_campaign .swiper-container .btn {
  text-align: center;
  margin: auto;
}
.dx_campaign .swiper-container .btn .btn--main {
  font-weight: bold;
  background-color: #1EC0B8;
}
@media screen and (min-width: 960px) {
  .dx_campaign .swiper-container .btn {
    display: none;
  }
}
.dx_campaign .btn_wrapper .btn {
  text-align: center;
}
@media screen and (min-width: 960px) {
  .dx_campaign .btn_wrapper {
    display: flex;
    align-content: space-around;
    justify-content: center;
    align-items: center;
  }
  .dx_campaign .btn_wrapper .btn {
    margin: 1em;
  }
}
.dx_campaign .area--contact .area-tit {
  text-align: center;
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--contact {
    display: none;
  }
}
.dx_campaign .area--reason {
  background: #f2f1f5;
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box {
    max-width: 900px;
    margin: 0 auto;
  }
}
.dx_campaign .area--reason .list--text-box li .tit {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
@media screen and (max-width: 959px) {
  .dx_campaign .area--reason .list--text-box li .tit {
    line-height: 1.5;
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box li .tit {
    font-size: 1.4em;
  }
}
.dx_campaign .area--reason .list--text-box li .sub-tit {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 0.5em;
}
.dx_campaign .area--reason .list--text-box li .txt {
  margin-bottom: 0;
}
@media screen and (max-width: 959px) {
  .dx_campaign .area--reason .list--text-box li + li {
    margin-top: 7rem;
  }
}
.dx_campaign .area--reason .list--text-box .ph {
  margin-bottom: 2.5rem;
}
.dx_campaign .area--reason .list--text-box .ph img {
  background: no-repeat center;
  background-size: cover;
  width: 100%;
}
.dx_campaign .area--reason .list--text-box > li {
  background: #ffffff;
  padding: 3rem 7vw;
  border-radius: 1rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box > li {
    padding: 4rem 5vw;
    display: flex;
    align-items: center;
  }
}
.dx_campaign .area--reason .list--text-box > li .numb {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1em;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box > li .numb {
    font-size: 2em;
  }
}
@media screen and (max-width: 959px) {
  .dx_campaign .area--reason .list--text-box > li .numb {
    font-size: 1.5em;
    margin: -0.25em 0 0.75em;
  }
}
.dx_campaign .area--reason .list--text-box > li .numb span {
  width: 8rem;
  height: 8rem;
  border-radius: 999px;
  color: #ffffff;
  background: #3B3544;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .dx_campaign .area--reason .list--text-box > li .numb span {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box > li .numb span {
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--reason .list--text-box > li .txt-side {
    padding-left: 4rem;
  }
}
.dx_campaign .area--reason .list--text-box > li + li {
  margin-top: 1.5rem;
}
.dx_campaign .area--solution-provision {
  background: #22242a;
}
.dx_campaign .area--solution-provision .area-tit {
  color: #fff;
}
.dx_campaign .area--solution-provision li {
  overflow: hidden;
  border-radius: 2rem;
}
.dx_campaign .area--solution-provision .inner_top {
  position: relative;
}
.dx_campaign .area--solution-provision .inner_top img {
  width: 100%;
  display: block;
}
.dx_campaign .area--solution-provision .inner_top .tit {
  position: absolute;
  bottom: 0px;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  padding: 5px 20px;
  z-index: 1;
  margin: auto;
}
.dx_campaign .area--solution-provision .txt {
  padding: 20px;
  background: #FFF;
  border-bottom-right-radius: 2rem;
  border-bottom-left-radius: 2rem;
}
.dx_campaign .area--installation .ph img {
  background-size: cover;
}
.dx_campaign .area--offer {
  background: #f2f1f5;
}
.dx_campaign .area--offer .list--3col {
  text-align: center;
}
@media screen and (min-width: 960px) {
  .dx_campaign .area--offer .list--3col {
    text-align: left;
  }
}
.dx_campaign .area--offer li .tit {
  font-size: 2.4rem;
  color: #512376;
  border: 2px solid #512376;
  border-radius: 50%;
  height: 140px;
  width: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 30px;
}
.dx_campaign .area--offer .note {
  margin-top: 60px;
}
@media screen and (min-width: 960px) {
  .dx_campaign .list--2col {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .dx_campaign .list--2col > li {
    width: 46%;
    margin: 2% 2% 3rem;
  }
}

/* category.php
----------------------------------- */
body.category-casestudy .list--case-study > li a {
  display: flex;
  flex-direction: column;
}
body.category-casestudy .list--case-study > li .inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}
body.category-casestudy .list--case-study > li .tit {
  margin-bottom: 2rem;
}
body.category-casestudy .list--case-study > li .detail-wrap {
  margin-top: auto;
}
body.category-casestudy .list--case-study > li .name--client {
  font-size: 1.4rem;
  line-height: 1.4;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5em;
  font-weight: bold;
  transition: border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: border-color 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  body.category-casestudy .list--case-study > li .name--client {
    padding-top: 1.4em;
    margin-top: 0;
  }
}
body.category-casestudy .list--case-study > li a:hover .name--client {
  border-color: rgba(169, 96, 232, 0.15);
}
body.category-casestudy .list--case-study > li .list__detail {
  font-size: 1.2rem;
  line-height: 1.5;
}
body.category-casestudy .list--case-study > li .list__detail dt {
  float: left;
  opacity: 0.7;
}
body.category-casestudy .list--case-study > li .list__detail dd {
  padding-left: 5.5em;
}

/* single.php
----------------------------------- */
body.single .blog-tit {
  font-size: 5vw;
  line-height: 1.6;
  position: relative;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  body.single .blog-tit {
    font-size: 3.2rem;
  }
}
body.single .category {
  position: relative;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin: 0 0 1em;
  font-size: 1.4rem;
}
body.single .date {
  padding: 0 0 0 1em;
}
body.single .name--client {
  font-size: 1.8rem;
  line-height: 1.8;
  margin: 0 0 0.25em;
}
body.single .list--tags li {
  background: rgba(255, 255, 255, 0.2);
  font-size: 1.4rem;
}
body.single .blog-inner > .heading--case-study {
  margin: 5rem 0;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study {
    margin: -2rem 0 8rem;
  }
}
body.single .blog-inner > .heading--case-study .tit {
  font-size: 6vw;
  line-height: 1.6;
  margin: 0 0 1em;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study .tit {
    font-size: 3.2rem;
  }
}
body.single .blog-inner > .heading--case-study .flex-wrap {
  border: 1px solid;
  padding: 2rem;
  background: #fff;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study .flex-wrap {
    display: flex;
    align-items: center;
    padding: 3rem;
  }
}
body.single .blog-inner > .heading--case-study .ph {
  line-height: 0;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study .ph {
    flex-shrink: 0;
    width: 50%;
  }
}
@media screen and (max-width: 959px) {
  body.single .blog-inner > .heading--case-study .ph {
    margin: 0 0 1.5rem;
  }
}
body.single .blog-inner > .heading--case-study .ph img {
  width: 100%;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study .inner {
    padding: 0 0 0 5%;
    width: 100%;
  }
}
body.single .blog-inner > .heading--case-study .name--client {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 0 0.75em;
}
@media screen and (min-width: 960px) {
  body.single .blog-inner > .heading--case-study .name--client {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 959px) {
  body.single .blog-inner > .heading--case-study .list__detail {
    padding-bottom: 1rem;
  }
}
body.single .blog-inner > .heading--case-study .list__detail dt {
  float: left;
  opacity: 0.7;
  font-size: 1.3rem;
  padding-top: 0.5em;
}
body.single .blog-inner > .heading--case-study .list__detail dd {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  padding-left: 4.5em;
}
body.single .blog-inner > .heading--case-study .list__detail dd:not(:last-child) {
  margin-bottom: 1em;
}
body.single .blog-inner > * {
  margin: 0 0 5rem;
}
body.single .blog-inner > h2, body.single .blog-inner > h3, body.single .blog-inner > h4, body.single .blog-inner > h5, body.single .blog-inner + h6 {
  margin: 0 0 1.5em;
}
body.single .blog-inner p {
  line-height: 2em;
}
body.single .blog-inner img {
  height: auto;
  margin: auto;
  display: block;
}

.nav--pager {
  margin-top: 8rem;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .nav--pager {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 960px) {
  .nav--pager {
    text-align: left;
  }
}
.nav--pager li {
  display: inline-block;
  position: relative;
}
.nav--pager li:empty {
  display: none;
}
.nav--pager a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  text-decoration: none;
  font-weight: bold;
}
.nav--pager .pager__prev {
  margin-right: 6rem;
}
.nav--pager .pager__prev::after {
  content: "";
  width: 1px;
  height: 1.75em;
  background: #3B3544;
  position: absolute;
  bottom: 0.2rem;
  right: -3rem;
  display: inline-block;
  transform: rotate(26deg);
}
.nav--pager .icon--chevron {
  margin: 0 0 0 1rem;
}
.nav--pager .pager__prev .icon--chevron,
.nav--pager .prev .icon--chevron {
  margin: 0 1em 0 0;
  transform: scale(-1, 1);
}
.nav--pager .page-numbers {
  padding: 0.75em;
}
.nav--pager .page-numbers.current {
  opacity: 0.5;
}
@media screen and (max-width: 959px) {
  .nav--pager .page-numbers span {
    display: none;
  }
}
.nav--pager .prev {
  margin: 0 1.5em 0 0;
  padding-left: 0;
}
.nav--pager .next {
  margin: 0 0 0 1.5em;
  padding-right: 0;
}
@media screen and (max-width: 959px) {
  .nav--pager.nav--pager {
    position: relative;
  }
  .nav--pager .prev,
  .nav--pager .next {
    position: absolute;
    top: -0.65em;
  }
  .nav--pager .prev {
    left: 0;
  }
  .nav--pager .next {
    right: 0;
  }
}

/* contact
----------------------------------- */
.page--contact .section--footer-contact,
.page--contact .floating-btn {
  display: none;
}
.page--contact .form-box {
  margin: 0 -2rem;
  background: #ffffff;
  padding: 2rem;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
}
@media screen and (min-width: 960px) {
  .page--contact .form-box {
    margin: 8rem auto 0;
    padding: 4rem;
  }
}

.page--thanks .block--pdf .btn {
  margin-top: 3rem;
}

/* download
----------------------------------- */
body.page--wpaper .section--footer-contact,
body.page--wpaper .bg-shape,
body.page-template-template-download .section--footer-contact,
body.page-template-template-download .bg-shape {
  display: none;
}
@media screen and (min-width: 960px) {
  body.page--wpaper .container,
  body.page-template-template-download .container {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 960px) {
  body.page--wpaper .contents,
  body.page-template-template-download .contents {
    display: flex;
    align-items: start;
  }
}
@media screen and (min-width: 960px) {
  body.page--wpaper .download-text,
  body.page-template-template-download .download-text {
    flex: 1;
  }
}
body.page--wpaper .download-text .tit,
body.page-template-template-download .download-text .tit {
  font-size: 3.2rem;
  line-height: 1.45;
  margin-bottom: 3rem;
}
@media screen and (min-width: 960px) {
  body.page--wpaper .download-text .tit,
  body.page-template-template-download .download-text .tit {
    font-size: 5rem;
    margin-bottom: 4.5rem;
  }
}
body.page--wpaper .download-text .ph,
body.page-template-template-download .download-text .ph {
  margin-bottom: 3.5rem;
}
@media screen and (min-width: 960px) {
  body.page--wpaper .download-text .ph,
  body.page-template-template-download .download-text .ph {
    margin-bottom: 5rem;
  }
}
body.page--wpaper .download-text .txt,
body.page-template-template-download .download-text .txt {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  body.page--wpaper .download-text .txt,
  body.page-template-template-download .download-text .txt {
    font-size: 2.4rem;
  }
}
body.page--wpaper .download-text .list--text,
body.page-template-template-download .download-text .list--text {
  padding-left: 1.1em;
}
body.page--wpaper .download-text .list--text li,
body.page-template-template-download .download-text .list--text li {
  text-indent: -1.1em;
  line-height: 1.5;
}
body.page--wpaper .download-text .list--text li::before,
body.page-template-template-download .download-text .list--text li::before {
  font-family: "FontAwesome";
  content: "\f111";
  font-size: 0.8em;
  opacity: 0.5;
  position: relative;
  top: -0.15em;
  margin-right: 0.5em;
  color: #78797b;
}
body.page--wpaper .download-text .list--text li + li,
body.page-template-template-download .download-text .list--text li + li {
  margin-top: 1em;
}
body.page--wpaper .hbspt-form,
body.page-template-template-download .hbspt-form {
  margin: 5rem -1.5rem 0;
  background: #fff;
  padding: 1rem;
  border-radius: 2rem;
  box-shadow: 5px 5px 30px -5px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 960px) {
  body.page--wpaper .hbspt-form,
  body.page-template-template-download .hbspt-form {
    width: 40rem;
    margin: 0 0 0 8rem;
    padding: 2rem;
  }
}

body.page--wpaper .container {
  padding: 6rem;
}
@media screen and (max-width: 959px) {
  body.page--wpaper .container {
    padding: 6rem 7%;
  }
}
@media (min-height: 760px) {
  body.page--wpaper .container {
    padding: 8rem 3rem;
  }
}
body.page--wpaper header {
  background: #502376;
}
@media screen and (min-width: 960px) {
  body.page--wpaper header {
    left: 0;
    width: 100%;
  }
}
body.page--wpaper header .link a {
  line-height: 80px;
  position: relative;
  font-size: 1.6rem;
  padding: 0 0.7em;
  color: #FFF;
  text-decoration: none;
}
@media screen and (max-width: 959px) {
  body.page--wpaper header.drawer {
    width: 30rem;
    padding: 12vh 0 12vh 4rem;
  }
  body.page--wpaper header.drawer h1 {
    line-height: 0;
    width: 60%;
  }
}
@media screen and (min-width: 960px) {
  body.page--wpaper header .g-nav {
    margin-right: 2%;
  }
  body.page--wpaper header .g-nav a {
    border-radius: 70px;
    padding: 20px 30px;
    font-weight: bold;
    border: 1px solid #FFF;
  }
  body.page--wpaper header .g-nav a:hover {
    background: rgba(255, 255, 255, 0.2);
  }
}
@media screen and (min-width: 960px) {
  body.page--wpaper .contents {
    display: block;
  }
  body.page--wpaper .contents .download-text {
    width: 60%;
  }
  body.page--wpaper .contents .download-text .tit {
    font-size: 4.1rem;
  }
  body.page--wpaper .contents .fixed_wrapper {
    position: fixed;
    width: 36%;
    max-width: 550px;
    right: 0;
    margin: auto;
    top: 80px;
    height: 100%;
  }
  body.page--wpaper .contents .hbspt-form {
    padding: 1rem;
    position: absolute;
    width: 100%;
    right: 0;
    height: 100%;
    border-radius: 0;
  }
}
@media screen and (min-width: 960px) and (min-height: 760px) {
  body.page--wpaper .contents .hbspt-form {
    padding: 3rem 2rem;
  }
}
@media screen and (min-width: 960px) {
  body.page--wpaper footer {
    display: none;
  }
}

/* support
----------------------------------- */
.section--terms-tokutei .list--support > dt {
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .section--terms-tokutei .list--support > dt {
    font-size: 1.8rem;
  }
}
.section--terms-tokutei .list--support > dd {
  margin-bottom: 2em;
}
@media screen and (max-width: 959px) {
  .section--terms-tokutei .list--support > dd {
    font-size: 1.2rem;
  }
}

.section--guide .list--support-link > li + li {
  margin-top: 1em;
}

/* 404
----------------------------------- */
.error404 .section--footer-contact,
.error404 .floating-btn {
  display: none;
}
.error404 .section-tit {
  text-align: center;
  margin-bottom: 1em;
}
.error404 .section-tit::after {
  display: none;
}
.error404 .section--main {
  text-align: center;
}
.error404 .section--main .txt {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 3em;
}
.error404 .section--main .btn {
  text-align: center;
}

/* seminer */
body#seminar-kankodx2021 #loading {
  display: none;
}
body#seminar-kankodx2021 .container {
  color: #111A39;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .area {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .area .inner {
    width: 80rem;
    margin: 0 auto;
  }
}
body#seminar-kankodx2021 .service-detail .area--heading {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .service-detail .area--heading {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
body#seminar-kankodx2021 .service-detail .area--heading h2 {
  border-left: 5px solid #e95936;
  padding-left: 0.75em;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .service-detail .area--heading h2 {
    font-size: 1.8rem;
  }
}
body#seminar-kankodx2021 .service-detail .area--top {
  padding-top: 2rem;
}
body#seminar-kankodx2021 .service-detail .area--top::before {
  content: "";
  width: 100%;
  height: 86%;
  background: #e95936;
  position: absolute;
  top: 0;
  left: 0;
}
body#seminar-kankodx2021 .service-detail .area--top .inner {
  position: relative;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .service-detail .area--top .inner {
    padding: 0 7%;
  }
}
body#seminar-kankodx2021 .service-detail .area--top h2 {
  margin-bottom: 4rem;
}
body#seminar-kankodx2021 .area--contents {
  padding-top: 6rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .area--contents {
    padding-top: 4rem;
  }
}
body#seminar-kankodx2021 .list--speakers {
  margin-bottom: 8rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers > li {
    width: 44%;
  }
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers > li + li {
    margin-top: 4rem;
  }
}
body#seminar-kankodx2021 .list--speakers > li {
  display: flex;
  align-items: center;
}
body#seminar-kankodx2021 .list--speakers > li .ph {
  position: relative;
  width: 40%;
  margin: 0 2.5rem 0 0;
}
body#seminar-kankodx2021 .list--speakers > li .ph__pic {
  width: 100%;
  background: no-repeat center;
  background-size: cover;
  border-radius: 100%;
  position: relative;
}
body#seminar-kankodx2021 .list--speakers > li .ph__illust {
  position: absolute;
  width: 50%;
  top: -17%;
  left: -4%;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers > li .ph__illust {
    width: 70%;
    top: -20%;
    left: -20%;
  }
}
body#seminar-kankodx2021 .list--speakers > li .txt-side {
  flex: 1;
}
body#seminar-kankodx2021 .list--speakers > li .txt-side .label {
  background: #111A39;
  color: #fff;
  text-align: center;
  border-radius: 100px;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  margin: 0 0 1rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers > li .txt-side .label {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
}
body#seminar-kankodx2021 .list--speakers > li .txt-side .title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}
body#seminar-kankodx2021 .list--speakers > li .txt-side .name {
  font-weight: bold;
}
body#seminar-kankodx2021 .list--speakers > li .txt-side .name span {
  font-size: 0.75em;
  margin: 0 0 0 0.5em;
}
body#seminar-kankodx2021 .list--speakers > li.speakers__ise .ph__pic {
  background-image: url(/common/images/other/seminer/ph_ise-city.webp);
}
body#seminar-kankodx2021 .list--speakers > li.speakers__jtb .ph__pic {
  background-image: url(/common/images/other/seminer/ph_ise-city.webp);
}
body#seminar-kankodx2021 {
  /* 写真なし専用 */
}
body#seminar-kankodx2021 .list--speakers.one-photo > li {
  width: auto;
  position: relative;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li {
    border: 1px solid;
    padding: 6%;
  }
  body#seminar-kankodx2021 .list--speakers.one-photo > li + li {
    margin-top: 0;
    border-top: none;
  }
}
body#seminar-kankodx2021 .list--speakers.one-photo > li .txt-side .label {
  background: none;
  color: #e95936;
  text-align: left;
}
body#seminar-kankodx2021 .list--speakers.one-photo > li .txt-side .title {
  font-size: 1.8rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li .txt-side .title {
    font-size: 2.25rem;
  }
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise {
    flex-flow: row-reverse;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise {
    width: 61%;
    border-right: 1px solid #B4BAC4;
    padding: 0 0 0 5%;
  }
}
body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise .ph {
  width: 35%;
  margin: 2rem 1rem 0 0;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise .ph {
    max-width: 15rem;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise .ph {
    margin: 0 3rem 0 0;
  }
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__ise .ph__illust {
    width: 70%;
    top: -18%;
    left: auto;
    right: -19%;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__jtb {
    width: 30%;
  }
}
body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__jtb .ph__illust {
  right: 5%;
  left: auto;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__jtb .ph__illust {
    width: 32%;
    max-width: 15rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__jtb .ph__illust {
    width: 65%;
    right: 0;
    top: -8%;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--speakers.one-photo > li.speakers__jtb .txt-side .label {
    position: relative;
    top: -1.6rem;
  }
}
body#seminar-kankodx2021 .block + .block {
  margin-top: 8rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .block + .block {
    margin-top: 12rem;
  }
}
body#seminar-kankodx2021 .block .block-tit {
  font-size: 2.8rem;
  margin: 0 0 3rem;
  letter-spacing: 0.2em;
  border-bottom: 2px solid;
  line-height: 1;
}
body#seminar-kankodx2021 .block--program .block-tit {
  margin-bottom: 1rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--program > li {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
body#seminar-kankodx2021 .list--program > li {
  padding: 2rem 0;
  border-bottom: 1px solid #B4BAC4;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--program > li > p {
    padding: 0 1.5rem;
  }
}
body#seminar-kankodx2021 .list--program .numb {
  font-size: 2.6rem;
  color: #B4BAC4;
  line-height: 1;
  margin: 0 0 1rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--program .numb {
    text-align: center;
    margin: 0;
  }
}
body#seminar-kankodx2021 .list--program .tit {
  font-weight: bold;
  margin: 0 0 0.5rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--program .tit {
    flex: 1;
    margin: 0;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--program .name {
    width: 11em;
  }
}
body#seminar-kankodx2021 .list--program + .txt--sub {
  margin-top: 1em;
}
body#seminar-kankodx2021 .list--details {
  margin: 0 0 4rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--details {
    display: flex;
    flex-wrap: wrap;
  }
}
body#seminar-kankodx2021 .list--details dt {
  padding: 0.5rem 1.5rem;
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .list--details dt {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--details dt {
    width: 20%;
    margin-bottom: 2px;
    padding: 1.5rem 3rem;
  }
}
body#seminar-kankodx2021 .list--details dt {
  background: #111A39;
  color: #fff;
}
body#seminar-kankodx2021 .list--details dd {
  margin-bottom: 2px;
  padding: 1.5rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .list--details dd {
    width: 80%;
    padding: 1.5rem 3rem;
  }
}
body#seminar-kankodx2021 .list--details dd {
  background: #DFE0E4;
}
body#seminar-kankodx2021 .list--details + .txt {
  margin-bottom: 4rem;
}
body#seminar-kankodx2021 .form-wrap {
  background: #fff;
  padding: 1rem;
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .form-wrap {
    padding: 3rem;
  }
}
@media screen and (max-width: 959px) {
  body#seminar-kankodx2021 .btn--back {
    padding: 0 7% 8rem;
    margin: 0;
  }
}
@media screen and (min-width: 960px) {
  body#seminar-kankodx2021 .btn--back {
    padding-bottom: 12rem;
    width: 80rem;
    margin: 0 auto;
  }
}

/* sustainability
----------------------------------- */
.sustinability .mainview {
  width: 100%;
  position: absolute;
}
.sustinability .mainview video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* congestion_consulting
----------------------------------- */
.container {
  padding: 0;
}

.bg-pattern {
  display: none;
}

* {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0;
}
*[data-emergence=hidden] {
  transform: translateY(10%);
  opacity: 0;
}
*[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.upFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.upFade[data-emergence=hidden] {
  transform: translateY(-10%);
  opacity: 0;
}
.upFade[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.rightFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.rightFade[data-emergence=hidden] {
  transform: translateX(-10%);
  opacity: 0;
}
.rightFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.leftFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.leftFade[data-emergence=hidden] {
  transform: translateX(10%);
  opacity: 0;
}
.leftFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.congestion_consulting {
  display: block;
  position: relative;
  z-index: 1;
}
.congestion_consulting.mainview {
  width: 100vw;
  height: -moz-fit-content;
  height: fit-content;
}
.congestion_consulting.mainview::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("/common/images/congestion_consulting/mainview_img-bg-blur.svg") center center/cover;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview::before {
    background: url("/common/images/congestion_consulting/mainview_img-bg-blur_sp.svg") center center/cover;
  }
}
.congestion_consulting.mainview .congestion_consulting-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 64px 0 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content {
    flex-direction: column;
  }
}
.congestion_consulting.mainview .congestion_consulting-content:has(.mainview_img-bottom) {
  top: -18vh;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content:has(.mainview_img-bottom) {
    top: -6vh;
  }
}
.congestion_consulting.mainview .congestion_consulting-content.mainview-title {
  z-index: 2;
}
.congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > h1 {
  font-family: "YuGothic", sans-serif;
  color: #512376;
  font-weight: bold;
  font-size: 6.4rem;
  line-height: 1.5;
  word-wrap: normal;
  text-align: left;
}
.congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > h2 {
  font-family: "YuGothic", sans-serif;
  color: #512376;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  word-wrap: normal;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > h2 {
    text-wrap: wrap;
  }
}
.congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > h2::before {
  display: none;
}
.congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > p {
  font-family: "YuGothic", sans-serif;
  color: #512376;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  word-wrap: normal;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content.mainview-title .congestion_consulting-content-item > p {
    text-wrap: wrap;
  }
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(h1) {
  position: relative;
  width: 100%;
  padding: 4vw 0 0 6vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content-item:has(h1) {
    padding: 24px 8vw;
  }
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) {
  width: 100%;
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure {
  width: 100%;
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-tablet) {
  right: -108px;
  position: relative;
  z-index: 2;
  width: 100%;
  transform: scale(1);
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-tablet) {
    right: 0;
    padding: 8vw;
    width: 100%;
    transform: scale(1);
  }
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-bottom) {
  position: relative;
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-bottom)::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url("/common/images/congestion_consulting/mainview_img-camframe.svg") center center/cover;
  z-index: 2;
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-bottom) > img {
  position: relative;
  transform: scale(1.25);
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-bottom) > img {
    transform: scale(2);
    width: 100%;
    height: 100%;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure:has(.mainview_img-bottom) {
    height: 200px;
  }
}
.congestion_consulting.mainview .congestion_consulting-content-item:has(figure) > figure > img {
  width: 100%;
}
.congestion_consulting.partner .partner-tit {
  font-family: "YuGothic", sans-serif;
  color: #512376;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}
.congestion_consulting.partner .partner-list {
  padding: 40px 24px;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.partner .partner-list {
    flex-wrap: wrap;
  }
  .congestion_consulting.partner .partner-list li {
    width: calc(50% - 16px);
  }
}
.congestion_consulting.partner .partner-list li {
  width: -moz-fit-content;
  width: fit-content;
}
.congestion_consulting.utilization .congestion_consulting-content {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 64px 0;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.utilization .congestion_consulting-content {
    flex-direction: column;
    align-items: center;
    gap: 60px;
    padding: 24px;
  }
}
.congestion_consulting.utilization .congestion_consulting-content.horizontal {
  flex-direction: row;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.utilization .congestion_consulting-content.horizontal {
    flex-direction: column;
  }
}
.congestion_consulting.utilization .congestion_consulting-content.vertical {
  flex-direction: column;
}
.congestion_consulting.strength::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: 0;
  left: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture01.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.strength::before {
    width: 80px;
    height: 80px;
  }
}
.congestion_consulting.strength {
  padding: 0 0 48px;
  background: url("/common/images/congestion_consulting/bg_line.svg") repeat-x top center/contain;
}
.congestion_consulting.strength .congestion_consulting-content {
  display: flex;
  justify-content: center;
  gap: 120px;
  padding: 64px 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.strength .congestion_consulting-content {
    flex-direction: column;
    align-items: center;
    gap: 60px;
    padding: 24px;
  }
}
.congestion_consulting.strength .congestion_consulting-content-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 240px;
  height: auto;
}
.congestion_consulting.strength .congestion_consulting-content-item-img {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 240px;
  padding: 24px;
  border: 1px solid #3B3544;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.congestion_consulting.strength .congestion_consulting-content-item-img > img {
  display: block;
  width: auto;
  height: auto;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.strength .congestion_consulting-content-item-img {
    width: 55vw;
    height: 55vw;
  }
}
.congestion_consulting.strength .congestion_consulting-content-item-img + p {
  font-size: 2rem;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.strength .congestion_consulting-content-item-img + p {
    width: 100%;
    text-align: center;
  }
}
.congestion_consulting.solution {
  background: #F0F0F0;
  padding: 0 5vw 8vw;
}
.congestion_consulting.solution::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: -64px;
  right: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture02.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.solution::before {
    width: 80px;
    height: 80px;
    top: -32px;
  }
}
.congestion_consulting.solution .congestion_consulting-content {
  gap: 6vw;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.solution .congestion_consulting-content {
    gap: 64px;
  }
}
.congestion_consulting.solution .congestion_consulting-content-item {
  width: 100%;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.solution .congestion_consulting-content-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}
.congestion_consulting.solution .congestion_consulting-content-item > h3 {
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.solution .congestion_consulting-content-item > h3 {
    font-size: 2rem;
  }
}
.congestion_consulting.solution .congestion_consulting-content-item > img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
.congestion_consulting.detection {
  background: url("/common/images/congestion_consulting/bg_line.svg") repeat-x top center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection {
    background: url("/common/images/congestion_consulting/bg_line.svg") repeat-x top center/contain;
  }
}
.congestion_consulting.detection .congestion_consulting-content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.congestion_consulting.detection .congestion_consulting-content:has(.cta-button) {
  padding: 48px 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content:has(.cta-button) {
    padding: 48px 24px;
  }
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content {
    flex-direction: column;
  }
}
.congestion_consulting.detection .congestion_consulting-content.left-text {
  flex-direction: row;
  padding: 24px 8vw 24px 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content.left-text {
    flex-direction: column-reverse;
    padding: 24px 0;
    gap: -24px;
  }
}
.congestion_consulting.detection .congestion_consulting-content.right-text {
  flex-direction: row-reverse;
  padding: 24px 0 24px 8vw;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content.right-text {
    flex-direction: column-reverse;
    padding: 0;
    gap: -24px;
  }
}
.congestion_consulting.detection .congestion_consulting-content-item:has(h3) {
  background: #512376;
  color: #fff;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 64px 4vw 64px 6vw;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content-item:has(h3) {
    padding: 112px 24px 48px;
  }
}
.congestion_consulting.detection .congestion_consulting-content-item:has(h3) > h3 {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 32px;
  border-bottom: 5px solid #fff;
  padding: 0 0 8px;
  margin: 0 0 24px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content-item:has(h3) > h3 {
    font-size: 2.4rem;
    text-align: center;
    border-bottom: 2px solid #fff;
    width: 100%;
  }
}
.congestion_consulting.detection .congestion_consulting-content-item:has(h3) > h3 > span {
  display: block;
  font-size: 16px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content-item:has(h3) > h3 > span {
    text-align: center;
    letter-spacing: 0.05em;
  }
}
.congestion_consulting.detection .congestion_consulting-content-item:has(h3) > p {
  max-width: 480px;
  text-align: justify;
}
.congestion_consulting.detection .congestion_consulting-content-item-img {
  width: 50vw;
  max-width: 580px;
  min-width: 480px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content-item-img {
    width: 100%;
    margin-bottom: -88px;
    padding: 24px;
  }
}
.congestion_consulting.detection .congestion_consulting-content-item-img > img {
  width: 100vw;
  height: auto;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
}
.congestion_consulting.detection .congestion_consulting-content-item-img > p {
  font-size: 1.1rem;
  color: #3c3c3c;
  text-align: right;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.detection .congestion_consulting-content-item-img > p {
    color: #fff;
    width: calc(100vw - 32px);
    text-align: right;
    margin: 0 auto;
  }
}
.congestion_consulting.value {
  padding: 0 72px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value {
    padding: 0;
  }
}
.congestion_consulting.value::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: -64px;
  left: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture03.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value::before {
    width: 100px;
    height: 100px;
    top: -32px;
  }
}
.congestion_consulting.value .congestion_consulting-content {
  flex-direction: column;
}
.congestion_consulting.value .congestion_consulting-content:has(h3) {
  background: #F0F0F0;
  width: 100%;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  padding: 64px 6vw;
  border-radius: 20px;
  margin-top: -64px;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content:has(h3) {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
  }
}
.congestion_consulting.value .congestion_consulting-content h3 {
  font-size: 3.2rem;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content h3 {
    font-size: 2rem;
    text-align: center;
    word-break: keep-all;
  }
}
.congestion_consulting.value .congestion_consulting-content h3 + h4::before {
  opacity: 0.2;
}
.congestion_consulting.value .congestion_consulting-content h4 {
  font-size: 2.4rem;
  padding-top: 16px;
}
.congestion_consulting.value .congestion_consulting-content h4::before {
  content: "";
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 9px;
  left: 0;
  z-index: 2;
  transition: all 0.25s 0.25s ease-in-out;
  background: #512376;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content h4 {
    font-size: 1.8rem;
    word-break: keep-all;
  }
}
.congestion_consulting.value .congestion_consulting-content img {
  max-width: 600px;
}
.congestion_consulting.value .congestion_consulting-content-item-img {
  padding: 40px 0;
}
.congestion_consulting.value .congestion_consulting-content-item:has(h3) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  z-index: 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content-item:has(h3) {
    padding: 24px;
  }
}
.congestion_consulting.value .congestion_consulting-content-item:has(h3) p {
  position: relative;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  padding: 0 0 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content-item:has(h3) p {
    font-size: 1.5rem;
    display: inline;
  }
}
.congestion_consulting.value .congestion_consulting-content-item.value-list {
  display: flex;
  position: relative;
  justify-content: center;
  gap: 36px;
  padding: 160px 0 48px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content-item.value-list {
    flex-direction: column;
    padding: 80px 24px;
  }
}
.congestion_consulting.value .congestion_consulting-content-item.value-list::before {
  content: "";
  width: 1px;
  height: 40px;
  position: absolute;
  top: 64px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  transition: all 0.25s 0.25s ease-in-out;
  background: #3B3544;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content-item.value-list::before {
    top: 8px;
  }
}
.congestion_consulting.value .congestion_consulting-content-item.value-list > .value-list-item {
  background: #fff;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  padding: 24px;
  border-radius: 10px;
  width: 100%;
}
.congestion_consulting.value .congestion_consulting-content-item.value-list > .value-list-item h4 {
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
  position: relative;
  padding: 0 0 48px;
  word-break: keep-all;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.value .congestion_consulting-content-item.value-list > .value-list-item h4 {
    font-size: 2rem;
  }
}
.congestion_consulting.value .congestion_consulting-content-item.value-list > .value-list-item h4::before {
  content: "";
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 24px;
  left: 0;
  z-index: 2;
  transition: all 0.25s 0.25s ease-in-out;
  background: #512376;
}
.congestion_consulting.value .congestion_consulting-content-item.value-list > .value-list-item p {
  text-align: center;
}
.congestion_consulting.development {
  background: url("/common/images/congestion_consulting/bg_line.svg") center center/contain;
}
.congestion_consulting.development::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: 24px;
  right: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture01.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.development::before {
    width: 80px;
    height: 80px;
  }
}
.congestion_consulting.development .congestion_consulting-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.development .congestion_consulting-content {
    padding: 80px 16px 64px;
  }
}
.congestion_consulting.development .congestion_consulting-content-item {
  max-width: 960px;
  width: 100%;
  padding: 0 0 0 64px;
  position: relative;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.development .congestion_consulting-content-item {
    padding: 0 0 0 48px;
  }
}
.congestion_consulting.development .congestion_consulting-content-item > h4 {
  display: block;
  background: #512376;
  border-radius: 10px;
  width: 100%;
  max-width: 800px;
  color: #fff;
  padding: 20px 40px;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.development .congestion_consulting-content-item > h4 {
    padding: 20px;
    font-size: 1.8rem;
  }
}
.congestion_consulting.development .congestion_consulting-content-item:has(.triangle) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 24px 0 16px;
}
.congestion_consulting.development .congestion_consulting-content-item > .triangle {
  width: 48px;
  height: 48px;
}
.congestion_consulting.development .congestion_consulting-content-item > .check {
  position: absolute;
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #512376;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.development .congestion_consulting-content-item > .check {
    left: 0;
  }
}
.congestion_consulting.development .congestion_consulting-content-item > .check::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 2px;
  transform: rotate(45deg);
  width: 9px;
  height: 3px;
  background: #512376;
}
.congestion_consulting.development .congestion_consulting-content-item > .check::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 6px;
  transform: rotate(-45deg);
  width: 18px;
  height: 3px;
  background: #512376;
}
.congestion_consulting.casestudy {
  padding: 4vw;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy {
    padding: 0;
  }
}
.congestion_consulting.casestudy::before {
  content: "";
  position: absolute;
  width: 142px;
  height: 142px;
  top: -64px;
  left: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture02.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy::before {
    width: 80px;
    height: 80px;
    top: -32px;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content {
  flex-direction: column;
  gap: 72px;
  background: #F0F0F0;
  width: 100%;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
  padding: 64px 96px;
  border-radius: 20px;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content {
    margin-top: auto;
    padding: 56px 24px;
    border-radius: 0;
    gap: 32px;
    box-shadow: none;
    border-radius: 0;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content:has(h2) {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.congestion_consulting.casestudy .congestion_consulting-content > h3 {
  font-size: 3.2rem;
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content > h3 {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item {
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-template-rows: 72px 48px 1fr 48px;
  grid-gap: 0 48px;
  align-items: center;
  background: #E1CFF0;
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-gap: 24px 0;
    padding: 24px;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item > img {
  grid-column: 1/2;
  grid-row: 1/5;
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item > img {
    grid-column: 1;
    grid-row: 2;
    aspect-ratio: 16/9;
    max-height: 200px;
    border-radius: 12px;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item > h4 {
  font-size: 2.4rem;
  grid-column: 2/2;
  grid-row: 2/3;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item > h4 {
    grid-column: 1;
    grid-row: 1;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item-text {
  width: 100%;
  height: 100%;
  grid-column: 2/2;
  grid-row: 3/4;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 48px 0 0;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item-text {
    padding: 0;
    grid-column: 1;
    grid-row: 3;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item-text > h5 {
  font-size: 2rem;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item-text > h5 {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item-text > p {
  font-size: 1.5rem;
  text-align: justify;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item-text > p {
    font-weight: 300;
  }
}
.congestion_consulting.casestudy .congestion_consulting-content-item-text > a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}
.congestion_consulting.casestudy .congestion_consulting-content-item-text > a::before {
  content: "";
  position: absolute;
  right: -14px;
  top: 8px;
  width: 12px;
  height: 12px;
  background: url("/common/images/congestion_consulting/icon_arrow.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting.casestudy .congestion_consulting-content-item-text > a {
    font-size: 1.5rem;
    word-break: keep-all;
  }
}
.congestion_consulting-content {
  position: relative;
  z-index: 1;
  display: flex;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-content {
    flex-direction: column;
  }
}
.congestion_consulting-content:has(h1) {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.congestion_consulting-content:has(h2) {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 128px 0;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-content:has(h2) {
    padding: 64px 0 128px;
  }
}
.congestion_consulting-content-item {
  position: relative;
}
.congestion_consulting-content-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-content-item-img img {
    border-radius: 12px;
    margin: 0 auto;
    width: calc(100vw - 32px) !important;
  }
}
.congestion_consulting h1,
.congestion_consulting h2,
.congestion_consulting h3,
.congestion_consulting h4,
.congestion_consulting h5 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.15em;
  position: relative;
}
.congestion_consulting h1 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(40px + 48 * (100vw - 800px) / 800);
  line-height: 1;
  color: #512376;
  display: block;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media screen and (max-width: 959px) {
  .congestion_consulting h1 {
    font-size: 4.6rem;
  }
}
.congestion_consulting h2 {
  font-size: 4.2rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 959px) {
  .congestion_consulting h2 {
    font-size: 2.4rem;
    letter-spacing: 0.075em;
  }
}
.congestion_consulting h2 > .en {
  display: block;
  font-family: sofia-pro, -apple-system, Helvetica, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #7800D2;
  letter-spacing: 0.2em;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 959px) {
  .congestion_consulting h2 > .en {
    font-size: 1.2rem;
  }
}
.congestion_consulting h2::before {
  content: "";
  width: 1px;
  height: 40px;
  position: absolute;
  bottom: -80px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  transition: all 0.25s 0.25s ease-in-out;
  background: #3B3544;
}
@media screen and (max-width: 959px) {
  .congestion_consulting h2::before {
    bottom: -46px;
  }
}
.congestion_consulting h2 + p {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  .congestion_consulting h2 + p {
    font-size: 1.5rem;
  }
}
.congestion_consulting a.cta-button {
  display: block;
  font-size: 1.8rem;
  position: relative;
  width: 100%;
  max-width: 360px;
  margin: 24px 0 0;
  background: #512376;
  padding: 18px 48px;
  border-radius: 48px;
  word-wrap: normal;
  text-align: center;
  top: 0;
  left: 0;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.25s 0.25s ease-in-out;
}
@media screen and (max-width: 959px) {
  .congestion_consulting a.cta-button {
    padding: 18px 4vw;
  }
}
.congestion_consulting a.cta-button:hover {
  top: 16px;
  left: 16px;
}
.congestion_consulting a.cta-button:hover::before {
  top: 1px;
  left: 1px;
}
.congestion_consulting a.cta-button::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: -1;
  border-radius: 48px;
  transition: all 0.25s 0.25s ease-in-out;
  background: url("/common/images/congestion_consulting/cta-button_shadow.svg") center center/cover;
}
.congestion_consulting-footer {
  position: relative;
}
.congestion_consulting-footer::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  top: 64px;
  right: 0;
  z-index: 2;
  background: url("/common/images/congestion_consulting/floating_texture01.svg") no-repeat center center/contain;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-footer::before {
    width: 80px;
    height: 80px;
    top: -32px;
  }
}
.congestion_consulting-footer a.cta-button {
  display: block;
  font-size: 1.8rem;
  position: relative;
  width: 100%;
  max-width: 360px;
  margin: 24px 0 0;
  background: #512376;
  padding: 18px 48px;
  border-radius: 48px;
  word-wrap: normal;
  text-align: center;
  top: 0;
  left: 0;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.25s 0.25s ease-in-out;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-footer a.cta-button {
    padding: 18px 4vw;
  }
}
.congestion_consulting-footer a.cta-button:hover {
  top: 16px;
  left: 16px;
}
.congestion_consulting-footer a.cta-button:hover::before {
  top: 1px;
  left: 1px;
}
.congestion_consulting-footer a.cta-button::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: -1;
  border-radius: 48px;
  transition: all 0.25s 0.25s ease-in-out;
  background: url("/common/images/congestion_consulting/cta-button_shadow.svg") center center/cover;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-footer a.cta-button {
    word-break: keep-all;
  }
}
.congestion_consulting-footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 64px;
  padding: 8vw 4vw;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-footer-item {
    padding: 76px 24px;
  }
}
.congestion_consulting-footer-item > h2 {
  font-size: 4.2rem;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .congestion_consulting-footer-item > h2 {
    font-size: 2.4rem;
    word-break: keep-all;
  }
}
@media screen and (max-width: 959px) {
  .congestion_consulting footer .section--footer-contact {
    padding: 0;
  }
}

#consulting.footer-pos .congestion_consulting-footer-item > h2 {
  text-align: center;
  color: #fff;
}
#consulting.footer-pos .congestion_consulting-footer-item > .cta-button {
  background: #fff;
  color: #512376;
}

.section--terms .section-inner {
  margin: 4rem auto 0;
  padding: 0 0 0 4rem;
}
@media screen and (max-width: 959px) {
  .section--terms .section-inner {
    padding: 0 0 0 0;
  }
}
.section--terms .section-inner h3, .section--terms .section-inner h4 {
  padding: 1em 0 0.5em;
}
.section--terms .section-inner ul > li {
  list-style: disc;
  margin-left: 2.5em;
  line-height: 200%;
  font-size: 1.4rem;
  padding-bottom: 0.5em;
  letter-spacing: 0.128rem;
}
.section--terms .section-inner ul > li > ul, .section--terms .section-inner ul > li ol {
  padding-top: 1em;
  padding-left: 1em;
}
.section--terms .section-inner ul > li > ul > li, .section--terms .section-inner ul > li ol > li {
  font-style: italic;
  line-height: 175%;
  margin-left: 0.5em;
}
.section--terms .section-inner ol > li {
  list-style-type: decimal;
  margin-left: 2.5em;
  line-height: 200%;
  font-size: 1.4rem;
  padding-bottom: 0.5em;
  letter-spacing: 0.128rem;
}
.section--terms .section-inner ol > li > ul, .section--terms .section-inner ol > li ol {
  padding-top: 1em;
  padding-left: 1em;
}
.section--terms .section-inner ol > li > ul > li, .section--terms .section-inner ol > li ol > li {
  list-style: none;
  font-style: italic;
  line-height: 175%;
  margin-left: 0.5em;
  text-indent: -1.75em;
  counter-increment: cnt;
}
.section--terms .section-inner ol > li > ul > li::before, .section--terms .section-inner ol > li ol > li::before {
  content: "(" counter(cnt) ") ";
}
.section--terms .section-inner p {
  list-style: inherit;
  margin-left: 0em;
  line-height: 200%;
  font-size: 1.4rem;
  padding-bottom: 0.5em;
  letter-spacing: 0.128rem;
}

* {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0;
}
*[data-emergence=hidden] {
  transform: translateY(10%);
  opacity: 0;
}
*[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.upFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.upFade[data-emergence=hidden] {
  transform: translateY(-10%);
  opacity: 0;
}
.upFade[data-emergence=visible] {
  transform: translateY(0);
  opacity: 1;
}

.rightFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.rightFade[data-emergence=hidden] {
  transform: translateX(-10%);
  opacity: 0;
}
.rightFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.leftFade {
  transition: transform 0.5s ease 0s, opacity 0.25s ease 0s;
  transition-delay: 0s;
}
.leftFade[data-emergence=hidden] {
  transform: translateX(10%);
  opacity: 0;
}
.leftFade[data-emergence=visible] {
  transform: translateX(0);
  opacity: 1;
}

.noma_lp {
  background: #FFF;
  color: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.noma_lp footer .section--footer-contact {
  display: none;
}
.noma_lp footer .section--footer-nav .footer-nav .footer-nav--top {
  display: none;
}
.noma_lp footer .section--footer-nav {
  padding: 10rem 12% 8rem;
}
.noma_lp .wrap {
  padding: 0px;
}
.noma_lp {
  /********** Global Page Style ***********/
}
@media screen and (min-width: 960px) {
  .noma_lp .drawer__btn .drawer__btn__inner {
    display: none;
  }
  .noma_lp header {
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    min-width: auto;
    z-index: 100;
    border: 1px solid transparent;
    transition: background 0.3s ease;
    background: transparent;
  }
  .noma_lp .g-nav {
    margin-left: 5%;
    margin-top: 0;
  }
  .noma_lp .g-nav .menu {
    display: flex;
    justify-content: space-between;
  }
  .noma_lp .g-nav .menu li a:after {
    content: "";
    position: absolute;
    background-color: #008298;
    width: 0%;
    height: 7px;
    margin: auto;
    bottom: 3px;
    color: #FFF;
    left: 0;
    z-index: -1;
    transition: width 0.3s ease;
  }
  .noma_lp .g-nav .menu li a:hover {
    color: #FFF;
  }
  .noma_lp .g-nav .menu li a:hover:after {
    width: 100%;
  }
}
.noma_lp .anchor {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background: transparent;
}
.noma_lp .anchor#flow {
  top: -40px;
}
.noma_lp .container {
  min-height: auto;
  padding: 0;
}
.noma_lp .g-nav {
  width: 100%;
  max-width: 850px;
}
.noma_lp .g-nav .menu li {
  position: relative;
  margin: 0 0.9%;
}
.noma_lp .g-nav .menu li a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #FFF;
}
.noma_lp .btn-group {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.noma_lp .btns {
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none;
  background: #FFF;
  display: block;
  color: #2f2f2f;
  text-align: center;
  min-width: 200px;
  font-weight: bolder;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.noma_lp .btns.secondary {
  background: #FFF;
  border: solid 2px #2f2f2f;
  color: #2f2f2f;
}
.noma_lp .btns.secondary:hover {
  background: #2f2f2f;
}
.noma_lp .btns:hover {
  color: #FFF;
  background: #008298;
}
.noma_lp section {
  padding: 120px 0;
  position: relative;
}
.noma_lp .area__inner {
  max-width: 960px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.noma_lp.mode-pc.scrolled header.pc-header {
  top: 0;
  position: fixed;
  color: #2f2f2f;
  padding: 0 3%;
  background: #FFF;
  border-bottom: solid 1px #2f2f2f;
}
.noma_lp.mode-pc.scrolled header.pc-header .logo svg path,
.noma_lp.mode-pc.scrolled header.pc-header .logo svg polygon {
  fill: #2f2f2f;
}
.noma_lp.mode-pc.scrolled header.pc-header .btns {
  background: #2f2f2f;
  color: #FFF;
}
.noma_lp.mode-pc.scrolled header.pc-header .btns:hover {
  background: #008298;
  color: #FFF;
}
.noma_lp.mode-pc.scrolled header.pc-header .g-nav li a {
  color: #2f2f2f;
}
.noma_lp .sp-header {
  background: #FFF !important;
  mix-blend-mode: exclusion;
}
.noma_lp .sp-header .logo--v svg path {
  fill: #FFF;
}
.noma_lp .pc-header {
  animation: slideDown 0.5s ease-in-out forwards;
}
.noma_lp .pc-header .logo svg {
  fill: #FFF;
}
.noma_lp header {
  color: #2f2f2f;
  top: 40px;
  padding: 0 8%;
  position: absolute;
  transition: padding ease 0.2s, background ease 0.2s;
}
.noma_lp header .btns {
  margin-right: 0;
  color: #008298;
}
.noma_lp header.drawer {
  display: none;
}
@media screen and (max-width: 959px) {
  .noma_lp header {
    top: 0;
  }
  .noma_lp header.pc-header {
    display: none;
  }
  .noma_lp header.drawer {
    display: block;
    top: 0;
    padding-top: 100px;
    overflow: hidden;
  }
  .noma_lp header .btns {
    position: absolute;
    left: 0;
    right: 0;
    max-width: 50%;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .noma_lp .drawer__btn span {
    background: #FFF;
  }
}
.noma_lp .deco {
  position: absolute;
  z-index: 0;
}
.noma_lp .deco.tl {
  top: 0;
  left: 0;
}
.noma_lp .deco.tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
}
.noma_lp .deco.bl {
  bottom: 0;
  left: 0;
  transform: scaleY(-1);
}
.noma_lp .deco.br {
  bottom: 0;
  right: 0;
  transform: scale(-1);
}
.noma_lp .logo svg {
  display: block;
  width: 110px;
  fill: #FFF;
}
.noma_lp .g-nav {
  max-width: 700px;
}
.noma_lp .g-nav .menu {
  align-items: center;
}
.noma_lp .g-nav .menu > li {
  padding: 0;
}
.noma_lp .g-nav .menu > li:hover {
  color: #F2BE29;
}
.noma_lp h1.area-tit {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 70px;
  color: #FFF;
  font-weight: 800;
  letter-spacing: 5px;
  margin-bottom: 5px;
  line-height: 140%;
  display: inline-block;
  opacity: 0;
  animation: slideUp 0.75s ease-in-out forwards;
}
.noma_lp h1.area-tit br {
  display: none;
}
@media screen and (max-width: 1130px) {
  .noma_lp h1.area-tit {
    font-size: 5.5vw;
  }
}
.noma_lp h1.area-tit p {
  position: relative;
}
.noma_lp h1.area-tit p:first-of-type:after {
  width: 90%;
}
.noma_lp .head-tit {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: auto;
}
.noma_lp h2.area-tit {
  font-size: 4rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  color: #008298;
  padding: 0 16px;
  margin: auto;
  z-index: 1;
}
.noma_lp h2.area-tit span {
  font-size: 2.4rem;
}
@media screen and (max-width: 959px) {
  .noma_lp h2.area-tit span {
    font-size: 1.6rem;
  }
}
.noma_lp p.area-subtit {
  font-size: 1.6rem;
  margin-top: 20px;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .noma_lp p.area-subtit {
    font-size: 1.4rem;
  }
}
.noma_lp h3.tit {
  font-size: 24px;
  margin-bottom: 16px;
  font-weight: bold;
}
.noma_lp .txt {
  font-size: 16px;
  font-weight: 400;
}
.noma_lp {
  /********** Section ***********/
}
.noma_lp .area--hero {
  background: #FFF;
  padding: 180px 0 0;
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero {
    padding: 80px 0 80px 0;
  }
}
.noma_lp .area--hero .content {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 80px;
  padding-bottom: 10vw;
  padding-left: 6vw;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
}
.noma_lp .area--hero .content.mainview-title {
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content.mainview-title {
    gap: 2vh;
    padding-left: 0;
    padding-bottom: 0;
    height: 100vh;
    padding-top: 80px;
  }
}
.noma_lp .area--hero .content-item > h1 {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: calc(24px + 48 * (100vw - 800px) / 1400);
  color: #FFF;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 7px;
  word-wrap: normal;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content-item > h1 {
    text-wrap: wrap;
    font-size: calc(24px + 48 * (100vw - 320px) / 1200);
    text-align: center;
    letter-spacing: 2px;
  }
}
.noma_lp .area--hero .content-item > p {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: calc(10px + 20 * (100vw - 800px) / 1400);
  color: #fff;
  font-style: normal;
  font-weight: 500;
  margin-bottom: 40px;
  line-height: 150%;
  letter-spacing: 2px;
  word-wrap: normal;
  width: -moz-max-content;
  width: max-content;
  text-align: left;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content-item > p {
    text-align: center;
    font-size: calc(12px + 20 * (100vw - 320px) / 1200);
    margin-bottom: 20px;
    letter-spacing: 1px;
  }
}
.noma_lp .area--hero .content-item:has(h1) {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  z-index: 2;
  padding-right: 6vw;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content-item:has(h1) {
    align-items: center;
    gap: 1vh;
    height: -moz-max-content;
    height: max-content;
    padding-right: 0;
  }
}
.noma_lp .area--hero .content-item:has(figure) {
  width: 90%;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content-item:has(figure) {
    width: auto;
  }
}
.noma_lp .area--hero .content-item:has(figure) > figure {
  width: 90%;
}
.noma_lp .area--hero .content-item:has(figure) > figure:has(.mainview_img-tablet) {
  position: relative;
  z-index: 2;
  width: 100%;
  transform: scale(1);
  padding-left: 6vw;
  max-width: 24vw;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .content-item:has(figure) > figure:has(.mainview_img-tablet) {
    transform: scale(1);
    padding-left: 0;
    max-width: 22vh;
  }
}
.noma_lp .area--hero .content-item:has(figure) > figure > img {
  width: 100%;
}
.noma_lp .area--hero .area__inner {
  display: flex;
  align-items: center;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .area__inner {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.noma_lp .area--hero .appframe {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 80px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .appframe {
    gap: 16px;
    display: none;
  }
}
.noma_lp .area--hero .appframe-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .appframe-sp {
    gap: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    z-index: 10;
  }
}
.noma_lp .area--hero .appgroup {
  display: flex;
  align-items: center;
  gap: 16px;
}
.noma_lp .area--hero .nomalogo {
  width: calc(200px + 200 * (100vw - 800px) / 1400);
  padding-bottom: 20px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .nomalogo {
    width: 24vh;
    padding-bottom: 0;
  }
}
.noma_lp .area--hero .app-dl-apple {
  width: 136px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .app-dl-apple {
    width: 113px;
  }
}
.noma_lp .area--hero .app-dl-google {
  width: 162px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .app-dl-google {
    width: 135px;
  }
}
.noma_lp .area--hero .qr-dl {
  width: 80px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--hero .qr-dl {
    display: none;
  }
}
.noma_lp .area--hero .back div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  animation: image-switch 18s ease-in-out infinite;
  z-index: 0;
}
.noma_lp .area--hero .back1 div {
  animation: image-switch-first 18s ease-in-out infinite;
  animation-delay: 0s;
}
.noma_lp .area--hero .back2 div {
  animation-delay: 3s;
}
.noma_lp .area--hero .back3 div {
  animation-delay: 6s;
}
.noma_lp .area--hero .back4 div {
  animation-delay: 9s;
}
.noma_lp .area--hero .back5 div {
  animation-delay: 12s;
}
.noma_lp .area--hero .back6 div {
  animation-delay: 15s;
}
@keyframes image-switch-first {
  0% {
    opacity: 1;
  }
  6% {
    opacity: 1;
  }
  21% {
    opacity: 1;
  }
  24% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes image-switch {
  0% {
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
  21% {
    opacity: 1;
  }
  24% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.noma_lp .area--about {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--about {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 959px) {
  .noma_lp .area--about .area__inner {
    align-items: center;
  }
}
.noma_lp .area--about .image-lottie-wrapper {
  position: relative;
  display: inline-block;
}
.noma_lp .area--about {
  /* Desktop overlay version */
}
.noma_lp .area--about .lottie-overlay-desktop {
  position: absolute;
  top: 66%;
  right: 0px;
  transform: translateY(-50%);
  width: 360px;
  height: auto;
  pointer-events: none;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--about .lottie-overlay-desktop {
    display: none;
  }
}
.noma_lp .area--about {
  /* Mobile version below image */
}
.noma_lp .area--about .lottie-below-mobile {
  display: none;
  width: 300px;
  margin-top: 1em;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--about .lottie-below-mobile {
    display: block;
  }
}
.noma_lp .area--feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--feature {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.noma_lp .area--uservoice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--uservoice {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.noma_lp .area--question {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--question {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.noma_lp .area--question .appgroup {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 80px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--question .appgroup {
    padding-top: 40px;
  }
}
.noma_lp .area--question .seemore {
  width: 130px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--question .seemore {
    width: 90px;
  }
}
.noma_lp .area--document .area__inner {
  padding: 48px 80px;
  width: 90%;
  max-width: 960px;
  background: linear-gradient(to right, #048ca3 42%, #0ba2dd);
  box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 20px;
  border-radius: 20px;
  align-items: center;
  justify-content: center;
}
.noma_lp .area--document h2.area-tit {
  color: #ffffff;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 32px;
  text-align: center;
}
.noma_lp .area--document h2.area-tit span {
  position: relative;
  display: inline-block;
  font-size: 24px;
  font-weight: 500;
}
.noma_lp .area--document .sub-text {
  color: #ffffff;
  font-size: 24px;
  font-weight: 500;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .sub-text {
    font-size: 13px;
  }
}
.noma_lp .area--document .footer-text {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .footer-text {
    font-size: 11px;
  }
}
.noma_lp .area--document .footer-text p {
  margin: 0;
}
.noma_lp .area--document .txt-side {
  text-align: center;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .txt-side {
    width: 100%;
  }
}
.noma_lp .area--document .appgroup {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
}
.noma_lp .area--document .nomalogo {
  width: 186px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .nomalogo {
    width: 120px;
  }
}
.noma_lp .area--document .app-dl-apple {
  width: 136px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .app-dl-apple {
    width: 113px;
  }
}
.noma_lp .area--document .app-dl-google {
  width: 162px;
}
@media screen and (max-width: 959px) {
  .noma_lp .area--document .app-dl-google {
    width: 135px;
  }
}
.noma_lp .area--footer {
  padding: 80px 0;
  background: #2f2f2f;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.noma_lp .area--footer .footer-nav {
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-bottom: 80px;
  justify-content: center;
  font-weight: 400;
}
.noma_lp .area--footer a {
  text-decoration: none;
  transition: color 0.2s ease;
  color: #FFF;
}
.noma_lp .area--footer a:hover {
  color: #F2BE29;
}
.noma_lp .area--footer .copyright {
  font-size: 14px;
  opacity: 0.5;
  font-weight: lighter;
}
.noma_lp {
  /***********  Mobile responsive  **********/
}
@media screen and (max-width: 959px) {
  .noma_lp h1.area-tit {
    font-size: 50px;
    width: auto;
    margin-bottom: 10px;
  }
  .noma_lp h1.area-tit br {
    display: block;
  }
  .noma_lp h1.area-tit p {
    display: inline-block;
  }
  .noma_lp h1.area-tit p:after {
    height: 30px;
    bottom: 10px;
  }
  .noma_lp h1.area-tit p:first-of-type:after {
    width: 100%;
  }
  .noma_lp header {
    padding: 0 2em;
    transition: padding ease 0.2s, background ease 0.2s, transform 0.3s ease;
  }
  .noma_lp section {
    padding: 60px 0;
  }
  .noma_lp .sp-header {
    background: #FFF;
    position: fixed;
  }
  .noma_lp .anchor {
    top: 0;
    padding-top: -50px;
    margin-top: 50px;
  }
  .noma_lp .g-nav {
    margin-top: 3rem;
  }
  .noma_lp .g-nav .menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .noma_lp .g-nav .menu li > a {
    display: inline-block;
    padding: 1.25em 0;
    color: #FFF;
    font-size: 1.38rem;
    line-height: 1.5em;
    letter-spacing: 0.125em;
    position: relative;
  }
  .noma_lp .pc-header {
    background: transparent;
  }
  .noma_lp header.drawer {
    background: #008298;
    width: 26rem;
    position: fixed;
  }
  .noma_lp h2.area-tit {
    padding: 0;
    font-size: 2.4rem;
  }
  .noma_lp h2.area-tit br {
    display: block;
  }
  .noma_lp h2.area-tit.secondary:before {
    left: -10px;
  }
  .noma_lp h2.area-tit.secondary:after {
    right: -10px;
  }
  .noma_lp h2.area-tit.secondary:before, .noma_lp h2.area-tit.secondary:after {
    width: 30px;
  }
  .noma_lp h3.tit {
    font-size: 20px;
  }
  .noma_lp h3.tit br {
    display: none;
  }
  .noma_lp .deco {
    width: 60px;
  }
  .noma_lp .head-tit {
    padding: 0 20px;
  }
  .noma_lp .btn-group {
    width: 100%;
    justify-content: center;
  }
  .noma_lp .btns {
    width: 100%;
    max-width: 380px;
  }
  .noma_lp .area__inner {
    padding: 0 20px;
  }
  .noma_lp .area--document .area__inner {
    padding: 24px 24px;
    max-width: 90%;
  }
  .noma_lp .area--document h2.area-tit {
    font-size: 15px;
  }
  .noma_lp .area--document h2.area-tit br {
    display: none;
  }
  .noma_lp .area--document h2.area-tit span {
    display: inline;
    font-size: 14px;
  }
  .noma_lp .area--document h2.area-tit span:after {
    display: none;
  }
  .noma_lp .area--footer {
    padding: 40px 0;
  }
  .noma_lp .area--footer .footer-nav {
    flex-direction: column;
    row-gap: 20px;
  }
}

/***********  Keyframes  **********/
@keyframes anime_btn_animation_1 {
  0% {
    background-position-y: 0;
  }
  100% {
    background-position-y: -40px;
  }
}
body.airknock {
  background-image: url("/common/images/airknock/bg_image.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  color: #4A5565;
}
@media screen and (max-width: 959px) {
  body.airknock {
    background-image: url("/common/images/airknock/bg_image_sp.png");
  }
}
body.airknock header.header {
  height: 77px;
  width: 100%;
  left: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
  align-items: center;
  position: fixed;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 100;
}
body.airknock header.header img {
  height: 32px;
}
@media screen and (max-width: 959px) {
  body.airknock header.header {
    padding: 0px 16px;
    height: 60px;
  }
  body.airknock header.header img {
    height: 24px;
  }
}
body.airknock h1 {
  color: #101828;
  text-align: center;
  font-size: 1px;
  position: absolute;
  opacity: 0;
}
body.airknock h2 {
  color: #101828;
  text-align: center;
  font-size: 36px;
}
@media screen and (max-width: 959px) {
  body.airknock h2 {
    font-size: 24px;
  }
}
body.airknock h3 {
  color: #101828;
  text-align: center;
  font-size: 28px;
}
body.airknock .lead-text {
  text-align: center;
}
body.airknock .sub-text {
  text-align: center;
  font-size: 12px;
  font-weight: 300;
}
body.airknock .button {
  border-radius: 10px;
  font-size: 18px;
  padding: 16px 32px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
}
body.airknock .button:hover {
  opacity: 0.8;
}
body.airknock .button-main {
  background: linear-gradient(135deg, rgb(43, 127, 255) 0%, rgb(0, 184, 219) 100%);
  color: #ffffff;
}
body.airknock .button-main.button-small {
  padding: 12px 24px;
  font-size: 14px;
}
body.airknock .button-outline {
  border: solid 1px #0EA5E9;
  color: #101828;
}
body.airknock .button-outline:hover {
  background-color: rgba(0, 139, 219, 0.1);
}
@media screen and (max-width: 959px) {
  body.airknock .button {
    font-size: 14px;
    padding: 16px;
  }
  body.airknock .button .button-small {
    font-size: 2px;
  }
}
body.airknock section {
  padding: 80px;
}
@media screen and (max-width: 959px) {
  body.airknock section {
    padding: 40px 16px;
  }
}
body.airknock section .content {
  max-width: 1200px;
  margin: auto;
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.airknock section .content {
    width: 100%;
  }
}
body.airknock section.section-fv .content {
  gap: 60px;
}
@media screen and (max-width: 959px) {
  body.airknock section.section-fv .content {
    gap: 16px;
  }
}
body.airknock section.section-reason {
  background: linear-gradient(135deg, rgb(255, 229, 248) 0%, rgb(211, 242, 254) 100%);
}
body.airknock section.section-how {
  background: #F8FAFF;
}
body.airknock section.section-flow {
  background: #ffffff;
}
body.airknock section.section-effect {
  background: #ffffff;
}
body.airknock section.section-plan {
  background: #F8FAFF;
}
body.airknock section.section-faq {
  background: linear-gradient(135deg, rgba(43, 127, 255, 0.2) 0%, rgba(0, 184, 219, 0.2) 100%) #ffffff;
}
body.airknock section.section-faq .content {
  max-width: 920px;
  margin: 0 auto;
}
body.airknock section.section-faq .section-title {
  text-align: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 959px) {
  body.airknock section.section-faq .section-title {
    margin-bottom: 0;
  }
}
body.airknock section.section-faq .section-title h2 {
  font-weight: 800;
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: 0.03em;
  color: #0f172a;
}
body.airknock section.section-faq .faq {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.airknock section.section-faq .faq .item {
  background: #fff;
  border: 1px solid #e6eef7;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1);
}
body.airknock section.section-faq .faq .item .qbutton {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 0;
  padding: 22px 56px 22px 24px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  color: #0f172a;
  cursor: pointer;
  position: relative;
  display: block;
}
body.airknock section.section-faq .faq .item .qbutton:focus-visible {
  outline: 3px solid #60a5fa;
  outline-offset: 2px;
  border-radius: 10px;
}
body.airknock section.section-faq .faq .item .qbutton .chev {
  position: absolute;
  right: 18px;
  top: 50%;
  translate: 0 -50%;
  transition: transform 0.25s ease;
}
body.airknock section.section-faq .faq .item .answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s ease;
}
body.airknock section.section-faq .faq .item .answer > div {
  overflow: hidden;
}
body.airknock section.section-faq .faq .item .answer p {
  margin: 0;
  padding: 0 24px 20px;
  color: #475569;
  line-height: 1.8;
  font-size: 16px;
}
body.airknock section.section-faq .faq .item .answer.open {
  grid-template-rows: 1fr;
}
body.airknock section.section-faq .faq .item.open .chev {
  transform: rotate(180deg);
}
body.airknock section.section-faq .cta-container {
  width: 100%;
  background: #ffffff;
  padding: 48px;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
  border-radius: 24px;
}
body.airknock section.section-faq .cta-container .cta-subtitle {
  text-align: center;
  margin: 16px 0;
}
body.airknock section.section-faq .cta-container .cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
}
body.airknock section.section-faq .cta-container .cta-buttons .button {
  margin: 0;
}
@media screen and (max-width: 959px) {
  body.airknock section.section-faq .cta-container {
    padding: 32px;
  }
  body.airknock section.section-faq .cta-container .cta-buttons {
    flex-direction: column;
  }
}

body.page-template-page-unveil .only-sp {
  display: none;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil .only-sp {
    display: block;
  }
}
body.page-template-page-unveil .wrap {
  padding-top: 0;
}
body.page-template-page-unveil::after {
  content: "";
  background: url("/common/images/unveil/bg_unveil.webp");
  background-size: cover;
  background-position: bottom;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 110%;
  z-index: -1;
  transition: all 0.2s;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil::after {
    min-height: 800px;
    width: 1400px;
    background-size: cover;
    background-position: bottom;
  }
}
body.page-template-page-unveil {
  color: #4A5565;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil {
    background-size: auto 100%;
  }
}
body.page-template-page-unveil header.header {
  height: 77px;
  width: 100%;
  left: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
  align-items: center;
  position: fixed;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 100;
}
body.page-template-page-unveil header.header img {
  height: 32px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil header.header {
    padding: 0px 16px;
    height: 60px;
  }
  body.page-template-page-unveil header.header img {
    height: 20px;
  }
}
body.page-template-page-unveil h1 {
  color: #101828;
  text-align: center;
  font-size: 1px;
  position: absolute;
  opacity: 0;
}
body.page-template-page-unveil h2 {
  color: #101828;
  text-align: center;
  font-size: 36px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil h2 {
    font-size: 24px;
  }
}
body.page-template-page-unveil h3 {
  color: #101828;
  text-align: center;
  font-size: 28px;
}
body.page-template-page-unveil .lead-text {
  text-align: center;
}
body.page-template-page-unveil .sub-text {
  text-align: center;
  font-size: 12px;
  font-weight: 300;
}
body.page-template-page-unveil .button {
  border-radius: 10px;
  font-size: 18px;
  padding: 16px 32px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
}
body.page-template-page-unveil .button:hover {
  opacity: 0.8;
}
body.page-template-page-unveil .button-main {
  background: #101828;
  color: #ffffff;
}
body.page-template-page-unveil .button-main.button-small {
  padding: 12px 24px;
  font-size: 14px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil .button-main.button-small {
    padding: 8px 12px;
    font-size: 12px;
  }
}
body.page-template-page-unveil .button-outline {
  border: solid 1px #928356;
  color: #101828;
}
body.page-template-page-unveil .button-outline:hover {
  background-color: rgba(0, 139, 219, 0.1);
}
body.page-template-page-unveil .button-white {
  background-color: #ffffff;
  color: #101828;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil .button {
    font-size: 14px;
    padding: 16px;
  }
  body.page-template-page-unveil .button .button-small {
    font-size: 2px;
  }
}
body.page-template-page-unveil section {
  padding: 80px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil section {
    padding: 40px 16px;
  }
}
body.page-template-page-unveil section .content {
  max-width: 1200px;
  margin: auto;
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil section .content {
    width: 100%;
  }
}
body.page-template-page-unveil section {
  background-color: #F9FAFB;
}
body.page-template-page-unveil section.section-fv {
  background: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  padding-top: 200px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil section.section-fv {
    padding-top: 120px;
  }
  body.page-template-page-unveil section.section-fv .content {
    gap: 16px;
  }
}
body.page-template-page-unveil section.section-fv h2 {
  font-size: 32px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  color: #ffffff;
}
body.page-template-page-unveil section.section-reason {
  background: rgba(0, 0, 0, 0.4);
}
body.page-template-page-unveil section.section-reason .section-title * {
  color: #ffffff;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
body.page-template-page-unveil section.section-how .how-image {
  max-width: 700px;
}
body.page-template-page-unveil section.section-spec {
  background-color: #ffffff;
}
body.page-template-page-unveil section.section-price .sub-text {
  text-align: left;
  width: 100%;
}
body.page-template-page-unveil section.section-discount .content {
  gap: 0;
}
body.page-template-page-unveil section.section-discount {
  background-color: #F5F2EC;
}
body.page-template-page-unveil section.section-discount picture {
  max-width: 880px;
}
body.page-template-page-unveil section.section-flow picture {
  max-width: 680px;
}
body.page-template-page-unveil section.section-cta {
  background-color: #101828;
}
body.page-template-page-unveil section.section-cta .section-title h2 {
  color: #ffffff;
}
body.page-template-page-unveil section.section-cta .section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 32px;
}
body.page-template-page-unveil section.section-cta .inner {
  width: 100%;
}
body.page-template-page-unveil section.section-cta .inner .hbspt-form {
  width: 100%;
  border-radius: 16px;
  padding: 32px;
  background-color: #ffffff;
}
@media screen and (max-width: 959px) {
  body.page-template-page-unveil section.section-cta .inner .hbspt-form {
    padding: 0px;
    overflow: hidden;
  }
}
body.page-template-page-unveil section.section-cta .inner .hbspt-form .cta-private {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 100px;
}
body.page-template-page-unveil section.section-cta .cta-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 24px;
}
body.page-template-page-unveil section.section-cta .cta-list .cta-block {
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.1);
  border: solid 1px rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 32px;
  gap: 16px;
  width: 100%;
  max-width: 480px;
  color: #ffffff;
}
body.page-template-page-unveil section.section-cta .cta-list .cta-block h3 {
  color: #ffffff;
}
body.page-template-page-unveil section.section-cta .cta-list .cta-block img {
  width: 48px;
}

body.facility .sp-only {
  display: none;
}
@media screen and (max-width: 959px) {
  body.facility .sp-only {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  body.facility .pc-only {
    display: none;
  }
}
body.facility {
  font-weight: normal;
}
body.facility .header {
  height: 80px;
  width: 100%;
  left: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
  align-items: center;
  position: fixed;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 100;
}
body.facility .header svg {
  height: 20px;
}
@media screen and (max-width: 959px) {
  body.facility .header {
    padding: 0px 16px;
    height: 64px;
  }
  body.facility .header svg {
    height: 16px;
  }
}
body.facility .header__list {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 959px) {
  body.facility .header__list .button.--outline {
    display: none;
  }
}
body.facility .header__list .my-responsive-btn {
  width: 200px;
}
@media screen and (max-width: 959px) {
  body.facility .header__list .my-responsive-btn {
    width: 100%;
  }
}
body.facility .text--primary {
  color: #7800D2;
}
body.facility .text--gray {
  color: #969696;
}
body.facility .annotation {
  color: #969696;
  font-size: 12px;
  font-weight: normal;
  width: 100%;
}
body.facility h1 {
  color: #2f2f2f;
  font-size: 42px;
  line-height: 1.2em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
  body.facility h1 {
    font-size: min(32px, 8.5vw);
  }
}
body.facility h2 {
  color: #2f2f2f;
  text-align: center;
  font-size: 36px;
}
@media screen and (max-width: 959px) {
  body.facility h2 {
    font-size: min(24px, 6vw);
  }
}
body.facility h3 {
  color: #2f2f2f;
  font-size: 28px;
}
body.facility .lead-text {
  text-align: center;
}
body.facility .sub-text {
  text-align: center;
  font: --font-subtext;
}
body.facility .button {
  border-radius: 8px;
  font-size: 18px;
  padding: 0px 32px;
  line-height: 64px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: bold;
}
body.facility .button:hover {
  opacity: 0.8;
}
body.facility .button.--small {
  height: 48px;
  font-size: 14px;
  line-height: 48px;
  padding: 0 32px;
}
body.facility .button.--primary {
  border: solid 2px #7800D2;
  background: #7800D2;
  color: #ffffff;
}
body.facility .button.--outline {
  border: solid 2px #7800D2;
  color: #7800D2;
}
body.facility .button-outline {
  border: solid 1px #7800D2;
  color: #101828;
}
body.facility .button-outline:hover {
  background-color: rgba(0, 139, 219, 0.1);
}
@media screen and (max-width: 959px) {
  body.facility .button {
    font-size: 14px;
    padding: 16px;
  }
  body.facility .button .button-small {
    font-size: 2px;
  }
}
@media screen and (max-width: 959px) {
  body.facility section {
    padding: 40px 20px;
  }
}
body.facility section .content {
  max-width: 1280px;
  margin: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.facility section .content {
    width: 100%;
    gap: 24px;
  }
}
body.facility section .section-title {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
body.facility section .section-title p {
  font-size: 14px;
  color: #7800D2;
  letter-spacing: 0.2em;
  font-weight: bold;
  line-height: 1em;
}
body.facility section .section-title__border {
  width: 80px;
  height: 4px;
  border-radius: 2px;
  background-color: #7800D2;
}
@media screen and (max-width: 959px) {
  body.facility section .section-title {
    gap: 8px;
  }
}
body.facility .fv {
  padding: 40px 0 80px;
  margin: 0 40px;
}
@media screen and (max-width: 959px) {
  body.facility .fv {
    padding: 20px 0px 40px;
    margin: 0 20px;
  }
}
body.facility .fv .content {
  flex-direction: row;
  gap: 80px;
}
@media screen and (max-width: 959px) {
  body.facility .fv .content {
    gap: 40px;
    flex-direction: column;
  }
}
body.facility .fv__copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
}
@media screen and (max-width: 959px) {
  body.facility .fv__copy {
    order: 1;
  }
}
body.facility .fv img {
  width: 50%;
  max-width: 640px;
}
@media screen and (max-width: 959px) {
  body.facility .fv img {
    width: 100%;
  }
}
body.facility .fv__list {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
body.facility .fv__list .my-responsive-btn {
  width: 280px;
}
@media screen and (max-width: 959px) {
  body.facility .fv__list .my-responsive-btn {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  body.facility .fv__list {
    flex-wrap: column;
  }
  body.facility .fv__list .common-btn {
    width: 100%;
  }
}
body.facility .feature {
  padding: 80px 0;
  margin: 0 40px;
}
@media screen and (max-width: 959px) {
  body.facility .feature {
    padding: 40px 0;
    margin: 0 20px;
  }
}
body.facility .feature__list {
  display: flex;
  flex-direction: column;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  body.facility .feature__list {
    gap: 60px;
  }
}
body.facility .feature__block {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  flex-direction: column;
}
body.facility .feature__block > img {
  width: 580px;
}
body.facility .feature__block:nth-child(odd) .feature__detail {
  order: 1;
}
@media screen and (max-width: 959px) {
  body.facility .feature__block:nth-child(odd) .feature__detail {
    order: 0;
  }
}
body.facility .feature__block .text--primary {
  font-weight: bold;
}
body.facility .feature__detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.facility .feature__pickup {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: bold;
}
body.facility .feature__pickup li {
  display: flex;
  gap: 4px;
  align-items: center;
  position: relative;
}
body.facility .feature__pickup li p {
  position: inherit;
}
body.facility .feature__pickup li img {
  width: 24px;
  height: 24px;
}
body.facility .faq {
  padding: 80px 0;
}
@media screen and (max-width: 959px) {
  body.facility .faq {
    padding: 40px 20px;
  }
}
body.facility .cta {
  padding: 80px 0;
}
@media screen and (max-width: 959px) {
  body.facility .cta {
    padding: 40px 20px;
  }
}
body.facility .cta {
  background: linear-gradient(45deg, #6A1B9A, #4A148C);
}
body.facility .cta h2 {
  color: #ffffff;
}
body.facility .cta p {
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
body.facility .cta__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}
body.facility .cta__list {
  display: flex;
  justify-content: center;
  gap: 8px 24px;
  width: 100%;
}
@media screen and (max-width: 959px) {
  body.facility .cta__list {
    flex-direction: column;
  }
}
body.facility .cta__list .common-btn {
  width: 280px;
}
@media screen and (max-width: 959px) {
  body.facility .cta__list .common-btn {
    width: 100%;
  }
}

body.page-template-page-evacuee-management {
  color: #3B3544;
}
body.page-template-page-evacuee-management .delighter {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.4s;
}
body.page-template-page-evacuee-management .delighter.started {
  opacity: 1;
  transform: translateY(0);
}
body.page-template-page-evacuee-management picture img {
  width: 100%;
}
body.page-template-page-evacuee-management .section {
  padding: 120px 0;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .section {
    padding: 40px 0;
  }
}
body.page-template-page-evacuee-management .section__inner {
  width: 80%;
  margin: auto;
  max-width: 1280px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .section__inner {
    width: 100%;
    padding: 0 20px;
    gap: 40px;
    max-width: 560px;
  }
}
body.page-template-page-evacuee-management .section__title {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}
body.page-template-page-evacuee-management .section__title::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  border-radius: 2px;
  background-color: #512376;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .section__title {
    font-size: 20px;
  }
  body.page-template-page-evacuee-management .section__title::after {
    bottom: -4px;
  }
}
body.page-template-page-evacuee-management .button-list {
  display: flex;
  gap: 16px 24px;
  justify-content: center;
}
body.page-template-page-evacuee-management .button-list .common-btn {
  width: 280px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .button-list {
    flex-direction: column;
    width: 100%;
    align-items: center;
  }
}
body.page-template-page-evacuee-management .button--demo {
  position: relative;
}
body.page-template-page-evacuee-management .button--demo::after {
  content: "無料でデモをご覧いただけます";
  position: absolute;
  top: 68px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  width: 100%;
  color: #512376;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .button--demo {
    margin-bottom: 24px;
  }
  body.page-template-page-evacuee-management .button--demo::after {
    top: 52px;
  }
}
body.page-template-page-evacuee-management .hero {
  background-image: url("/common/images/evacuee-management/webp/fv-img.webp");
  background-position: center;
  background-size: cover;
}
body.page-template-page-evacuee-management .hero__inner {
  display: flex;
  gap: 64px;
  width: 80%;
  margin: auto;
  max-width: 1280px;
  align-items: center;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .hero__inner {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
}
body.page-template-page-evacuee-management .hero__img {
  width: 42%;
  min-width: 360px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .hero__img {
    width: 80%;
    margin: auto;
    min-width: auto;
  }
}
body.page-template-page-evacuee-management .hero__content {
  width: 58%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .hero__content {
    width: 100%;
    gap: 24px;
  }
}
body.page-template-page-evacuee-management .hero .button-list {
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .hero .button-list {
    justify-content: center;
  }
}
body.page-template-page-evacuee-management .message__inner {
  max-width: 610px;
}
body.page-template-page-evacuee-management .merit {
  background-color: #f8f8fa;
}
body.page-template-page-evacuee-management .merit picture {
  margin: auto;
}
body.page-template-page-evacuee-management .feature__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .feature__content {
    gap: 64px;
    align-items: center;
  }
}
body.page-template-page-evacuee-management .works {
  background-color: #f8f8fa;
}
body.page-template-page-evacuee-management .works__block {
  width: 100%;
  margin-bottom: 40px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .works__inner {
    padding: 0;
    max-width: 100%;
  }
}
body.page-template-page-evacuee-management .works__area-title {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 32px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .works__area-title {
    margin: 0 20px;
  }
}
body.page-template-page-evacuee-management .works__slider {
  margin: 0 -10px;
  visibility: hidden;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .works__slider {
    width: calc(100% - 40px);
    margin: auto;
  }
  body.page-template-page-evacuee-management .works__slider .slick-list {
    overflow: visible;
  }
}
body.page-template-page-evacuee-management .works__slider.slick-initialized {
  visibility: visible;
}
body.page-template-page-evacuee-management .works__slider-item {
  padding: 10px;
  height: auto;
}
body.page-template-page-evacuee-management .works__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  overflow: hidden;
  transition: opacity 0.3s ease;
}
body.page-template-page-evacuee-management .works__card:hover {
  opacity: 0.8;
}
body.page-template-page-evacuee-management .works__card-img {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #f5f5f5;
  position: relative;
  overflow: hidden;
}
body.page-template-page-evacuee-management .works__card-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-page-evacuee-management .works__card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
body.page-template-page-evacuee-management .works__card-region {
  font-size: 16px;
  font-weight: bold;
  color: #512376;
  margin-bottom: 8px;
  line-height: 1.2em;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.page-template-page-evacuee-management .works__card-text {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5em;
  color: #3B3544;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  height: 42px;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .works__card-text {
    -webkit-line-clamp: 3;
    height: 63px;
  }
}
body.page-template-page-evacuee-management .works__card-tags {
  margin-top: auto;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 26px;
}
body.page-template-page-evacuee-management .works__card-tag {
  font-size: 12px;
  color: #fff;
  background-color: #3B3544;
  padding: 2px 10px;
  border-radius: 4px;
}
body.page-template-page-evacuee-management .works .slick-prev, body.page-template-page-evacuee-management .works .slick-next {
  z-index: 10;
  width: 40px;
  height: 40px;
}
body.page-template-page-evacuee-management .works .slick-prev::before, body.page-template-page-evacuee-management .works .slick-next::before {
  color: #512376;
  font-size: 40px;
  opacity: 1;
}
body.page-template-page-evacuee-management .works .slick-prev {
  left: -50px;
}
body.page-template-page-evacuee-management .works .slick-next {
  right: -50px;
}
body.page-template-page-evacuee-management .works .slick-dots {
  bottom: -40px;
}
body.page-template-page-evacuee-management .works .slick-dots li button::before {
  color: #512376;
  font-size: 10px;
}
body.page-template-page-evacuee-management .works .slick-dots li.slick-active button::before {
  color: #512376;
  opacity: 1;
}
body.page-template-page-evacuee-management .faq__inner {
  align-items: center;
}
body.page-template-page-evacuee-management .refer__content {
  display: flex;
  justify-content: space-between;
  gap: 48px;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .refer__content {
    flex-direction: column;
  }
}
body.page-template-page-evacuee-management .refer h3 {
  font-size: 24px;
  font-weight: bold;
  color: #512376;
}
@media screen and (max-width: 959px) {
  body.page-template-page-evacuee-management .refer h3 {
    font-size: 16px;
  }
}
body.page-template-page-evacuee-management .refer__block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
  font-size: 14px;
}
body.page-template-page-evacuee-management .refer__block ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.page-template-page-evacuee-management .refer__block ul li {
  display: flex;
  gap: 4px;
  flex-direction: row;
  align-items: center;
}
body.page-template-page-evacuee-management .refer__block ul li::before {
  content: "・";
  color: #512376;
}
body.page-template-page-evacuee-management .refer-sbir {
  max-width: 720px;
  margin: auto;
}
body.page-template-page-evacuee-management .flow__inner {
  max-width: 680px;
}
body.page-template-page-evacuee-management .cta {
  background: linear-gradient(90deg, #512376, #7F43AF);
}
body.page-template-page-evacuee-management .cta .section__title {
  color: #ffffff;
}
body.page-template-page-evacuee-management .cta .section__title::after {
  background-color: #ffffff;
}
body.page-template-page-evacuee-management .cta p {
  color: #ffffff;
  text-align: center;
}

body.izamachi_lp {
  color: #3B3544;
}
body.izamachi_lp .delighter {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.4s;
}
body.izamachi_lp .delighter.started {
  opacity: 1;
  transform: translateY(0);
}
body.izamachi_lp picture img {
  width: 100%;
}
body.izamachi_lp .sp-only {
  display: none;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .sp-only {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .pc-only {
    display: none;
  }
}
body.izamachi_lp .button-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.izamachi_lp .button-list .common-btn {
  height: 64px !important;
  font-size: 16px;
}
body.izamachi_lp .cta-button, body.izamachi_lp .tel-button {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta-button a, body.izamachi_lp .tel-button a {
    width: 100%;
  }
}
body.izamachi_lp .cta-button p, body.izamachi_lp .tel-button p {
  font-size: 16px;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta-button p, body.izamachi_lp .tel-button p {
    font-size: 14px;
  }
}
body.izamachi_lp .cta-button .tel-number {
  display: none;
  padding-top: 16px;
}
body.izamachi_lp .cta-button .tel-number span {
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.izamachi_lp .cta-button .tel-number p {
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta-button .tel-number {
    padding-top: 12px;
    font-size: 14px;
  }
  body.izamachi_lp .cta-button .tel-number span {
    font-size: 16px;
  }
}
body.izamachi_lp .cta-button > p::before {
  content: "";
  width: 2px;
  height: 80%;
  background-color: #2f2f2f;
  transform: rotate(-20deg);
  display: block;
  position: absolute;
  left: -16px;
  top: 10%;
}
body.izamachi_lp .cta-button > p::after {
  content: "";
  width: 2px;
  height: 80%;
  background-color: #2f2f2f;
  transform: rotate(20deg);
  display: block;
  position: absolute;
  right: -16px;
  top: 10%;
}
body.izamachi_lp .tel-button {
  display: none;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .tel-button {
    display: flex;
  }
  body.izamachi_lp .tel-button p {
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    margin-top: 4px;
    line-height: 1.5em;
  }
}
body.izamachi_lp .tel-button .common-btn__text {
  font-size: 20px;
}
body.izamachi_lp .section {
  padding: 80px 0;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .section {
    padding: 40px 0;
  }
}
body.izamachi_lp .section__inner {
  width: 96%;
  margin: auto;
  max-width: 1280px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .section__inner {
    width: 100%;
    padding: 0 20px;
    gap: 40px;
    max-width: 560px;
  }
}
body.izamachi_lp .section__title {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
}
body.izamachi_lp .section__title h2 {
  font-size: 32px;
  padding: 0 16px;
  border-bottom: solid 4px #FFD03F;
  display: inline-block;
  width: -moz-max-content;
  width: max-content;
  line-height: 1.2em;
  font-weight: bold;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .section__title h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .section__title {
    font-size: 14px;
  }
  body.izamachi_lp .section__title::after {
    bottom: -4px;
  }
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .hero {
    padding-top: 0;
  }
}
body.izamachi_lp .hero__inner {
  display: flex;
  flex-direction: row;
  gap: 56px;
  align-items: center;
  width: 96%;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .hero__inner {
    flex-direction: column;
  }
}
body.izamachi_lp .hero__content {
  width: 60%;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .hero__content {
    order: 2;
    width: 100%;
  }
}
body.izamachi_lp .hero__content .cta-button {
  width: -moz-max-content;
  width: max-content;
  margin-top: 32px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .hero__content .cta-button {
    width: 100%;
    margin-top: 24px;
  }
}
body.izamachi_lp .hero__image {
  position: relative;
  width: 40vw;
  height: 40vw;
  max-width: 480px;
  max-height: 480px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .hero__image {
    width: calc(100vw - 40px);
    height: calc(100vw - 40px);
  }
}
body.izamachi_lp .hero__image img {
  transition: all 0.4s;
  position: absolute;
}
@keyframes phone-left {
  0% {
    opacity: 0;
    transform: translate(10%, 20%);
  }
  20% {
    opacity: 0;
    transform: translate(10%, 20%);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes phone-right {
  0% {
    opacity: 0;
    transform: translate(10%, -20%);
  }
  40% {
    opacity: 0;
    transform: translate(10%, -20%);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
body.izamachi_lp .hero__image img.fv-phone {
  width: 45%;
}
body.izamachi_lp .hero__image img.fv-phone--left {
  top: 0;
  left: 9%;
  transform-origin: top left;
  animation: phone-left 2s;
}
body.izamachi_lp .hero__image img.fv-phone--right {
  bottom: 1%;
  right: 9%;
  transform-origin: bottom right;
  animation: phone-right 3s;
}
body.izamachi_lp .hero__image img.fv-shadow {
  width: 45%;
}
body.izamachi_lp .hero__image img.fv-shadow--left {
  bottom: 0;
  left: 17%;
  transform-origin: bottom left;
  animation: phone-left 2s;
}
body.izamachi_lp .hero__image img.fv-shadow--right {
  bottom: 0;
  right: 5%;
  transform-origin: bottom right;
  animation: phone-right 3s;
}
body.izamachi_lp .message {
  background-color: #FFFBEF;
}
body.izamachi_lp .message__inner {
  max-width: 1000px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .message__inner {
    max-width: 480px;
    gap: 24px;
  }
}
body.izamachi_lp .message__content {
  max-width: 733px;
  margin: auto;
}
body.izamachi_lp .worry {
  background-color: #F2BE29;
  padding-bottom: 64px;
  position: relative;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .worry {
    padding-bottom: 20px;
  }
}
body.izamachi_lp .worry h2 {
  border: none;
}
body.izamachi_lp .worry-list {
  display: flex;
  justify-content: center;
  gap: 5%;
}
body.izamachi_lp .worry-list picture {
  max-width: 340px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .worry-list {
    flex-direction: column;
    gap: 16px;
    padding: 0;
    align-items: center;
  }
}
body.izamachi_lp .worry::after {
  content: "";
  position: absolute;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  top: calc(100% - 1px);
  left: 50%;
  transform: translate(-50%);
  background-color: #F2BE29;
  width: 84px;
  height: 32px;
}
body.izamachi_lp .solution picture {
  max-width: 848px;
  margin: auto;
}
body.izamachi_lp .feature {
  background-color: #f8f8fa;
}
body.izamachi_lp .feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}
body.izamachi_lp .feature-list picture {
  width: 400px;
}
body.izamachi_lp .comparison-table {
  pointer-events: none;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .comparison-table {
    pointer-events: all;
  }
}
body.izamachi_lp .trial {
  background-color: #FFFBEF;
  padding-bottom: 64px;
  position: relative;
}
body.izamachi_lp .trial-list {
  display: flex;
  justify-content: center;
  gap: 2%;
  align-items: center;
}
body.izamachi_lp .trial-list picture {
  max-width: 340px;
  height: -moz-max-content;
  height: max-content;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .trial-list {
    flex-direction: column;
  }
}
body.izamachi_lp .trial-arrow {
  margin: 8px 0;
}
body.izamachi_lp .faq {
  background-color: #f8f8fa;
}
body.izamachi_lp .faq-list {
  max-width: 720px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.izamachi_lp .refer__content {
  display: flex;
  justify-content: space-between;
  gap: 48px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .refer__content {
    flex-direction: column;
  }
}
body.izamachi_lp .refer h3 {
  font-size: 24px;
  font-weight: bold;
  color: #512376;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .refer h3 {
    font-size: 16px;
  }
}
body.izamachi_lp .refer__block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
  font-size: 14px;
}
body.izamachi_lp .refer__block ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.izamachi_lp .refer__block ul li {
  display: flex;
  gap: 4px;
  flex-direction: row;
  align-items: center;
}
body.izamachi_lp .refer__block ul li::before {
  content: "・";
  color: #512376;
}
body.izamachi_lp .refer-sbir {
  max-width: 720px;
  margin: auto;
}
body.izamachi_lp .flow__inner {
  max-width: 560px;
}
body.izamachi_lp .cta {
  background: #F2BE29;
}
body.izamachi_lp .cta__inner {
  padding: 40px;
  background-color: #ffffff;
  max-width: 760px;
  border-radius: 16px;
  gap: 24px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta__inner {
    margin: auto;
    width: calc(100% - 40px);
    padding: 24px 4px;
  }
  body.izamachi_lp .cta__inner iframe {
    height: 1180px;
  }
}
body.izamachi_lp .cta-tel {
  max-width: 760px;
  margin: 40px auto 0;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 40px;
  background-color: #FFFBEF;
  border-radius: 16px;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta-tel {
    margin: 24px auto 0;
    padding: 20px;
    width: calc(100% - 40px);
    max-width: 520px;
  }
}
body.izamachi_lp .cta-tel__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  body.izamachi_lp .cta-tel__content {
    display: none;
  }
}
body.izamachi_lp .cta-tel__content h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 40px;
}
body.izamachi_lp .cta-tel__content h2 .material-icons {
  font-size: 40px;
}

body.anpi-care {
  font-family: "Noto Sans JP", sans-serif;
  color: #2C3E50;
  background: #FAFBFD;
  line-height: 1.9;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  /* ── Animations ── */
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}
@keyframes pulse-ring {
  0% {
    transform: scale(0.9);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.3;
  }
  100% {
    transform: scale(0.9);
    opacity: 0.6;
  }
}
@keyframes wave {
  0% {
    transform: translateX(0) scaleY(1);
  }
  50% {
    transform: translateX(-25px) scaleY(0.85);
  }
  100% {
    transform: translateX(0) scaleY(1);
  }
}
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes countUp {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
body.anpi-care .wrap {
  padding-top: 0;
}
body.anpi-care {
  /* ── header ── */
}
body.anpi-care .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 16px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(250, 251, 253, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(216, 226, 236, 0.5);
  transition: all 0.4s ease;
  width: 100%;
}
body.anpi-care .header-logo {
  height: 56px;
}
body.anpi-care .header-logo img {
  height: 100%;
}
@media screen and (max-width: 959px) {
  body.anpi-care .header-logo {
    height: 32px;
  }
}
body.anpi-care .header-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: #E8734A;
  color: white;
  border: none;
  border-radius: 50px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.36rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(232, 115, 74, 0.3);
}
body.anpi-care .header-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(232, 115, 74, 0.4);
  color: #ffffff;
}
@media (max-width: 768px) {
  body.anpi-care .header {
    padding: 12px 16px;
  }
}
body.anpi-care {
  /* ── Utilities ── */
}
body.anpi-care .reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body.anpi-care .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
body.anpi-care .reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
body.anpi-care .reveal-left.visible {
  opacity: 1;
  transform: translateX(0);
}
body.anpi-care .reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
body.anpi-care .reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}
body.anpi-care .delay-1 {
  transition-delay: 0.15s;
}
body.anpi-care .delay-2 {
  transition-delay: 0.3s;
}
body.anpi-care .delay-3 {
  transition-delay: 0.45s;
}
body.anpi-care .delay-4 {
  transition-delay: 0.6s;
}
body.anpi-care {
  /* ── Section base ── */
}
body.anpi-care section {
  position: relative;
  padding: 100px 24px;
}
@media (max-width: 768px) {
  body.anpi-care section {
    padding: 60px 16px;
  }
}
body.anpi-care .content {
  max-width: 840px;
  margin: 0 auto;
}
body.anpi-care .section-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.248rem;
  font-weight: 500;
  color: #4A8BC2;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 20px;
}
body.anpi-care .section-label::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  background: #4A8BC2;
  border-radius: 1px;
}
body.anpi-care .section-heading {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  font-weight: 700;
  line-height: 1.6;
  color: #1B3F5E;
  margin-bottom: 32px;
}
body.anpi-care .section-body {
  font-size: 1.52rem;
  line-height: 2;
  color: #5D7084;
}
body.anpi-care {
  /* ── HERO ── */
}
body.anpi-care .hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 80px;
  background: linear-gradient(170deg, #F0F5FA 0%, #FAFBFD 40%, #F5EDE4 100%);
  overflow: hidden;
  position: relative;
}
@media (max-width: 768px) {
  body.anpi-care .hero {
    padding-top: 60px;
  }
}
body.anpi-care .hero::before {
  content: "";
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(45, 95, 138, 0.04) 0%, transparent 70%);
  animation: float 8s ease-in-out infinite;
}
body.anpi-care .hero::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -150px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 115, 74, 0.05) 0%, transparent 70%);
  animation: float 6s ease-in-out infinite 2s;
}
body.anpi-care .hero-content {
  text-align: center;
  position: relative;
  z-index: 2;
}
body.anpi-care .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  background: #FFFFFF;
  border: 1px solid #D8E2EC;
  border-radius: 50px;
  font-size: 1.248rem;
  color: #8A9BAE;
  margin-bottom: 36px;
  animation: fadeInUp 0.8s ease both;
  box-shadow: 0 4px 24px rgba(45, 95, 138, 0.08);
}
body.anpi-care .hero-badge .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3A8A6E;
  position: relative;
}
body.anpi-care .hero-badge .dot::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid #3A8A6E;
  animation: pulse-ring 2s ease infinite;
}
body.anpi-care .hero h1 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(2.56rem, 5vw, 4.16rem);
  font-weight: 900;
  line-height: 1.7;
  color: #1B3F5E;
  margin-bottom: 28px;
  animation: fadeInUp 0.8s ease 0.2s both;
}
body.anpi-care .hero h1 em {
  font-style: normal;
  color: #E8734A;
  position: relative;
}
body.anpi-care .hero h1 em::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 0;
  height: 3px;
  background: #F09E7D;
  border-radius: 2px;
}
body.anpi-care .hero-sub {
  font-size: 1.6rem;
  line-height: 2;
  color: #5D7084;
  margin-bottom: 16px;
  animation: fadeInUp 0.8s ease 0.4s both;
}
body.anpi-care .hero-note {
  font-size: 1.312rem;
  color: #8A9BAE;
  margin-bottom: 40px;
  animation: fadeInUp 0.8s ease 0.5s both;
}
body.anpi-care .hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 40px;
  background: #E8734A;
  color: white;
  border: none;
  border-radius: 60px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 8px 32px rgba(232, 115, 74, 0.3);
  animation: fadeInUp 0.8s ease 0.6s both;
}
body.anpi-care .hero-cta:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 40px rgba(232, 115, 74, 0.4);
  color: #ffffff;
}
body.anpi-care .hero-cta:hover svg {
  transform: translateX(4px);
}
body.anpi-care .hero-cta svg {
  transition: transform 0.3s ease;
}
body.anpi-care {
  /* Wave divider */
}
body.anpi-care .wave-divider {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}
body.anpi-care .wave-divider svg {
  display: block;
  width: 100%;
  height: 60px;
}
body.anpi-care {
  /* ── BOX2: Empathy ── */
}
body.anpi-care .empathy {
  background: #FFFFFF;
  padding: 100px 24px 80px;
}
body.anpi-care .empathy-text {
  font-size: 1.68rem;
  line-height: 2.2;
  color: #5D7084;
}
body.anpi-care .empathy-text .highlight {
  display: inline;
  background: linear-gradient(transparent 60%, rgba(232, 115, 74, 0.15) 60%);
  font-weight: 500;
  color: #2C3E50;
}
body.anpi-care .empathy-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 36px;
  padding-left: 20px;
  border-left: 2px solid #D8E2EC;
}
body.anpi-care .empathy-step {
  padding: 12px 0 12px 20px;
  font-size: 1.52rem;
  color: #5D7084;
  position: relative;
}
body.anpi-care .empathy-step::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #F5EDE4;
  border: 2px solid #4A8BC2;
  transition: all 0.3s ease;
}
body.anpi-care .empathy-step.visible::before {
  background: #4A8BC2;
}
body.anpi-care .empathy-closing {
  margin-top: 28px;
  font-size: 1.52rem;
  color: #5D7084;
  line-height: 2;
}
body.anpi-care {
  /* ── BOX3: Issues ── */
}
body.anpi-care .issues {
  background: #FAFBFD;
  padding: 80px 24px 100px;
}
body.anpi-care .issues-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 768px) {
  body.anpi-care .issues-grid {
    grid-template-columns: 1fr;
  }
}
body.anpi-care .issues-note {
  text-align: center;
  margin-top: 36px;
  font-size: 1.44rem;
  color: #5D7084;
  font-weight: 500;
}
body.anpi-care .issue-card {
  background: #FFFFFF;
  border: 1px solid #D8E2EC;
  border-radius: 16px;
  padding: 28px;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: default;
}
body.anpi-care .issue-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 40px rgba(45, 95, 138, 0.1);
  border-color: #4A8BC2;
}
body.anpi-care .issue-card .icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 16px;
}
body.anpi-care .issue-card:nth-child(1) .icon {
  background: #FFF3ED;
}
body.anpi-care .issue-card:nth-child(2) .icon {
  background: #EDF5FF;
}
body.anpi-care .issue-card:nth-child(3) .icon {
  background: #FFF8ED;
}
body.anpi-care .issue-card:nth-child(4) .icon {
  background: #EDFFF5;
}
body.anpi-care .issue-card h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.52rem;
  font-weight: 700;
  color: #2C3E50;
  margin-bottom: 8px;
  line-height: 1.5;
}
body.anpi-care .issue-card p {
  font-size: 1.36rem;
  color: #8A9BAE;
  line-height: 1.8;
}
body.anpi-care {
  /* ── BOX4: Background ── */
}
body.anpi-care .background-section {
  background: linear-gradient(180deg, #FAFBFD 0%, #F5EDE4 100%);
  padding: 100px 24px;
}
body.anpi-care .bg-visual {
  display: flex;
  gap: 24px;
  align-items: stretch;
  margin-top: 40px;
}
@media (max-width: 768px) {
  body.anpi-care .bg-visual {
    flex-direction: column;
  }
}
body.anpi-care .bg-card {
  flex: 1;
  background: #FFFFFF;
  border-radius: 16px;
  padding: 32px;
  border: 1px solid #D8E2EC;
  box-shadow: 0 4px 24px rgba(45, 95, 138, 0.08);
  position: relative;
  overflow: hidden;
}
body.anpi-care .bg-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
body.anpi-care .bg-card:first-child::before {
  background: #8A9BAE;
}
body.anpi-care .bg-card:first-child .label {
  color: #8A9BAE;
}
body.anpi-care .bg-card:last-child::before {
  background: #E8734A;
}
body.anpi-care .bg-card:last-child .label {
  color: #E8734A;
}
body.anpi-care .bg-card .label {
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
body.anpi-care .bg-card h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #2C3E50;
  line-height: 1.6;
  margin-bottom: 12px;
}
body.anpi-care .bg-card p {
  font-size: 1.408rem;
  color: #5D7084;
  line-height: 1.9;
}
body.anpi-care {
  /* ── BOX5: Approach ── */
}
body.anpi-care .approach {
  background: #1B3F5E;
  color: white;
  padding: 100px 24px;
  position: relative;
  overflow: hidden;
}
body.anpi-care .approach::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.03), transparent);
  animation: float 10s ease-in-out infinite;
}
body.anpi-care .approach .section-label {
  color: rgba(255, 255, 255, 0.5);
}
body.anpi-care .approach .section-label::before {
  background: rgba(255, 255, 255, 0.3);
}
body.anpi-care .approach .section-heading {
  color: white;
}
body.anpi-care .approach .section-body {
  color: rgba(255, 255, 255, 0.75);
}
body.anpi-care .approach-features {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
body.anpi-care .approach-feature {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  transition: all 0.3s ease;
}
body.anpi-care .approach-feature:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateX(8px);
}
body.anpi-care .approach-feature .feat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
body.anpi-care .approach-feature h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.52rem;
  font-weight: 700;
  margin-bottom: 6px;
}
body.anpi-care .approach-feature p {
  font-size: 1.36rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.8;
}
body.anpi-care {
  /* ── BOX6: Two-sided ── */
}
body.anpi-care .two-sided {
  background: #FFFFFF;
  padding: 100px 24px;
}
body.anpi-care .two-sided .two-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 40px;
}
@media (max-width: 768px) {
  body.anpi-care .two-sided .two-cards {
    grid-template-columns: 1fr;
  }
}
body.anpi-care .two-sided-note {
  margin-top: 24px;
  font-size: 1.312rem;
  color: #8A9BAE;
  text-align: center;
  line-height: 1.8;
}
body.anpi-care .sided-card {
  border-radius: 16px;
  padding: 36px;
  position: relative;
  overflow: hidden;
}
body.anpi-care .sided-card.user-side {
  background: #E8F5EF;
  border: 1px solid rgba(58, 138, 110, 0.15);
}
body.anpi-care .sided-card.user-side .card-label {
  color: #3A8A6E;
}
body.anpi-care .sided-card.user-side .check-list li::before {
  color: #3A8A6E;
}
body.anpi-care .sided-card.provider-side {
  background: #F0EBF5;
  border: 1px solid rgba(107, 76, 154, 0.15);
}
body.anpi-care .sided-card.provider-side .card-label {
  color: #6B4C9A;
}
body.anpi-care .sided-card.provider-side .check-list li::before {
  color: #6B4C9A;
}
body.anpi-care .sided-card .card-label {
  font-size: 1.152rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.anpi-care .sided-card h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.68rem;
  font-weight: 700;
  color: #2C3E50;
  line-height: 1.6;
  margin-bottom: 16px;
}
body.anpi-care .sided-card p {
  font-size: 1.408rem;
  color: #5D7084;
  line-height: 2;
}
body.anpi-care .sided-card .check-list {
  list-style: none;
  margin-top: 16px;
}
body.anpi-care .sided-card .check-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 1.36rem;
  color: #5D7084;
  line-height: 1.7;
}
body.anpi-care .sided-card .check-list li::before {
  content: "✓";
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
body.anpi-care {
  /* ── BOX7: VACAN ── */
}
body.anpi-care .vacan-section {
  background: linear-gradient(180deg, #FAFBFD 0%, #F0F5FA 100%);
  padding: 100px 24px;
}
body.anpi-care .vacan-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
  body.anpi-care .vacan-stats {
    grid-template-columns: 1fr;
  }
}
body.anpi-care .stat-card {
  text-align: center;
  padding: 32px 16px;
  background: #FFFFFF;
  border-radius: 16px;
  border: 1px solid #D8E2EC;
  box-shadow: 0 4px 24px rgba(45, 95, 138, 0.08);
  transition: all 0.3s ease;
}
body.anpi-care .stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 40px rgba(45, 95, 138, 0.1);
}
body.anpi-care .stat-number {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(2.88rem, 4vw, 3.84rem);
  font-weight: 900;
  color: #2D5F8A;
  line-height: 1.2;
}
body.anpi-care .stat-number span {
  font-size: 0.6em;
  font-weight: 500;
}
body.anpi-care .stat-desc {
  font-size: 1.28rem;
  color: #8A9BAE;
  margin-top: 8px;
  line-height: 1.6;
}
body.anpi-care {
  /* ── BOX8: Status ── */
}
body.anpi-care .status-section {
  background: #F5EDE4;
  padding: 80px 24px;
}
body.anpi-care .status-box {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 40px;
  border: 1px solid #D8E2EC;
  box-shadow: 0 4px 24px rgba(45, 95, 138, 0.08);
  text-align: center;
}
body.anpi-care .status-box h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.92rem;
  font-weight: 700;
  color: #1B3F5E;
  margin-bottom: 16px;
}
body.anpi-care .status-box p {
  font-size: 1.472rem;
  color: #5D7084;
  line-height: 2;
}
body.anpi-care .status-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4A8BC2, #2D5F8A);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  animation: float 4s ease-in-out infinite;
}
body.anpi-care {
  /* ── BOX9: CTA ── */
}
body.anpi-care .cta-section {
  background: linear-gradient(135deg, #1B3F5E 0%, #2D5F8A 60%, #4A8BC2 100%);
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
  padding: 100px 24px;
  text-align: center;
  color: white;
  position: relative;
  overflow: hidden;
}
body.anpi-care .cta-section::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 60%);
}
body.anpi-care .cta-section h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(2.24rem, 4vw, 3.2rem);
  font-weight: 900;
  line-height: 1.7;
  margin-bottom: 20px;
  position: relative;
}
body.anpi-care .cta-section .cta-body {
  font-size: 1.52rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 2;
  margin-bottom: 40px;
  position: relative;
}
body.anpi-care .cta-section .cta-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 48px;
  background: white;
  color: #1B3F5E;
  border: none;
  border-radius: 60px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  position: relative;
}
body.anpi-care .cta-section .cta-button:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.25);
}
body.anpi-care .cta-section .cta-note {
  margin-top: 16px;
  font-size: 1.248rem;
  color: rgba(255, 255, 255, 0.5);
  position: relative;
}
body.anpi-care {
  /* footer */
}
body.anpi-care footer {
  position: relative;
}
body.anpi-care footer .section--footer-contact {
  padding: 14vh 12% 26vh;
  overflow: hidden;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-contact {
    padding-top: 8vh;
  }
}
body.anpi-care footer .section--footer-contact .section-tit .en {
  font-size: 60px;
  left: 0;
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-contact .section-tit .en {
    font-size: 40px;
  }
}
body.anpi-care footer .section--footer-contact .txt {
  margin-bottom: 40px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-contact .txt {
    font-size: 18px;
  }
}
body.anpi-care footer .section--footer-contact .btn {
  margin-bottom: 0;
  text-align: center;
}
body.anpi-care footer .section--footer-contact .btn .btn--main {
  position: relative;
  box-shadow: 10px 10px 30px rgba(96, 93, 102, 0.15);
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-contact .btn .btn--main {
    font-size: 20px;
    width: 400px;
  }
  body.anpi-care footer .section--footer-contact .btn .btn--main:hover {
    color: #ffffff;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-contact .btn .btn--main {
    width: 100%;
  }
}
body.anpi-care footer .section--footer-nav {
  background: #ffffff;
  padding: 60px 7%;
  color: #3B3544;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav {
    padding: 100px 12% 80px;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav {
    margin: 0 0 50px;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav li a {
  display: block;
  font-size: 13px;
  text-decoration: none;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2em;
}
body.anpi-care footer .section--footer-nav .footer-nav li a::before {
  display: none;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav li a {
    line-height: 2.5;
    font-size: 14px;
    font-weight: bold;
  }
  body.anpi-care footer .section--footer-nav .footer-nav li a:hover {
    color: #a960e8;
  }
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top {
    display: flex;
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
    padding-bottom: 80px;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--top .logo {
  width: 180px;
  margin-right: 160px;
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .logo {
    width: 140px;
    margin: 0 0 40px;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--top .logo a {
  display: block;
  line-height: 1;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .nav {
    width: 240px;
  }
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .nav--domain .menu li a, body.anpi-care footer .section--footer-nav .footer-nav--top .nav--purpose .menu li a {
    font-weight: normal;
    font-size: 12px;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .nav--domain, body.anpi-care footer .section--footer-nav .footer-nav--top .nav--purpose {
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
    padding: 16px 0;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .nav--domain {
    border-top: 1px solid rgba(59, 53, 68, 0.15);
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--top .tit {
  font-size: 14px;
  font-weight: bold;
  color: #78797b;
  margin: 0 0 0.5em;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .tit {
    line-height: 2.5;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top .tit {
    font-size: 13px;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top #menu-footer-menu_domain {
    font-size: 12px;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--top #menu-footer-menu_main li {
    border-bottom: 1px solid rgba(59, 53, 68, 0.15);
  }
  body.anpi-care footer .section--footer-nav .footer-nav--top #menu-footer-menu_main li a {
    padding: 12px 0;
    font-weight: bold;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom {
  padding-top: 32px;
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .nav {
  margin-bottom: 32px;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .nav {
    display: flex;
  }
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .nav {
    margin-bottom: 40px;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .tit {
  font-size: 13px;
  font-weight: bold;
  width: 160px;
  line-height: 2.5;
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .tit {
    font-size: 13px;
    margin: 0 0 0.5em;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .tit a {
  text-decoration: none;
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-wrap {
  flex: 1;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-wrap > * {
    display: inline-block;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom li {
  display: inline-block;
  margin-right: 1.25em;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom li {
    margin-right: 1.75em;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom li a {
  font-size: 12px;
}
@media screen and (max-width: 959px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container {
    position: relative;
    left: -10px;
    margin: 1em 0 0;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li {
  margin: 0 0.5em 0 0;
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li a {
  line-height: 3.5em;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li a {
    line-height: inherit;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li span {
  width: 2.8em;
  height: 2.8em;
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li span::before {
  left: 0.5px;
  top: -2.5px;
  font-size: 16px;
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container li span::before {
    left: 0.5px;
    top: 4px;
    font-size: 16px;
  }
}
@media screen and (min-width: 960px) {
  body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-social-menu-container a > span::before {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
    -webkit-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  }
}
body.anpi-care footer .section--footer-nav .footer-nav--bottom .menu-footer-menu_support-container {
  flex: 1;
}
body.anpi-care footer .section--footer-nav .copyright {
  opacity: 0.5;
  font-size: 11px;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin-top: 40px;
}

.technologies {
  background: #000000;
  color: #ffffff;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.technologies footer .section--footer-contact {
  display: none;
}
.technologies footer .section--footer-nav .footer-nav .footer-nav--top .logo {
  filter: brightness(0) invert(1);
}
.technologies footer .section--footer-nav {
  padding: 10rem 12% 8rem;
  color: #ffffff;
  background: #000000;
}
.technologies .menu-social-menu-container .icon--facebook::before {
  filter: none !important;
}
.technologies .menu-social-menu-container .icon--twitter::before {
  filter: none !important;
}
.technologies .menu-social-menu-container .icon--instagram::before {
  filter: none !important;
}
.technologies .wrap {
  padding: 0px;
}
.technologies {
  /********** Global Page Style ***********/
}
@media screen and (min-width: 960px) {
  .technologies .drawer__btn .drawer__btn__inner {
    display: none;
  }
  .technologies header {
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 120px;
    min-width: auto;
    z-index: 100;
    border: 1px solid transparent;
    transition: background 0.3s ease;
    background: transparent;
  }
  .technologies .g-nav {
    margin-left: 5%;
    margin-top: 0;
  }
  .technologies .g-nav .menu {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .technologies .g-nav .menu li a:after {
    content: "";
    position: absolute;
    background-color: #008298;
    width: 0%;
    height: 7px;
    margin: auto;
    bottom: 3px;
    color: #000000;
    left: 0;
    z-index: -1;
    transition: width 0.3s ease;
  }
  .technologies .g-nav .menu li a:hover {
    color: #000000;
  }
  .technologies .g-nav .menu li a:hover:after {
    width: 100%;
  }
}
.technologies .anchor {
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  background: transparent;
}
.technologies .anchor#flow {
  top: -40px;
}
.technologies .container {
  min-height: auto;
  padding: 0;
}
.technologies .g-nav {
  width: 100%;
  max-width: 850px;
}
.technologies .g-nav .menu li {
  position: relative;
  margin: 0 0.9%;
}
.technologies .g-nav .menu li a {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #FFF;
}
.technologies .btn-group {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
}
.technologies .btns {
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none;
  background: #ffffff;
  display: block;
  color: #ffffff;
  text-align: center;
  min-width: 200px;
  font-weight: bolder;
  transition: background 0.2s ease, color 0.2s ease !important;
}
.technologies .btns.secondary {
  background: #000000;
  border: solid 2px #ffffff;
  color: #ffffff;
}
.technologies .btns.secondary:hover {
  background: #ffffff;
}
.technologies .btns:hover {
  color: #ffffff;
  background: #7800D2;
}
.technologies section {
  padding: 120px 0;
  position: relative;
}
.technologies .area__inner {
  max-width: 960px;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.technologies.mode-pc.scrolled header.pc-header {
  position: fixed;
  color: #ffffff;
  background: #000000;
}
.technologies.mode-pc.scrolled header.pc-header .logo svg path,
.technologies.mode-pc.scrolled header.pc-header .logo svg polygon {
  fill: #ffffff;
}
.technologies.mode-pc.scrolled header.pc-header .btns {
  background: #ffffff;
  color: #7800D2;
}
.technologies.mode-pc.scrolled header.pc-header .btns:hover {
  background: #7800D2;
  color: #ffffff;
}
.technologies.mode-pc.scrolled header.pc-header .g-nav li a {
  color: #ffffff;
}
.technologies .sp-header {
  background: #000000 !important;
  mix-blend-mode: exclusion;
}
.technologies .sp-header .logo--v {
  display: flex;
  align-items: center;
}
.technologies .sp-header .logo--v svg {
  height: 12px;
  width: auto;
  display: block;
}
.technologies .sp-header .logo--v svg path {
  fill: #ffffff;
}
.technologies .pc-header .logo svg {
  fill: #FFF;
}
.technologies header {
  color: #ffffff;
  padding: 0 8%;
  transition: padding ease 0.2s, background ease 0.2s;
}
.technologies header .btns {
  margin-right: 0;
  color: #7800D2;
}
.technologies header.drawer {
  display: none;
}
@media screen and (max-width: 959px) {
  .technologies header {
    top: 0;
  }
  .technologies header.pc-header {
    display: none;
  }
  .technologies header.drawer {
    display: block;
    top: 0;
    padding-top: 100px;
    overflow: hidden;
  }
  .technologies header .btns {
    position: absolute;
    left: 0;
    right: 0;
    max-width: 50%;
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 959px) {
  .technologies .drawer__btn span {
    background: #FFF;
  }
}
.technologies .deco {
  position: absolute;
  z-index: 0;
}
.technologies .deco.tl {
  top: 0;
  left: 0;
}
.technologies .deco.tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
}
.technologies .deco.bl {
  bottom: 0;
  left: 0;
  transform: scaleY(-1);
}
.technologies .deco.br {
  bottom: 0;
  right: 0;
  transform: scale(-1);
}
.technologies .logo svg {
  display: block;
  width: 282px;
  fill: #FFF;
}
.technologies .g-nav {
  max-width: 700px;
}
.technologies .g-nav .menu {
  align-items: center;
}
.technologies .g-nav .menu > li {
  padding: 0;
}
.technologies .g-nav .menu > li:hover {
  color: #99A1AF;
}
.technologies h1.area-tit {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 70px;
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 5px;
  margin-bottom: 5px;
  line-height: 140%;
  display: inline-block;
  opacity: 0;
  animation: slideUp 0.75s ease-in-out forwards;
}
.technologies h1.area-tit br {
  display: none;
}
@media screen and (max-width: 1130px) {
  .technologies h1.area-tit {
    font-size: 5.5vw;
  }
}
.technologies h1.area-tit p {
  position: relative;
}
.technologies h1.area-tit p:first-of-type:after {
  width: 90%;
}
.technologies .head-tit {
  text-align: center;
  max-width: 960px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: auto;
}
.technologies h2.area-tit {
  font-size: 4rem;
  font-weight: 400;
  position: relative;
  display: inline-block;
  color: #ffffff;
  padding: 0 16px;
  margin: auto;
  z-index: 1;
}
.technologies h2.area-tit span {
  font-size: 2.4rem;
}
@media screen and (max-width: 959px) {
  .technologies h2.area-tit span {
    font-size: 1.6rem;
  }
}
.technologies p.area-subtit {
  font-size: 1.6rem;
  margin-top: 20px;
  font-weight: 400;
  color: #99A1AF;
}
@media screen and (max-width: 959px) {
  .technologies p.area-subtit {
    font-size: 1.4rem;
  }
}
.technologies h3.tit {
  font-size: 24px;
  margin-bottom: 16px;
  font-weight: bold;
}
.technologies .txt {
  font-size: 16px;
  font-weight: 400;
}
.technologies {
  /********** Section ***********/
}
.technologies .area--hero {
  background: #000000;
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 160px 0 120px;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .technologies .area--hero {
    min-height: 100svh;
    padding: 80px 0 60px;
  }
}
.technologies .area--hero .hero__inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 959px) {
  .technologies .area--hero .hero__inner {
    padding: 0;
    min-height: calc(100svh - 140px);
    flex-direction: column;
  }
}
.technologies .area--hero .hero__video {
  position: relative;
  width: 560px;
  max-width: none;
  z-index: 1;
  pointer-events: none;
  order: 2;
  align-self: center;
}
@media screen and (min-width: 960px) {
  .technologies .area--hero .hero__video {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 960px;
    max-width: 100%;
    margin: 0;
    order: initial;
    align-self: auto;
  }
}
.technologies .area--hero .hero__video video {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0.35;
}
.technologies .area--hero .hero__copy {
  position: relative;
  z-index: 2;
  text-align: center;
  width: 100%;
  max-width: 980px;
}
@media screen and (max-width: 959px) {
  .technologies .area--hero .hero__copy {
    padding: 0 6vw;
    order: 1;
  }
}
.technologies .area--hero .hero__lead {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.12em;
  color: #99A1AF;
  margin-top: 24px;
}
@media screen and (max-width: 959px) {
  .technologies .area--hero .hero__lead {
    font-size: 14px;
    margin-top: 16px;
  }
}
.technologies .area--hero .hero-title {
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.06em;
  color: #ffffff;
  font-size: 62px;
}
@media screen and (max-width: 959px) {
  .technologies .area--hero .hero-title {
    font-size: calc(20px + 26 * (100vw - 320px) / 1200);
    letter-spacing: 0.03em;
  }
}
.technologies .area--hero .hero-title__kicker {
  display: block;
  font-weight: 300;
  margin-bottom: 12px;
}
.technologies .area--hero .hero-title__accent {
  color: #9D1AFF;
}
.technologies .area--service {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--service {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--layers {
  position: relative;
}
.technologies .area--layers .layers__layout {
  width: 960px;
  max-width: calc(100% - 80px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 120px;
}
.technologies .area--layers .head-tit {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}
.technologies .area--layers .area-tit,
.technologies .area--layers .area-subtit {
  text-align: left;
}
@media screen and (max-width: 959px) {
  .technologies .area--layers .area-tit,
  .technologies .area--layers .area-subtit {
    text-align: center;
  }
}
.technologies .area--layers .area__inner {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
}
.technologies .area--layers .area__inner img {
  width: 200px;
  height: auto;
  display: block;
}
@media screen and (max-width: 959px) {
  .technologies .area--layers {
    width: auto;
    margin-top: 30px;
  }
  .technologies .area--layers .layers__layout {
    width: auto;
    max-width: none;
    margin: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
  }
  .technologies .area--layers .area__inner {
    flex: none;
    width: auto;
    justify-content: flex-start;
  }
  .technologies .area--layers .area__inner img {
    width: 100%;
  }
}
.technologies .area--feedbackloop {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--feedbackloop {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--strength {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--strength {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--vcore {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 959px) {
  .technologies .area--vcore {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--vcore .vcore__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.technologies .area--vcore .vcore__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.3;
}
.technologies .area--vcore .head-tit,
.technologies .area--vcore .area__inner {
  position: relative;
  z-index: 1;
}
.technologies .area--design {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--design {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--casestudy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--casestudy {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--overview {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview {
    width: auto;
    gap: 24px;
    margin-top: 30px;
  }
}
.technologies .area--overview .area__inner {
  max-width: 960px;
  margin: 0 auto;
}
.technologies .area--overview .overview {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
  width: 100%;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview .overview {
    flex-direction: column;
    gap: 40px;
  }
}
.technologies .area--overview .overview__list {
  flex: 1;
  display: grid;
  grid-template-columns: 140px 1fr;
  row-gap: 32px;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview .overview__list {
    display: block;
    width: 100%;
  }
}
.technologies .area--overview .overview__list dt {
  color: #ffffff;
  font-weight: 700;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview .overview__list dt {
    font-size: 14px;
    margin-bottom: 8px;
  }
}
.technologies .area--overview .overview__list dd {
  color: #ffffff;
  font-weight: 400;
  margin: 0;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview .overview__list dd {
    font-size: 14px;
    margin-bottom: 32px;
  }
  .technologies .area--overview .overview__list dd:last-child {
    margin-bottom: 0;
  }
}
.technologies .area--overview .overview #map-company {
  width: 440px;
  height: 440px;
  border-radius: 24px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
.technologies .area--overview .overview #map-company * {
  transition: none !important;
}
.technologies .area--overview .overview #map-company div.leaflet-pane {
  z-index: 0;
}
.technologies .area--overview .overview #map-company .leaflet-control {
  display: none;
}
@media screen and (max-width: 959px) {
  .technologies .area--overview .overview #map-company {
    width: 100%;
    height: 280px;
    margin-top: 20px;
    border-radius: 16px;
  }
}
.technologies .area--philosophy {
  position: relative;
  padding: 160px 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 600px;
}
@media screen and (max-width: 959px) {
  .technologies .area--philosophy {
    padding: 100px 20px;
    min-height: auto;
  }
}
.technologies .area--philosophy .philosophy-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.technologies .area--philosophy .philosophy-bg picture,
.technologies .area--philosophy .philosophy-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  opacity: 0.5;
}
.technologies .area--philosophy .area__inner {
  position: relative;
  z-index: 1;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.technologies .area--philosophy .philosophy-text {
  font-size: 24px;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: #ffffff;
  margin-bottom: 120px;
  font-weight: 400;
}
@media screen and (max-width: 959px) {
  .technologies .area--philosophy .philosophy-text {
    font-size: 14px;
    line-height: 2;
  }
  .technologies .area--philosophy .philosophy-text br {
    display: none;
  }
}
.technologies .area--philosophy .btn-group {
  width: 100%;
  display: flex;
  justify-content: center;
}
.technologies .area--philosophy .btn-group .btns {
  background: #ffffff;
  color: #7800D2;
  min-width: 280px;
  padding: 20px 40px;
  font-size: 18px;
}
.technologies .area--philosophy .btn-group .btns:hover {
  background: #7800D2;
  color: #ffffff;
}
.technologies .area--footer {
  padding: 80px 0;
  background: #ffffff;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
}
.technologies .area--footer .footer-nav {
  display: flex;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-bottom: 80px;
  justify-content: center;
  font-weight: 400;
}
.technologies .area--footer a {
  text-decoration: none;
  transition: color 0.2s ease;
  color: #FFF;
}
.technologies .area--footer a:hover {
  color: #99A1AF;
}
.technologies .area--footer .copyright {
  font-size: 14px;
  opacity: 0.5;
  font-weight: lighter;
}
.technologies {
  /***********  Mobile responsive  **********/
}
@media screen and (max-width: 959px) {
  .technologies h1.area-tit {
    font-size: 50px;
    width: auto;
    margin-bottom: 10px;
  }
  .technologies h1.area-tit br {
    display: block;
  }
  .technologies h1.area-tit p {
    display: inline-block;
  }
  .technologies h1.area-tit p:after {
    height: 30px;
    bottom: 10px;
  }
  .technologies h1.area-tit p:first-of-type:after {
    width: 100%;
  }
  .technologies header {
    padding: 0 2em;
    transition: padding ease 0.2s, background ease 0.2s, transform 0.3s ease;
  }
  .technologies section {
    padding: 60px 0;
  }
  .technologies .sp-header {
    background: #000000;
  }
  .technologies .anchor {
    top: 0;
    padding-top: -50px;
    margin-top: 50px;
  }
  .technologies .g-nav {
    margin-top: 3rem;
  }
  .technologies .g-nav .menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  .technologies .g-nav .menu li > a {
    display: inline-block;
    padding: 1.25em 0;
    color: #000000;
    font-size: 1.38rem;
    line-height: 1.5em;
    letter-spacing: 0.125em;
    position: relative;
  }
  .technologies .pc-header {
    background: transparent;
  }
  .technologies header.drawer {
    background: #99A1AF;
    width: 26rem;
    position: fixed;
  }
  .technologies header.drawer .logo svg {
    width: 180px;
    height: auto;
    display: block;
  }
  .technologies header.drawer .logo svg path,
  .technologies header.drawer .logo svg polygon,
  .technologies header.drawer .logo svg g {
    fill: #ffffff;
  }
  .technologies h2.area-tit {
    padding: 0;
    font-size: 21px;
    font-weight: 400;
  }
  .technologies h2.area-tit br {
    display: block;
  }
  .technologies h2.area-tit.secondary:before {
    left: -10px;
  }
  .technologies h2.area-tit.secondary:after {
    right: -10px;
  }
  .technologies h2.area-tit.secondary:before, .technologies h2.area-tit.secondary:after {
    width: 30px;
  }
  .technologies h3.tit {
    font-size: 20px;
  }
  .technologies h3.tit br {
    display: none;
  }
  .technologies .deco {
    width: 60px;
  }
  .technologies .head-tit {
    padding: 0 20px;
  }
  .technologies .btn-group {
    width: 100%;
    justify-content: center;
  }
  .technologies .btns {
    width: 100%;
    max-width: 380px;
  }
  .technologies .area__inner {
    padding: 0 20px;
  }
  .technologies .area--document .area__inner {
    padding: 24px 24px;
    max-width: 90%;
  }
  .technologies .area--document h2.area-tit {
    font-size: 15px;
  }
  .technologies .area--document h2.area-tit br {
    display: none;
  }
  .technologies .area--document h2.area-tit span {
    display: inline;
    font-size: 14px;
  }
  .technologies .area--document h2.area-tit span:after {
    display: none;
  }
  .technologies .area--footer {
    padding: 40px 0;
  }
  .technologies .area--footer .footer-nav {
    flex-direction: column;
    row-gap: 20px;
  }
}
.technologies {
  /***********  Delighter  **********/
}
.technologies .delighter.area__inner,
.technologies .delighter .row,
.technologies .delighter .col,
.technologies .delighter .block {
  opacity: 0;
  transform: translateY(10rem);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .technologies .delighter.area__inner,
  .technologies .delighter .row,
  .technologies .delighter .col,
  .technologies .delighter .block {
    transform: translateY(6rem);
  }
}
.technologies .delighter .fixed-btn-wrap {
  opacity: 1;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.technologies .delighter.started.area__inner,
.technologies .delighter.started .row,
.technologies .delighter.started .col,
.technologies .delighter.started .block {
  opacity: 1;
  transform: translateY(0);
}
.technologies .delighter.started .row:nth-of-type(1),
.technologies .delighter.started .col:nth-of-type(1) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
  transform: translateY(0);
  opacity: 1;
}
.technologies .delighter.started .row:nth-of-type(2),
.technologies .delighter.started .col:nth-of-type(2) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
  transform: translateY(0);
  opacity: 1;
}
.technologies .delighter.started .row:nth-of-type(3),
.technologies .delighter.started .col:nth-of-type(3) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.45s;
  transform: translateY(0);
  opacity: 1;
}
.technologies .delighter.started .row:nth-of-type(4),
.technologies .delighter.started .col:nth-of-type(4) {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.6s;
  -webkit-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.6s;
  transform: translateY(0);
  opacity: 1;
}
.technologies .delighter.started .fixed-btn-wrap {
  opacity: 0;
  pointer-events: none;
}

/* before */
.section--main.delighter > *:not(.bg-pattern) {
  transform: translateY(10rem);
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  -webkit-transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
@media screen and (max-width: 959px) {
  .section--main.delighter > *:not(.bg-pattern) {
    transform: translateY(5rem);
  }
}

/* after */
.section--main.delighter.started > *:not(.bg-pattern) {
  transform: none;
  opacity: 1;
}/*# sourceMappingURL=main.css.map */