@charset "UTF-8";
/*---------------------------------------------
  Browser Default Initialization
---------------------------------------------*/
body {
  word-break: break-all;
  text-align: justify;
}

body,
div,
dl,
dt,
dd,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
hgroup,
header,
address,
figure,
figcaption {
  margin: 0;
  padding: 0;
  line-height: 1.8;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

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

caption,
th {
  text-align: left;
}

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

object,
embed {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

img {
  width: 100%;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

ul li {
  list-style-type: none;
}

a,
button,
input,
textarea {
  outline: none;
  text-decoration: none;
}

@media all and (max-width: 600px) {
  img {
    max-width: 100%;
    height: auto;
  }
}

/*---------------------------------------------
  FontSize Initialization
---------------------------------------------*/
html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #00205c;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.side,
.side-left,
.side-right,
.side-left-inner,
.side-right-inner {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.side {
  background: #fcf0f6;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  /* 100vhでもOK */
  overflow: hidden;
}

.side-fv {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fcf0f6;
  z-index: 3;
}

/* 左右共通 */
.side-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}

.side-left .half {
  display: none;
}

@media (min-width: 601px) and (max-width: 1025px) {
  .side-left {
    width: 100%;
  }
  .side-left .half {
    display: block;
  }
  .side-left .max {
    display: none;
  }
}

.side-right {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 2;
  right: 0;
  top: 0;
  -webkit-mask-image: url("../img/bg_mask_mv.webp");
          mask-image: url("../img/bg_mask_mv.webp");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center center;
          mask-position: center center;
  pointer-events: none;
  opacity: 0;
}

@media (min-width: 601px) and (max-width: 1025px) {
  .side-right {
    display: none;
  }
}

.side-left,
.side-right {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.side-left-inner,
.side-right-inner {
  height: 200%;
  -webkit-animation: moveUp 40s linear infinite;
          animation: moveUp 40s linear infinite;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 200%;
}

.side-left-inner img:first-child,
.side-right-inner img:first-child {
  -webkit-transform: scaleY(1.01);
          transform: scaleY(1.01);
  -webkit-transform-origin: top;
          transform-origin: top;
}

.side-right-inner img,
.side-left-inner img {
  width: 100%;
  display: block;
  margin-top: -2px;
}

/* 下から上 */
.side-left-inner {
  -webkit-animation: none !important;
          animation: none !important;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* 上から下 */
.side-right-inner {
  -webkit-animation: none !important;
          animation: none !important;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

@-webkit-keyframes moveUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, calc(-50% - 2px), 0);
            transform: translate3d(0, calc(-50% - 2px), 0);
  }
}

@keyframes moveUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, calc(-50% - 2px), 0);
            transform: translate3d(0, calc(-50% - 2px), 0);
  }
}

@-webkit-keyframes moveDown {
  from {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes moveDown {
  from {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* PCのみ表示 */
@media (max-width: 500px) {
  .u-pc-only {
    display: none;
  }
}

/* PCだけ表示、スマホでは非表示にしたい場合 */
@media (max-width: 601px) {
  .u-pc-only {
    display: none;
  }
}

@media all and (max-width: 600px) {
  .u-pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 601px), print {
  .u-sp-only {
    display: none !important;
  }
}

.p-btn-fixed {
  display: block;
  position: fixed;
  right: -27.5vw;
  bottom: 3.33333vw;
  width: 27.08333vw;
  z-index: 15;
  -webkit-transition: 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.p-btn-fixed.act {
  right: 0vw;
}

.u-move {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.u-move.mtype2 {
  -webkit-transition: 0.8s 0.4s;
  transition: 0.8s 0.4s;
}

.u-move.mtype3 {
  -webkit-transition: 0.8s 0.6s;
  transition: 0.8s 0.6s;
}

.u-move.mtype4 {
  -webkit-transition: 0.8s 0.8s;
  transition: 0.8s 0.8s;
}

.u-move.act {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.u-movetxt span {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.u-movetxt span:nth-of-type(1) {
  -webkit-transition: 0.8s 0.4s;
  transition: 0.8s 0.4s;
}

.u-movetxt span:nth-of-type(2) {
  -webkit-transition: 0.8s 0.6s;
  transition: 0.8s 0.6s;
}

.u-movetxt span:nth-of-type(3) {
  -webkit-transition: 0.8s 0.8s;
  transition: 0.8s 0.8s;
}

.u-movetxt.act span {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.u-circle {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
  -webkit-transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.2s;
  transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.2s;
}

.u-circle.ctype2 {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
}

.u-circle.type3 {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s;
  transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s;
}

.u-circle.act {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.u-moji {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.2s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.2s;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.u-moji.type2 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.4s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.4s;
}

.u-moji.type3 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.6s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.6s;
}

.u-moji.type4 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.8s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.8s;
}

.u-moji.act {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
          clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}

@media screen and (min-width: 601px), print {
  .p-wrap {
    margin: 95vh 0 0;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 590px 1fr;
        grid-template-columns: 1fr 590px 1fr;
  }
}

@media (min-width: 768px) and (max-width: 1025px) {
  .p-wrap {
    margin: 0;
    -ms-grid-columns: 1fr 545px;
        grid-template-columns: 1fr 545px;
  }
  .p-wrap .p-side {
    display: none;
  }
  .p-wrap .p-topwrap:after {
    display: none;
  }
  .p-wrap .p-topwrap {
    padding: 0 0 0 45px;
    max-width: 545px;
  }
  .p-wrap .l-header {
    display: block !important;
    opacity: 1 !important;
  }
}

@media (min-width: 601px) and (max-width: 768px) {
  .p-wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
  }
  .p-wrap .l-header {
    display: none;
  }
}

@-webkit-keyframes floatMove {
  0% {
    -webkit-transform: translate3d(0px, -5px, 0);
            transform: translate3d(0px, -5px, 0);
  }
  20% {
    -webkit-transform: translate3d(3px, 0px, 0);
            transform: translate3d(3px, 0px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -14px, 0);
            transform: translate3d(0px, -14px, 0);
  }
  70% {
    -webkit-transform: translate3d(2px, 0px, 0);
            transform: translate3d(2px, 0px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, -5px, 0);
            transform: translate3d(0px, -5px, 0);
  }
}

@keyframes floatMove {
  0% {
    -webkit-transform: translate3d(0px, -5px, 0);
            transform: translate3d(0px, -5px, 0);
  }
  20% {
    -webkit-transform: translate3d(3px, 0px, 0);
            transform: translate3d(3px, 0px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -14px, 0);
            transform: translate3d(0px, -14px, 0);
  }
  70% {
    -webkit-transform: translate3d(2px, 0px, 0);
            transform: translate3d(2px, 0px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, -5px, 0);
            transform: translate3d(0px, -5px, 0);
  }
}

@-webkit-keyframes floatMove2 {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(-3px, 4px, 0);
            transform: translate3d(-3px, 4px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  70% {
    -webkit-transform: translate3d(-2px, 6px, 0);
            transform: translate3d(-2px, 6px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

@keyframes floatMove2 {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(-3px, 4px, 0);
            transform: translate3d(-3px, 4px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  70% {
    -webkit-transform: translate3d(-2px, 6px, 0);
            transform: translate3d(-2px, 6px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

@-webkit-keyframes floatMovepc {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -30px, 0);
            transform: translate3d(0px, -30px, 0);
  }
  80% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

@keyframes floatMovepc {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, -30px, 0);
            transform: translate3d(0px, -30px, 0);
  }
  80% {
    -webkit-transform: translate3d(0px, -10px, 0);
            transform: translate3d(0px, -10px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

@-webkit-keyframes floatMove2pc {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(-5px, -10px, 0);
            transform: translate3d(-5px, -10px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, 20px, 0);
            transform: translate3d(0px, 20px, 0);
  }
  80% {
    -webkit-transform: translate3d(-7px, -6px, 0);
            transform: translate3d(-7px, -6px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

@keyframes floatMove2pc {
  0% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
  20% {
    -webkit-transform: translate3d(-5px, -10px, 0);
            transform: translate3d(-5px, -10px, 0);
  }
  45% {
    -webkit-transform: translate3d(0px, 20px, 0);
            transform: translate3d(0px, 20px, 0);
  }
  80% {
    -webkit-transform: translate3d(-7px, -6px, 0);
            transform: translate3d(-7px, -6px, 0);
  }
  100% {
    -webkit-transform: translate3d(0px, 0px, 0);
            transform: translate3d(0px, 0px, 0);
  }
}

.p-pcmv__tit {
  margin: 10px 0 0;
}

.p-pcmv__txt {
  margin: 10px 0 0;
}

.p-pcmv__txt2 {
  margin: 10px 0 0;
}

.p-pcmv__txt3 {
  margin: 10px 0 0;
}

.p-pcmv__txt4 {
  margin: 10px 0 0;
}

body.in1 .p-pcmv__tit {
  opacity: 1;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  margin: 0px 0 0;
}

body.in1 .p-mv__tit {
  opacity: 1;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  margin: 0px 0 0;
}

.p-pcmv__photo,
.p-pcmv__photo2 {
  -webkit-filter: saturate(0.5);
          filter: saturate(0.5);
}

body.in2 .side-fv {
  opacity: 0;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

body.in2 .side-left {
  opacity: 1;
  -webkit-transition: 1.2s;
  transition: 1.2s;
}

body.in2 .side-right {
  opacity: 1;
  -webkit-transition: 1.2s;
  transition: 1.2s;
}

body.in2 .p-mv:before {
  opacity: 1;
  -webkit-transition: 2s;
  transition: 2s;
}

body.in3 .p-pcmv__photo {
  -webkit-filter: saturate(1);
          filter: saturate(1);
  opacity: 1;
  -webkit-transition: 3.5s;
  transition: 3.5s;
  -webkit-animation: floatMove2pc 12s ease-in-out infinite;
          animation: floatMove2pc 12s ease-in-out infinite;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

body.in3 .p-pcmv__photo2 {
  -webkit-filter: saturate(1);
          filter: saturate(1);
  opacity: 1;
  -webkit-transition: 3.5s;
  transition: 3.5s;
  -webkit-animation: floatMovepc 15s ease-in-out infinite;
          animation: floatMovepc 15s ease-in-out infinite;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

body.in3 .p-pcmv__txt {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
  margin: 0px 0 0;
}

body.in3 .p-pcmv__txt2 {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
  margin: 0px 0 0;
}

body.in3 .p-pcmv__logo {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

body.in3 .p-pcmv__txt3 {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
  margin: 0px 0 0;
}

body.in3 .p-pcmv__txt4 {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
  margin: 0px 0 0;
}

body.in3 .p-pcmv .u-parts01 {
  margin: 0px 0 0;
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

body.in3 .p-mv__photo {
  opacity: 1;
  -webkit-transition: 3.5s;
  transition: 3.5s;
  -webkit-animation: floatMove 9s ease-in-out infinite;
          animation: floatMove 9s ease-in-out infinite;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

body.in3 .p-mv__photo2 {
  opacity: 1;
  -webkit-transition: 3.5s;
  transition: 3.5s;
  -webkit-animation: floatMove2 10s ease-in-out infinite;
          animation: floatMove2 10s ease-in-out infinite;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

body.in3 .p-mv__txt {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

body.in3 .p-mv__txt2 {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

body.in3 .p-mv__logo {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

body.in3 .p-mv .u-parts01 {
  opacity: 1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

.h660 .l-header {
  margin: 0 -50px 0 0px;
}

.h660 .l-header-nav,
.h660 .p-side__ico {
  display: none;
}

.h660 .l-header-item {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  bottom: auto;
  margin: -20px -20px 0 0px;
}

.h660 .p-side-item {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  bottom: auto;
  margin: -20px 0 0;
}

@media (min-width: 601px) and (max-width: 1025px) {
  .h660 .l-header-items {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    bottom: auto;
    margin: 0px 0px 0 0px;
    padding: 0 20px;
  }
  .h660 .l-header-item {
    left: auto;
    top: auto;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

.l-header {
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}

.l-header.act {
  opacity: 1;
}

.l-header.first {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.l-header__logo {
  opacity: 1;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

@media screen and (min-width: 601px), print {
  .l-header {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: -webkit-sticky;
    position: sticky;
    height: 100vh;
    top: 0;
    z-index: 4;
  }
  .l-header .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  .l-header__logo {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 113px;
  }
  .l-header-nav {
    padding: 70px 0 0 70px;
    position: relative;
    z-index: 5;
  }
  .l-header-nav-lists {
    text-align: left;
  }
  .l-header-nav-list {
    margin: 6px -100px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .l-header-nav-list:hover span, .l-header-nav-list.act span {
    color: #fff;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .l-header-nav-list:hover span:before, .l-header-nav-list.act span:before {
    background: #fff;
  }
  .l-header-nav-list span {
    position: relative;
    display: inline-block;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #546db8;
    font-size: 17px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .l-header-nav-list span:before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    left: -14px;
    top: 50%;
    margin: -3.5px 0 0;
    border-radius: 10px;
    background: transparent;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .l-header-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 44px;
    max-width: 250px;
    width: 100%;
    margin: 0 0 0 20px;
  }
  .l-header-item.type2 {
    display: none;
  }
  .l-header-item-btns {
    margin: 20px auto 0;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 11px;
    width: 100%;
    max-width: 211px;
  }
  .l-header-item-btn {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 40px;
    max-width: 100px;
    width: 100%;
    height: 32px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .l-header-item-btn span {
    display: inline-block;
    color: #d0619d;
    font-size: 14px;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    padding: 0 0 1px;
  }
  .l-header-item-btn.col2 span {
    color: #546db8;
  }
  .l-header-item-btn:hover {
    background: #f1d1e3;
  }
  .l-header-item-btn.col2:hover {
    background: #ccd3ea;
  }
}

@media (min-width: 601px) and (max-width: 1025px) {
  .l-header-nav-list {
    margin: 4px 0 0;
  }
  .l-header-nav-list span {
    font-size: 17px;
    padding: 0 0 1px;
  }
  .l-header-items {
    position: absolute;
    bottom: 0px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    left: 50%;
    width: 100%;
    max-width: 330px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .l-header-item {
    position: relative;
    left: auto;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    max-width: 150px;
  }
  .l-header-item.type2 {
    display: block;
  }
  .l-header-item > figure {
    margin: 0 -28px 0;
  }
  .l-header-item-btns {
    margin: 20px auto 0;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr);
    gap: 11px;
    width: 100%;
    max-width: 150px;
  }
  .l-header-item-btn {
    max-width: 150px;
  }
}

@media (min-width: 601px) and (max-width: 768px) {
  .l-header-nav {
    display: none;
  }
}

@media screen and (min-width: 601px), print {
  .p-side {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: -webkit-sticky;
    position: sticky;
    height: 100vh;
    top: 0;
    z-index: 7;
    overflow: hidden;
    margin: 0 0 0 -50px;
    opacity: 0;
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
  }
  .p-side.act {
    opacity: 1;
  }
  .p-side.first {
    -webkit-transition-delay: 0.8s;
            transition-delay: 0.8s;
  }
  .p-side__ico {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: 206.5px;
    height: 500px;
    top: 100px;
  }
  .p-side-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 44px;
    max-width: 250px;
    width: 100%;
    margin: 0 0px 0 0px;
  }
  .p-side-item > figure {
    pointer-events: none;
  }
  .p-side-item-btns {
    margin: 20px auto 0;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 11px;
    width: 100%;
    max-width: 211px;
  }
  .p-side-item-btn {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 40px;
    max-width: 100px;
    width: 100%;
    height: 32px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-side-item-btn span {
    display: inline-block;
    color: #546db8;
    font-size: 14px;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    padding: 0 0 1px;
  }
  .p-side-item-btn:hover {
    background: #ccd3ea;
  }
}

.p-pcmv {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 601px), print {
  .p-pcmv {
    width: 100%;
    min-height: 100vh;
    height: 49.30556vw;
  }
  .p-pcmv__logo {
    position: fixed;
    display: block;
    top: 34.7px;
    right: 38.5px;
    width: 97px;
    z-index: 10;
    opacity: 0;
  }
  .p-pcmv__inner {
    width: 100%;
    margin: 0 0 0;
    height: 49.30556vw;
    position: absolute;
    inset: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .p-pcmv__photo {
    position: absolute;
    display: block;
    top: -15.06944vw;
    left: 0vw;
    width: 43.75vw;
    z-index: 2;
    opacity: 0;
  }
  .p-pcmv__photo2 {
    position: absolute;
    display: block;
    top: 0vw;
    right: 0vw;
    width: 42.56944vw;
    z-index: 2;
    opacity: 0;
  }
  .p-pcmv__txt {
    position: absolute;
    display: block;
    top: 41.02083vw;
    left: 13.33333vw;
    width: 19.30486vw;
    z-index: 1;
    opacity: 0;
  }
  .p-pcmv__txt2 {
    position: absolute;
    display: block;
    top: 41.18056vw;
    right: 13.38194vw;
    width: 19.29097vw;
    z-index: 1;
    opacity: 0;
  }
  .p-pcmv__txt3 {
    position: absolute;
    display: block;
    top: -0.74306vw;
    left: 10.65972vw;
    width: 26.66667vw;
    opacity: 0;
  }
  .p-pcmv__txt4 {
    position: absolute;
    display: block;
    top: 18.24306vw;
    right: 9.51389vw;
    width: 26.66667vw;
    opacity: 0;
  }
  .p-pcmv__tit {
    position: absolute;
    display: block;
    inset: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 29.37917vw;
    height: 21.19631vw;
    opacity: 0;
  }
  .p-pcmv .u-parts01 {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 18.75vw;
    opacity: 0;
  }
  .p-pcmv .u-parts01:before {
    display: none;
  }
  .p-pcmv .u-parts01-box {
    height: 3.33333vw;
    border-radius: 1.04167vw 1.04167vw 0vw 0vw;
  }
  .p-pcmv .u-parts01-box .txt {
    font-size: 15.5px;
    font-size: 1.07639vw;
    width: 4.86111vw;
    height: 1.86667vw;
    padding: 0vw 0vw 0.13889vw 0vw;
    border-radius: 0.34722vw 0.34722vw 0.34722vw 0.34722vw;
  }
  .p-pcmv .u-parts01-box .txt2 {
    color: #6b6b7c;
    letter-spacing: 0.1em;
    font-size: 18.5px;
    font-size: 1.28472vw;
  }
  .p-pcmv .u-parts01-box2 {
    background: #fff;
    height: 3.05556vw;
  }
  .p-pcmv .u-parts01-box2 span {
    color: #6b6b7c;
    font-size: 15.6px;
    font-size: 1.08333vw;
  }
  .p-pcmv .u-parts01-box2.type1 {
    border-radius: 0vw 0vw 0vw 1.04167vw;
  }
  .p-pcmv .u-parts01-box2.type2 {
    border-radius: 0vw 0vw 1.04167vw 0vw;
  }
}

@media (min-width: 601px) and (max-width: 1025px) {
  .p-pcmv {
    display: none !important;
  }
  .p-pcmv__logo {
    display: none;
  }
}

.p-topwrap {
  position: relative;
}

@media screen and (min-width: 601px), print {
  .p-topwrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 590px;
            flex: 0 0 590px;
    max-width: 590px;
    margin: 0 auto 0;
    padding: 0 45px;
  }
  .p-topwrap__inner {
    position: relative;
    width: 100%;
  }
  .p-topwrap:before {
    content: "";
    position: absolute;
    z-index: 1;
    background: url(../img/bg_side_01.webp) top right repeat-y;
    background-size: 45px auto;
    width: 45px;
    height: 100%;
    top: 0;
    left: 0px;
  }
  .p-topwrap:after {
    content: "";
    position: absolute;
    z-index: 1;
    background: url(../img/bg_side_02.webp) top left repeat-y;
    background-size: 45px auto;
    width: 45px;
    height: 100%;
    top: 0;
    right: 0px;
  }
}

@media (min-width: 1026px) {
  .p-topwrap {
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0px, black 250px);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0px, black 250px);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: 0 250px;
    -webkit-mask-position: 0 250px;
  }
}

.p-mv {
  position: relative;
  background: #fcf0f6;
}

.p-mv__logo {
  position: absolute;
  display: block;
  opacity: 0;
  z-index: 8;
}

.p-mv__photo {
  position: absolute;
  display: block;
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.p-mv__photo2 {
  position: absolute;
  display: block;
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.p-mv__ico {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.p-mv__tit {
  opacity: 0;
  -webkit-transition: 1.3s;
  transition: 1.3s;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

.p-mv__tit {
  position: absolute;
  display: block;
  opacity: 0;
}

.p-mv__tit img {
  display: block;
}

.p-mv__txt {
  position: absolute;
  display: block;
  opacity: 0;
}

.p-mv__txt img {
  display: block;
}

.p-mv__txt2 {
  position: absolute;
  display: block;
  opacity: 0;
}

.p-mv__txt2 img {
  display: block;
}

.p-mv .u-parts01 {
  opacity: 0;
}

.p-mv .u-parts01-box .txt {
  letter-spacing: 0.1em;
  background: #6b6b7c;
}

.p-mv .u-parts01-box .txt2 {
  color: #6b6b7c;
  letter-spacing: 0.1em;
}

.p-mv .u-parts01-box2 {
  background: #fff;
}

.p-mv .u-parts01-box2 span {
  color: #6b6b7c;
}

@media all and (max-width: 600px) {
  .p-mv {
    min-height: 376.66667vw;
    overflow: hidden;
  }
  .p-mv:before {
    opacity: 0;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 376.66667vw;
    background: url(../img/bg_01.webp) top center no-repeat;
    background-size: cover;
  }
  .p-mv__inner {
    position: relative;
    min-height: 182.33333vw;
  }
  .p-mv__logo {
    top: 4.5vw;
    left: 4.5vw;
    width: 21.75667vw;
  }
  .p-mv__photo {
    top: 0vw;
    right: 0vw;
    width: 95.66667vw;
  }
  .p-mv__photo2 {
    top: 90.66667vw;
    left: 0vw;
    width: 96.83333vw;
  }
  .p-mv__txt {
    top: 29.8vw;
    left: 10.56667vw;
    width: 48vw;
  }
  .p-mv__txt2 {
    top: 144.33333vw;
    left: 42.98333vw;
    width: 47.98167vw;
  }
  .p-mv__tit {
    top: 72.5vw;
    left: 5.66667vw;
    width: 87.61167vw;
  }
  .p-mv .u-parts01 {
    position: absolute;
    top: 187vw;
    left: 15vw;
  }
}

@media (min-width: 1026px) {
  .p-mv {
    min-height: 1883.258px;
    background: url(../img/bg_01.webp) top -900px center no-repeat;
    background-size: contain;
  }
  .p-mv__inner {
    display: none !important;
  }
  .p-mv__logo {
    top: 22.4991px;
    left: 22.4991px;
    width: 108.77898px;
  }
  .p-mv__photo {
    top: 0px;
    right: 0px;
    width: 478.3142px;
  }
  .p-mv__photo2 {
    top: 453.3152px;
    left: 0px;
    width: 484.1473px;
  }
  .p-mv__txt {
    top: 148.99404px;
    left: 52.83122px;
    width: 239.9904px;
  }
  .p-mv__txt2 {
    top: 721.6378px;
    left: 214.90807px;
    width: 239.89874px;
  }
  .p-mv__tit {
    top: 374.80167px;
    left: 28.3322px;
    width: 438.04081px;
  }
}

@media (min-width: 768px) and (max-width: 1025px) {
  .p-mv {
    min-height: 1883.258px;
    overflow: hidden;
  }
  .p-mv:before {
    opacity: 0;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 1883.258px;
    background: url(../img/bg_01.webp) top center no-repeat;
    background-size: cover;
  }
  .p-mv__inner {
    position: relative;
    min-height: 911.6302px;
  }
  .p-mv__logo {
    top: 22.4991px;
    left: 22.4991px;
    width: 108.77898px;
  }
  .p-mv__photo {
    top: 0px;
    right: 0px;
    width: 478.3142px;
  }
  .p-mv__photo2 {
    top: 453.3152px;
    left: 0px;
    width: 484.1473px;
  }
  .p-mv__txt {
    top: 148.99404px;
    left: 52.83122px;
    width: 239.9904px;
  }
  .p-mv__txt2 {
    top: 721.6378px;
    left: 214.90807px;
    width: 239.89874px;
  }
  .p-mv__tit {
    top: 374.80167px;
    left: 28.3322px;
    width: 438.04081px;
  }
  .p-mv .u-parts01 {
    position: absolute;
    top: 934.9626px;
    left: 74.997px;
  }
}

@-webkit-keyframes fadeSwitch {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeSwitch {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes cloudMaskRotateScale {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@keyframes cloudMaskRotateScale {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@-webkit-keyframes cloudMaskRotateScalesp {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@keyframes cloudMaskRotateScalesp {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@-webkit-keyframes float {
  0% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
  50% {
    -webkit-transform: scale(1) translate(1px, -2px);
            transform: scale(1) translate(1px, -2px);
  }
  100% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
}

@keyframes float {
  0% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
  50% {
    -webkit-transform: scale(1) translate(1px, -2px);
            transform: scale(1) translate(1px, -2px);
  }
  100% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
}

@-webkit-keyframes moveDiagonal {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes maskMove {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  50% {
    -webkit-mask-size: 120% 115%;
    mask-size: 120% 115%;
  }
  100% {
    -webkit-mask-size: 105% 110%;
    mask-size: 105% 110%;
  }
}

@keyframes maskMove {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  50% {
    -webkit-mask-size: 120% 115%;
    mask-size: 120% 115%;
  }
  100% {
    -webkit-mask-size: 105% 110%;
    mask-size: 105% 110%;
  }
}

@-webkit-keyframes maskMove2 {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  45% {
    -webkit-mask-size: 100% 120%;
    mask-size: 100% 120%;
  }
  100% {
    -webkit-mask-size: 110% 105%;
    mask-size: 110% 105%;
  }
}

@keyframes maskMove2 {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  45% {
    -webkit-mask-size: 100% 120%;
    mask-size: 100% 120%;
  }
  100% {
    -webkit-mask-size: 110% 105%;
    mask-size: 110% 105%;
  }
}

@-webkit-keyframes maskMove3 {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  45% {
    -webkit-mask-size: 120% 110%;
    mask-size: 120% 110%;
  }
  100% {
    -webkit-mask-size: 100% 115%;
    mask-size: 100% 115%;
  }
}

@keyframes maskMove3 {
  0% {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  45% {
    -webkit-mask-size: 120% 110%;
    mask-size: 120% 110%;
  }
  100% {
    -webkit-mask-size: 100% 115%;
    mask-size: 100% 115%;
  }
}

@-webkit-keyframes silverShine {
  0% {
    -webkit-transform: translateX(-60%);
            transform: translateX(-60%);
  }
  66% {
    -webkit-transform: translateX(-60%);
            transform: translateX(-60%);
  }
  /* ← 2秒停止 */
  100% {
    -webkit-transform: translateX(60%);
            transform: translateX(60%);
  }
  /* ← 最後1秒で流れる */
}

@keyframes silverShine {
  0% {
    -webkit-transform: translateX(-60%);
            transform: translateX(-60%);
  }
  66% {
    -webkit-transform: translateX(-60%);
            transform: translateX(-60%);
  }
  /* ← 2秒停止 */
  100% {
    -webkit-transform: translateX(60%);
            transform: translateX(60%);
  }
  /* ← 最後1秒で流れる */
}

.u-parts01::before {
  content: "";
  position: absolute;
  inset: -10px -20px;
  border-radius: inherit;
  background: #000;
  background: radial-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
  -webkit-filter: blur(20px);
          filter: blur(20px);
  z-index: 0;
}

.u-parts01 {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
  gap: 5px;
}

.u-parts01-box {
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f7f7f7 0%, #e9e9e9 18%, #fdfdfd 35%, #dedede 52%, #f8f8f8 70%, #e2e2e2 100%);
  grid-column: 1 / -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-parts01-box .txt {
  position: relative;
  z-index: 2;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  background: #707070;
}

.u-parts01-box .txt2 {
  position: relative;
  z-index: 2;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.u-parts01-box::before {
  content: "";
  border-radius: inherit;
  position: absolute;
  inset: -40%;
  pointer-events: none;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 32%, rgba(255, 255, 255, 0.9) 38%, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, 0) 54%, rgba(255, 255, 255, 0.8) 60%, rgba(255, 255, 255, 0) 66%, rgba(255, 255, 255, 0) 100%);
  -webkit-transform: translateX(-60%);
          transform: translateX(-60%);
  -webkit-animation: silverShine 4s linear infinite;
          animation: silverShine 4s linear infinite;
  opacity: .8;
}

.u-parts01-box2 {
  position: relative;
  z-index: 2;
  background: #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-parts01-box2 span {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

@media all and (max-width: 600px) {
  .u-parts01 {
    margin: 3.66667vw auto 0vw;
    width: 70.5vw;
    gap: 0.83333vw;
  }
  .u-parts01-box {
    border-radius: 4.33333vw 4.33333vw 0vw 0vw;
    height: 11vw;
    gap: 3.33333vw;
  }
  .u-parts01-box .txt {
    border-radius: 1.33333vw 1.33333vw 1.33333vw 1.33333vw;
    width: 15.66667vw;
    height: 6vw;
    font-size: 20px;
    font-size: 3.33333vw;
  }
  .u-parts01-box .txt2 {
    font-size: 25px;
    font-size: 4.16667vw;
  }
  .u-parts01-box2 {
    height: 9.83333vw;
  }
  .u-parts01-box2.type1 {
    border-radius: 0vw 0vw 0vw 4.33333vw;
  }
  .u-parts01-box2.type2 {
    border-radius: 0vw 0vw 4.33333vw 0vw;
  }
  .u-parts01-box2 span {
    font-size: 21px;
    font-size: 3.5vw;
  }
}

@media screen and (min-width: 601px), print {
  .u-parts01 {
    margin: 18.3326px auto 0px;
    width: 352.4859px;
    gap: 4.1665px;
  }
  .u-parts01-box {
    border-radius: 21.6658px 21.6658px 0px 0px;
    height: 54.9978px;
    gap: 16.666px;
  }
  .u-parts01-box .txt {
    border-radius: 6.6664px 6.6664px 6.6664px 6.6664px;
    width: 78.3302px;
    height: 29.9988px;
    font-size: 20px;
    font-size: 16.666px;
  }
  .u-parts01-box .txt2 {
    font-size: 25px;
    font-size: 20.8325px;
  }
  .u-parts01-box2 {
    height: 49.1647px;
  }
  .u-parts01-box2.type1 {
    border-radius: 0px 0px 0px 21.6658px;
  }
  .u-parts01-box2.type2 {
    border-radius: 0px 0px 21.6658px 0px;
  }
  .u-parts01-box2 span {
    font-size: 21px;
    font-size: 17.4993px;
  }
}

.p-top01 {
  position: relative;
}

.p-top01__inner {
  position: relative;
  z-index: 2;
}

.p-top01__tit {
  display: block;
}

.p-top01__tit img {
  display: block;
}

.p-top01__tit2 {
  display: block;
}

.p-top01__tit2 img {
  display: block;
}

.p-top01__txt {
  text-align: center;
  color: #fff;
  line-height: 1.8;
}

@media all and (max-width: 600px) {
  .p-top01 {
    padding: 26.66667vw 0vw 0vw 0vw;
  }
  .p-top01__tit {
    margin: 28vw auto 0vw;
    width: 60.67333vw;
  }
  .p-top01__tit2 {
    margin: 0vw auto 0vw;
    width: 75vw;
  }
  .p-top01__txt {
    margin: 3.33333vw auto 0vw;
    font-size: 26px;
    font-size: 4.33333vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top01 {
    padding: 208.325px 0px 0px 0px;
    top: 0px;
  }
  .p-top01 .u-parts01 {
    margin: 49.998px auto 0px;
    width: 374.985px;
  }
  .p-top01 .u-parts01-box {
    height: 66.664px;
  }
  .p-top01 .u-parts01-box .txt {
    font-size: 26px;
    font-size: 21.6658px;
    width: 96.6628px;
    padding: 0px 0px 0px 0px;
  }
  .p-top01 .u-parts01-box .txt2 {
    font-size: 31px;
    font-size: 25.8323px;
  }
  .p-top01 .u-parts01-box2 {
    height: 60.8309px;
  }
  .p-top01 .u-parts01-box2 span {
    font-size: 26px;
    font-size: 21.6658px;
  }
  .p-top01__tit {
    margin: 0px auto 0px;
    width: 303.35453px;
  }
  .p-top01__tit2 {
    margin: 0px auto 0px;
    width: 374.985px;
  }
  .p-top01__txt {
    margin: 16.666px auto 0px;
    font-size: 26px;
    font-size: 21.6658px;
  }
}

.p-top02 {
  position: relative;
  -webkit-mask-image: url("../img/mask.webp");
          mask-image: url("../img/mask.webp");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: top;
          mask-position: top;
  width: 100%;
  display: block;
  -webkit-animation: maskMove2 6s ease-in-out infinite alternate;
          animation: maskMove2 6s ease-in-out infinite alternate;
}

.p-top02__inner {
  position: relative;
  z-index: 2;
}

.p-top02__inner:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_02.webp) top center no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.p-top02__photo {
  position: absolute;
  display: block;
}

.p-top02__photo img {
  display: block;
}

.p-top02__tit {
  position: absolute;
  display: block;
}

.p-top02__tit img {
  display: block;
}

.p-top02__txt {
  position: absolute;
  display: block;
}

.p-top02__txt img {
  display: block;
}

.p-top02__txt2 {
  position: absolute;
  display: block;
}

.p-top02__txt2 img {
  display: block;
}

.p-top02__txt3 {
  position: absolute;
  display: block;
}

.p-top02__txt3 img {
  display: block;
}

@media all and (max-width: 600px) {
  .p-top02 {
    min-height: 233.33333vw;
    top: -16.66667vw;
  }
  .p-top02__inner:before {
    min-height: 234vw;
  }
  .p-top02__photo {
    left: 0;
    top: 44.16667vw;
    width: 97.25vw;
  }
  .p-top02__tit {
    left: 15.33333vw;
    top: 61.33333vw;
    width: 69vw;
  }
  .p-top02__txt {
    left: 38.83333vw;
    top: 102vw;
    width: 40.66667vw;
  }
  .p-top02__txt2 {
    left: 53vw;
    top: 133.66667vw;
    width: 38.66667vw;
  }
  .p-top02__txt3 {
    left: 24.16667vw;
    top: 187.83333vw;
    width: 53.33333vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top02 {
    min-height: 1166.62px;
    top: -83.33px;
  }
  .p-top02__inner:before {
    min-height: 1169.9532px;
  }
  .p-top02__photo {
    left: 0;
    top: 220.8245px;
    width: 486.23055px;
  }
  .p-top02__tit {
    left: 76.6636px;
    top: 306.6544px;
    width: 344.9862px;
  }
  .p-top02__txt {
    left: 194.1589px;
    top: 509.9796px;
    width: 203.3252px;
  }
  .p-top02__txt2 {
    left: 264.9894px;
    top: 668.3066px;
    width: 193.3256px;
  }
  .p-top02__txt3 {
    left: 120.8285px;
    top: 939.1291px;
    width: 266.656px;
  }
}

.p-top03 {
  position: relative;
  z-index: 2;
}

.p-top03:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_03.webp) top center no-repeat #fff;
  background-size: cover;
  left: 0;
  z-index: 0;
  -webkit-mask-image: url("../img/mask2.webp");
          mask-image: url("../img/mask2.webp");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: top right;
          mask-position: top right;
  width: 100%;
  height: auto;
  display: block;
  -webkit-animation: maskMove 5s ease-in-out infinite alternate;
          animation: maskMove 5s ease-in-out infinite alternate;
}

.p-top03__inner {
  position: relative;
}

.p-top03__photo {
  position: absolute;
  display: block;
  z-index: 2;
}

.p-top03__photo img {
  display: block;
}

.p-top03__tit {
  position: absolute;
  display: block;
}

.p-top03__tit img {
  display: block;
}

.p-top03__txt {
  position: absolute;
  display: block;
  z-index: 1;
}

.p-top03__txt img {
  display: block;
}

.p-top03__txt2 {
  position: absolute;
  display: block;
  z-index: 3;
}

.p-top03__txt2 img {
  display: block;
}

.p-top03__txt3 {
  position: absolute;
  display: block;
}

.p-top03__txt3 img {
  display: block;
}

@media all and (max-width: 600px) {
  .p-top03 {
    min-height: 183.33333vw;
  }
  .p-top03:before {
    top: -50vw;
    min-height: 217.33333vw;
  }
  .p-top03__inner {
    min-height: 183.33333vw;
  }
  .p-top03__photo {
    left: 0;
    top: 20.83333vw;
    width: 100vw;
  }
  .p-top03__tit {
    left: 22.16667vw;
    top: -15.16667vw;
    width: 55.575vw;
  }
  .p-top03__txt {
    left: 8.83333vw;
    top: 11.66667vw;
    width: 41.5vw;
  }
  .p-top03__txt2 {
    left: 17.5vw;
    top: 69.5vw;
    width: 38.83333vw;
  }
  .p-top03__txt3 {
    left: 23.83333vw;
    top: 114.66667vw;
    width: 50vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top03 {
    min-height: 919.9632px;
  }
  .p-top03:before {
    top: -249.99px;
    min-height: 1086.6232px;
  }
  .p-top03__inner {
    min-height: 919.9632px;
  }
  .p-top03__photo {
    left: 0;
    top: 104.1625px;
    width: 499.98px;
  }
  .p-top03__tit {
    left: 110.8289px;
    top: -75.8303px;
    width: 277.86388px;
  }
  .p-top03__txt {
    left: 44.1649px;
    top: 58.331px;
    width: 207.4917px;
  }
  .p-top03__txt2 {
    left: 87.4965px;
    top: 347.4861px;
    width: 194.1589px;
  }
  .p-top03__txt3 {
    left: 119.1619px;
    top: 573.3104px;
    width: 249.99px;
  }
}

.p-surayurawrap {
  position: relative;
  -webkit-transition: 1s;
  transition: 1s;
}

.p-surayurawrap:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: url(../img/nav_01_bg.webp) top center no-repeat;
  background-size: cover;
  z-index: 2;
}

.p-surayurawrap.is-yuru:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background: url(../img/nav_02_bg.webp) top center no-repeat;
  background-size: cover;
  z-index: 2;
}

.p-surayurawrap.is-yuru .p-surayurawrap-nav {
  background: url(../img/nav_02.webp) top center no-repeat;
  background-size: cover;
}

.p-surayurawrap-nav {
  position: relative;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: url(../img/nav_01.webp) top center no-repeat;
  background-size: cover;
  width: 100%;
}

.p-surayurawrap-nav__btn {
  position: absolute;
  display: block;
  z-index: 1;
  top: 0;
}

.p-surayurawrap__copy {
  position: absolute;
  display: block;
}

@media all and (max-width: 600px) {
  .p-surayurawrap:before {
    top: -55.5vw;
    height: 55.5vw;
  }
  .p-surayurawrap-nav {
    height: 20.16667vw;
  }
  .p-surayurawrap-nav__btn {
    height: 20.16667vw;
  }
  .p-surayurawrap-nav__btn.type1 {
    width: 55%;
    left: 0;
  }
  .p-surayurawrap-nav__btn.type2 {
    right: 0;
    width: 45%;
  }
  .p-surayurawrap__copy {
    top: -27.66667vw;
    width: 82.5vw;
    left: 6.83333vw;
    z-index: 10;
  }
}

@media screen and (min-width: 601px), print {
  .p-surayurawrap:before {
    top: -277.4889px;
    height: 277.4889px;
  }
  .p-surayurawrap:before {
    background: url(../img/nav_01_bg_pc.webp) top center no-repeat;
    background-size: cover;
  }
  .p-surayurawrap.is-yuru:before {
    background: url(../img/nav_02_bg_pc.webp) top center no-repeat;
    background-size: cover;
  }
  .p-surayurawrap.is-yuru .p-surayurawrap-nav {
    background: url(../img/nav_02_pc.webp) top center no-repeat;
    background-size: auto 65px;
  }
  .p-surayurawrap.is-yuru .p-surayurawrap-nav__btn {
    height: 65px;
  }
  .p-surayurawrap.is-yuru .p-surayurawrap-nav__btn.type1 {
    width: 48.6%;
    left: 0;
    background: url(../img/nav_02_pc_on.webp) top left no-repeat;
    background-size: auto 65px;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p-surayurawrap.is-yuru .p-surayurawrap-nav__btn.type1:hover {
    opacity: 1;
  }
  .p-surayurawrap.is-yuru .p-surayurawrap-nav__btn.type2 {
    right: 0;
    width: 51.4%;
    background: url(../img/nav_02_pc_on.webp) top right no-repeat;
    background-size: auto 65px;
  }
  .p-surayurawrap-nav {
    background: url(../img/nav_01_pc.webp) top left no-repeat;
    background-size: auto 65px;
    height: 65px;
  }
  .p-surayurawrap-nav__btn {
    height: 65px;
  }
  .p-surayurawrap-nav__btn.type1 {
    width: 51.4%;
    left: 0;
    background: url(../img/nav_01_pc_on.webp) top left no-repeat;
    background-size: auto 65px;
  }
  .p-surayurawrap-nav__btn.type2 {
    right: 0;
    width: 48.6%;
    background: url(../img/nav_01_pc_on.webp) top right no-repeat;
    background-size: auto 65px;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p-surayurawrap-nav__btn.type2:hover {
    opacity: 1;
  }
  .p-surayurawrap__copy {
    top: -138.3278px;
    width: 412.4835px;
    left: 34.1653px;
    z-index: 10;
  }
}

.p-sura {
  position: relative;
}

.p-sura__mv {
  position: relative;
  z-index: 0;
  background: #fff;
  border-radius: 100%;
}

.p-sura__txt {
  position: absolute;
  display: block;
  z-index: 2;
}

.p-sura__ico {
  position: absolute;
  display: block;
  z-index: 2;
}

@media all and (max-width: 600px) {
  .p-sura__mv {
    top: -5.83333vw;
  }
  .p-sura__txt {
    left: 10.5vw;
    top: 11.33333vw;
    width: 12.75vw;
  }
  .p-sura__ico {
    left: 72.33333vw;
    top: 50vw;
    width: 24.49167vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-sura__mv {
    top: -29.1655px;
  }
  .p-sura__txt {
    left: 52.4979px;
    top: 56.6644px;
    width: 63.74745px;
  }
  .p-sura__ico {
    left: 361.6522px;
    top: 249.99px;
    width: 122.45343px;
  }
}

.p-yuru {
  position: relative;
}

.p-yuru__mv {
  position: relative;
  z-index: 0;
  background: #fff;
  border-radius: 100%;
}

.p-yuru__txt {
  position: absolute;
  display: block;
  z-index: 2;
}

.p-yuru__ico {
  position: absolute;
  display: block;
  z-index: 2;
}

@media all and (max-width: 600px) {
  .p-yuru__mv {
    top: -7.5vw;
  }
  .p-yuru__txt {
    left: -2.5vw;
    top: -1.66667vw;
    width: 32.5vw;
  }
  .p-yuru__ico {
    left: 67vw;
    top: 10vw;
    width: 26.42167vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-yuru__mv {
    top: -37.4985px;
  }
  .p-yuru__txt {
    left: -12.4995px;
    top: -8.333px;
    width: 162.4935px;
  }
  .p-yuru__ico {
    left: 334.9866px;
    top: 49.998px;
    width: 132.10305px;
  }
}

.p-top04 {
  position: relative;
  background: #f1b4d0;
}

.p-top04:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_04.webp) top center no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.p-top04__inner {
  position: relative;
  z-index: 2;
}

.p-top04__txt img {
  display: block;
}

.p-top04__tit {
  display: block;
}

.p-top04__tit img {
  display: block;
}

.p-top04__tit2 {
  display: block;
  position: relative;
  isolation: isolate;
}

.p-top04__tit2 img {
  position: relative;
  display: block;
}

.p-top04__tit3 {
  display: block;
}

.p-top04__tit3 img {
  display: block;
}

.p-top04 .u-parts01-box .txt2 {
  color: #6b6b7c;
}

.p-top04 .u-parts01-box2 {
  background: #fff;
}

.p-top04 .u-parts01-box2 span {
  color: #6b6b7c;
}

.p-top04-item2 {
  position: relative;
}

.p-top04-item2__txt {
  position: absolute;
  display: block;
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.p-top04-item2__photo {
  position: relative;
  z-index: 1;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
}

.p-top04-item2__photo.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top04-item2__movie {
  position: relative;
  z-index: 3;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
}

.p-top04-item2__movie.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top04-item {
  position: relative;
}

.p-top04-item__txt {
  position: absolute;
  display: block;
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.p-top04-item__photo {
  position: relative;
  z-index: 1;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.p-top04-item__photo.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top04-item__movie {
  position: relative;
  z-index: 3;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
}

.p-top04-item__movie.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top04-item__photo2 {
  position: absolute;
  z-index: 3;
}

.p-top04-item__ico {
  position: absolute;
  z-index: 3;
}

.p-top04-voice__tit {
  display: block;
}

.p-top04-voice__tit img {
  display: block;
}

.p-top04-voice-lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
      grid-template-columns: repeat(1, 1fr);
}

.p-top04-voice__txt {
  text-align: right;
  color: #fff;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

@media all and (max-width: 600px) {
  .p-top04:before {
    top: -16.66667vw;
    min-height: 577.83333vw;
    z-index: 0;
  }
  .p-top04__inner {
    top: -5vw;
    padding: 0vw 0vw 16.66667vw 0vw;
  }
  .p-top04__txt {
    margin: 0vw auto 0vw;
    width: 87.83333vw;
  }
  .p-top04__tit {
    margin: 3.33333vw auto 0vw;
    width: 90.58333vw;
  }
  .p-top04__tit2 {
    margin: 8.33333vw auto 0vw;
    width: 100vw;
  }
  .p-top04 .u-parts01 {
    margin: 10vw auto 0vw;
    width: 60.5vw;
  }
  .p-top04-item {
    margin: 30vw auto 0vw;
  }
  .p-top04-item__txt {
    left: 10vw;
    top: -9.16667vw;
    width: 80vw;
  }
  .p-top04-item__movie {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 40vw 40vw 3.33333vw 3.33333vw;
    width: 80vw;
    height: 100.83333vw;
    left: 10vw;
  }
  .p-top04-item__movie video {
    display: block;
    position: absolute;
    top: -3.33333vw;
    height: 108vw;
    width: auto;
  }
  .p-top04-item2 {
    margin: 20vw auto 0vw;
  }
  .p-top04-item2__txt {
    left: 45vw;
    top: -8.33333vw;
    width: 50.16667vw;
  }
  .p-top04-item2__photo {
    display: block;
    overflow: hidden;
    left: 0vw;
    width: 88vw;
  }
  .p-top04-item3 {
    margin: 8.66667vw auto 0vw;
    width: 76.33333vw;
  }
  .p-top04-voice {
    margin: 18.33333vw auto 0vw;
    padding: 0vw 5.16667vw 0vw 5.16667vw;
  }
  .p-top04-voice__tit {
    margin: 0vw auto 0vw;
    width: 51.45333vw;
  }
  .p-top04-voice-lists {
    margin: 7vw auto 0vw;
    gap: 5vw;
  }
  .p-top04-voice__txt {
    margin: 2vw auto 0vw;
    font-size: 16px;
    font-size: 2.66667vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top04:before {
    top: -83.33px;
    min-height: 2889.0511px;
    z-index: 0;
  }
  .p-top04__inner {
    top: -24.999px;
    padding: 0px 0px 62.4975px 0px;
  }
  .p-top04__txt {
    margin: 0px auto 0px;
    width: 439.1491px;
  }
  .p-top04__tit {
    margin: 16.666px auto 0px;
    width: 452.89855px;
  }
  .p-top04__tit2 {
    margin: 41.665px auto 0px;
    width: 499.98px;
  }
  .p-top04 .u-parts01 {
    margin: 49.998px auto 0px;
    width: 302.4879px;
  }
  .p-top04-item {
    margin: 149.994px auto 0px;
  }
  .p-top04-item__txt {
    left: 49.998px;
    top: -45.8315px;
    width: 399.984px;
  }
  .p-top04-item__movie {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 199.992px 199.992px 16.666px 16.666px;
    width: 399.984px;
    height: 504.1465px;
    left: 49.998px;
  }
  .p-top04-item__movie video {
    display: block;
    position: absolute;
    top: -16.666px;
    height: 539.9784px;
    width: auto;
  }
  .p-top04-item2 {
    margin: 99.996px auto 0px;
  }
  .p-top04-item2__txt {
    left: 224.991px;
    top: -41.665px;
    width: 250.8233px;
  }
  .p-top04-item2__photo {
    display: block;
    overflow: hidden;
    left: 0px;
    width: 439.9824px;
  }
  .p-top04-item3 {
    margin: 43.3316px auto 0px;
    width: 381.6514px;
  }
  .p-top04-voice {
    margin: 99.996px auto 0px;
    padding: 0px 25.8323px 0px 25.8323px;
  }
  .p-top04-voice__tit {
    margin: 0px auto 0px;
    width: 257.25638px;
  }
  .p-top04-voice-lists {
    margin: 34.9986px auto 0px;
    gap: 24.999px;
  }
  .p-top04-voice__txt {
    margin: 9.9996px auto 0px;
    font-size: 16px;
    font-size: 13.3328px;
  }
}

.p-top05 {
  position: relative;
  z-index: 3;
}

.p-top05:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_silver.webp) top center no-repeat;
  background-size: cover;
  left: 0;
  width: 100%;
  z-index: -1;
  -webkit-mask-image: url("../img/mask3.webp");
          mask-image: url("../img/mask3.webp");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: top left;
          mask-position: top left;
  height: auto;
  display: block;
  -webkit-animation: maskMove3 5s ease-in-out infinite alternate;
          animation: maskMove3 5s ease-in-out infinite alternate;
}

.p-top05__inner {
  position: relative;
  z-index: 2;
}

.p-top05-cont {
  background: #fff;
  color: #c567b5;
  border-radius: 20px;
  text-align: center;
}

.p-top05-cont__tit2 {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}

.p-top05-cont__txt {
  letter-spacing: 0;
  line-height: 1.5;
}

.p-top05-cont-box {
  position: relative;
}

.p-top05-cont-box__txt {
  position: absolute;
  display: inline-block;
  letter-spacing: 0;
  border: solid 1px #c567b5;
  left: 0;
  top: 0;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}

.p-top05-cont__photo {
  position: absolute;
  display: block;
  right: 0;
  top: 0;
}

.p-top05-cont__ico {
  position: absolute;
  display: block;
}

.p-top05-item__tit img {
  display: block;
}

.p-top05-item__tit2 img {
  display: block;
}

.p-top05-item-btns {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
}

.p-top05-item-btn {
  position: relative;
  display: block;
}

.p-top05-item-btn .on {
  position: absolute;
  display: block;
  opacity: 0;
  top: 0;
  left: 0;
}

.p-top05-item2__tit img {
  display: block;
}

.p-top05-item2-btn {
  position: relative;
  display: block;
}

.p-top05-item2-btn .on {
  position: absolute;
  display: block;
  opacity: 0;
  top: 0;
  left: 0;
}

@media all and (max-width: 600px) {
  .p-top05 {
    min-height: 396vw;
    padding: 9.16667vw 5vw 18.33333vw 5vw;
  }
  .p-top05:before {
    top: -16.66667vw;
    min-height: 418.66667vw;
  }
  .p-top05-cont {
    padding: 10vw 5vw 9.33333vw 5vw;
  }
  .p-top05-cont__tit2 {
    margin: 1.66667vw 0vw 0vw 0vw;
    font-size: 37px;
    font-size: 6.16667vw;
  }
  .p-top05-cont__txt {
    margin: 3.33333vw -1.66667vw 0vw -1.66667vw;
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top05-cont-box {
    margin: 6.66667vw 0vw 0vw 0vw;
    min-height: 72.83333vw;
  }
  .p-top05-cont-box__txt {
    border-radius: 1.66667vw 1.66667vw 1.66667vw 1.66667vw;
    padding: 0.33333vw 2.5vw 0.33333vw 2.5vw;
    font-size: 28px;
    font-size: 4.66667vw;
  }
  .p-top05-cont__photo {
    width: 47.76667vw;
  }
  .p-top05-cont__ico.type1 {
    left: 0vw;
    top: 13.56667vw;
    width: 46.1vw;
  }
  .p-top05-cont__ico.type2 {
    left: 0vw;
    top: 23.55vw;
    width: 46.70333vw;
  }
  .p-top05-cont__ico.type3 {
    left: 0vw;
    top: 51.88333vw;
    width: 38.27vw;
  }
  .p-top05-cont__ico.type4 {
    right: 0vw;
    top: 25.41667vw;
    width: 15.53vw;
  }
  .p-top05-cont__ico.type5 {
    right: 6.75vw;
    top: 42.03333vw;
    width: 20.85vw;
  }
  .p-top05-item__tit {
    margin: 16.33333vw auto 0vw;
    width: 56.21667vw;
  }
  .p-top05-item__tit2 {
    margin: 2.5vw auto 0vw;
    width: 59.56333vw;
  }
  .p-top05-item__photo {
    margin: 0vw -5vw 0vw -5vw;
  }
  .p-top05-item-btns {
    margin: 6.66667vw 0vw 0vw 0vw;
    gap: 3.33333vw;
  }
  .p-top05-item2__tit {
    margin: 17.96667vw auto 0vw;
    width: 75.74333vw;
  }
  .p-top05-item2-btn {
    margin: 3.16667vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top05 {
    min-height: 1979.9208px;
    padding: 45.8315px 24.999px 91.663px 24.999px;
  }
  .p-top05:before {
    top: -83.33px;
    min-height: 2093.2496px;
  }
  .p-top05-cont {
    padding: 49.998px 24.999px 46.6648px 24.999px;
  }
  .p-top05-cont__tit2 {
    margin: 8.333px 0px 0px 0px;
    font-size: 37px;
    font-size: 30.8321px;
  }
  .p-top05-cont__txt {
    margin: 16.666px -8.333px 0px -8.333px;
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top05-cont-box {
    margin: 33.332px 0px 0px 0px;
    min-height: 364.1521px;
  }
  .p-top05-cont-box__txt {
    border-radius: 8.333px 8.333px 8.333px 8.333px;
    padding: 1.6666px 12.4995px 1.6666px 12.4995px;
    font-size: 28px;
    font-size: 23.3324px;
  }
  .p-top05-cont__photo {
    width: 238.82378px;
  }
  .p-top05-cont__ico.type1 {
    left: 0px;
    top: 67.83062px;
    width: 230.49078px;
  }
  .p-top05-cont__ico.type2 {
    left: 0px;
    top: 117.74529px;
    width: 233.50733px;
  }
  .p-top05-cont__ico.type3 {
    left: 0px;
    top: 259.40629px;
    width: 191.34235px;
  }
  .p-top05-cont__ico.type4 {
    right: 0px;
    top: 127.07825px;
    width: 77.64689px;
  }
  .p-top05-cont__ico.type5 {
    right: 33.74865px;
    top: 210.15826px;
    width: 104.24583px;
  }
  .p-top05-item__tit {
    margin: 81.6634px auto 0px;
    width: 281.07209px;
  }
  .p-top05-item__tit2 {
    margin: 12.4995px auto 0px;
    width: 297.80475px;
  }
  .p-top05-item__photo {
    margin: 0px -24.999px 0px -24.999px;
  }
  .p-top05-item-btns {
    margin: 33.332px 0px 0px 0px;
    gap: 16.666px;
  }
  .p-top05-item-btn img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top05-item-btn:hover .on {
    opacity: 1;
  }
  .p-top05-item2__tit {
    margin: 89.82974px auto 0px;
    width: 378.70152px;
  }
  .p-top05-item2-btn {
    margin: 15.8327px 0px 0px 0px;
  }
  .p-top05-item2-btn img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top05-item2-btn:hover .on {
    opacity: 1;
  }
}

.p-top06 {
  position: relative;
  background: #8494dd;
  z-index: 2;
}

.p-top06:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_05.webp) top center no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

.p-top06__inner {
  position: relative;
  z-index: 2;
}

.p-top06__txt img {
  display: block;
}

.p-top06__tit {
  display: block;
}

.p-top06__tit img {
  display: block;
}

.p-top06__tit2 {
  display: block;
}

.p-top06__tit2 img {
  display: block;
}

.p-top06__tit3 {
  display: block;
}

.p-top06__tit3 img {
  display: block;
}

.p-top06 .u-parts01-box2 {
  background: #fff;
}

.p-top06-item {
  position: relative;
}

.p-top06-item__txt {
  position: absolute;
  display: block;
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.p-top06-item__movie {
  position: relative;
  z-index: 3;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
}

.p-top06-item__movie.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top06-item2 {
  position: relative;
}

.p-top06-item2__txt {
  position: absolute;
  display: block;
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.p-top06-item2__photo {
  position: relative;
  z-index: 1;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  transition: 0.6s cubic-bezier(0, 1.09, 0.79, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
}

.p-top06-item2__photo.act {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.p-top06-item2__photo2 {
  position: absolute;
  z-index: 3;
  opacity: 0;
  -webkit-transition: 0.7s ease 1.3s;
  transition: 0.7s ease 1.3s;
}

.p-top06-item2__photo2.act {
  opacity: 1;
}

.p-top06-item2__ico {
  position: absolute;
  z-index: 3;
  opacity: 0;
  -webkit-transition: 0.7s ease 1s;
  transition: 0.7s ease 1s;
}

.p-top06-item2__ico.act {
  opacity: 1;
}

.p-top06-voice__tit {
  display: block;
}

.p-top06-voice__tit img {
  display: block;
}

.p-top06-voice-lists {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
      grid-template-columns: repeat(1, 1fr);
}

.p-top06-voice__txt {
  text-align: right;
  color: #fff;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.p-top06 .u-parts01-box .txt2 {
  color: #6b6b7c;
}

.p-top06 .u-parts01-box2 {
  background: #fff;
}

.p-top06 .u-parts01-box2 span {
  color: #6b6b7c;
}

@media all and (max-width: 600px) {
  .p-top06:before {
    top: -21.66667vw;
    min-height: 577.83333vw;
  }
  .p-top06__inner {
    top: -8.33333vw;
    padding: 0vw 0vw 12.5vw 0vw;
  }
  .p-top06__txt {
    margin: 0vw auto 0vw;
    width: 66.26667vw;
  }
  .p-top06__tit {
    margin: 7.5vw auto 0vw;
    width: 90.66667vw;
  }
  .p-top06__tit2 {
    margin: 30vw auto 0vw;
    width: 100vw;
  }
  .p-top06 .u-parts01 {
    margin: 10vw auto 0vw;
    width: 60.5vw;
  }
  .p-top06-item {
    margin: 31.66667vw auto 0vw;
  }
  .p-top06-item__txt {
    left: 40vw;
    top: -8.33333vw;
    width: 56.66667vw;
  }
  .p-top06-item__movie {
    display: block;
    overflow: hidden;
    border-radius: 0vw 33.33333vw 33.33333vw 0vw;
    width: 94.83333vw;
    height: 72vw;
  }
  .p-top06-item__movie video {
    width: auto;
    height: 72vw;
  }
  .p-top06-item2 {
    margin: 24vw auto 0vw;
  }
  .p-top06-item2__txt {
    left: 22vw;
    top: -9.16667vw;
    width: 69.16667vw;
  }
  .p-top06-item2__photo {
    display: block;
    overflow: hidden;
    left: 21.83333vw;
    width: 67.5vw;
  }
  .p-top06-item2__photo2 {
    top: 76.16667vw;
    left: 5.33333vw;
    width: 68.16667vw;
  }
  .p-top06-item2__ico {
    top: 45vw;
    left: 9.5vw;
    width: 43.695vw;
  }
  .p-top06-voice {
    margin: 15vw auto 0vw;
    padding: 0vw 5.16667vw 0vw 5.16667vw;
  }
  .p-top06-voice__tit {
    margin: 0vw auto 0vw;
    width: 51.45333vw;
  }
  .p-top06-voice-lists {
    margin: 7vw auto 0vw;
    gap: 5vw;
  }
  .p-top06-voice__txt {
    margin: 2vw auto 0vw;
    font-size: 16px;
    font-size: 2.66667vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top06:before {
    top: -108.329px;
    min-height: 2889.0511px;
  }
  .p-top06__inner {
    top: -41.665px;
    padding: 0px 0px 62.4975px 0px;
  }
  .p-top06__txt {
    margin: 0px auto 0px;
    width: 331.32008px;
  }
  .p-top06__tit {
    margin: 37.4985px auto 0px;
    width: 453.3152px;
  }
  .p-top06__tit2 {
    margin: 149.994px auto 0px;
    width: 499.98px;
  }
  .p-top06 .u-parts01 {
    margin: 49.998px auto 0px;
    width: 302.4879px;
  }
  .p-top06-item {
    margin: 158.327px auto 0px;
  }
  .p-top06-item__txt {
    left: 199.992px;
    top: -41.665px;
    width: 283.322px;
  }
  .p-top06-item__movie {
    display: block;
    overflow: hidden;
    border-radius: 0px 166.66px 166.66px 0px;
    width: 474.1477px;
    height: 359.9856px;
  }
  .p-top06-item__movie video {
    width: auto;
    height: 359.9856px;
  }
  .p-top06-item2 {
    margin: 119.9952px auto 0px;
  }
  .p-top06-item2__txt {
    left: 109.9956px;
    top: -45.8315px;
    width: 345.8195px;
  }
  .p-top06-item2__photo {
    display: block;
    overflow: hidden;
    left: 109.1623px;
    width: 337.4865px;
  }
  .p-top06-item2__photo2 {
    top: 380.8181px;
    left: 26.6656px;
    width: 340.8197px;
  }
  .p-top06-item2__ico {
    top: 224.991px;
    left: 47.4981px;
    width: 218.46626px;
  }
  .p-top06-voice {
    margin: 74.997px auto 0px;
    padding: 0px 25.8323px 0px 25.8323px;
  }
  .p-top06-voice__tit {
    margin: 0px auto 0px;
    width: 257.25638px;
  }
  .p-top06-voice-lists {
    margin: 34.9986px auto 0px;
    gap: 24.999px;
  }
  .p-top06-voice__txt {
    margin: 9.9996px auto 0px;
    font-size: 16px;
    font-size: 13.3328px;
  }
}

.p-top07 {
  position: relative;
  z-index: 3;
}

.p-top07:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/bg_silver.webp) top center no-repeat;
  background-size: cover;
  left: 0;
  width: 100%;
  z-index: -1;
  -webkit-mask-image: url("../img/mask3.webp");
          mask-image: url("../img/mask3.webp");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: top left;
          mask-position: top left;
  height: auto;
  display: block;
  -webkit-animation: maskMove3 5s ease-in-out infinite alternate;
          animation: maskMove3 5s ease-in-out infinite alternate;
}

.p-top07__inner {
  position: relative;
  z-index: 2;
}

.p-top07-cont {
  background: #fff;
  color: #5e7cb2;
  border-radius: 20px;
  text-align: center;
}

.p-top07-cont__tit2 {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}

.p-top07-cont__txt {
  letter-spacing: 0;
  line-height: 1.5;
}

.p-top07-cont-box {
  position: relative;
}

.p-top07-cont-box__txt {
  position: absolute;
  display: inline-block;
  letter-spacing: 0;
  border: solid 1px #5e7cb2;
  left: 0;
  top: 0;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.p-top07-cont__photo {
  position: absolute;
  display: block;
  right: 0;
  top: 0;
}

.p-top07-cont__ico {
  position: absolute;
  display: block;
}

.p-top07-item__tit img {
  display: block;
}

.p-top07-item__tit2 img {
  display: block;
}

.p-top07-item-btns {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
}

.p-top07-item-btn {
  position: relative;
  display: block;
}

.p-top07-item-btn .on {
  position: absolute;
  display: block;
  opacity: 0;
  top: 0;
  left: 0;
}

.p-top07-item2__tit img {
  display: block;
}

.p-top07-item2-btn {
  position: relative;
  display: block;
}

.p-top07-item2-btn .on {
  position: absolute;
  display: block;
  opacity: 0;
  top: 0;
  left: 0;
}

@media all and (max-width: 600px) {
  .p-top07 {
    padding: 10.83333vw 5vw 26vw 5vw;
  }
  .p-top07:before {
    top: -15vw;
    min-height: 423.66667vw;
  }
  .p-top07-cont {
    padding: 10vw 5vw 9.33333vw 5vw;
  }
  .p-top07-cont__tit2 {
    margin: 1.66667vw 0vw 0vw 0vw;
    font-size: 37px;
    font-size: 6.16667vw;
  }
  .p-top07-cont__txt {
    margin: 3.33333vw -1.66667vw 0vw -1.66667vw;
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top07-cont-box {
    margin: 6.66667vw 0vw 0vw 0vw;
    min-height: 72.83333vw;
  }
  .p-top07-cont-box__txt {
    border-radius: 1.66667vw 1.66667vw 1.66667vw 1.66667vw;
    padding: 0.33333vw 2.5vw 0.33333vw 2.5vw;
    font-size: 28px;
    font-size: 4.66667vw;
  }
  .p-top07-cont__photo {
    width: 40.60833vw;
  }
  .p-top07-cont__ico.type1 {
    left: 0vw;
    top: 8.66667vw;
    width: 58.135vw;
  }
  .p-top07-cont__ico.type2 {
    left: 0vw;
    top: 24.83333vw;
    width: 60.045vw;
  }
  .p-top07-cont__ico.type3 {
    left: 0vw;
    top: 42.26667vw;
    width: 60.14667vw;
  }
  .p-top07-item__tit {
    margin: 16.66667vw auto 0vw;
    width: 55.435vw;
  }
  .p-top07-item__tit2 {
    margin: 3.21667vw auto 0vw;
    width: 59.39167vw;
  }
  .p-top07-item__photo {
    margin: 0vw -5vw 0vw -5vw;
  }
  .p-top07-item-btns {
    margin: 6.66667vw 0vw 0vw 0vw;
    gap: 3.33333vw;
  }
  .p-top07-item2__tit {
    margin: 18vw auto 0vw;
    width: 75.74333vw;
  }
  .p-top07-item2-btn {
    margin: 3.16667vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top07 {
    padding: 54.1645px 24.999px 129.9948px 24.999px;
  }
  .p-top07:before {
    top: -74.997px;
    min-height: 2101.5826px;
  }
  .p-top07-cont {
    padding: 49.998px 24.999px 46.6648px 24.999px;
  }
  .p-top07-cont__tit2 {
    margin: 8.333px 0px 0px 0px;
    font-size: 37px;
    font-size: 30.8321px;
  }
  .p-top07-cont__txt {
    margin: 16.666px -8.333px 0px -8.333px;
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top07-cont-box {
    margin: 33.332px 0px 0px 0px;
    min-height: 364.1521px;
  }
  .p-top07-cont-box__txt {
    border-radius: 8.333px 8.333px 8.333px 8.333px;
    padding: 1.6666px 12.4995px 1.6666px 12.4995px;
    font-size: 28px;
    font-size: 23.3324px;
  }
  .p-top07-cont__photo {
    width: 203.03355px;
  }
  .p-top07-cont__ico.type1 {
    left: 0px;
    top: 43.3316px;
    width: 290.66337px;
  }
  .p-top07-cont__ico.type2 {
    left: 0px;
    top: 124.1617px;
    width: 300.21299px;
  }
  .p-top07-cont__ico.type3 {
    left: 0px;
    top: 211.32488px;
    width: 300.7213px;
  }
  .p-top07-item__tit {
    margin: 83.33px auto 0px;
    width: 277.16391px;
  }
  .p-top07-item__tit2 {
    margin: 16.08269px auto 0px;
    width: 296.94646px;
  }
  .p-top07-item__photo {
    margin: 0px -24.999px 0px -24.999px;
  }
  .p-top07-item-btns {
    margin: 33.332px 0px 0px 0px;
    gap: 16.666px;
  }
  .p-top07-item-btn img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top07-item-btn:hover .on {
    opacity: 1;
  }
  .p-top07-item2__tit {
    margin: 89.9964px auto 0px;
    width: 378.70152px;
  }
  .p-top07-item2-btn {
    margin: 15.8327px 0px 0px 0px;
  }
  .p-top07-item2-btn img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top07-item2-btn:hover .on {
    opacity: 1;
  }
}

.p-top08 {
  position: relative;
  color: #6b6b7c;
}

.p-top08:before {
  content: "";
  position: absolute;
  z-index: 1;
  background: url(../img/bg_mukumi.webp) top center no-repeat;
  background-size: cover;
  width: 100%;
}

.p-top08__inner {
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 100%;
}

.p-top08__tit {
  display: block;
}

.p-top08__tit img {
  display: block;
}

.p-top08__tit2 {
  display: block;
}

.p-top08__tit2 img {
  display: block;
}

.p-top08__tit3 {
  display: block;
}

.p-top08__tit3 img {
  display: block;
}

.p-top08__tit4 {
  display: block;
}

.p-top08__tit4 img {
  display: block;
}

.p-top08__tit5 {
  display: block;
}

.p-top08__tit5 img {
  display: block;
}

.p-top08__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: -0.05em;
}

.p-top08__txt2 {
  line-height: 1.95;
  letter-spacing: -0.03em;
}

.p-top08__photo {
  display: block;
}

.p-top08-items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
}

.p-top08-item__tit {
  text-align: center;
  color: #9b96cf;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.p-top08-item__txt {
  line-height: 1;
}

.p-top08-item__txt2 {
  line-height: 1.4;
  letter-spacing: 0;
}

.p-top08-item-photobox {
  position: relative;
}

.p-top08-item__ico {
  position: absolute;
  display: block;
}

.p-top08-photobox2 {
  position: relative;
}

.p-top08__ico2 {
  position: absolute;
  display: block;
}

.p-top08-items2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
  justify-items: center;
}

.p-top08-item2__tit {
  display: block;
}

.p-top08-item2__photo {
  display: block;
}

.p-top08-item2-btns {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
      grid-template-columns: repeat(1, 1fr);
}

.p-top08-item2-btn {
  position: relative;
  display: block;
}

.p-top08-item2-btn .on {
  position: absolute;
  display: block;
  opacity: 0;
  top: 0;
  left: 0;
}

@media all and (max-width: 600px) {
  .p-top08 {
    min-height: 650.16667vw;
    padding: 17.5vw 5vw 0vw 5vw;
  }
  .p-top08:before {
    top: 0;
    min-height: 650.16667vw;
    left: 0;
  }
  .p-top08__inner {
    border-radius: 50vw 50vw 50vw 50vw;
    padding: 18.5vw 6.66667vw 26vw 6.66667vw;
  }
  .p-top08__tit {
    margin: 0vw auto 0vw;
    width: 47.07667vw;
  }
  .p-top08__tit2 {
    margin: 17vw auto 0vw;
    width: 55.33333vw;
  }
  .p-top08__tit3 {
    margin: 14.16667vw auto 0vw;
    width: 70.5vw;
  }
  .p-top08__tit4 {
    margin: 0vw auto 0vw;
    width: 55.83333vw;
  }
  .p-top08__tit5 {
    margin: 11.33333vw auto 0vw;
    width: 71.68667vw;
  }
  .p-top08__txt {
    margin: 5vw auto 0vw;
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top08__txt2 {
    margin: 5.83333vw auto 0vw;
    font-size: 25px;
    font-size: 4.16667vw;
  }
  .p-top08__photo {
    margin: 5.66667vw auto 0vw;
  }
  .p-top08-items {
    margin: 4.66667vw auto 0vw;
    gap: 3.33333vw;
  }
  .p-top08-item__tit {
    font-size: 28px;
    font-size: 4.66667vw;
  }
  .p-top08-item-photobox {
    margin: 2.33333vw auto 0vw;
  }
  .p-top08-item__txt {
    font-size: 20px;
    font-size: 3.33333vw;
  }
  .p-top08-item__txt2 {
    margin: 2.33333vw auto 0vw;
    font-size: 22px;
    font-size: 3.66667vw;
  }
  .p-top08-item__ico {
    top: -0.66667vw;
    right: -6.33333vw;
    width: 18vw;
  }
  .p-top08-photobox2 {
    margin: 6.16667vw auto 0vw;
  }
  .p-top08__ico2 {
    top: -2.48333vw;
    right: -1.5vw;
    width: 35.79667vw;
  }
  .p-top08__bg2 {
    display: block;
    margin: 6.16667vw -6.66667vw 0vw -6.66667vw;
  }
  .p-top08-items2 {
    margin: 13.5vw auto 0vw;
    gap: 5.83333vw;
  }
  .p-top08-item2__tit.type1 {
    margin: 0vw auto 0vw;
    width: 30.68333vw;
  }
  .p-top08-item2__tit.type2 {
    margin: 0.75vw auto 0vw;
    width: 30.54vw;
  }
  .p-top08-item2__photo {
    margin: 2vw auto 0vw;
  }
  .p-top08-item2__photo.type1 {
    width: 33.66vw;
  }
  .p-top08-item2__photo.type2 {
    width: 33.49667vw;
  }
  .p-top08-item2-btns {
    margin: 3.4vw 0vw 0vw 0vw;
    gap: 2.33333vw;
  }
  .p-top08-item2-btn {
    position: relative;
    display: block;
  }
  .p-top08-item2-btn .on {
    position: absolute;
    display: block;
    opacity: 0;
    top: 0;
    left: 0;
  }
}

@media screen and (min-width: 601px), print {
  .p-top08 {
    min-height: 3250.7033px;
    padding: 87.4965px 24.999px 0px 24.999px;
  }
  .p-top08:before {
    top: 0;
    min-height: 3250.7033px;
    left: 0;
  }
  .p-top08__inner {
    border-radius: 249.99px 249.99px 249.99px 249.99px;
    padding: 92.4963px 33.332px 129.9948px 33.332px;
  }
  .p-top08__tit {
    margin: 0px auto 0px;
    width: 235.37392px;
  }
  .p-top08__tit2 {
    margin: 84.9966px auto 0px;
    width: 276.6556px;
  }
  .p-top08__tit3 {
    margin: 70.8305px auto 0px;
    width: 352.4859px;
  }
  .p-top08__tit4 {
    margin: 0px auto 0px;
    width: 279.1555px;
  }
  .p-top08__tit5 {
    margin: 56.6644px auto 0px;
    width: 358.419px;
  }
  .p-top08__txt {
    margin: 24.999px auto 0px;
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top08__txt2 {
    margin: 29.1655px auto 0px;
    font-size: 25px;
    font-size: 20.8325px;
  }
  .p-top08__photo {
    margin: 28.3322px auto 0px;
  }
  .p-top08-items {
    margin: 23.3324px auto 0px;
    gap: 16.666px;
  }
  .p-top08-item__tit {
    font-size: 28px;
    font-size: 23.3324px;
  }
  .p-top08-item-photobox {
    margin: 11.6662px auto 0px;
  }
  .p-top08-item__txt {
    font-size: 20px;
    font-size: 16.666px;
  }
  .p-top08-item__txt2 {
    margin: 11.6662px auto 0px;
    font-size: 22px;
    font-size: 18.3326px;
  }
  .p-top08-item__ico {
    top: -3.3332px;
    right: -31.6654px;
    width: 89.9964px;
  }
  .p-top08-photobox2 {
    margin: 30.8321px auto 0px;
  }
  .p-top08__ico2 {
    top: -12.41617px;
    right: -7.4997px;
    width: 178.97617px;
  }
  .p-top08__bg2 {
    display: block;
    margin: 30.8321px -33.332px 0px -33.332px;
  }
  .p-top08-items2 {
    margin: 67.4973px auto 0px;
    gap: 29.1655px;
  }
  .p-top08-item2__tit.type1 {
    margin: 0px auto 0px;
    width: 153.41053px;
  }
  .p-top08-item2__tit.type2 {
    margin: 3.74985px auto 0px;
    width: 152.69389px;
  }
  .p-top08-item2__photo {
    margin: 9.9996px auto 0px;
  }
  .p-top08-item2__photo.type1 {
    width: 168.29327px;
  }
  .p-top08-item2__photo.type2 {
    width: 167.47663px;
  }
  .p-top08-item2-btns {
    margin: 16.99932px 0px 0px 0px;
    gap: 11.6662px;
  }
  .p-top08-item2-btn {
    position: relative;
    display: block;
  }
  .p-top08-item2-btn .on {
    position: absolute;
    display: block;
    opacity: 0;
    top: 0;
    left: 0;
  }
  .p-top08-item2-btn img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top08-item2-btn:hover .on {
    opacity: 1;
  }
}

.u-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #00205c;
  border-radius: 5px;
}

.u-btn img {
  display: block;
}

.u-btn svg {
  display: block;
  stroke: #00205c;
}

.u-btn span {
  display: inline-block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #00205c;
}

@media all and (max-width: 600px) {
  .u-btn {
    margin: 1.66667vw auto 0vw;
    width: 83.33333vw;
    height: 11.5vw;
  }
  .u-btn svg,
  .u-btn img {
    width: 5vw;
  }
  .u-btn span {
    padding: 0vw 0vw 0vw 5vw;
    font-size: 22.5px;
    font-size: 3.75vw;
  }
}

@media screen and (min-width: 601px), print {
  .u-btn {
    margin: 8.333px auto 0px;
    width: 416.65px;
    height: 57.4977px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .u-btn svg,
  .u-btn img {
    width: 24.999px;
  }
  .u-btn span {
    padding: 0px 0px 0px 24.999px;
    font-size: 22.5px;
    font-size: 18.74925px;
  }
  .u-btn:hover {
    background: #00205c;
  }
  .u-btn:hover span {
    color: #fff;
  }
  .u-btn:hover svg {
    stroke: #fff;
  }
}

.l-footer {
  position: relative;
  z-index: 2;
  background: #fff;
  color: #00205c;
}

.l-footer__inner {
  text-align: center;
  background: url(../img/bg_foot.webp) top center no-repeat;
  background-size: cover;
}

.l-footer__tit {
  display: block;
}

.l-footer__txt {
  line-height: 1.7;
  letter-spacing: 0;
}

.l-footer__photo {
  display: block;
}

.l-footer__photo2 {
  display: block;
}

.l-footer__photo3 {
  display: block;
}

.l-footer__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #00205c;
  color: #fff;
  text-align: center;
}

.l-footer__copy span {
  display: inline-block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media all and (max-width: 600px) {
  .l-footer__inner {
    padding: 15.5vw 0vw 15vw 0vw;
  }
  .l-footer__tit {
    margin: 0vw auto 0vw;
    width: 34vw;
  }
  .l-footer__txt {
    margin: 6.33333vw auto 0vw;
    font-size: 21px;
    font-size: 3.5vw;
  }
  .l-footer__photo {
    margin: 9.66667vw auto 0vw;
    width: 80.38333vw;
    position: relative;
    left: 0.33333vw;
  }
  .l-footer__photo2 {
    margin: 7.5vw auto 0vw;
    width: 44.61667vw;
  }
  .l-footer__photo3 {
    margin: 5vw auto 0vw;
    width: 100%;
  }
  .l-footer__copy {
    height: 14.83333vw;
    width: 100%;
  }
  .l-footer__copy span {
    font-size: 16px;
    font-size: 2.66667vw;
  }
}

@media screen and (min-width: 601px), print {
  .l-footer__inner {
    padding: 77.4969px 0px 74.997px 0px;
  }
  .l-footer__tit {
    margin: 0px auto 0px;
    width: 169.9932px;
  }
  .l-footer__txt {
    margin: 31.6654px auto 0px;
    font-size: 21px;
    font-size: 17.4993px;
  }
  .l-footer__photo {
    margin: 48.3314px auto 0px;
    width: 401.90059px;
    position: relative;
    left: 1.6666px;
  }
  .l-footer__photo2 {
    margin: 37.4985px auto 0px;
    width: 223.07441px;
  }
  .l-footer__photo3 {
    margin: 24.999px auto 0px;
    width: 100%;
  }
  .l-footer__copy {
    height: 74.1637px;
    width: 100%;
  }
  .l-footer__copy span {
    font-size: 16px;
    font-size: 13.3328px;
  }
}


.p-sura,
.p-yuru {
  display: none;
}

.p-surayurawrap.is-sura .p-sura {
  display: block;
}

.p-surayurawrap.is-yuru .p-yuru {
  display: block;
}
