@charset "UTF-8";
.vision_section .about_vision_animation_wrap {
  max-width: 100%;
}
.vision_section .about_vision_diagram_frame {
  position: relative;
  width: 76%;
  max-width: 100%;
  margin-inline: auto;
}
.vision_section .about_vision_diagram_frame--sp {
  width: 100%;
  max-width: 100%;
}
.vision_section .about_vision_diagram_frame .about-vision-animation-svg {
  width: 100%;
  height: auto;
  display: block;
}
.vision_section #mask0_482_28 {
  mask-type: alpha;
}
.vision_section .about_vision_diagram_text {
  padding-left: 12vw;
  z-index: 2;
  opacity: 0;
  transition: opacity 1s ease-out;
  will-change: opacity;
}
.vision_section .about_vision_diagram_text.is-visible {
  opacity: 1;
}
.vision_section .about_vision_diagram_text--sp {
  padding-left: 4vw;
  padding-right: 4vw;
}
.vision_section .about_vision_diagram_text .animation_logo {
  width: 10vw;
  max-width: 170px;
  height: auto;
}
.vision_section .about_vision_diagram_text .txt01 {
  position: relative;
  left: 4.5vw;
}
.vision_section .about_vision_diagram_text .txt02 {
  position: relative;
  left: 2vw;
}

.about-vision-animation-svg .svg-elem-1 {
  stroke-dashoffset: 3224px;
  stroke-dasharray: 3224px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

.about-vision-animation-svg.active .svg-elem-1 {
  stroke-dashoffset: 0;
  fill: rgb(217, 217, 217);
}

.about-vision-animation-svg .svg-elem-2 {
  stroke-dashoffset: 919.1056518555px;
  stroke-dasharray: 919.1056518555px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

.about-vision-animation-svg.active .svg-elem-2 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-3 {
  stroke-dashoffset: 919.2149047852px;
  stroke-dasharray: 919.2149047852px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

.about-vision-animation-svg.active .svg-elem-3 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-4 {
  stroke-dashoffset: 917.5728149414px;
  stroke-dasharray: 917.5728149414px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

.about-vision-animation-svg.active .svg-elem-4 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-5 {
  stroke-dashoffset: 917.6314086914px;
  stroke-dasharray: 917.6314086914px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
}

.about-vision-animation-svg.active .svg-elem-5 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-6 {
  stroke-dashoffset: 1582.4458007813px;
  stroke-dasharray: 1582.4458007813px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

.about-vision-animation-svg.active .svg-elem-6 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-7 {
  stroke-dashoffset: 1029.7669677734px;
  stroke-dasharray: 1029.7669677734px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
}

.about-vision-animation-svg.active .svg-elem-7 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

.about-vision-animation-svg .svg-elem-8 {
  stroke-dashoffset: 2927.6042480469px;
  stroke-dasharray: 2927.6042480469px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}

.about-vision-animation-svg.active .svg-elem-8 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-9 {
  stroke-dashoffset: 1582.4421386719px;
  stroke-dasharray: 1582.4421386719px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}

.about-vision-animation-svg.active .svg-elem-9 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-10 {
  stroke-dashoffset: 1472.26536188px;
  stroke-dasharray: 1472.26536188px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
}

.about-vision-animation-svg.active .svg-elem-10 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-11 {
  stroke-dashoffset: 545.3032226563px;
  stroke-dasharray: 545.3032226563px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}

.about-vision-animation-svg.active .svg-elem-11 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-12 {
  stroke-dashoffset: 382.0312194824px;
  stroke-dasharray: 382.0312194824px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
}

.about-vision-animation-svg.active .svg-elem-12 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg .svg-elem-13 {
  stroke-dashoffset: 529.3941650391px;
  stroke-dasharray: 529.3941650391px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
}

.about-vision-animation-svg.active .svg-elem-13 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-14 {
  stroke-dashoffset: 432.4259033203px;
  stroke-dasharray: 432.4259033203px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}

.about-vision-animation-svg.active .svg-elem-14 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg .svg-elem-15 {
  stroke-dashoffset: 530.3654785156px;
  stroke-dasharray: 530.3654785156px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}

.about-vision-animation-svg.active .svg-elem-15 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-16 {
  stroke-dashoffset: 324.9867248535px;
  stroke-dasharray: 324.9867248535px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}

.about-vision-animation-svg.active .svg-elem-16 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg .svg-elem-17 {
  stroke-dashoffset: 607.6188964844px;
  stroke-dasharray: 607.6188964844px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
}

.about-vision-animation-svg.active .svg-elem-17 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-18 {
  stroke-dashoffset: 370.1923217773px;
  stroke-dasharray: 370.1923217773px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
}

.about-vision-animation-svg.active .svg-elem-18 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg .svg-elem-19 {
  stroke-dashoffset: 1597.9290680236px;
  stroke-dasharray: 1597.9290680236px;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
}

.about-vision-animation-svg.active .svg-elem-19 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg .svg-elem-20 {
  stroke-dashoffset: 919.4989013672px;
  stroke-dasharray: 919.4989013672px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
}

.about-vision-animation-svg.active .svg-elem-20 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

.about-vision-animation-svg .svg-elem-21 {
  stroke-dashoffset: 2507.3076171875px;
  stroke-dasharray: 2507.3076171875px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 2s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
}

.about-vision-animation-svg.active .svg-elem-21 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg .svg-elem-22 {
  stroke-dashoffset: 562.0864257813px;
  stroke-dasharray: 562.0864257813px;
  fill: transparent;
  transition: stroke-dashoffset 1.3s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
}

.about-vision-animation-svg.active .svg-elem-22 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.vision_section .about-vision-animation-svg_sp {
  width: 96%;
  max-width: 96%;
  height: auto;
  display: block;
}
.vision_section #path-2-outside-1_518_36,
.vision_section #path-19-outside-2_518_36 {
  mask-type: alpha;
}

.about-vision-animation-svg_sp .svg-elem-1 {
  stroke-dashoffset: 583.2054443359px;
  stroke-dasharray: 583.2054443359px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

.about-vision-animation-svg_sp.active .svg-elem-1 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-2 {
  stroke-dashoffset: 294.401184082px;
  stroke-dasharray: 294.401184082px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.11s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

.about-vision-animation-svg_sp.active .svg-elem-2 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

.about-vision-animation-svg_sp .svg-elem-3 {
  stroke-dashoffset: 387.5239868164px;
  stroke-dasharray: 387.5239868164px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.22s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
}

.about-vision-animation-svg_sp.active .svg-elem-3 {
  stroke-dashoffset: 0;
  fill: rgb(0, 0, 0);
}

.about-vision-animation-svg_sp .svg-elem-4 {
  stroke-dashoffset: 1025.0621337891px;
  stroke-dasharray: 1025.0621337891px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.33s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
}

.about-vision-animation-svg_sp.active .svg-elem-4 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-5 {
  stroke-dashoffset: 551.3309326172px;
  stroke-dasharray: 551.3309326172px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.44s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
}

.about-vision-animation-svg_sp.active .svg-elem-5 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-6 {
  stroke-dashoffset: 571.1893920898px;
  stroke-dasharray: 571.1893920898px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.55s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
}

.about-vision-animation-svg_sp.active .svg-elem-6 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-7 {
  stroke-dashoffset: 288.8775939941px;
  stroke-dasharray: 288.8775939941px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.66s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
}

.about-vision-animation-svg_sp.active .svg-elem-7 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-8 {
  stroke-dashoffset: 282.122253418px;
  stroke-dasharray: 282.122253418px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.77s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
}

.about-vision-animation-svg_sp.active .svg-elem-8 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-9 {
  stroke-dashoffset: 288.8359680176px;
  stroke-dasharray: 288.8359680176px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.88s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
}

.about-vision-animation-svg_sp.active .svg-elem-9 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-10 {
  stroke-dashoffset: 285.9996643066px;
  stroke-dasharray: 285.9996643066px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 0.99s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
}

.about-vision-animation-svg_sp.active .svg-elem-10 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-11 {
  stroke-dashoffset: 188.5374755859px;
  stroke-dasharray: 188.5374755859px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
}

.about-vision-animation-svg_sp.active .svg-elem-11 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg_sp .svg-elem-12 {
  stroke-dashoffset: 308.827331543px;
  stroke-dasharray: 308.827331543px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.21s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
}

.about-vision-animation-svg_sp.active .svg-elem-12 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-13 {
  stroke-dashoffset: 194.538269043px;
  stroke-dasharray: 194.538269043px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.32s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
}

.about-vision-animation-svg_sp.active .svg-elem-13 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg_sp .svg-elem-14 {
  stroke-dashoffset: 277.2542724609px;
  stroke-dasharray: 277.2542724609px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.43s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s;
}

.about-vision-animation-svg_sp.active .svg-elem-14 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-15 {
  stroke-dashoffset: 220.0691070557px;
  stroke-dasharray: 220.0691070557px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.54s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s;
}

.about-vision-animation-svg_sp.active .svg-elem-15 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg_sp .svg-elem-16 {
  stroke-dashoffset: 269.2080688477px;
  stroke-dasharray: 269.2080688477px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.65s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s;
}

.about-vision-animation-svg_sp.active .svg-elem-16 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-17 {
  stroke-dashoffset: 165.6371917725px;
  stroke-dasharray: 165.6371917725px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.76s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s;
}

.about-vision-animation-svg_sp.active .svg-elem-17 {
  stroke-dashoffset: 0;
  fill: rgb(131, 131, 131);
}

.about-vision-animation-svg_sp .svg-elem-18 {
  stroke-dashoffset: 269.6891784668px;
  stroke-dasharray: 269.6891784668px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.87s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s;
}

.about-vision-animation-svg_sp.active .svg-elem-18 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-19 {
  stroke-dashoffset: 582.0374755859px;
  stroke-dasharray: 582.0374755859px;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 1.98s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s;
}

.about-vision-animation-svg_sp.active .svg-elem-19 {
  stroke-dashoffset: 0;
}

.about-vision-animation-svg_sp .svg-elem-20 {
  stroke-dashoffset: 268px;
  stroke-dasharray: 268px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 2.09s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s;
}

.about-vision-animation-svg_sp.active .svg-elem-20 {
  stroke-dashoffset: 0;
  fill: rgb(255, 255, 255);
}

.about-vision-animation-svg_sp .svg-elem-21 {
  stroke-dashoffset: 379.4316101074px;
  stroke-dasharray: 379.4316101074px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s;
}

.about-vision-animation-svg_sp.active .svg-elem-21 {
  stroke-dashoffset: 0;
  fill: rgb(0, 0, 0);
}

.about-vision-animation-svg_sp .svg-elem-22 {
  stroke-dashoffset: 947.8128051758px;
  stroke-dasharray: 947.8128051758px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 2.31s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s;
}

.about-vision-animation-svg_sp.active .svg-elem-22 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

.about-vision-animation-svg_sp .svg-elem-23 {
  stroke-dashoffset: 140.5901794434px;
  stroke-dasharray: 140.5901794434px;
  fill: transparent;
  transition: stroke-dashoffset 1.2s cubic-bezier(0.47, 0, 0.745, 0.715) 2.42s, fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 3s;
}

.about-vision-animation-svg_sp.active .svg-elem-23 {
  stroke-dashoffset: 0;
  fill: rgb(243, 169, 24);
}

main {
  /*----------------------------------------------------------------
  MV Section
  ----------------------------------------------------------------*/
}
main .mv {
  height: 100svh;
  position: relative;
  overflow: hidden;
  margin-top: 80px;
  overflow-anchor: none;
}
main .mv .mv_slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  overflow: hidden;
}
main .mv .mv_slider .part {
  flex: 1;
  height: 100%;
  position: relative;
}
main .mv .mv_slider .part .section {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
main .mv .mv_slider .part .section img {
  height: 100svh;
  object-fit: cover;
  position: absolute;
  left: var(--x);
  pointer-events: none;
  max-width: none !important;
}
main .mv .mv_inner {
  position: relative;
  z-index: 10;
  background-image: url(../img/top/mv_bg01.svg);
  background-size: contain;
  background-position: center;
  background-repeat: repeat-y;
}
main .mv .mv_inner .mv_content_left {
  height: calc(100svh - 80px);
}
main .mv .mv_inner .mv_content_left .mv_circles_right {
  bottom: 42px;
  right: 0;
}
main .mv .mv_large_text {
  /* ===== ベース ===== */
}
main .mv .mv_large_text .text_anime01 {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
main .mv .mv_large_text {
  /* ===== 白幕（::after で覆い、右へ消える） ===== */
}
main .mv .mv_large_text .text_anime01::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FFFFFF; /* 背景色に合わせて変更 */
  transform-origin: left;
  transform: scaleX(1);
  animation-name: text_anime_mv_curtain;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
main .mv .mv_large_text {
  /* ===== テキスト本体（幕と連動して出現） ===== */
}
main .mv .mv_large_text .text_anime01 .mv_text_anime_text {
  opacity: 0;
  animation: text_anime02 0.8s ease-in-out forwards;
}
main .mv .mv_large_text {
  /* ===== 2行目は少し遅らせる ===== */
}
main .mv .mv_large_text .mv_text_anime--line2::after,
main .mv .mv_large_text .mv_text_anime--line2 .mv_text_anime_text {
  animation-delay: 0.4s;
}
@keyframes text_anime_mv_curtain {
  0% {
    transform-origin: left;
    transform: scaleX(1);
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
@keyframes text_anime02 {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
main .mv .mv_bottom_bar {
  z-index: 10;
}
main {
  /*----------------------------------------------------------------
  Service Section
  ----------------------------------------------------------------*/
}
main .top_service .service_item_row {
  align-items: stretch;
}
main .top_service .service_item_row .service_img_box {
  display: flex;
  min-height: clamp(24.375rem, calc(780 / 1920 * 100vw), 48.75rem);
}
main .top_service .service_item_row .service_img_box.service_img_box03 img {
  object-position: right;
}
main .top_service .service_item_row .service_img_box img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main .top_service .service_item_row .service_text_box {
  display: flex;
  flex-direction: column;
  padding-right: 10vw;
}
main .top_service .service_item_row .service_decoration_area {
  margin-top: auto;
}
main .house_deco_wrap {
  --house-deco-stripe-bg: #EBEBEB;
  --house-deco-stripe-line: #d58d00;
  --house-deco-stripe-width: 0.55px;
  --house-deco-stripe-opacity: 0.55;
  --house-deco-pattern-size: 2px;
  --house-deco-outline: #d58d00;
  display: block;
  width: 45%;
  max-width: 470px;
  margin-inline: auto;
  pointer-events: none;
}
main .house_deco_wrap svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 277/240;
}
main .house_deco_wrap .house_deco_pattern {
  width: var(--house-deco-pattern-size);
  height: var(--house-deco-pattern-size);
}
main .house_deco_wrap .house_deco_pattern_bg {
  fill: var(--house-deco-stripe-bg);
}
main .house_deco_wrap .house_deco_pattern_line {
  stroke: var(--house-deco-stripe-line);
  stroke-width: var(--house-deco-stripe-width);
  stroke-opacity: var(--house-deco-stripe-opacity);
}
main .house_deco_wrap .house_deco_outline {
  stroke: var(--house-deco-outline);
}
main .house_deco_wrap--stripe_bg_white {
  --house-deco-stripe-bg: #fff;
}
main .house_deco_wrap--wash_dots {
  --house-deco-dot-cell: #ebebeb;
  --house-deco-dot-fill: #d58d00;
}
main .house_deco_wrap--wash_dots .house_deco_dots_pattern_cell,
main .house_deco_wrap--wash_dots .house_deco_dots_wash_overlay {
  fill: var(--house-deco-dot-cell);
}
main .house_deco_wrap--wash_dots.house_deco_wrap--wash_dots_bg_white {
  --house-deco-dot-cell: #fff;
}
main .house_deco_wrap--water03.house_deco_water03_stack {
  --house-deco-grid-cell: #ebebeb;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_grid_pattern_cell {
  fill: var(--house-deco-grid-cell);
}
main .house_deco_wrap--water03.house_deco_water03_stack {
  position: relative;
  isolation: isolate;
  aspect-ratio: 277/240;
  width: 45%;
  max-width: 470px;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_layer_grid,
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin,
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_layer_outline {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_layer_grid {
  z-index: 1;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin {
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin svg {
  width: 70%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  display: block;
  transform-origin: 50% 50%;
  animation: house_water_ring_spin 32s linear infinite;
  top: 72px;
  position: relative;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_layer_outline {
  z-index: 3;
  pointer-events: none;
}
main .house_deco_wrap--water03.house_deco_water03_stack {
  /** ブロブは top-blob-morph.js（KUTE・低 morphIndex）でパスモーフ。CSS のくるくるは止める */
  /** モーフ中にパスが viewBox よりはみ出すため hidden にしない */
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin--morph {
  overflow: visible;
}
main .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin--morph .house_deco_water_morph_svg {
  width: 80%;
  height: auto;
  max-height: 100%;
  display: block;
  animation: none;
  transform: none;
  top: auto;
  margin-top: 80px;
  overflow: visible;
}
main .house_deco_wrap--water03.house_deco_water03_stack.house_deco_wrap--water03_bg_white {
  --house-deco-grid-cell: #fff;
}
@keyframes house_water_ring_spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
main .service_hed_section .house_deco_wrap--water03.house_deco_water03_stack .house_deco_water03_spin--morph .house_deco_water_morph_svg {
  margin-top: 80px;
}
main .top_about .about_bg01 {
  background-image: url(../img/top/about_bg01.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main .top_about .top_about_band_inner {
  border: 1px solid #EBEBEB;
}
main .top_about .top_animation_overlay {
  top: -8vw;
  width: 96vw;
}
main .top_about .top_animation_overlay .top_animation_logo {
  width: clamp(8.75rem, calc(280 / 1920 * 100vw), 17.5rem);
}
main {
  /*----------------------------------------------------------------
  Projects Section
  ----------------------------------------------------------------*/
}
main .top_projects .projects_content {
  overflow: visible;
}
main .top_projects .projects_number {
  position: relative;
  width: clamp(1.5625rem, calc(50 / 1920 * 100vw), 3.125rem);
  height: clamp(1.46875rem, calc(47 / 1920 * 100vw), 2.9375rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
main .top_projects .projects_number::before, main .top_projects .projects_number::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #F3A918;
}
main .top_projects .projects_number::before {
  left: -7px;
}
main .top_projects .projects_number::after {
  left: 0;
}
main .top_projects .projects_number p {
  position: relative;
  z-index: 1;
}
main .top_projects .projects_link:hover {
  opacity: 0.7;
}
main .top_projects .projects_cards .projects_card {
  flex: 1;
  display: block;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
main .top_projects .projects_cards .projects_card:hover {
  opacity: 0.8;
}
main .top_projects .projects_cards .projects_card_img {
  overflow: hidden;
}
main .top_projects .projects_cards .projects_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
main .top_projects .projects_cards .projects_card_ttl {
  border-bottom: 1px dashed #Fff;
}
main .recruit_section.ttl_line_bg01 {
  background-size: 20%;
}
main .recruit_section .txt_wrap .txt_wrap_txt02 {
  width: 390px;
  max-width: 90%;
}
main .recruit_section .recruit_content {
  position: relative;
  overflow: hidden;
}
main .recruit_section .recruit_content::before {
  content: "";
  position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background-image: url(../img/top/recruit_bg01.svg);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  animation: house_water_ring_spin 40s linear infinite;
}
main .recruit_section .recruit_content img {
  position: relative;
  z-index: 1;
}
main .franchisef {
  background-image: url(../img/top/franchise_bg01.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: -50px;
}
main .massage_section .inner .left_box .txt_fot .name {
  font-size: 24px;
}
main .massage_section .inner .right_box {
  border: 1px dashed #F3A918;
  box-sizing: border-box;
}
main .staff_section .inner .en_ttl01 {
  top: 20px;
  right: 30px;
}
main .staff_section .inner .main_ttl_wrap img {
  width: clamp(2.1875rem, 4.6875vw, 7.375rem);
}
main .staff_section .inner .box_wrap_item_text .ttl_wrap {
  border-bottom: 1px dashed #F3A918;
}
main .access_section {
  background-image: url(../img/company/access_bg01.svg);
  background-size: auto;
  background-position: center top;
}
main .projects_line_bg01 .line {
  border-right: 1px solid #F3A918;
  width: clamp(2.5rem, calc(80 / 1920 * 100vw), 5rem);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
main .an_btn_wap .icon {
  width: clamp(2.5rem, calc(80 / 1920 * 100vw), 5rem);
}
main .projects_section01 .txt_wrap {
  margin-left: clamp(2.5rem, calc(80 / 1920 * 100vw), 5rem);
}
main .service_hed_section .service_item_wrap01 .service_item {
  width: 32.5%;
}
main .service_hed_section .service_item_wrap01 .service_item .ttl_box {
  border-bottom: 1px dashed #1F5878;
}
main .service_hed_section .service_item_wrap02 .service_item .text_box h4 {
  border-bottom: 1px dashed #F3A918;
}
main .service_section .txt_wrap .txt_box .txt_item h4 {
  width: 28rem;
}
main .service_section .txt_wrap .txt_box .txt_item .txt01 {
  width: 52%;
}
main .service_section .flow_list_wrap .flow_list {
  position: relative;
}
main .service_section .flow_list_wrap .flow_list::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px dashed #F3A918;
  top: 48px;
}
main .service_section .flow_list_wrap .flow_list img, main .service_section .flow_list_wrap .flow_list p {
  position: relative;
  z-index: 1;
}
main .service_section .flow_list_wrap .flow_list .flow_item {
  width: clamp(4.375rem, calc(140 / 1920 * 100vw), 8.75rem);
}
main .service_section .flow_list_wrap .flow_list .arrow {
  position: relative;
  top: 42px;
}
main .service_section .flow_list_wrap .flow_list .arrow.arrow01 {
  left: 8px;
}
main .service_section .menu_external_links .open_in_new {
  bottom: 0;
  right: 0;
  border-top: 1px dashed #FFFFFF;
  border-left: 1px dashed #FFFFFF;
  border-radius: 5px 0 0 0;
  padding: 4px;
}
main .vision_section .inner {
  background-image: url(../img/about/vision_bg01.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main .about_section01.craftsmanship_section {
  background-image: url(../img/common/line_bg01.svg), url(../img/about/craftsmanship_bg01.svg);
  background-size: 13%, 55%;
  background-position: top left, top right;
  background-repeat: no-repeat;
}
main .about_section01.advisory_section {
  background-image: url(../img/common/line_bg01.svg), url(../img/about/advisory_bg01.svg);
  background-size: 13%, 55%;
  background-position: top left, top right;
  background-repeat: no-repeat;
}
main .about_section01 .inner {
  padding-left: clamp(14.0625rem, calc(450 / 1920 * 100vw), 28.125rem);
}
main .about_section01 .inner .box_ttl_wrap h5 {
  left: -8vw;
}
main .business_section .inner .txt01 {
  width: clamp(25.3125rem, calc(810 / 1920 * 100vw), 50.625rem);
  max-width: 95%;
}
main .privacy01 .box ol {
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 1.75em;
}
main .privacy01 .box ol > li {
  list-style-type: decimal;
  display: list-item;
}
main .privacy01 .box ol.sub {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
main .privacy01 .box ol.sub > li {
  list-style-type: lower-alpha;
}
main .privacy01 .box ul.sub_sub {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1.75em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
main .privacy01 .box ul.sub_sub > li {
  list-style-type: disc;
  display: list-item;
}
main .privacy01 .text_wrap.fit {
  border: 1px solid #4C4C4C;
  border-radius: 8px;
  padding-left: clamp(1.25rem, calc(40 / 1920 * 100vw), 2.5rem);
  padding-right: clamp(1.25rem, calc(40 / 1920 * 100vw), 2.5rem);
  max-width: 100%;
}
main .contact_section .tel_box_wrap {
  overflow: hidden;
  position: relative;
}
main .contact_section .tel_box_wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2%;
  width: 35%;
  height: 190%;
  background-image: url(../img/common/cta_btn_bg01.svg);
  background-repeat: no-repeat;
  background-position: center left;
  background-size: contain;
  animation: ctaBgRotate 25s linear infinite;
  pointer-events: none;
}
main .contact_section .tel_box_wrap .txt_wrap {
  position: relative;
  z-index: 100;
}
main .contact_section .form_box_wrap .ttl_wrap {
  position: relative;
  overflow: hidden;
}
main .contact_section .form_box_wrap .ttl_wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3%;
  width: 35%;
  height: 190%;
  background-image: url(../img/common/cta_btn_bg02.svg);
  background-repeat: no-repeat;
  background-position: center left;
  background-size: contain;
  animation: ctaBgRotate 25s linear infinite;
  pointer-events: none;
}
main .contact_section .form_box_wrap .ttl_wrap h3 {
  position: relative;
  z-index: 100;
}
main .contact_section .formmailer-embed iframe {
  border-radius: 20px;
  width: 960px !important;
  max-width: 90% !important;
  border: 1px solid #DFDFDF;
}




/* ---------------------------------------

20260619 会社案内：スタッフページ

----------------------------------------*/  

main .staff_section .inner .box_wrap_item .staff_divider {
  width: 100%;
  border-top: 1px dashed #F3A918;
}