@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@600&family=Zen+Kaku+Gothic+New:wght@500;700&display=swap" rel="stylesheet');
/*
Theme Name:
*/
/*----------------------------------------
  reset
-----------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-feature-settings: "palt";
}

html {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

p {
  text-align: justify;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: black;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: black;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
  outline: 0;
}

ul,
li {
  list-style: none;
}

input[type=text],
input[type=button],
input[type=submit],
input[type=tel],
input[type=email] {
  -webkit-appearance: none;
  border: none;
  box-sizing: border-box;
}

input[type=text]:focus,
input[type=button]:focus,
input[type=submit]:focus,
input[type=tel]:focus,
input[type=email]:focus,
textarea:focus {
  outline: 0;
  background-color: #FBFBFB;
}

input:-internal-autofill-selected {
  background-color: #FBFBFB !important;
}

input[type=text]:focus:placeholder-shown,
input[type=button]:focus:placeholder-shown,
input[type=submit]:focus:placeholder-shown,
input[type=tel]:focus:placeholder-shown,
input[type=email]:focus:placeholder-shown,
textarea:focus:placeholder-shown {
  color: #ddd;
}

input[type=text]:focus:-webkit-input-placeholder,
input[type=button]:focus:-webkit-input-placeholder,
input[type=submit]:focus:-webkit-input-placeholder,
input[type=tel]:focus:-webkit-input-placeholder,
input[type=email]:focus:-webkit-input-placeholder,
textarea:focus:-webkit-input-placeholder {
  color: #ddd;
}

input[type=text]:focus:-moz-placeholder,
input[type=button]:focus:-moz-placeholder,
input[type=submit]:focus:-moz-placeholder,
input[type=tel]:focus:-moz-placeholder,
input[type=email]:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: #ddd;
}

input[type=text]:focus:-ms-input-placeholder,
input[type=button]:focus:-ms-input-placeholder,
input[type=submit]:focus:-ms-input-placeholder,
input[type=tel]:focus:-ms-input-placeholder,
input[type=email]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: #ddd;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

input[type=text]:placeholder-shown,
input[type=email]:placeholder-shown,
input[type=tel]:placeholder-shown {
  color: #ddd;
}

input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder {
  color: #ddd;
}

input[type=text]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #ddd;
}

input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #FBFBFB;
}

textarea {
  resize: vertical;
}

textarea:placeholder-shown {
  color: #ddd;
}

textarea::-webkit-input-placeholder {
  color: #ddd;
}

textarea::-moz-placeholder {
  color: #ddd;
}

input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent;
  transition: 0.1s;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent;
  transition: 0.1s;
}

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: transparent;
  transition: 0.1s;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent;
  transition: 0.1s;
}

button {
  background-color: transparent;
  outline: 0;
  border: 0;
}

/*スマートフォンサイトでaタグをタップしたときにでるハイライトの色を消す*/
a {
  -webkit-tap-highlight-color: transparent;
  color: #5D4F3B;
}
@media screen and (min-width: 896px) {
  a {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  a:hover {
    transition: 0.3s;
    cursor: pointer;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}

table {
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
  width: 100%;
}

th,
td {
  vertical-align: middle;
  border: solid 1px black;
  font-weight: normal;
  text-align: left;
  border: 0;
}

caption {
  text-align: left;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  font-display: swap;
  color: #5D4F3B;
  background: #F9F8F3;
}

body {
  overflow-x: hidden;
}
@media screen and (max-width: 896px) {
  body.sp_fix {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  width: 100%;
}

svg {
  width: 100%;
  height: auto;
}

.slick-list:focus {
  outline: none !important;
}

.en {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

@media screen and (min-width: 897px) {
  a.tel {
    pointer-events: none;
  }
}

.flx {
  display: flex;
}

.ablt {
  position: absolute;
}

.lead {
  font-size: 1.2857142857vw;
  letter-spacing: 0.01em;
  line-height: 2;
}
@media screen and (max-width: 896px) {
  .lead {
    font-size: 3.7333333333vw;
  }
}

.basebtn {
  background: #EF813B;
  height: 5.0714285714vw;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 300vw;
  padding-inline: 3.2857142857vw 1.4285714286vw;
}
@media screen and (min-width: 897px) {
  .basebtn {
    min-width: 21.4285714286vw;
  }
}
@media screen and (max-width: 896px) {
  .basebtn {
    min-width: 69.3333333333vw;
    height: 15vw;
    padding-inline: 7vw 4vw;
  }
}
.basebtn .txt {
  font-size: 1.1428571429vw;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 896px) {
  .basebtn .txt {
    font-size: 3.7333333333vw;
  }
}
.basebtn .arrow {
  border-radius: 50%;
  width: 3.2857142857vw;
  height: 3.2857142857vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  overflow: hidden;
}
@media screen and (min-width: 897px) {
  .basebtn .arrow {
    clip-path: circle(10% at 50% 50%);
    transition: all 0.5s ease-out;
  }
}
@media screen and (max-width: 896px) {
  .basebtn .arrow {
    width: 8vw;
    height: 8vw;
  }
}
.basebtn .arrow img {
  width: 1.4285714286vw;
}
@media screen and (max-width: 896px) {
  .basebtn .arrow img {
    width: 3.7333333333vw;
  }
}
@media screen and (min-width: 897px) {
  .basebtn .arrow img {
    opacity: 0;
    transform: translateX(-60%);
    transition: all 0.4s ease-out;
  }
}
@media screen and (min-width: 897px) {
  .basebtn:hover .arrow {
    clip-path: circle(100% at 50% 50%);
  }
  .basebtn:hover .arrow img {
    opacity: 1;
    transform: translateX(0);
  }
}

.round-wrap {
  width: 200px;
  height: 200px;
}
.round-wrap .rotate {
  width: 100%;
  height: 100%;
  animation: rotate-anime 30s linear infinite;
}
.round-wrap .rotate .round {
  width: 100%;
  height: 100%;
  border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  animation: round_anime 5s linear infinite;
}
.round-wrap .rotate .round.type_orange {
  background-color: rgba(239, 129, 59, 0.1);
}
.round-wrap .rotate .round.type_yellow {
  background-color: rgba(246, 203, 26, 0.1);
}

@keyframes rotate-anime {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes round_anime {
  0% {
    border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  }
  25% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  50% {
    border-radius: 70% 30% 30% 70%/50% 70% 30% 50%;
  }
  75% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  100% {
    border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  }
}
.common_h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1428571429vw;
}
@media screen and (max-width: 896px) {
  .common_h2 {
    gap: 3.2vw;
  }
}
.common_h2 .jp {
  font-size: 2.8571428571vw;
  letter-spacing: 0.07em;
  text-align: center;
}
@media screen and (max-width: 896px) {
  .common_h2 .jp {
    font-size: 6.4vw;
  }
}
.common_h2 .en {
  text-transform: uppercase;
  color: #F6CB1A;
  letter-spacing: 0.07em;
  font-size: 1.1428571429vw;
  text-align: center;
}
@media screen and (max-width: 896px) {
  .common_h2 .en {
    font-size: 3.7333333333vw;
  }
}

.under_mv {
  margin-top: 8.0714285714vw;
  position: relative;
}
@media screen and (max-width: 896px) {
  .under_mv {
    margin-top: 20vw;
  }
}
.under_mv .round-wrap {
  position: absolute;
  width: 38.8571428571vw;
  height: 35.4285714286vw;
  top: -7.5vw;
  left: -16.1428571429vw;
}
.under_mv .mv__inner {
  width: calc(100% - 2.8571428571vw);
  margin-inline: auto;
  overflow: hidden;
  border-radius: 12px;
  position: relative;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__inner {
    width: calc(100% - 5.3333333333vw);
  }
}
@media screen and (max-width: 896px) {
  .under_mv .mv__bg img {
    height: 50vw;
    object-fit: cover;
  }
}
.under_mv .mv__ttl {
  position: absolute;
  bottom: 3.4285714286vw;
  left: 3.4285714286vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__ttl {
    left: 5vw;
    bottom: 5vw;
  }
}
.under_mv .mv__ttl .en {
  background: white;
  padding: 0.9285714286vw 1.9285714286vw 0.1428571429vw;
  border-radius: 14px 14px 0 0;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__ttl .en {
    border-radius: 6px 6px 0 0;
    padding: 1.6vw 3.2vw 0.5333333333vw;
  }
}
.under_mv .mv__ttl .en .inner {
  color: #EF813B;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-size: 1.4285714286vw;
  position: relative;
  padding-left: 1.2142857143vw;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__ttl .en .inner {
    font-size: 4.2666666667vw;
    padding-left: 4vw;
  }
}
.under_mv .mv__ttl .en .inner::before {
  content: "";
  background-color: #EF813B;
  width: 0.9285714286vw;
  height: 0.8571428571vw;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -50% -50%;
  border-radius: 70% 70% 60% 50%;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__ttl .en .inner::before {
    width: 2.6666666667vw;
    height: 2.1333333333vw;
    left: 1.3333333333vw;
  }
}
.under_mv .mv__ttl .jp {
  border-radius: 0 14px 14px 14px;
  background: white;
  font-size: 3.1428571429vw;
  letter-spacing: 0.07em;
  padding: 1.3571428571vw 1.7142857143vw;
}
@media screen and (max-width: 896px) {
  .under_mv .mv__ttl .jp {
    font-size: 6.9333333333vw;
    border-radius: 0 6px 6px 6px;
    padding: 2.1333333333vw 3.2vw;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 896px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 896px) {
  .pc {
    display: none;
  }
}

.header {
  position: fixed;
  z-index: 9999999999;
  top: 0;
  left: 0;
  width: 100%;
}
.header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F9F8F3;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 45;
  padding: 1.1428571429vw 2.8571428571vw;
}
@media screen and (max-width: 896px) {
  .header__wrap {
    padding: 2.6666666667vw 5vw;
    padding-left: 4vw;
  }
}
.header__logo {
  width: 18.2857142857vw;
  transition: opacity 0.3s;
}
@media screen and (max-width: 896px) {
  .header__logo {
    width: 50vw;
  }
}
@media screen and (min-width: 897px) {
  .header__logo:hover {
    opacity: 0.6;
  }
}
.header__body {
  display: flex;
  align-items: center;
  gap: 5.7142857143vw;
  justify-content: flex-end;
}
.header__body--links {
  display: flex;
  align-items: center;
  gap: 5.7142857143vw;
}
@media screen and (max-width: 896px) {
  .header__body--links {
    display: none;
  }
}
.header__body--links li a {
  display: flex;
  flex-direction: column;
  gap: 0.5vw;
  align-items: center;
  transition: all 0.3s;
}
@media screen and (min-width: 897px) {
  .header__body--links li a:hover {
    color: #EF813B;
  }
}
.header__body--links li a .jp {
  font-size: 0.9285714286vw;
  letter-spacing: 0.07em;
  font-weight: 700;
}
@media screen and (max-width: 896px) {
  .header__body--links li a .jp {
    font-size: 3.2vw;
  }
}
.header__body--links li a .en {
  font-size: 0.9285714286vw;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .header__body--links li a .en {
    font-size: 3.2vw;
  }
}
.header__body .menu-trigger {
  width: 8vw;
  height: 8.2666666667vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: space-between;
}
@media screen and (min-width: 897px) {
  .header__body .menu-trigger {
    display: none;
  }
}
.header__body .menu-trigger .line {
  background: #EF813B;
  width: 100%;
  height: 3px;
  border-radius: 10vw;
}
.header__body .menu-trigger .txt {
  font-size: 2.9333333333vw;
  text-align: center;
  color: #EF813B;
}
.header__body--cvb {
  background: #EF813B;
  color: white;
  font-size: 0.9285714286vw;
  font-weight: 700;
  border: 2px solid #EF813B;
  border-radius: 100vw;
  width: 12.2857142857vw;
  height: 3.2142857143vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
@media screen and (min-width: 897px) {
  .header__body--cvb:hover {
    background: white;
    color: #EF813B;
    border: 2px solid #EF813B;
  }
}
@media screen and (max-width: 896px) {
  .header__body--cvb {
    display: none;
  }
}

.nav {
  position: fixed;
  z-index: 99999999999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-x: hidden;
  background: white;
  padding-top: 15vw;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
@media screen and (min-width: 897px) {
  .nav {
    display: none;
  }
}
.nav.show {
  opacity: 1;
  visibility: visible;
}
.nav .munu-closetrigger {
  width: 8vw;
  height: 8.2666666667vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: space-between;
  position: absolute;
  right: 5vw;
  top: 7vw;
}
@media screen and (min-width: 897px) {
  .nav .munu-closetrigger {
    display: none;
  }
}
.nav .munu-closetrigger .line {
  background: #5D4F3B;
  width: 100%;
  height: 3px;
  border-radius: 10vw;
  transform-origin: center;
  rotate: 45deg;
  translate: 0.8vw 1vw;
}
.nav .munu-closetrigger .line:nth-of-type(2) {
  rotate: -45deg;
  translate: 0.8vw -1.5vw;
}
.nav .munu-closetrigger .txt {
  text-align: center;
  font-size: 2.9333333333vw;
  color: #5D4F3B;
}
.nav__links li a {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333vw;
  align-items: center;
  transition: all 0.3s;
  padding: 6.6666666667vw 5vw;
  border-bottom: 1px solid rgba(239, 129, 59, 0.1);
}
@media screen and (min-width: 897px) {
  .nav__links li a:hover {
    color: #EF813B;
  }
}
.nav__links li a .jp {
  font-size: 0.9285714286vw;
  letter-spacing: 0.07em;
  font-weight: 700;
}
@media screen and (max-width: 896px) {
  .nav__links li a .jp {
    font-size: 3.2vw;
  }
}
.nav__links li a .en {
  font-size: 0.9285714286vw;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .nav__links li a .en {
    font-size: 3.2vw;
  }
}
.nav__cvwrap {
  display: flex;
  align-items: center;
  gap: 0.7857142857vw;
}
@media screen and (min-width: 897px) {
  .nav__cvwrap {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 896px) {
  .nav__cvwrap {
    padding-inline: 5vw;
    padding-block: 10vw 20vw;
    justify-content: space-between;
  }
}
.nav__cvwrap .cvbtn {
  background: #EF813B;
  font-weight: 700;
  font-size: 1vw;
  color: white;
  border: 2px solid #EF813B;
  border-radius: 100vw;
  width: 11.0714285714vw;
  height: 2.9285714286vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
@media screen and (max-width: 896px) {
  .nav__cvwrap .cvbtn {
    width: 48%;
    height: 11vw;
    font-size: 3.4666666667vw;
  }
}
@media screen and (min-width: 897px) {
  .nav__cvwrap .cvbtn:hover {
    background: white;
    color: #EF813B;
    border: 2px solid #EF813B;
  }
}

#stage {
  overflow-x: hidden;
}

.footer {
  overflow: hidden;
  border-radius: 86px 86px 0 0;
  background: #fff;
  position: relative;
  z-index: 4;
  margin-top: 8.5714285714vw;
}
@media screen and (min-width: 897px) {
  .footer {
    padding: 2.5vw 7.4285714286vw 2.2857142857vw;
  }
}
@media screen and (max-width: 896px) {
  .footer {
    padding: 14vw 5vw 10vw;
    border-radius: 30px 30px 0 0;
    margin-top: 15vw;
  }
}
.footer__body {
  display: flex;
}
@media screen and (min-width: 897px) {
  .footer__body {
    justify-content: space-between;
  }
}
@media screen and (max-width: 896px) {
  .footer__body {
    flex-direction: column;
  }
}
@media screen and (max-width: 896px) {
  .footer__info {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.footer__info--logo {
  width: 22.8571428571vw;
  transition: opacity 0.3s;
  display: block;
}
@media screen and (max-width: 896px) {
  .footer__info--logo {
    width: 66vw;
  }
}
@media screen and (min-width: 897px) {
  .footer__info--logo:hover {
    opacity: 0.6;
  }
}
.footer__info--address {
  font-size: 1vw;
  margin-top: 3.2857142857vw;
  line-height: 1.6;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 896px) {
  .footer__info--address {
    font-size: 3.4666666667vw;
    text-align: center;
    margin-top: 2.6666666667vw;
  }
}
.footer__linkwrap {
  display: flex;
  flex-direction: column;
  gap: 6.4285714286vw;
}
@media screen and (min-width: 897px) {
  .footer__linkwrap {
    align-items: flex-end;
  }
}
@media screen and (max-width: 896px) {
  .footer__linkwrap {
    margin-top: 6vw;
    gap: 10vw;
  }
}
.footer__linkwrap--links {
  padding-top: 2.9285714286vw;
  display: flex;
  justify-content: flex-end;
  gap: 1.5714285714vw;
  align-items: center;
}
@media screen and (max-width: 896px) {
  .footer__linkwrap--links {
    justify-content: space-between;
  }
}
.footer__linkwrap--links li a {
  font-weight: 700;
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
  transition: all 0.3s;
}
@media screen and (min-width: 897px) {
  .footer__linkwrap--links li a:hover {
    color: #EF813B;
  }
}
@media screen and (max-width: 896px) {
  .footer__linkwrap--links li a {
    font-size: 3.4666666667vw;
    text-decoration: underline;
  }
}
.footer__linkwrap--cvwrap {
  display: flex;
  align-items: center;
  gap: 0.7857142857vw;
}
@media screen and (min-width: 897px) {
  .footer__linkwrap--cvwrap {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 896px) {
  .footer__linkwrap--cvwrap {
    justify-content: space-between;
  }
}
.footer__linkwrap--cvwrap .cvbtn {
  background: #EF813B;
  font-weight: 700;
  font-size: 1vw;
  color: white;
  border: 2px solid #EF813B;
  border-radius: 100vw;
  width: 11.0714285714vw;
  height: 2.9285714286vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
@media screen and (max-width: 896px) {
  .footer__linkwrap--cvwrap .cvbtn {
    width: 48%;
    height: 11vw;
    font-size: 3.4666666667vw;
  }
}
@media screen and (min-width: 897px) {
  .footer__linkwrap--cvwrap .cvbtn:hover {
    background: white;
    color: #EF813B;
    border: 2px solid #EF813B;
  }
}
.footer__foot {
  padding-top: 1.1428571429vw;
  border-top: 1px solid #F3F3F3;
  margin-top: 2.8571428571vw;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 897px) {
  .footer__foot {
    justify-content: space-between;
  }
}
@media screen and (max-width: 896px) {
  .footer__foot {
    margin-top: 10vw;
    gap: 6vw;
    padding-top: 10vw;
    flex-direction: column;
  }
}
.footer__foot--pplink {
  font-size: 0.7857142857vw;
  letter-spacing: 0.01em;
  transition: all 0.3s;
}
@media screen and (max-width: 896px) {
  .footer__foot--pplink {
    text-decoration: underline;
  }
}
@media screen and (min-width: 897px) {
  .footer__foot--pplink:hover {
    color: #EF813B;
  }
}
@media screen and (max-width: 896px) {
  .footer__foot--pplink {
    font-size: 2.9333333333vw;
  }
}
.footer__foot--copyr {
  font-size: 0.7857142857vw;
}
@media screen and (max-width: 896px) {
  .footer__foot--copyr {
    font-size: 2.9333333333vw;
  }
}

.cv_wrap {
  position: relative;
}
.cv_wrap .round-wrap {
  position: absolute;
  width: 35.1428571429vw;
  height: 32.3571428571vw;
  bottom: -10.7142857143vw;
  left: -8.8571428571vw;
}
@media screen and (max-width: 896px) {
  .cv_wrap .round-wrap {
    width: 60vw;
    height: 50vw;
    left: -20vw;
  }
}

.common_cv {
  overflow: hidden;
  width: 92.5714285714vw;
  position: relative;
  z-index: 4;
  margin-inline: auto;
  display: flex;
  border-radius: 1000vw;
  height: 24.3571428571vw;
  display: flex;
  padding-inline: 11vw 10.2142857143vw;
  background: url(../../img/common/cv/bg_cv01.webp) no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 897px) {
  .common_cv {
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 896px) {
  .common_cv {
    height: auto;
    border-radius: 30px;
    padding: 15vw 5vw;
    background-position: 66% 50%;
    align-items: center;
    flex-direction: column;
    gap: 10vw;
    width: 90%;
  }
}
.common_cv__txtbox {
  display: flex;
  flex-direction: column;
  gap: 3.4285714286vw;
}
@media screen and (max-width: 896px) {
  .common_cv__txtbox {
    align-items: center;
    gap: 4vw;
  }
}
.common_cv__txtbox--ttl {
  display: flex;
  flex-direction: column;
  gap: 1.2857142857vw;
  color: white;
}
@media screen and (max-width: 896px) {
  .common_cv__txtbox--ttl {
    align-items: center;
    gap: 2vw;
  }
}
.common_cv__txtbox--ttl .en {
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .common_cv__txtbox--ttl .en {
    font-size: 3.7333333333vw;
  }
}
.common_cv__txtbox--ttl .jp {
  font-size: 3.4285714286vw;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .common_cv__txtbox--ttl .jp {
    font-size: 6.4vw;
  }
}
.common_cv__txtbox .lead {
  color: white;
}
@media screen and (max-width: 896px) {
  .common_cv__txtbox .lead {
    text-align: center;
  }
}
.common_cv__linkwrap {
  display: flex;
  flex-direction: column;
  gap: 1.1428571429vw;
}
@media screen and (min-width: 897px) {
  .common_cv__linkwrap {
    width: 25.1428571429vw;
  }
}
@media screen and (max-width: 896px) {
  .common_cv__linkwrap {
    align-items: center;
    gap: 4vw;
  }
}
.common_cv__linkwrap .telbox {
  display: flex;
  align-items: center;
  gap: 0.2857142857vw;
  color: white;
}
@media screen and (max-width: 896px) {
  .common_cv__linkwrap .telbox {
    gap: 2vw;
  }
}
.common_cv__linkwrap .telbox .num {
  letter-spacing: 0.07em;
  font-size: 3vw;
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
}
@media screen and (max-width: 896px) {
  .common_cv__linkwrap .telbox .num {
    font-size: 7.4666666667vw;
  }
}
.common_cv__linkwrap .telbox .icon {
  width: 2.6428571429vw;
}
@media screen and (max-width: 896px) {
  .common_cv__linkwrap .telbox .icon {
    width: 6.9333333333vw;
  }
}

.underline {
  position: relative;
}
.underline::after {
  content: "";
  background: #dadada;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -4px;
  left: 0;
  transform: scale(0, 1);
  transition: transform 0.3s;
  transform-origin: right top;
}
@media screen and (min-width: 897px) {
  .underline:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}

.svg_anim svg {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  width: 100%;
  height: auto;
}
.svg_anim svg path {
  fill: none;
  stroke: #EF813B;
  stroke-width: 1px;
}
.svg_anim.on svg {
  transition: stroke-dashoffset 1s;
  stroke-dashoffset: 2000;
}

.fade_y {
  transform: translateY(10px);
  opacity: 0;
}
.fade_y.on {
  opacity: 1;
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 1), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 1);
  transform: translateY(0%);
}

.txt_y {
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 896px) {
  .txt_y.pc {
    display: none;
  }
}
@media screen and (min-width: 897px) {
  .txt_y.sp {
    display: none;
  }
}
.txt_y > span {
  transform: translateY(100%);
  opacity: 0;
  display: block;
}
.txt_y.on span {
  transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 1);
  opacity: 1;
  transform: translateY(0%);
}

.rich_fade {
  opacity: 0;
  filter: blur(10px);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 1);
}
.rich_fade.on {
  opacity: 1;
  filter: blur(0);
}

.img_anim {
  overflow: hidden;
}
.img_anim img {
  opacity: 0;
  transform: scale(1.1);
  transition: 1s cubic-bezier(0.25, 0.46, 0.45, 1);
}
.img_anim.on img {
  opacity: 1;
  transform: scale(1);
}

.scr_cvr {
  overflow: hidden;
  width: max-content;
  position: relative;
  display: block;
  color: #FBFBFB;
  opacity: 0;
  padding: 0.1em 0.15em;
  transition: 0.5s;
  background: #EF813B;
  font-weight: bold;
}
.scr_cvr::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: 1;
  background-color: #EF813B;
  transition: all 0.6s cubic-bezier(0.5, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.scr_cvr.on {
  opacity: 1;
}
.scr_cvr.on::before {
  translate: 100% 0;
  transition-delay: 0.3s;
}

.bgroop {
  animation: bgroop 30s linear infinite;
}

@keyframes bgroop {
  from {
    background-position: 0 -10vh;
  }
  to {
    background-position: 100vw -100vh;
  }
}
.bgroop_y {
  animation: bgMoveY 400s linear infinite;
}

@keyframes bgMoveY {
  0% {
    background-position-Y: 0;
  }
  100% {
    background-position-Y: 12000px;
  }
}
@keyframes bgMove {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -30000px;
  }
}
.txt_loop {
  overflow: hidden;
}
.txt_loop_box {
  width: 100%;
  width: 100%;
  background: url(../../img/top/loop_specon.webp) repeat-x;
  background-size: auto 100%;
  animation: bgMove 600s infinite linear;
  height: 11.5714285714vw;
}
@media screen and (max-width: 896px) {
  .txt_loop_box {
    height: 17vw;
  }
}

.service__feature {
  padding: 6.8571428571vw 7.4285714286vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 4;
  gap: 6.8571428571vw;
}
@media screen and (max-width: 896px) {
  .service__feature {
    border-radius: 30px;
    padding: 20vw 5vw 0;
    gap: 10vw;
  }
}
.service__feature .round-wrap {
  position: absolute;
}
.service__feature .round-wrap.round01 {
  width: 35.1428571429vw;
  height: 32.3571428571vw;
  top: 37.2142857143vw;
  left: -8.8571428571vw;
}
@media screen and (max-width: 896px) {
  .service__feature .round-wrap.round01 {
    top: 127.214286vw;
  }
}
.service__feature .round-wrap.round02 {
  width: 42.2857142857vw;
  height: 38.9285714286vw;
  top: 54.7142857143vw;
  left: -23vw;
}
@media screen and (max-width: 896px) {
  .service__feature .round-wrap.round02 {
    top: 144.714286vw;
  }
}
.service__feature .round-wrap.round03 {
  width: 42.2857142857vw;
  height: 38.9285714286vw;
  bottom: -3.8571428571vw;
  right: -5.4285714286vw;
}
.service__feature .common_h2 {
  position: relative;
  z-index: 4;
}
.service__feature .feature__wrap {
  display: flex;
  position: relative;
  z-index: 4;
  flex-direction: column;
  gap: 5.1428571429vw;
  width: 100%;
}
@media screen and (max-width: 896px) {
  .service__feature .feature__wrap {
    gap: 14vw;
  }
}
.service__feature .feature__box {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 897px) {
  .service__feature .feature__box {
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box {
    flex-direction: column-reverse;
    gap: 6vw;
  }
}
@media screen and (min-width: 897px) {
  .service__feature .feature__box:nth-of-type(2n) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 897px) {
  .service__feature .feature__box:nth-of-type(2n) .feature__box--txtbox {
    padding-right: 5vw;
    padding-left: 0;
  }
}
.service__feature .feature__box--imgbox {
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (min-width: 897px) {
  .service__feature .feature__box--imgbox {
    width: 36.4285714286vw;
  }
}
.service__feature .feature__box--txtbox {
  padding-top: 1.1428571429vw;
}
@media screen and (min-width: 897px) {
  .service__feature .feature__box--txtbox {
    width: 43.7142857143vw;
    padding-left: 5vw;
  }
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box--txtbox {
    padding-inline: 4vw;
  }
}
.service__feature .feature__box--txtbox .num {
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
  position: relative;
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box--txtbox .num {
    font-size: 3.7333333333vw;
  }
}
.service__feature .feature__box--txtbox .num .inner {
  position: relative;
  z-index: 3;
}
.service__feature .feature__box--txtbox .num::before {
  content: "";
  background-color: #F6CB1A;
  width: 1.7142857143vw;
  height: 1.5714285714vw;
  position: absolute;
  top: 50%;
  left: 103%;
  translate: -50% -50%;
  border-radius: 80% 70% 60% 40%;
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box--txtbox .num::before {
    width: 5.3333333333vw;
    height: 4.8vw;
  }
}
.service__feature .feature__box--txtbox .num.type_orange::before {
  background-color: #EF813B;
}
.service__feature .feature__box--txtbox .ttl {
  margin-top: 2.8571428571vw;
  font-size: 2.1428571429vw;
  letter-spacing: 0.07em;
  line-height: 1.55;
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box--txtbox .ttl {
    font-size: 5.8666666667vw;
  }
}
.service__feature .feature__box--txtbox .ttl .small {
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .service__feature .feature__box--txtbox .ttl .small {
    font-size: 3.7333333333vw;
  }
}
.service__feature .feature__box--txtbox .lead {
  margin-top: 1.7142857143vw;
}
.service__service {
  overflow: hidden;
  padding: 11.4285714286vw 7.4285714286vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  gap: 6.8571428571vw;
}
@media screen and (max-width: 896px) {
  .service__service {
    padding: 20vw 5vw;
    gap: 10vw;
  }
}
.service__service .round-wrap {
  position: absolute;
}
.service__service .round-wrap.round01 {
  width: 42.2857142857vw;
  height: 38.9285714286vw;
  top: 57.214286vw;
  right: -5.4285714286vw;
}
@media screen and (max-width: 896px) {
  .service__service .round-wrap.round01 {
    top: 127.214286vw;
  }
}
.service__service .round-wrap.round02 {
  width: 44.0714285714vw;
  height: 40.2142857143vw;
  bottom: 9.0714285714vw;
  left: -6.3571428571vw;
}
.service__service .service__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6.5714285714vw 0;
  width: 100%;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 896px) {
  .service__service .service__wrap {
    gap: 14vw;
  }
}
.service__service .service__box {
  display: flex;
  flex-direction: column;
  gap: 2.2857142857vw;
}
@media screen and (min-width: 897px) {
  .service__service .service__box {
    width: 40.5vw;
  }
}
@media screen and (max-width: 896px) {
  .service__service .service__box {
    gap: 6.7vw;
  }
}
.service__service .service__box--imgbox {
  border-radius: 21px;
  overflow: hidden;
}
.service__service .service__box--txtbox {
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
@media screen and (max-width: 896px) {
  .service__service .service__box--txtbox {
    gap: 4vw;
    padding-inline: 4vw;
  }
}
.service__service .service__box--txtbox dt {
  position: relative;
  padding-left: 1.7857142857vw;
  font-size: 2.1428571429vw;
  letter-spacing: 0.07em;
  font-weight: 700;
}
@media screen and (max-width: 896px) {
  .service__service .service__box--txtbox dt {
    font-size: 5.8666666667vw;
    padding-left: 4vw;
  }
}
.service__service .service__box--txtbox dt::before {
  content: "";
  background-color: #EF813B;
  width: 1vw;
  height: 0.8571428571vw;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -50% -50%;
  border-radius: 70% 70% 60% 50%;
}
@media screen and (max-width: 896px) {
  .service__service .service__box--txtbox dt::before {
    width: 2.6666666667vw;
    height: 2.1333333333vw;
  }
}
.service__service .service__box--txtbox dd .guide {
  margin-top: 1vw;
  font-size: 1vw;
  display: block;
}
@media screen and (max-width: 896px) {
  .service__service .service__box--txtbox dd .guide {
    font-size: 3.2vw;
  }
}
.service__service .service__box:nth-of-type(2n) .service__box--txtbox dt::before {
  background-color: #F6CB1A;
}
.service__area {
  display: flex;
  flex-direction: column;
  position: relative;
  align-items: center;
  gap: 6.8571428571vw;
}
@media screen and (max-width: 896px) {
  .service__area {
    gap: 10vw;
  }
}
.service__area .round-wrap {
  position: absolute;
  width: 35.7142857143vw;
  height: 35.7142857143vw;
  top: 10.8571428571vw;
  right: -16.0714285714vw;
}
@media screen and (max-width: 896px) {
  .service__area .round-wrap {
    top: auto;
    bottom: -5vw;
  }
}
.service__area .area__box {
  display: flex;
  justify-content: space-between;
  width: 73.4285714286vw;
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 896px) {
  .service__area .area__box {
    flex-direction: column;
    gap: 6vw;
    width: 90%;
  }
}
.service__area .area__box--imgbox {
  border-radius: 65px;
  overflow: hidden;
}
@media screen and (min-width: 897px) {
  .service__area .area__box--imgbox {
    width: 38.9285714286vw;
  }
}
@media screen and (max-width: 896px) {
  .service__area .area__box--imgbox {
    border-radius: 30px;
  }
}
.service__area .area__box--txtbox {
  padding-top: 2.2857142857vw;
}
@media screen and (min-width: 897px) {
  .service__area .area__box--txtbox {
    width: 27.4285714286vw;
  }
}
.service__area .area__box--txtbox .ttl {
  font-weight: 700;
  letter-spacing: 0.07em;
  font-size: 2.1428571429vw;
  position: relative;
  padding-left: 2.2142857143vw;
}
@media screen and (max-width: 896px) {
  .service__area .area__box--txtbox .ttl {
    font-size: 5.8666666667vw;
    padding-left: 5.8666666667vw;
  }
}
.service__area .area__box--txtbox .ttl::before {
  content: "";
  background-color: #F6CB1A;
  width: 1vw;
  height: 0.9285714286vw;
  position: absolute;
  top: 50%;
  left: 0;
  translate: -50% -50%;
  border-radius: 70% 70% 60% 50%;
}
@media screen and (max-width: 896px) {
  .service__area .area__box--txtbox .ttl::before {
    width: 2.6666666667vw;
    height: 2.1333333333vw;
    left: 1.6vw;
  }
}
.service__area .area__box--txtbox .arealist {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0714285714vw 1.1428571429vw;
  margin-top: 4vw;
}
@media screen and (max-width: 896px) {
  .service__area .area__box--txtbox .arealist {
    gap: 3vw;
    margin-top: 4vw;
  }
}
.service__area .area__box--txtbox .arealist li {
  width: 7.3571428571vw;
  height: 2.8571428571vw;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #EF813B;
  letter-spacing: 0.01em;
  background: white;
  border: 1px solid #EF813B;
  font-size: 1.2857142857vw;
}
@media screen and (max-width: 896px) {
  .service__area .area__box--txtbox .arealist li {
    font-size: 3.7333333333vw;
    height: 7.7vw;
    width: 30%;
  }
}
.service__area .area__box--txtbox .lead {
  margin-top: 2.2857142857vw;
}
@media screen and (max-width: 896px) {
  .service__area .area__box--txtbox .lead {
    margin-top: 4vw;
  }
}
.service__flow {
  padding: 11.4285714286vw 3.7142857143vw;
}
@media screen and (max-width: 896px) {
  .service__flow {
    padding: 15vw 5vw 20vw;
  }
}
.service__flow .flow__link {
  background: white;
  position: relative;
  display: flex;
  border: 2px solid white;
  transition: all 0.3s;
  align-items: center;
  gap: 3.7142857143vw;
  padding: 3.7142857143vw;
  border-radius: 20px;
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link {
    flex-direction: column;
    padding: 6vw 5vw 10vw;
    gap: 6vw;
  }
}
.service__flow .flow__link--imgbox {
  overflow: hidden;
  border-radius: 10px;
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link--imgbox {
    width: 36.4285714286vw;
  }
}
.service__flow .flow__link--imgbox img {
  transition: all 0.3s;
}
.service__flow .flow__link--txtbox {
  display: flex;
  flex-direction: column;
  gap: 2vw;
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link--txtbox {
    width: 34.1428571429vw;
  }
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link--txtbox {
    gap: 4vw;
  }
}
.service__flow .flow__link--txtbox .ttl {
  display: flex;
  flex-direction: column;
  gap: 1.1428571429vw;
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link--txtbox .ttl {
    gap: 2vw;
  }
}
.service__flow .flow__link--txtbox .ttl .en {
  color: #F6CB1A;
  font-size: 1.1428571429vw;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link--txtbox .ttl .en {
    font-size: 3.7333333333vw;
  }
}
.service__flow .flow__link--txtbox .ttl .jp {
  font-size: 2.8571428571vw;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link--txtbox .ttl .jp {
    font-size: 5.8666666667vw;
  }
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link .basebtn {
    display: none;
  }
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link .arrow {
    position: absolute;
    top: 50%;
    right: 3.7142857143vw;
    width: 5.7142857143vw;
    height: 5.7142857143vw;
    border-radius: 50%;
    background: #EF813B;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #EF813B;
    transition: all 0.3s;
    translate: 0 -50%;
  }
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link .arrow.pc {
    display: none;
  }
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link .arrow img {
    width: 2.1428571429vw;
    filter: brightness(0) invert(1);
    transition: all 0.3s;
  }
}
@media screen and (max-width: 896px) {
  .service__flow .flow__link .arrow img {
    width: 4vw;
  }
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link:hover {
    border: 2px solid #EF813B;
  }
}
.service__flow .flow__link:hover .arrow {
  background: #FBFBFB;
  border: 2px solid #EF813B;
}
.service__flow .flow__link:hover .arrow img {
  filter: brightness(1) invert(0);
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link:hover .flow__link--txtbox .arrow {
    background: #FBFBFB;
  }
  .service__flow .flow__link:hover .flow__link--txtbox .arrow img {
    filter: brightness(1) invert(0);
  }
}
@media screen and (min-width: 897px) {
  .service__flow .flow__link:hover .flow__link--imgbox img {
    transform: scale(1.1);
  }
}

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