@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  font-size: var(--f16);
}

html,
body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-all;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

/*  link
-----------------------------------------------------------------------------*/
a {
  transition-property: all;
  transition: var(--transition-mid);
}

a,
a:visited,
a:hover {
  color: inherit;
}

a img {
  border: 0;
}

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

.pc {
  display: block;
}

.sp {
  display: none;
}

/*  reset
-----------------------------------------------------------------------------*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-sizing: border-box;
}

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

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  vertical-align: baseline;
  background: transparent;
}

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

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

del {
  text-decoration: line-through;
}

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

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

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

input,
select {
  vertical-align: middle;
}

フォーム部品の完全リセット用 input {
  -webkit-appearance: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

input,
button,
select,
textarea {
  font-family: inherit;
}

button,
input[type=submit] {
  cursor: pointer;
  transition: 0.3s ease;
}

input::placeholder,
textarea::placeholder {
  color: #9b9b9b;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #9b9b9b;
}

img {
  vertical-align: top;
}

main {
  display: block;
}

[v-cloak] {
  display: none;
}

sup {
  vertical-align: super;
  font-size: small;
  font-weight: inherit;
}

:root {
  --f200: clamp(5rem, 13.31vw, 20rem);
  --f120: clamp(2.8rem, 8vw, 12rem);
  --f100: clamp(2.4rem, 6.67vw, 10rem);
  --f80: clamp(2.0rem, 5.33vw, 8rem);
  --f75: clamp(2.0rem, 5.01vw, 7.5rem);
  --f70: clamp(1.8rem, 4.67vw, 7rem);
  --f60: clamp(1.8rem, 4vw, 6rem);
  --f52: clamp(1.8rem, 3.47vw, 5.2rem);
  --f50: clamp(1.8rem, 3.33vw, 5rem);
  --f48: clamp(1.6rem, 3.2vw, 4.8rem);
  --f46: clamp(1.6rem, 3.07vw, 4.6rem);
  --f44: clamp(1.6rem, 2.93vw, 4.4rem);
  --f42: clamp(1.6rem, 2.8vw, 4.2rem);
  --f40: clamp(1.6rem, 2.66vw, 4rem);
  --f38: clamp(1.6rem, 2.53vw, 3.8rem);
  --f36: clamp(1.6rem, 2.4vw, 3.6rem);
  --f34: clamp(1.5rem, 2.3vw, 3.4rem);
  --f30: clamp(1.4rem, 2vw, 3rem);
  --f28: clamp(1.4rem, 1.87vw, 2.8rem);
  --f26: clamp(1.4rem, 1.73vw, 2.6rem);
  --f24: clamp(1.4rem, 1.6vw, 2.4rem);
  --f22: clamp(1.4rem, 1.4vw, 2.2rem);
  --f20: clamp(1.4rem, 1.33vw, 2rem);
  --f19: clamp(1.4rem, 1.27vw, 1.9rem);
  --f18: clamp(1.3rem, 1.2vw, 1.8rem);
  --f17: clamp(1.3rem, 1.14vw, 1.7rem);
  --f16: clamp(1.3rem, 1.06vw, 1.6rem);
  --f15: clamp(1.2rem, 1vw, 1.5rem);
  --f14: clamp(1.1rem, 0.93vw, 1.4rem);
  --f13: clamp(1.1rem, 0.87vw, 1.3rem);
  --f12: clamp(1.1rem, 0.81vw, 1.2rem);
  --f11: clamp(1rem, 0.73vw, 1.1rem);
  --f10: clamp(1rem, 0.67vw, 1rem);
  --f60-sp: 15.3846153846vw;
  --f50-sp: 12.8205128205vw;
  --f40-sp: 10.2564102564vw;
  --f38-sp: 9.7435897436vw;
  --f36-sp: 9.2307692308vw;
  --f34-sp: 8.7179487179vw;
  --f32-sp: 8.2051282051vw;
  --f30-sp: 7.6923076923vw;
  --f28-sp: 7.1794871795vw;
  --f27-sp: 6.9230769231vw;
  --f26-sp: 6.6666666667vw;
  --f25-sp: 6.4102564103vw;
  --f24-sp: 6.1538461538vw;
  --f23-sp: 5.8974358974vw;
  --f22-sp: 5.641025641vw;
  --f20-sp: 5.1282051282vw;
  --f18-sp: 4.6153846154vw;
  --f17-sp: 4.358974359vw;
  --f16-sp: 4.1025641026vw;
  --f15-sp: 3.8461538462vw;
  --f14-sp: 3.5897435897vw;
  --f13-sp: 3.3333333333vw;
  --f12-sp: 3.0769230769vw;
  --f11-sp: 2.8205128205vw;
  --f10-sp: 2.5641025641vw;
  --font-ttl-01: var(--f44);
  --font-ttl-01-en: var(--f24);
  --font-ttl-02: var(--f40);
  --font-ttl-02-en: var(--f20);
  --font-ttl-03: var(--f24);
  --font-ttl-04: var(--f20);
  --font-ttl-05: var(--f24);
  --font-ttl-06: var(--f30);
  --font-dt-01: var(--f20);
  --font-dd-01: var(--f14);
  --text-01: var(--f18);
  --text-02: var(--f16);
  --text-03: var(--f14);
  --text-04: var(--f14);
  --font-ttl-top-catch: var(--f46);
  --font-ttl-page-h1: var(--f60);
  --font-ttl-top: var(--f60);
  --font-ttl-top-num: var(--f70);
  --font-ttl-top-catch: var(--f46);
  --font-ttl-page-h1: var(--f60);
  --font-ttl-page-h1span: var(--f28);
  --font-ttl-page-span: var(--f30);
  --font-ttl-catch: var(--f48);
  --font-ttl_01: var(--f46);
  --font-ttl_01-span: var(--f75);
  --font-ttl_02: var(--f36);
  --font-ttl_03: var(--f44);
  --font-24_14: var(--f18);
  --font-24_14: var(--f18);
  --font-dt_01: var(--f26);
  --font-dt_02: var(--f20);
  --font-imgbn_01: var(--f22);
  --font-imgbn_02: var(--f19);
  --font-name: var(--f36);
  --font-16: var(--f16);
  --font-14: var(--f14);
  --font-13: var(--f13);
  --font-12: var(--f12);
  --radius-small:4px;
  --radius-mid:10px;
  --radius-large:20px;
  --padding-small: 5px;
  --padding-mid: 10px;
  --padding-large: 20px;
  --margin-small: 5px;
  --margin-mid: 10px;
  --margin-large: 20px;
  --gradient-r-def: linear-gradient(to right, #00C7EB, #F4007A);
  --gradient-r-hvr: linear-gradient(to right, #2B30D1, #7E03F8);
  --gradient-b-def: linear-gradient(to bottom, #00C7EB, #F4007A);
  --gradient-b-hvr: linear-gradient(to bottom, #2B30D1, #7E03F8);
  --gradient-b-45: linear-gradient(135deg, #2B30D1, #7E03F8);
  --transition-fast: all 0.1s ease-in-out;
  --transition-mid: all 0.5s ease;
  --transition-slow: all 0.8s ease;
}
.btn-spmenu {
  z-index: 4;
}

.header {
  z-index: 3;
}

.sp-menu {
  z-index: 2;
}

main {
  z-index: 1;
}

main {
  position: relative;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/**
 * Swiper 11.1.14
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 12, 2024
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;
  display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;
  height: 100%;
  margin-left: -0.05em;
  content: "";
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal {
  position: relative;
  outline: none;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}

/*
 *  Remodal - v1.1.1
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

/* Default theme styles of the overlay */
.remodal-overlay {
  background: rgba(51, 51, 51, 0.6);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */
.remodal-wrapper {
  padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */
.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */
.remodal-close {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  overflow: visible;
  width: 35px;
  height: 35px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent;
}

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38;
}

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 25px;
  line-height: 35px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 35px;
  content: "×";
  text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* Keyframes
   ========================================================================== */
@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* Media queries
   ========================================================================== */
/* IE8
   ========================================================================== */
.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}

.lt-ie9 .remodal {
  width: 700px;
}
.header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0;
}
.header-nav > li > a > span._subn {
  position: relative;
}
.header-nav > li > a > span.f_en {
  font-size: var(--f12);
  color: #ec6d5e;
}
.header-nav-sub {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.0416666667vw;
}
.header-nav-sub > li > a {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1.0416666667vw;
  position: relative;
}
.header-nav-sub > li > a:after {
  width: 4px;
  height: 6px;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  position: absolute;
  left: 0.4166666667vw;
  transition: var(--transition-mid);
  flex-shrink: 0;
}
.header-nav-sub > li > a:before {
  content: "";
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  width: 0.9375vw;
  height: 0.9375vw;
  transition: var(--transition-mid);
  flex-shrink: 0;
}
.header-nav-box {
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-mid);
  transition-property: opacity, visibility;
}
.header-nav-box._is-open {
  opacity: 1;
  visibility: visible;
  transition: var(--transition-mid);
  transition-property: opacity, visibility;
}

.btn-spmenu {
  z-index: 1010;
  position: fixed;
  top: 2.5641025641vw;
  right: 5.8974358974vw;
  width: 12.8205128205vw;
  height: 12.8205128205vw;
  border-radius: 50%;
  border: 1px solid #000;
  background: #fff;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.0256410256vw;
  padding-top: 0.5128205128vw;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: var(--f10-sp);
}
.btn-spmenu:after {
  content: "MENU";
}
._is-fixednav-open .btn-spmenu:after, ._is-gnav-open .btn-spmenu:after {
  content: "CLOSE";
}
.btn-spmenu span {
  width: 6.1538461538vw;
  height: 2px;
  background: #000;
  left: 0;
}
._is-scr .btn-spmenu span, ._is-gnav-open .btn-spmenu span, ._is-fixednav-open .btn-spmenu span {
  transition: var(--transition-mid);
  z-index: 1020;
}
._is-gnav-open .btn-spmenu span:nth-child(1), ._is-fixednav-open .btn-spmenu span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
  transition: var(--transition-mid);
}
._is-gnav-open .btn-spmenu span:nth-child(2), ._is-fixednav-open .btn-spmenu span:nth-child(2) {
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-mid);
}
._is-gnav-open .btn-spmenu span:nth-child(3), ._is-fixednav-open .btn-spmenu span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
  transition: var(--transition-mid);
}
.btn-spmenu__txt {
  font-size: var(--f18);
  font-weight: 600;
}
.active .btn-spmenu__txt > span:nth-child(1) {
  display: none;
}
.btn-spmenu__txt > span:nth-child(2) {
  display: none;
}
.active .btn-spmenu__txt > span:nth-child(2) {
  display: block;
}
.sidefixed-nav > p {
  color: #fff;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.sidefixed-nav > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 0.625vw;
}
.sidefixed-nav-tel {
  background: #fff;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.15625vw;
  padding: 0.7291666667vw;
}
.sidefixed-nav-tel dt {
  font-size: var(--f12);
}
.sidefixed-nav-tel dd {
  font-size: var(--f22);
}
.sidefixed-nav-tel._extra {
  color: #e60012;
}
.sidefixed-nav-tel._extra dt {
  font-size: var(--f14);
}
.sidefixed-nav-tel._extra dd {
  font-size: var(--f24);
}
.sidefixed-nav .cmn-btn {
  justify-content: stretch;
}
.sidefixed-nav .cmn-btn a {
  padding-left: 0.5208333333vw;
  width: 100%;
}

.pagetop {
  position: sticky;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 6.3vw;
  height: 6.3vw;
  bottom: 50px;
  left: calc(100vw - 13em);
  margin: -3.2vw 0;
  z-index: 100;
  transition: var(--transition-mid);
  opacity: 1;
  visibility: visible;
}
.pagetop._hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.pagetop:before {
  content: "";
  transform: rotate(-45deg);
  background: #ec6d5e;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  z-index: 0;
}
.pagetop a {
  text-decoration: none;
  color: #8ac562;
  letter-spacing: 0em;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.4vw;
}
.pagetop a:before {
  content: "";
  background: url("../img/parts/icon_pagetop.png") no-repeat 50% 50%;
  background-size: 1vw 1vw;
  width: 1vw;
  height: 1vw;
  display: block;
  transition-duration: 0.5s;
}
main._is-bg + footer {
  background: #f7f9f4;
}

.footer-cont-01 {
  padding-top: 3.90625vw;
  padding-bottom: 5.9895833333vw;
  border-radius: 2.0833333333vw 2.0833333333vw 0 0;
  background: #e2e6df;
  overflow: hidden;
}
.footer-cont-01-r {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
}
.footer-cont-01-r .cmn-btn {
  width: 20.8333333333vw;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
}
.footer-cont-01-r .cmn-btn a {
  width: 100%;
}
.footer-cont-01-r figure {
  margin-top: auto;
  margin-left: auto;
  margin-right: 9%;
  width: 58%;
}
.footer-cont-02 {
  background: #d8dbd6;
  border-radius: 2.0833333333vw 2.0833333333vw 0 0;
  font-size: var(--f16);
  margin-top: -2.0833333333vw;
  line-height: 1.625;
}
.footer-cont-02 .inner-w {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.3020833333vw;
  padding-top: 3.3854166667vw;
  padding-bottom: 3.3854166667vw;
}
.footer-tel {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.1875vw;
  flex-wrap: wrap;
}
.footer-tel dl .cmn-dlbox-02 {
  max-width: 250px;
}
.footer-add {
  font-style: normal;
}
.footer-nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px;
}
.footer-nav li a {
  text-decoration: none;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.footer-nav li a:before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #90d2e4;
}
.footer-nav li a._external:before {
  background: #8ac562;
}
.footer-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 15px;
  color: #4c4c4c;
}

.copyright {
  font-size: var(--f14);
}

/**/
._inview-zoom {
  opacity: 0;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

._inview-zoom.scrollin {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* inview */
._inview {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
}

._inview_l {
  opacity: 0;
  -webkit-transform: translateX(-50px);
  transform: translateX(-50px);
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
}

._inview_r {
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
}

._inview.scrollin {
  -webkit-animation: anim-blc 0.7s 0.5s both cubic-bezier(0.2, 1, 0.6, 1);
  animation: anim-blc 0.7s 0.8s both cubic-bezier(0.2, 1, 0.6, 1);
}

._inview_l.scrollin {
  -webkit-animation: anim-blc-l 0.8s 0.5s both cubic-bezier(0.2, 1, 0.6, 1);
  animation: anim-blc-l 0.8s 0.5s both cubic-bezier(0.2, 1, 0.6, 1);
}

._inview_r.scrollin {
  -webkit-animation: anim-blc-r 0.8s 0.5s both cubic-bezier(0.2, 1, 0.6, 1);
  animation: anim-blc-r 0.8s 0.5s both cubic-bezier(0.2, 1, 0.6, 1);
}

@-webkit-keyframes anim-blc {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes anim-blc {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes anim-blc-l {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes anim-blc-r {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
body {
  color: #000;
  background-size: 100% auto;
  word-break: break-all;
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0em;
}

a {
  text-decoration: none;
  transition: var(--transition-mid);
}
a:before, a:after, a * {
  transition: var(--transition-mid);
}

main {
  padding-top: 140px;
}
.index main {
  padding-top: 0;
}

.inner-s {
  width: 100%;
  padding: 0 7%;
}

.inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner-w {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}

[v-cloak] {
  opacity: 0;
  display: none;
}

._nolink {
  pointer-events: none;
  cursor: default;
}

/**/
.cmn-head {
  padding: 3.125vw 0 5.2083333333vw;
}

.cmn-sec {
  padding: 8.3333333333vw 0 10.4166666667vw;
  border-radius: 2.0833333333vw 2.0833333333vw 0 0;
  overflow: hidden;
  background: #fff;
  margin-top: -2.0833333333vw;
  position: relative;
}

._bg {
  background: #f7f9f4;
}

._bg-w {
  background: #fff;
}

._bdr {
  border: 2px solid #ec6d5e;
}

._bdr-g {
  border: 2px solid #e7e7e7;
}

.cmn-text-00 {
  font-size: var(--f20);
  line-height: 2.1111111111;
  font-weight: 700;
}

.cmn-text-01 {
  font-size: var(--f18);
  line-height: 2.1111111111;
}

.cmn-text-02 {
  font-size: var(--f16);
  line-height: 1.875;
}

.cmn-text-03 {
  font-size: var(--f14);
  line-height: 1.5714285714;
}

.cmn-text-04 {
  font-size: var(--f14);
  line-height: 2;
}

.cmn-blc + .cmn-blc {
  margin-top: 8.3333333333vw;
}
.cmn-blc._bg {
  padding: 2.6041666667vw;
  border-radius: var(--radius-mid);
}
.cmn-blc._bg-w {
  padding: 3.125vw;
  border-radius: var(--radius-mid);
}
.cmn-blc._bdr {
  padding: 1.8229166667vw;
  border-radius: var(--radius-mid);
}
.cmn-blc._p20 {
  padding: 1.0416666667vw;
}
.cmn-box + .cmn-box {
  margin-top: 3.3333333333vw;
}
.cmn-box._bg {
  padding: 2.6041666667vw;
  border-radius: var(--radius-mid);
}
.cmn-box._bdr {
  padding: 1.8229166667vw;
  border-radius: var(--radius-mid);
}
.cmn-form > div {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.5625vw;
}
.cmn-form > div > dt {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1.0416666667vw;
  font-weight: 700;
}
.cmn-form > div > dt:after {
  content: "任意";
  border: 1px solid #4c4c4c;
  color: #4c4c4c;
  background-color: #fff;
  border-radius: 50px;
  font-size: var(--f14);
  padding: 0.2604166667vw 0.5208333333vw;
  margin-left: auto;
  flex-shrink: 0;
}
.cmn-form > div > dd {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1.0416666667vw;
  flex: auto;
  flex-wrap: wrap;
}
.cmn-form > div > dd .half_blc {
  display: flex;
}
.cmn-form > div > dd .half_blc label {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cmn-form > div > dd > span {
  width: 100%;
  display: block;
}
.cmn-form > div > dd input, .cmn-form > div > dd textarea {
  width: 100%;
}
.cmn-form._conf dt {
  padding: 0;
}
.cmn-form._conf dd {
  line-height: 1.5714285714;
}
.cmn-form .req dt:after {
  content: "必須";
  border: 1px solid #e60012;
  color: #e60012;
}
.cmn-form span.error {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.78125vw;
  color: #fff;
  background: #e60012;
  font-size: var(--f16);
  border-radius: var(--radius-small);
  padding: 0.4166666667vw 0.78125vw;
  width: 100%;
}
.cmn-form span.error:before {
  content: "";
  background: url("../img/parts/icon_ex.svg") no-repeat 50% 50%;
  background-size: 25px 25px;
  width: 25px;
  height: 25px;
  display: block;
  transition-duration: 0.5s;
}
.cmn-form input.error, .cmn-form textarea.error {
  border-color: #e60012;
  background: #f1d4d4;
}

.cmn-step {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.78125vw;
  list-style: none;
}
.cmn-step li {
  position: relative;
  flex: 1;
  text-align: center;
  line-height: 1.4285714286;
}
.cmn-step li::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: #e7e7e7;
  position: relative;
  z-index: 2;
}
.cmn-step li::after {
  content: "";
  position: absolute;
  top: 11px;
  left: -52%;
  width: 100%;
  height: 4px;
  background: #e7e7e7;
  z-index: 1;
}
.cmn-step li:first-child:after {
  display: none;
}
.cmn-step li.active {
  font-weight: 700;
}
.cmn-step li.active:before {
  background: #ec6d5e;
}
.cmn-step li.active:after {
  background: #ec6d5e;
}

::placeholder {
  color: rgba(72, 43, 37, 0.3);
}

input:not([type=submit]):not([type=button]):not([type=checkbox]),
textarea,
select {
  background: #fff;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  border: 1px solid #acacac;
  color: #000;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
input:not([type=submit]):not([type=button]):not([type=checkbox]).error, input:not([type=submit]):not([type=button]):not([type=checkbox]).wpcf7-not-valid,
textarea.error,
textarea.wpcf7-not-valid,
select.error,
select.wpcf7-not-valid {
  border: 1px solid #e60012;
  background: #f1d4d4;
}
input:not([type=submit]):not([type=button]):not([type=checkbox]) + input:not([type=submit]):not([type=button]):not([type=checkbox]),
input:not([type=submit]):not([type=button]):not([type=checkbox]) + textarea,
input:not([type=submit]):not([type=button]):not([type=checkbox]) + select,
textarea + input:not([type=submit]):not([type=button]):not([type=checkbox]),
textarea + textarea,
textarea + select,
select + input:not([type=submit]):not([type=button]):not([type=checkbox]),
select + textarea,
select + select {
  margin-top: 10px;
}

input[type=submit],
input[type=button] {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.check-list .wpcf7-checkbox, .check-list .wpcf7-radio {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
.check-list .wpcf7-checkbox > .wpcf7-list-item, .check-list .wpcf7-radio > .wpcf7-list-item {
  width: calc(50% - 5px);
  margin: 0;
}

.check-privacy {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.check-privacy span.wpcf7-list-item-label {
  display: none;
}
.check-privacy .wpcf7-form-control-wrap {
  position: static;
}
.check-privacy .wpcf7-list-item {
  margin-left: 0;
}
.check-privacy .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  bottom: -30px;
  margin: 0;
  line-height: 1.4;
}

.check-wrap {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.check-wrap input[type=checkbox] {
  display: none;
}
.check-wrap input[type=checkbox]:checked + span {
  background: #ec6d5e;
  transition: var(--transition-mid);
}
.check-wrap input[type=checkbox]:checked + span:after {
  opacity: 1;
}
.check-wrap input[type=checkbox] + span {
  width: 30px;
  height: 30px;
  background: #fff;
  border: 1px solid #acacac;
  border-radius: 4px;
  margin: -2px 0 0 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  flex-shrink: 0;
}
.check-wrap input[type=checkbox] + span:after {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
  bottom: 4px;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  transition: var(--transition-mid);
}

.check-wrap_btn {
  position: relative;
}
.check-wrap_btn label input {
  display: none;
}
.check-wrap_btn label input:checked + span {
  color: #fff;
  background: #ec6d5e;
  transition: var(--transition-mid);
}
.check-wrap_btn label span {
  background-color: #e8e8e8;
  border-radius: 30px;
  padding: 10px 20px;
  display: flex;
}

.radio-wrap {
  display: inline-block;
  cursor: pointer;
}
.radio-wrap input[type=radio] {
  display: none;
}
.radio-wrap input[type=radio] + span {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #acacac;
  border-radius: 50%;
  margin: -2px 10px 0 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  transition: 0.1s ease border-color;
}
.radio-wrap input[type=radio] + span:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #ec6d5e;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  transition: 0.1s ease opacity;
}
.radio-wrap input[type=radio]:checked + span {
  border-color: #ec6d5e;
}
.radio-wrap input[type=radio]:checked + span:after {
  opacity: 1;
}

.selectBox {
  border-radius: 5px;
  position: relative;
}
.selectBox + .selectBox {
  margin-top: 10px;
}
.selectBox:before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #acacac;
  border-right: 1px solid #acacac;
  position: absolute;
  top: 46%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
.selectBox select {
  width: 100%;
  padding: 10px 20px;
}

.flx-input {
  display: flex;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.flx-input input:not([type=submit]):not([type=button]),
.flx-input textarea,
.flx-input select {
  margin-top: 0 !important;
}
.flx-input input[type=radio],
.flx-input input[type=checkbox] {
  width: auto;
}
.flx-input .inputhead {
  flex-shrink: 0;
}

.radio-list input[type=radio] {
  width: auto;
  margin-right: 10px;
}
.radio-list textarea {
  margin-top: 10px;
}

.form-thanks {
  line-height: 2;
  text-align: center;
}
.form-thanks dt {
  font-weight: 600;
}

.scroll-hint-icon {
  background: rgba(236, 109, 94, 0.85);
}

.wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #e60012 !important;
  font-weight: 700 !important;
  margin-top: 10px;
}

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

.f_num {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.text-dot {
  position: relative;
}
.text-dot::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  background-color: #ec6d5e;
  border-radius: 50%;
}
.text-line {
  background: linear-gradient(transparent 60%, #d0e7c1 60%);
}
.text-pi {
  color: #ec6d5e;
}
.text-bl {
  color: #90d2e4;
}
.text-gr {
  color: #8ac562;
}
.text-name {
  font-weight: 700;
  font-size: var(--f26);
}
.text-name span {
  font-size: var(--f34);
}

strong {
  font-weight: 700;
}

ruby rt {
  font-size: 70%;
}

a._external:after {
  content: "";
  background: url("../img/parts/icon_external.svg") no-repeat 50% 50%;
  background-size: 12px 12px;
  width: 12px;
  height: 12px;
  display: block;
  transition-duration: 0.5s;
}
a._tel {
  text-decoration: none;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
a._link {
  color: #ec6d5e;
  text-decoration: underline;
}

.align-r {
  text-align: right;
}
.align-l {
  text-align: left;
}
.align-c {
  text-align: center;
}
.cmn-mainv figure {
  aspect-ratio: 1826/420;
  width: 100%;
  max-width: 1826px;
  margin: 0 auto;
  border-radius: var(--radius-mid);
  overflow: hidden;
}
.cmn-mainv figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cmn-figure {
  overflow: hidden;
  border-radius: var(--radius-mid);
}
.cmn-figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cmn-blc-head {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 3.125vw;
}
.cmn-blc-head h3, .cmn-blc-head p {
  flex: 1;
}
.cmn-blc-head p.cmn-text-02 {
  margin-top: 4.6875vw;
}

.cmn-list-01 {
  margin-top: 2.0833333333vw;
}
.cmn-list-01 li {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5208333333vw;
}
.cmn-list-01 li + li {
  margin-top: 1.5625vw;
}
.cmn-list-01 li:before {
  content: "";
  display: block;
  background: #ec6d5e;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.5em;
}
.cmn-list-01._gr {
  background: #e0eed8;
}
.cmn-list-01._gr li:before {
  background: #8ac562;
}
.cmn-list-01._bl {
  background: #d9ecf1;
}
.cmn-list-01._bl li:before {
  background: #90d2e4;
}

.cmn-list-02 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.5208333333vw;
  margin-top: 2.0833333333vw;
}
.cmn-list-02 li a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  background-color: #fff;
  border: 1px solid #e7e7e7;
  height: 100%;
}
.cmn-list-02 li a img {
  object-fit: contain;
}

.cmn-desc-01 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5208333333vw;
}
.cmn-desc-01 > figure {
  aspect-ratio: 1/1;
}
.cmn-desc-01 > span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  border-radius: 50%;
  background: #8ac562;
  color: #fff;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  margin-top: -1.5625vw;
}
.cmn-desc-01 > dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.cmn-desc-02 {
  border-radius: var(--radius-mid);
  padding: 1.5625vw;
  background: #fbe2df;
}
.cmn-desc-02 dl dt {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5208333333vw;
}
.cmn-desc-02 dl dt:before {
  background: #ec6d5e;
}
.cmn-desc-02 dl dd {
  margin-top: 0;
}
.cmn-desc-02._gr {
  background: #e0eed8;
}
.cmn-desc-02._gr dt:before {
  background: #8ac562;
}
.cmn-desc-02._bl {
  background: #d9ecf1;
}
.cmn-desc-02._bl dt:before {
  background: #90d2e4;
}
.cmn-desc-02._pin {
  position: relative;
  padding: 1.5625vw 3.6458333333vw;
}
.cmn-desc-02._pin .cmn-ttl-04:before {
  content: none;
}
.cmn-desc-02._pin:before, .cmn-desc-02._pin:after {
  content: "";
  background: #8ac562;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0.5208333333vw;
  flex-shrink: 0;
}
.cmn-desc-02._pin:before {
  top: 0.5208333333vw;
}
.cmn-desc-02._pin:after {
  bottom: 0.5208333333vw;
}
.cmn-desc-02._pin dl:before, .cmn-desc-02._pin dl:after {
  content: "";
  background: #8ac562;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  position: absolute;
  right: 0.5208333333vw;
}
.cmn-desc-02._pin dl:before {
  top: 0.5208333333vw;
}
.cmn-desc-02._pin dl:after {
  bottom: 0.5208333333vw;
}
.cmn-panel-01._center_auto {
  justify-content: center;
}
.cmn-panel-01._center_auto > div {
  flex: 1;
}
.cmn-panel-01._col02 {
  flex-wrap: wrap;
}
.cmn-panel-01._col03 {
  flex-wrap: wrap;
}
.cmn-panel-01._col03 > * figure {
  aspect-ratio: 380/250;
  margin-bottom: 1.0416666667vw;
  background: #fff;
}
.cmn-panel-01._col04 > * {
  flex: 1;
}
.cmn-panel-01._gap60 {
  gap: 3.125vw;
}
.cmn-panel-01._gap20 {
  gap: 1.0416666667vw;
}
.cmn-panel-02._col03 {
  flex-wrap: wrap;
}
.cmn-panel-02._center {
  justify-content: center;
}
.cmn-panel-02 > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1.3020833333vw;
}
.cmn-panel-02 > div figure {
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.cmn-panel-02 > div dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.3020833333vw;
}
.cmn-panel-02 > div dl dt {
  font-size: var(--f20);
  font-weight: 700;
}
.cmn-panel-02 > div dl dt._center {
  text-align: center;
  line-height: 1.7;
}
.cmn-panel-02 > div dl dd {
  --font-dd-01: var(--f14);
  line-height: 2;
}

.cmn-dlbox-01 > div + div {
  margin-top: 1.5625vw;
}
.cmn-dlbox-01 dt {
  font-size: var(--font-dt-01);
  font-weight: 700;
  text-align: center;
  line-height: 1.7;
}
.cmn-dlbox-01 dd {
  font-size: var(--font-dd-01);
  line-height: 2;
  margin-top: 0.5208333333vw;
}
.cmn-dlbox-01._left dt {
  text-align: left;
}
.cmn-dlbox-01._flx dt {
  text-align: left;
  margin-bottom: 0;
  align-items: flex-start;
}
.cmn-dlbox-01._flx dt:before {
  margin: 13px 0 0;
}
.cmn-dlbox-01_in > div + div {
  margin-top: 1.5625vw;
}
.cmn-dlbox-01_in > div dt {
  font-size: var(--f16);
}
.cmn-dlbox-01_in > div dd {
  margin-top: 0.5208333333vw;
}
.cmn-dlbox-01_in > div dd + dd {
  margin-top: 1.5625vw;
}

.cmn-dlbox-02 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 0.6770833333vw;
}
.cmn-dlbox-02 dt {
  background: #fff;
  border-radius: 100px;
  font-size: var(--f16);
  font-weight: 700;
  text-align: center;
  padding: 0.5208333333vw;
}
.cmn-contactblc .cmn-dlbox-02 dt {
  background: #e7e7e7;
}
.cmn-dlbox-02 dt span {
  font-size: var(--f14);
}
.cmn-dlbox-02 dd {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: var(--f38);
}
.cmn-dlbox-02._extra dt {
  background: #e60012;
  color: #fff;
}
.cmn-dlbox-02._extra dd {
  color: #e60012;
}

.cmn-dlbox-03 {
  margin-top: 2.6041666667vw;
  border-radius: 0.5208333333vw;
}
.cmn-dlbox-03 .cmn-ttl-06 {
  color: #fff;
  width: 65%;
  margin: -2.6041666667vw auto 0;
}
.cmn-dlbox-03 dl {
  padding: 1.5625vw 2.0833333333vw 2.0833333333vw;
}
.cmn-dlbox-03 dl > div + div {
  margin-top: 1.8229166667vw;
}
.cmn-dlbox-03 dl dt {
  font-size: var(--font-dt-01);
  font-weight: 700;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.6770833333vw;
}
.cmn-dlbox-03 dl dt span {
  border-radius: 100px;
  border: 1px solid #000;
  background: #fff;
  font-size: var(--font-14);
  padding: 0.46875vw 0.78125vw;
}
.cmn-dlbox-03 dl dd {
  font-size: var(--font-dd-01);
  line-height: 2;
  margin-top: 0.78125vw;
}
.cmn-dlbox-03._gr {
  background: #e0eed8;
}
.cmn-dlbox-03._gr .cmn-ttl-06 {
  background: #8ac562;
}
.cmn-dlbox-03._gr .cmn-ttl-06:after {
  border-top-color: #8ac562;
}
.cmn-dlbox-03._gr dl dt span {
  color: #8ac562;
  border-color: #8ac562;
}
.cmn-dlbox-03._bl {
  background: #d9ecf1;
}
.cmn-dlbox-03._bl .cmn-ttl-06 {
  background: #90d2e4;
}
.cmn-dlbox-03._bl .cmn-ttl-06:after {
  border-top-color: #90d2e4;
}
.cmn-dlbox-03._bl dl dt span {
  color: #90d2e4;
  border-color: #90d2e4;
}

.cmn-dlbox-04 {
  width: 100%;
}
.cmn-dlbox-04 > div {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.6770833333vw;
  border-bottom: 2px solid #e7e7e7;
  padding: 1.0416666667vw;
}
.cmn-dlbox-04 > div dt {
  font-size: var(--f16);
  font-weight: 700;
  line-height: 1.5;
  padding: 0.5208333333vw;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.6770833333vw;
  min-width: 15%;
}
.cmn-dlbox-04 > div dt:before {
  content: "";
  display: block;
  background: #ec6d5e;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.5em;
}
.cmn-dlbox-04 > div dd {
  font-size: var(--f14);
  line-height: 2;
}
.cmn-dlbox-04._bl > div dt {
  width: 25%;
}
.cmn-dlbox-04._bl > div dt:before {
  background: #90d2e4;
}
.cmn-dlbox-04._nobdr > div {
  border: none;
  padding: 0;
}
.cmn-dlbox-04._col > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.5208333333vw;
}
.cmn-dlbox-04._col > div dt {
  width: 100%;
}
.cmn-dlbox-04._col > div dd {
  padding-left: 1.0416666667vw;
}

.cmn-dlbox-05 {
  border: 4px solid #90d2e4;
  background: #fff;
  border-radius: 0.5208333333vw;
  position: relative;
}
.cmn-dlbox-05 h4.cmn-ttl-03 {
  background: #90d2e4;
  color: #fff;
  padding: 0.5208333333vw;
  margin-bottom: 0;
}
.cmn-dlbox-05 h5.cmn-ttl-03 {
  margin-bottom: 0.5208333333vw;
}
.cmn-dlbox-05 > dt {
  text-align: center;
}
.cmn-dlbox-05 > dd {
  padding: 2.0833333333vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}

.cmn-dlbox-06 {
  border-radius: 0.5208333333vw;
  background-color: #f7f9f4;
  position: relative;
}
.cmn-dlbox-06 dt {
  text-align: center;
}
.cmn-dlbox-06 dd {
  padding: 2.0833333333vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}

.cmn-ttl-01 {
  font-size: var(--font-ttl-01);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5625vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 4.6875vw;
}
.cmn-ttl-01 > span {
  font-size: var(--font-ttl-01-en);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5208333333vw;
}
.cmn-ttl-01 > span:after {
  content: "";
  background: url("../img/parts/icon_ttl.png") no-repeat 50% 50%;
  background-size: 2.5vw 0.4166666667vw;
  width: 2.5vw;
  height: 0.4166666667vw;
  display: block;
  transition-duration: 0.5s;
}

.cmn-ttl-02 {
  font-size: var(--font-ttl-02);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.5625vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.65;
}
.cmn-ttl-02 > span {
  font-size: var(--font-ttl-02-en);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.5208333333vw;
  line-height: 1.5;
}
.cmn-ttl-02 > span:after {
  content: "";
  background: url("../img/parts/icon_ttl.png") no-repeat 50% 50%;
  background-size: 2.5vw 0.4166666667vw;
  width: 2.5vw;
  height: 0.4166666667vw;
  display: block;
  transition-duration: 0.5s;
  margin-left: 3px;
}

.cmn-ttl-03 {
  font-size: var(--font-ttl-03);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
  margin-bottom: 1.8229166667vw;
}

.cmn-ttl-04 {
  font-size: var(--font-ttl-04);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0.5208333333vw;
}
.cmn-ttl-04:before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #90d2e4;
  margin-top: 0.6em;
}
.cmn-ttl-04._gr:before {
  background: #8ac562;
}
.cmn-ttl-04._bl:before {
  background: #90d2e4;
}
.cmn-ttl-04._pi:before {
  background: #ec6d5e;
}
.cmn-ttl-04._large {
  font-size: var(--font-ttl-06);
  margin-bottom: 2.0833333333vw;
}
.cmn-ttl-04._large:before {
  width: 12px;
  height: 12px;
  margin-top: 0.6em;
}

.cmn-ttl-05 {
  margin-bottom: 2.34375vw;
}
.cmn-ttl-05 figure._il03 {
  width: 16%;
  margin-top: -5%;
  margin-left: -5%;
}
.cmn-ttl-05 figure._il02 {
  width: 11%;
}
.cmn-ttl-05 figure._il14 {
  width: 10%;
  margin-top: -5%;
}
.cmn-ttl-05 figure._il15 {
  width: 13.5%;
}
.cmn-ttl-05-in {
  font-size: var(--font-ttl-05);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  background: #fff;
  text-align: center;
  position: relative;
  border-radius: 100px;
}
.cmn-ttl-05-in._bg {
  background: #f7f9f4;
}
.cmn-ttl-05-in._bg:after {
  border-top-color: #f7f9f4;
}
.cmn-ttl-05-in:after {
  content: "";
  position: absolute;
  bottom: -0.78125vw;
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.78125vw solid transparent;
  border-right: 0.78125vw solid transparent;
  border-top: 0.8333333333vw solid #fff;
}

.cmn-ttl-06 {
  font-size: var(--font-ttl-04);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  background: #fff;
  padding: 0.78125vw 0;
  border-radius: 0.5208333333vw;
  text-align: center;
  position: relative;
}
.cmn-ttl-06:after {
  content: "";
  position: absolute;
  bottom: -0.46875vw;
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.5208333333vw solid transparent;
  border-right: 0.5208333333vw solid transparent;
  border-top: 0.5208333333vw solid #fff;
}

.cmn-figure + .cmn-text-04 {
  margin-top: 0.78125vw;
}

.cmn-imgblc {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3.125vw;
}
.cmn-imgblc ._imgbox {
  flex-shrink: 0;
  position: relative;
}
.cmn-imgblc ._imgbox._flx {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5625vw;
  margin-top: 0;
}
.cmn-imgblc ._imgbox._flx figure {
  width: auto;
  flex: 1;
}

.cmn-imgblc-02 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3.125vw;
}
.cmn-imgblc-02._left ._imgbox {
  margin-left: calc(50% - 50vw);
}
.cmn-imgblc-02._right ._imgbox {
  margin-right: calc(50% - 50vw);
}

._ilst {
  position: absolute;
}

.cmn-contactblc {
  border: 4px solid #ec6d5e;
  background: #fff;
  text-align: center;
  border-radius: 0.5208333333vw;
  padding-bottom: 3.125vw;
  margin-top: 5.2083333333vw;
  position: relative;
}
.cmn-contactblc h4.cmn-ttl-03 {
  background: #ec6d5e;
  color: #fff;
  padding: 0.5208333333vw;
  margin-bottom: 1.5625vw;
}
.cmn-contactblc h5.cmn-ttl-03 {
  margin-bottom: 0.5208333333vw;
}
.cmn-contactblc .box-info {
  text-align: left;
}
.cmn-contactblc .box-info h5.cmn-ttl-03 {
  margin-bottom: 0;
}
.cmn-contactblc .box-tel {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 60px;
  padding: 1.5625vw 0 1.0416666667vw;
  gap: 20px 60px;
  flex-wrap: wrap;
}
.cmn-contactblc > div._flx {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 3.90625vw;
}
.cmn-contactblc > div .box-info {
  text-align: left;
}
.cmn-contactblc > div .box-info h5.cmn-ttl-03 {
  margin-bottom: 0;
}
.cmn-contactblc ._ilst._01 {
  left: 3.5%;
  top: -11%;
  width: 7.9%;
}
.cmn-contactblc ._ilst._02 {
  right: 3.5%;
  bottom: -7%;
  width: 11%;
}
.cmn-contactblc ._ilst._10 {
  left: 3.5%;
  top: -11%;
  width: 11%;
}
.cmn-contactblc ._ilst._11 {
  right: 3.5%;
  bottom: -12%;
  width: 9.4%;
}
.cmn-contactblc ._ilst._12 {
  left: 3.5%;
  top: -8%;
  width: 10%;
}
.cmn-contactblc ._ilst._13 {
  right: 3.5%;
  bottom: -7%;
  width: 11%;
}

.cmn-disaster {
  position: relative;
}
.cmn-disaster figure {
  border-radius: var(--radius-mid);
  overflow: hidden;
}

.cmn-nav-anc {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 2.6041666667vw;
  font-size: var(--f16);
  font-weight: 700;
}
.cmn-nav-anc li a {
  text-decoration: none;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.0416666667vw;
  position: relative;
}
.cmn-nav-anc li a:after {
  content: "";
  display: block;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}
.cmn-nav-anc li a:before {
  width: 8px;
  height: 12px;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  transform: rotate(90deg);
  position: absolute;
  right: 13px;
  flex-shrink: 0;
}
.flx {
  display: flex;
}
.flx._center {
  justify-content: center;
}
.flx._top {
  align-items: flex-start;
}
.flx._middle {
  align-items: center;
}
.flx._bottom {
  align-items: flex-end;
}
.flx._spl {
  justify-content: flex-start;
}
.cmn-btn._left {
  justify-content: flex-start;
}
.cmn-btn a,
.cmn-btn input {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  border-radius: 100px;
  font-weight: 700;
}
.cmn-btn._def a, .cmn-btn._def input {
  font-size: var(--f16);
  border: 2px solid #000;
  background: #fff;
  color: #000;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1.0416666667vw;
  padding: 1.0416666667vw 1.0416666667vw 1.0416666667vw 1.9270833333vw;
  position: relative;
}
.cmn-btn._def a:after, .cmn-btn._def input:after {
  content: "";
  display: block;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  flex-shrink: 0;
}
.cmn-btn._def a:before, .cmn-btn._def input:before {
  width: 6px;
  height: 10px;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  position: absolute;
  right: 1.9791666667vw;
  flex-shrink: 0;
}
.cmn-btn._big a:before, .cmn-btn._big input:before {
  right: 2.7604166667vw;
}
.cmn-btn._submit input {
  width: 100%;
}
.cmn-btn._submit input:before {
  right: 2.7604166667vw;
}
.cmn-btn._submit .wpcf7-spinner {
  display: none;
}
.cmn-btn._back input {
  color: #9b9b9b;
  border-color: #9b9b9b;
  width: 100%;
}
.cmn-btn._ext a:after {
  content: "";
  background: url("../img/parts/icon_external.svg") no-repeat 50% 50%;
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  display: block;
  transition-duration: 0.5s;
}
.cmn-btn._ext02 a:before {
  content: "";
  background: url("../img/parts/icon_external.svg") no-repeat 50% 50%;
  background-size: 12px 12px;
  width: 12px;
  height: 12px;
  display: block;
  transition-duration: 0.5s;
  right: 2.6041666667vw;
}
.cmn-btn._insta a {
  border: 1px solid #e7e7e7;
  position: relative;
}
.cmn-btn._insta a:before {
  content: "";
  background: url("../img/parts/logo_insta.svg") no-repeat 50% 50%;
  background-size: 27px 27px;
  width: 27px;
  height: 27px;
  display: block;
  transition-duration: 0.5s;
  position: absolute;
  left: 1.9270833333vw;
}
.cmn-btn._reset a,
.cmn-btn._reset input {
  padding: 15px 15px;
  color: #9b9b9b;
}
.cmn-btn._fixedsmall a {
  font-size: var(--f14);
  background: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.2604166667vw;
  padding: 0.625vw 0.7291666667vw 0.625vw 0.7291666667vw;
  position: relative;
}
.cmn-btn._fixedsmall a:after {
  content: "";
  display: block;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  flex-shrink: 0;
}
.cmn-btn._fixedsmall a:before {
  width: 3px;
  height: 6px;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  position: absolute;
  right: 1.09375vw;
  flex-shrink: 0;
}

.tbl_blc {
  padding: 2.6vw;
  background: #d8dbd6;
}
.tbl_blc table {
  width: 100%;
  margin-bottom: 10px;
  background: #fff;
  color: #8ac562;
  font-size: var(--f24);
  letter-spacing: 0.1em;
  font-weight: 500;
}
.tbl_blc th,
.tbl_blc td {
  border: 1px solid #d8dbd6;
  text-align: center;
  padding: 1.1%;
}
.tbl_blc thead th {
  background: #e2e6df;
  color: #fff;
  font-weight: 700;
}
.tbl_blc tbody th {
  background: #e2e6df;
  color: #fff;
  font-weight: 700;
}
.tbl_blc tbody td._left {
  text-align: left;
  padding-left: 3.4%;
  padding-right: 3.4%;
}
.tbl_blc tbody td._w30 {
  width: 30%;
}
.tbl_blc ._note {
  font-size: 0.8em;
  display: block;
}
.cmn-pager ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}
.cmn-pager ul._single {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-weight: normal;
}
.cmn-pager ul._single li {
  max-width: 50%;
}
.cmn-pager ul._single li.next {
  margin-left: auto;
}
#newsdetail .cmn-pager ul {
  position: relative;
}
.cmn-pager ul li a,
.cmn-pager ul li span {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 5px;
  width: 100%;
  height: 100%;
  position: relative;
  color: #9b9b9b;
  text-decoration: none;
}
.cmn-pager ul li a.current,
.cmn-pager ul li span.current {
  color: #ec6d5e;
}
#newsdetail .cmn-pager ul li a,
#newsdetail .cmn-pager ul li span {
  color: inherit;
}
#newsdetail .cmn-pager ul li.prev, #newsdetail .cmn-pager ul li.next {
  position: absolute;
}
.cmn-pager ul li.prev a, .cmn-pager ul li.next a {
  color: #000;
}
.cmn-pager ul li.prev a:after, .cmn-pager ul li.next a:after {
  content: "";
  border: 1px solid #e8e8e8;
  border-radius: 50%;
  background: #fafafa;
  opacity: 1;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.cmn-pager ul li.prev a:before, .cmn-pager ul li.next a:before {
  width: 8px;
  height: 14px;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  position: absolute;
}
.cmn-pager ul li.prev a:hover, .cmn-pager ul li.next a:hover {
  opacity: 0.5;
}
#newsdetail .cmn-pager ul li.prev {
  left: 0;
}
.cmn-pager ul li.prev a {
  flex-direction: row-reverse;
}
.cmn-pager ul li.prev a:before {
  transform: rotate(180deg);
  left: 20px;
}
#newsdetail .cmn-pager ul li.next {
  right: 0;
}
.cmn-pager ul li.next a:before {
  right: 20px;
}

.list01 li {
  margin-left: 1.5em;
}
.list01 li + li {
  margin-top: 1.5rem;
}
.list01._square li {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.8vw;
  margin-left: 0;
}
.list01._square li:before {
  content: "";
  background: #ec6d5e;
  width: 0.5vw;
  height: 0.5vw;
  min-width: 10px;
  min-height: 10px;
  flex-shrink: 0;
  display: block;
  margin-top: 0.8vw;
}
.list01._disc {
  list-style-type: disc;
}
.list01._decimal {
  list-style-type: decimal;
}
.list01._roman {
  list-style-type: lower-roman;
}
.list01._note li {
  text-indent: -1em;
}
.list01._num {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
.list01._num li {
  padding-left: 1.5em;
  margin-left: 0;
  position: relative;
}
.list01._num li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid #000;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  position: absolute;
  height: 16px;
  width: 16px;
  line-height: 1;
  font-size: 75%;
  top: 4px;
  left: 0;
}
.list01._file li {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  margin-left: 0;
}
.list01._file li:before {
  content: "";
  background: url("../img/parts/icon_pdf.svg") no-repeat 50% 50%;
  background-size: 22px 22px;
  width: 22px;
  height: 22px;
  display: block;
  transition-duration: 0.5s;
  flex-shrink: 0;
}
.list01._col02 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
  flex-wrap: wrap;
}

.fade-enter-active,
.fade-leave-active {
  transition: var(--transition-mid);
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.item-img figure {
  position: relative;
}
.item-img figure:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #ec6d5e;
  position: absolute;
  top: 2.3%;
  left: 2.3%;
  z-index: 1;
}
.item-img figure img {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
}
.item-img > span {
  background: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0;
  color: #4c4c4c;
  font-size: var(--font-imgbn_01);
  clip-path: polygon(0 0, 100% 0, calc(100% - 38px) 100%, 0% 100%);
  position: absolute;
  width: 96%;
  padding: 1.5vw 3.6vw 1.5vw 1.8vw;
  left: -2.3%;
  bottom: 3.6vw;
  z-index: 10;
  font-weight: 500;
}
._sub .item-img > span, ._topcol03 .item-img > span, ._topcol04 .item-img > span {
  font-size: var(--font-imgbn_02);
  bottom: 2.6vw;
  padding: 1vw 2vw 1vw 1.3vw;
}
.item-img > span:after {
  width: 1.8vw;
  height: 0.7vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'  width='37.939' height='15.341' viewBox='0 0 37.939 15.341'%3E%3Cpath d='M405.588,2707.541H368.649a1,1,0,0,1,0-2H401.08l-10.562-11.67a1,1,0,0,1,1.483-1.342Z' transform='translate(-367.649 -2692.2)' fill='%230C0E61'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  flex-shrink: 0;
}
.item-img > span > span {
  background: #8ac562;
  color: #fff;
  font-size: var(--font-16);
  padding: 0 10px;
  margin-right: auto;
  margin-left: 10px;
}
._sub .item-img > span > span, ._topcol03 .item-img > span > span, ._topcol04 .item-img > span > span {
  font-size: var(--font-16);
}
.item-img-02 figure {
  border-right: 0.5vw solid #ec6d5e;
  border-bottom: 0.5vw solid #ec6d5e;
}

.breadcrumb {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 1vw;
  margin-top: 0.9vw;
  font-size: var(--f14);
  position: relative;
  z-index: 20;
  letter-spacing: 0em;
}
.breadcrumb a {
  text-decoration: none;
}
.breadcrumb li {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 0.8vw;
}
.breadcrumb li a {
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 0.4vw 1vw;
}
.breadcrumb li:not(:first-child):before {
  width: 0.5vw;
  height: 0.7vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
}

/**/

.top-sec {
  padding: 8.3333333333vw 0 10.4166666667vw;
  border-radius: 2.0833333333vw 2.0833333333vw 0 0;
  overflow: hidden;
  margin-top: -2.0833333333vw;
  position: relative;
}

.top-mainv {
  width: 100%;
  position: relative;
  overflow: hidden;
}

/* PC */
/* SP */
.top-anime {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.top-anime-illust {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1920px;
  height: 1254px;
  transform-origin: top center;
  transform: translateX(-50%) scale(var(--scale));
  z-index: 1;
}
.top-anime-illust img {
  display: block;
  transform-origin: center center;
  image-rendering: -webkit-optimize-contrast;
  pointer-events: none;
}
.top-anime-illust img.sp._front {
  bottom: 10px;
}
.top-anime-illust > * {
  position: absolute;
  z-index: 10;
}
.top-anime-illust a.balloon {
  width: 145px;
  height: 250px;
  top: 138px;
  right: 20%;
  position: absolute;
  animation: floating-illust 5s infinite 1s ease alternate;
}
.top-anime-illust a.balloon {
  /* 親のopacityは触らない！ */
}
.top-anime-illust a.balloon:hover {
  opacity: 1;
}
.top-anime-illust a.balloon:hover img {
  opacity: 1;
}
.top-anime-illust .balloon01 {
  width: 126px;
  top: 0;
  right: 0;
  position: absolute;
  z-index: 12;
}
.top-anime-illust .balloon02 {
  width: 66px;
  top: 138px;
  right: 86px;
  position: absolute;
  z-index: 12;
  transform-origin: top center;
  will-change: clip-path, transform, opacity;
  opacity: 1;
  clip-path: inset(0 0 100% 0);
  transform: rotate(0deg);
  animation: none;
}
.top-anime-illust a.balloon:hover .balloon02 {
  animation: banner-unroll 0.9s forwards cubic-bezier(0.22, 1, 0.36, 1);
}
.top-anime-illust a.balloon:not(:hover) .balloon02 {
  animation: banner-rollup 0.55s forwards cubic-bezier(0.4, 0, 0.2, 1);
}
.top-anime-illust .airplane {
  width: 80px;
  top: 173px;
  right: 766px;
  animation: floating-illust 4s infinite 1s ease alternate;
}
.top-anime-illust .ship {
  width: 206px;
  bottom: 258px;
  right: 851px;
  animation: floating-ship 5s infinite 1s ease alternate;
}
.top-anime-illust .car {
  position: absolute;
  bottom: 467px;
  right: -200px;
  animation-name: move-car;
  animation-duration: 14s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.top-anime-illust .car01 {
  width: 44px;
  animation-delay: 0s;
}
.top-anime-illust .car02 {
  width: 102px;
  animation-delay: 6s;
}
.top-anime-illust .car03 {
  width: 41px;
  animation-delay: 8s;
}
.top-anime-illust .car04 {
  width: 56px;
  bottom: 485px;
  left: -200px;
  animation: move-car04 16s linear infinite;
  z-index: 9;
}
.top-anime-illust .person01 {
  width: 40px;
  top: 312px;
  right: 865px;
  animation: move-person 2s infinite ease alternate;
}
.top-anime-illust .person02 {
  width: 21px;
  top: 325px;
  right: 775px;
  animation: move-person 3s infinite 1s ease alternate;
}
.top-anime-illust .person03 {
  width: 31px;
  top: 673px;
  right: 1059px;
  animation: move-person 2s infinite ease alternate;
}
.top-anime-illust .person04 {
  width: 23px;
  top: 703px;
  right: 1000px;
  animation: move-person 2s infinite 1s ease alternate;
}
.top-anime-illust .person05 {
  width: 45px;
  top: 788px;
  right: 928px;
  animation: move-person02 3s infinite ease alternate;
}
.top-anime-illust .person06 {
  width: 30px;
  top: 825px;
  right: 510px;
  z-index: 11;
  animation: move-person03 3s infinite ease alternate;
}
.top-anime-illust .person07 {
  width: 34px;
  top: 614px;
  right: 900px;
  z-index: 11;
  animation: move-person03 3s infinite 2s ease alternate;
}
.top-anime-illust .person08 {
  width: 34px;
  top: 709px;
  right: 825px;
  z-index: 11;
  animation: move-person04 3s infinite ease alternate;
}

/* ほどける＋最後ちょい揺れ */
@keyframes banner-unroll {
  0% {
    clip-path: inset(0 0 100% 0);
    transform: rotate(0deg);
  }
  70% {
    clip-path: inset(0 0 0 0);
    transform: rotate(0deg);
  }
  82% {
    transform: rotate(1.2deg);
  }
  92% {
    transform: rotate(-0.8deg);
  }
  100% {
    clip-path: inset(0 0 0 0);
    transform: rotate(0deg);
  }
}
/* 巻き戻し（揺れなしでスッと巻き上げ） */
@keyframes banner-rollup {
  0% {
    clip-path: inset(0 0 0 0);
    transform: rotate(0deg);
  }
  100% {
    clip-path: inset(0 0 100% 0);
    transform: rotate(0deg);
  }
}
@keyframes floating-illust {
  0% {
    transform: translate(0, 0) rotate(-1deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(1deg);
  }
}
@keyframes floating-ship {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(-2px, -4px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes move-person {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  60% {
    transform: translate(0, 0) rotate(0deg);
  }
  80% {
    transform: translate(0, -4px) rotate(1deg);
  }
  90% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes move-person02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(0, 0) rotate(0deg);
  }
  60% {
    transform: translate(3px, -4px) rotate(1deg);
  }
  70% {
    transform: translate(0, 0) rotate(0deg);
  }
  90% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes move-person03 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  60% {
    transform: translate(0, 0) rotate(0deg);
  }
  80% {
    transform: translate(-4px, -4px) rotate(-3deg);
  }
  90% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes move-person04 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  40% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(0, -4px) rotate(1deg);
  }
  60% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes move-car {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2120px);
  }
}
@keyframes move-car04 {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  30% {
    transform: translateX(750px);
    opacity: 1;
    animation-timing-function: ease-out; /* 40→55 の区間に効く */
  }
  55% {
    transform: translateX(1048px);
    opacity: 1;
  }
  80% {
    transform: translateX(1048px);
    opacity: 1;
  }
  84.2% {
    transform: translateX(1048px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 0;
  }
}
@keyframes exclamation-fade {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
    opacity: 0;
  }
  60% {
    transform: translateY(-5px);
    opacity: 1;
  }
  90% {
    transform: translateY(-5px);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 0;
  }
}
@keyframes bounce-illust {
  0% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(0);
  }
  33% {
    transform: translateY(-5px);
  }
  36% {
    transform: translateY(0);
  }
  39% {
    transform: translateY(-5px);
  }
  42% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes move-train {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, 0);
  }
  80% {
    transform: translate(-160px, 77px);
  }
  100% {
    transform: translate(-160px, 77px);
  }
}
@keyframes move-plane {
  0% {
    transform: translate(550px, -550px) rotate(-5deg);
    opacity: 0;
  }
  15% {
    transform: translate(550px, -550px) rotate(-5deg);
    opacity: 0;
  }
  20% {
    transform: translate(550px, -550px) rotate(-5deg);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 0) rotate(-1deg);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0) rotate(-1deg);
    opacity: 1;
  }
}
@keyframes star-fadeChange {
  0% {
    opacity: 1;
  }
  34% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes img-fadeChange {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.top-newsimportant {
  position: relative;
}
.top-newsimportant dl {
  background: #f7f9f4;
}
.top-newsimportant dl dt {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  background-color: #e60012;
  color: #fff;
  font-weight: 700;
}
.top-newsimportant a:hover {
  opacity: 1;
  color: #ec6d5e;
}

.top-catch {
  position: absolute;
  z-index: 1;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.top-catch > h1 {
  font-size: var(--f36);
  letter-spacing: 0.1em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
  padding: 0.3em 0.3em 0.3em 1.5vw;
  line-height: 2.7;
  background: #fff;
}

.top-intro {
  position: relative;
}
.top-intro ._ilst._intro01 {
  width: 25%;
  right: 0;
  top: 6.7708333333vw;
  text-align: right;
}
.top-intro ._ilst._intro02 {
  width: 23.43%;
  left: 0;
  bottom: 20.8333333333vw;
}
.top-intro ._ilst._intro03 {
  width: 16.1%;
  right: 8.3333333333vw;
  bottom: 7.8125vw;
  text-align: right;
}
.top-intro-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3.125vw;
  text-align: center;
}
.top-intro-text01 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: var(--f36);
  line-height: 1.6666666667;
}
.top-intro-text01 span {
  font-size: var(--f46);
}
.top-intro-text02 {
  font-size: var(--f24);
  line-height: 1.6666666667;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.71875vw;
}
.top-intro-text02 img {
  width: 31.06vw;
  max-width: 466px;
}
.top-intro .cmn-btn a {
  width: 31.06vw;
  max-width: 466px;
}
.top-service .cmn-blc-head {
  position: relative;
  margin-bottom: 5.2083333333vw;
}
.top-service-head {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 2.6041666667vw;
}
.top-service-head ._ilst {
  position: static;
}
.top-service-head ._ilst._25 {
  width: 5.3645833333vw;
}
.top-service-head ._ilst._24 {
  width: 5.3645833333vw;
}
.top-service-head ._ilst._23 {
  width: 5.3645833333vw;
}
.top-service-ttl {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.78125vw;
  font-size: var(--f34);
}
.top-service-ttl span.f_en {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5208333333vw;
  font-size: var(--f20);
}
.top-service-ttl span.f_en:before {
  content: "";
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border-radius: 50%;
  background: #ec6d5e;
}
._service01 .top-service-ttl span.f_en:before {
  background: #8ac562;
}
._service02 .top-service-ttl span.f_en:before {
  background: #90d2e4;
}
._service03 .top-service-ttl span.f_en:before {
  background: #ec6d5e;
}
.top-service-bn {
  position: relative;
}
.top-service-bn a {
  width: 66.7%;
  max-width: 1000px;
}
.top-service-bn ._ilst._17 {
  width: 13.3%;
  left: -2%;
  top: 0;
}
.top-service-bn ._ilst._07 {
  width: 14.2%;
  right: 0%;
  bottom: -3.6vw;
}

.top-news {
  margin-bottom: -3.125vw;
}
.top-news-wrap {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4.1666666667vw;
}
.top-news .cmn-blc-head {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.125vw;
  width: 18.3333333333vw;
  position: relative;
  flex-shrink: 0;
}
.top-news .cmn-ttl-02 {
  gap: 0.5208333333vw;
}
.top-news .cmn-btn a {
  padding: 0.78125vw 1.0416666667vw 0.78125vw 1.3020833333vw;
  width: 100%;
}
.top-news .news-list {
  flex: auto;
  margin-bottom: 1.5625vw;
  margin-right: 7.8125vw;
}
.top-sns .cmn-blc-head {
  position: relative;
}
.top-sns-wrap {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}
.top-sns-data {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.5625vw;
}
.top-sns-data .cmn-btn._insta {
  padding: 0 1.5625vw;
}
.top-sns-data .cmn-btn._insta a {
  background-color: #fff;
  border: none;
  width: 100%;
  height: auto;
}
.top-sns-photo {
  aspect-ratio: 1/1;
  width: 100%;
  background: #9b9b9b;
}
.top-sns-bn {
  position: relative;
}
.top-sns-bn a {
  width: 66.7%;
  max-width: 1000px;
}
.top-sns-bn ._ilst._03 {
  width: 12.8%;
  left: -2%;
  top: 0;
}
.top-sns-bn ._ilst._22 {
  width: 11.8%;
  right: 0%;
  bottom: -6.4vw;
}

.news-cat {
  font-size: var(--f12);
  border-radius: 100px;
  background: #e7e7e7;
  padding: 0.4166666667vw 0.5208333333vw;
  min-width: 6.7708333333vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.news-cat._important {
  background: #e60012;
  color: #fff;
}
.news-cat._emergency {
  background: #e60012;
  color: #fff;
}
.news-cat._new {
  border: 2px solid #ec6d5e;
  color: #ec6d5e;
  background: #fff;
}
.news-list-data {
  border-bottom: 1px solid #e7e7e7;
}
.news-list-data a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.0416666667vw;
  position: relative;
  padding: 1.6666666667vw 3.125vw 1.6666666667vw 0;
}
.news-list-data a:before, .news-list-data a:after {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}
.news-list-data a:after {
  content: "";
  display: block;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  right: 0;
}
.news-list-data a:before {
  width: 0.4166666667vw;
  height: 0.625vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  right: 0.8854166667vw;
  flex-shrink: 0;
  z-index: 10;
}
.news-list-data p._date {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1.1979166667vw;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.news-list-data p._text {
  flex: 1;
  line-height: 1.2857142857;
}
.news-head {
  margin-bottom: 2.6041666667vw;
}
.news-head-date {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 3.125vw;
  font-size: var(--font-ttl-02-en);
  margin-bottom: 0.5208333333vw;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  line-height: 1.5;
}
.news-list-data .news-head-date {
  font-size: inherit;
  line-height: inherit;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  gap: 1.1979166667vw;
  margin-bottom: 0;
}
.news-head-cat {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 1.5625vw;
}
.news-list-data .news-head-cat {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1.1979166667vw;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.news-body {
  margin-bottom: 5.2083333333vw;
}
.news-body p {
  font-size: var(--f18);
  line-height: 2.1111111111;
}

.company01_img {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin-top: 3.3333333333vw;
}
.company01_img figure {
  width: 30%;
}
.company02_01 {
  position: relative;
}
.company02_01 ._ilst._09 {
  width: 14%;
  right: 2%;
  bottom: 0%;
}
.company02_02 .cmn-ttl-03 {
  margin-bottom: 0;
}
.company03_01 {
  position: relative;
}
.company03_01 ._ilst._07 {
  width: 16.4%;
  right: 2%;
  bottom: 0%;
}
.company03_02 {
  position: relative;
}
.company03_02 ._ilst._05 {
  width: 9.2%;
  right: 2%;
  bottom: 0%;
}
.company04_02 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.0416666667vw;
  font-weight: 700;
}
.company04_02.cmn-blc {
  margin-top: 4.1666666667vw;
}
.company04_02 > div._yokoyama {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  aspect-ratio: 400/212;
  color: #fff;
  background: #ec6d5e;
  border-radius: 0.5208333333vw;
  padding: 2.0833333333vw 1.0416666667vw;
  font-size: var(--f26);
}
.company04_02 > div._yokoyamasub {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 3.3333333333vw;
  padding-top: 3%;
}
.company04_02 > div._yokoyamasub > div {
  font-size: var(--f20);
  background: #fff;
  border: 2px solid #ec6d5e;
  border-radius: 0.5208333333vw;
  padding: 9% 10%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.0416666667vw;
}
.company04_02 > div._yokoyamasub > div .cmn-btn {
  width: 100%;
}
.company04_02 > div._yokoyamasub > div .cmn-btn a {
  width: 100%;
}
.company04_02 > figure {
  width: 13.5%;
}

.slider-equipment .swiper-slide {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
}
.slider-equipment .swiper-slide figure {
  width: 50%;
  aspect-ratio: 600/394;
}
.slider-equipment .swiper-slide dl {
  width: 45%;
  border: 4px solid #ec6d5e;
  border-radius: var(--radius-mid);
  background-color: #fff;
  padding: 2.0833333333vw;
}
.slider-equipment .swiper-slide dl dt.cmn-ttl-04 {
  margin-bottom: 0;
}
.slider-equipment .swiper-slide dl dd {
  margin-top: 0.5208333333vw;
  text-align: left;
}
.slider-equipment-thumbnail {
  margin-top: 1.0416666667vw;
}
.slider-equipment-thumbnail .swiper-wrapper {
  width: 50%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
  flex-wrap: wrap;
}
.slider-equipment-thumbnail .swiper-slide {
  width: calc(25% - 6px);
  overflow: hidden;
}
.slider-equipment-thumbnail .swiper-slide .cmn-figure {
  border-radius: var(--radius-small);
  aspect-ratio: 144/94;
  border: 4px solid transparent;
}
.slider-equipment-thumbnail .swiper-slide-thumb-active .cmn-figure {
  border-color: #ec6d5e;
}
.slider-newsimportant .swiper-slide a {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  padding-right: 6.25vw;
}
.slider-newsimportant .swiper-slide a span.f_num {
  flex-shrink: 0;
}
.slider-newsimportant .swiper-slide a > p.cmn-text-04 {
  line-height: 1.7142857143;
}
.slider-newsimportant .swiper-button-wrap {
  position: absolute;
  z-index: 1;
}

.swiper-button-wrap {
  position: absolute;
}
.swiper-button-wrap .swiper-button-prev, .swiper-button-wrap .swiper-button-next {
  position: static;
  margin-top: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
  flex-shrink: 0;
  transition: var(--transition-mid);
}
.swiper-button-wrap .swiper-button-prev:after, .swiper-button-wrap .swiper-button-next:after {
  width: 0.4166666667vw;
  height: 0.7291666667vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  flex-shrink: 0;
}
.swiper-button-wrap .swiper-button-prev {
  transform: rotate(180deg);
}

.icon-btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  width: 1.5625vw;
  height: 1.5625vw;
  flex-shrink: 0;
  transition: var(--transition-mid);
}
.icon-btn:after {
  width: 0.3125vw;
  height: 0.5208333333vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
  flex-shrink: 0;
}

.slider-service {
  padding-top: 5.2083333333vw;
  margin-right: calc(50% - 50vw);
}
.slider-service .swiper-button-next.is-disabled, .slider-service .swiper-button-prev.is-disabled {
  display: none;
}
.slider-service .swiper-slide {
  color: #fff;
  width: calc((100% - 72px) / 3.45); /* ←ここで 3.5枚 */
  max-width: none;
  position: relative;
}
.slider-service .swiper-slide > a:hover {
  opacity: 1;
}
.slider-service .swiper-slide > a:hover figure img {
  opacity: 1;
}
.slider-service .swiper-slide .slider-service-ttl {
  position: absolute;
  z-index: 1;
  width: 100%;
  padding: 2% 6%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0;
}
.slider-service .swiper-slide .cmn-text-04 {
  position: absolute;
  z-index: 1;
  width: 100%;
  padding: 2% 4%;
}
.slider-service .swiper-slide figure {
  background-color: #000;
  aspect-ratio: 500/322;
}
.slider-service .swiper-slide figure img {
  opacity: 0.6;
}
.slider-service .swiper-controlbox {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.78125vw;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.slider-service .swiper-pagination {
  position: static;
  width: 5.9895833333vw;
  text-align: center;
  letter-spacing: 0.3em;
  font-size: var(--f14);
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.8854166667vw;
}
.slider-service .swiper-button-wrap {
  position: static;
  gap: 1.0416666667vw;
}
.slider-service .swiper-button-wrap .swiper-button-prev, .slider-service .swiper-button-wrap .swiper-button-next {
  width: 2.6041666667vw;
  height: 2.6041666667vw;
}
.slider-service .swiper-button-wrap .swiper-button-prev:after, .slider-service .swiper-button-wrap .swiper-button-next:after {
  width: 0.46875vw;
  height: 0.8333333333vw;
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition-duration: 0.5s;
}

.remodal {
  padding: 0;
  background: #000;
  max-width: 1000px !important;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.marupro02_01 {
  position: relative;
}
.marupro02_01 ._ilst._08 {
  width: 14.33%;
  right: 2%;
  bottom: 0%;
}
.marupro06_01 .cmn-panel-01 {
  gap: 0.2604166667vw;
  margin-bottom: 2.6041666667vw;
}
.marupro06_01 .cmn-panel-01 dt {
  width: 25%;
  font-size: var(--f18);
  flex-shrink: 0;
}
.marupro06_01 .cmn-panel-01 dd {
  font-size: var(--f16);
}

.oilterminal02_01 {
  position: relative;
}
.oilterminal02_01 ._ilst._08 {
  width: 14.33%;
  right: 2%;
  bottom: 0%;
}
.oilterminal06_01 .cmn-panel-01 {
  gap: 0.2604166667vw;
  margin-bottom: 2.6041666667vw;
}
.oilterminal06_01 .cmn-panel-01 dt {
  width: 25%;
  font-size: var(--f18);
  flex-shrink: 0;
}
.oilterminal06_01 .cmn-panel-01 dd {
  font-size: var(--f16);
}

.cmn-map {
  overflow: hidden;
  aspect-ratio: 3/1;
  border-radius: var(--radius-mid);
}
.cmn-map iframe {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.cmn-map.car03_01 {
  aspect-ratio: 1200/730;
}

.cmn-mov {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
  flex-wrap: wrap;
  gap: 2.6041666667vw 1.5625vw;
  margin: 0 auto;
}
.cmn-mov-box {
  width: calc(33.3333% - 1.0416666667vw);
}
.cmn-mov-box._large {
  width: 100%;
}
.cmn-mov-box._large a:after {
  content: "";
  background: url("../img/parts/icon_play.png") no-repeat 50% 50%;
  background-size: 4.1666666667vw 4.1666666667vw;
  width: 4.1666666667vw;
  height: 4.1666666667vw;
  display: block;
  transition-duration: 0.5s;
}
.cmn-mov-box._mid {
  width: calc(50% - 0.78125vw);
}
.cmn-mov-box a {
  aspect-ratio: 900/506;
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.cmn-mov-box a:after {
  content: "";
  background: url("../img/parts/icon_play.png") no-repeat 50% 50%;
  background-size: 3.125vw 3.125vw;
  width: 3.125vw;
  height: 3.125vw;
  display: block;
  transition-duration: 0.5s;
  position: absolute;
}
.cmn-mov-box a img {
  aspect-ratio: 900/500;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.cmn-mov-ttl {
  font-weight: 700;
  font-size: var(--f20);
  line-height: 1.5;
  display: block;
  margin-top: 1.0416666667vw;
}

.cmn-history {
  position: relative;
}
.cmn-history:before {
  content: "";
  background: #ec6d5e;
  width: 2px;
  height: 100%;
  flex-shrink: 0;
  position: absolute;
  left: 130px;
  top: 0.8em;
}
.cmn-history-blc {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 31px;
}
.cmn-history-blc + .cmn-history-blc {
  margin-top: 2.6041666667vw;
}
.cmn-history-year {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5208333333vw;
  order: 1;
  flex-shrink: 0;
  width: 94px;
}
.cmn-history-year span {
  font-weight: 700;
}
.cmn-history-year span._year-w {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: var(--f36);
}
.cmn-history-year span._year-j {
  color: #ec6d5e;
  border: 1px solid #ec6d5e;
  padding: 0.3125vw 0.625vw;
  border-radius: 100px;
  background: #fff;
  font-size: var(--f16);
}
.cmn-history-desc {
  flex: auto;
  order: 3;
}
.cmn-history-desc dt {
  font-size: var(--font-dt-01);
  line-height: 1.7;
  font-weight: 700;
  margin-bottom: 0.5208333333vw;
}
.cmn-history-desc dd {
  font-size: var(--font-dd-01);
  line-height: 2;
}
.cmn-history-desc figure {
  aspect-ratio: 420/276;
}
.cmn-history-desc figure + p {
  margin-top: 0.2604166667vw;
}

.car01_01 {
  align-items: flex-end;
}
.car01_01 ._ilst._12 {
  width: 21.5%;
  right: 2%;
  bottom: -8%;
}
.car02_01 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  position: relative;
}
.car02_01 ._ilst._09 {
  width: 13.91%;
  left: 1%;
  bottom: 2.6%;
}
.car02_01 ._ilst._15 {
  width: 13.08%;
  right: 1%;
  top: 0%;
}
.car02_02 {
  gap: 1.5625vw;
}
.car02_02_sbox {
  border-radius: var(--radius-mid);
  padding: 1.5625vw;
}
.car02_02_sbox:nth-of-type(1) {
  color: #8ac562;
}
.car02_02_sbox:nth-of-type(2) {
  color: #58b48c;
}
.car02_02_sbox:nth-of-type(3) {
  color: #f5a12e;
}
.car02_02_sbox:nth-of-type(4) {
  color: #ec6d5e;
}
.car02_02_sbox:nth-of-type(5) {
  color: #bba1cb;
}
.car02_02_sbox:nth-of-type(6) {
  color: #90d2e4;
}
.car02_02_sbox dt {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  line-height: 1.2;
  flex-wrap: wrap;
}
.car02_02_sbox dt span {
  font-size: var(--f15);
}
.car02_02_sbox dt span.f_num {
  font-size: var(--f30);
  flex-shrink: 0;
}
.car02_02_sbox dd {
  color: #000;
}
.car02_02_sbox dd strong {
  font-size: var(--f16);
}
.car03_01 {
  position: relative;
}
.car03_01 ._ilst._09 {
  width: 14%;
  right: 2%;
  bottom: 0%;
}
.car03_02 .cmn-ttl-04 {
  font-size: var(--font-ttl-06);
}
.car03_02 .cmn-panel-01 > div {
  position: relative;
}
.car03_02 .cmn-panel-01 .car-mark {
  background: #000;
  color: #fff;
  font-size: var(--f14);
  border-radius: 100px;
  position: absolute;
  top: 1.0416666667vw;
  left: 1.0416666667vw;
  padding: 0.5208333333vw 0.78125vw;
}
.car04_01 {
  position: relative;
}
.car04_01 ._ilst._12 {
  width: 10%;
  right: 1%;
  bottom: 0%;
}
.car04_01 ._ilst._15 {
  width: 13.08%;
  left: 1%;
  bottom: 0%;
}
.car05_01_sbox {
  border-radius: var(--radius-mid);
  padding: 1.5625vw;
}
.car05_01_sbox > p {
  border: 1px solid #ec6d5e;
  border-radius: 100px;
  background: #fff;
  padding: 0.4166666667vw 1.3020833333vw;
}
.car05_01_sbox > p._new {
  color: #ec6d5e;
  border-color: #ec6d5e;
}
.car05_01_sbox > p._old {
  color: #90d2e4;
  border-color: #90d2e4;
}
.car05_01_sbox > p._noown {
  color: #8ac562;
  border-color: #8ac562;
}
.car05_01_sbox .cmn-dlbox-01 {
  gap: 0.5208333333vw;
}
.car05_01_sbox .cmn-dlbox-01 dd {
  margin-top: 0;
}
.car06_01 {
  position: relative;
}
.car06_01 ._ilst._15 {
  width: 13.08%;
  right: 1%;
  bottom: -55%;
}
.car06_01 ._ilst._14 {
  width: 10%;
  left: 5%;
  bottom: 0%;
}
.car07_01 {
  position: relative;
}
.car07_01 ._ilst._17 {
  width: 13.6%;
  left: 3%;
  bottom: 0%;
}
.car07_01 ._ilst._18 {
  width: 10%;
  right: 6%;
  bottom: 0%;
}

.cmn-station-icon {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}
.cmn-station-icon li {
  max-width: 50px;
  width: 2.6041666667vw;
}

.video01_01 {
  position: relative;
}
.video01_01 ._ilst._16 {
  width: 9.4%;
  right: 1%;
  bottom: 0%;
}
.effort ._imgbox {
  position: relative;
}
.lpg02_head {
  position: relative;
}
.lpg02_01 {
  position: relative;
}
.lpg02_01 ._ilst._0801 {
  width: 12.4%;
  top: 1%;
  left: 1%;
}
.lpg02_01 ._ilst._21 {
  width: 15%;
  right: 5%;
  bottom: 7%;
}
.lpg02_arealist {
  padding: 2.0833333333vw 9.375vw 0 2.0833333333vw;
  flex-wrap: wrap;
}
.lpg03_01 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  position: relative;
}
.lpg03_01 ._ilst._05 {
  width: 12.4%;
  left: 2%;
  bottom: 0%;
}
.lpg03_01 ._ilst._06 {
  width: 15%;
  right: 2%;
  bottom: 0%;
}
.lpg03_01 .cmn-btn a {
  width: 100%;
}
.lpg03_02 .cmn-btn {
  margin-top: 1.0416666667vw;
}
.lpg04_01 {
  position: relative;
}
.lpg04_01 ._ilst._04 {
  width: 24.8%;
  left: 5%;
  top: -15%;
}
.lpg04_01 ._imgbox {
  margin-top: 0;
}
.lpg05_01 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 3.125vw;
  padding: 0 10%;
  position: relative;
}
.lpg05_01 ._ilst._07 {
  width: 16.4%;
  right: -8%;
  bottom: -8%;
}
.lpg05_01 > div {
  flex: 1;
}
.lpg05_01 .cmn-list-01 {
  margin-top: 0vw;
}
.lpg05_01 .cmn-list-01 li + li {
  margin-top: 0vw;
}

.fuel01_01 ._ilst._20 {
  width: 25.3%;
  right: 2%;
  bottom: -23%;
}

.house02_01 {
  position: relative;
}
.house02_01 ._ilst._11 {
  width: 9%;
  right: -2%;
  top: -20%;
}
.house02_01 ._ilst._19 {
  width: 9.2%;
  right: 1%;
  bottom: 2%;
}
.house03_01 .cmn-list-02 {
  flex-wrap: wrap;
  gap: 1.5625vw;
}
.house03_01 .cmn-list-02 li {
  aspect-ratio: 380/90;
  width: calc(33.33% - 1.0416666667vw);
  max-height: none;
}
.house03_01 .cmn-list-02 li a {
  border: none;
  width: 100%;
}

.insurance03_text01 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.5625vw;
  font-size: var(--f20);
}
.insurance03_text01 figure {
  text-align: center;
}
.insurance03_text01 img {
  max-width: 300px;
}
.insurance03_text02 .cmn-ttl-05-in {
  position: relative;
  width: auto;
  padding-left: 3.125vw;
  padding-right: 3.125vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.insurance03_text02-sub {
  position: absolute;
  font-size: var(--f20);
  font-weight: 700;
  top: -34px;
}

.cmn-privacy + .cmn-privacy {
  margin-top: 5.2083333333vw;
}
.cmn-privacy02 {
  transition: var(--transition-mid);
  opacity: 0;
  display: none;
}
.cmn-privacy02._is-show {
  opacity: 1;
  display: block;
}
.cmn-privacy .cmn-dlbox-01 > div + .cmn-privacy .cmn-dlbox-01 > div {
  margin-top: 3.125vw;
}
.cmn-privacy .cmn-dlbox-01 > div dd.box-bdr {
  border: 2px solid #ec6d5e;
  padding: 1.3020833333vw 1.8229166667vw;
  border-radius: var(--radius-mid);
  background: #fff;
}
.cmn-privacy .cmn-list-01 {
  margin-top: 0;
}
.cmn-privacy .cmn-list-01 li + li {
  margin-top: 0;
}
.cmn-privacy .cmn-list-01 li:before {
  margin-top: 0.8em;
}
.cmn-privacy .cmn-dlbox-04 > div {
  padding: 0;
}
.cmn-privacy .cmn-dlbox-04 > div dt {
  font-size: var(--f14);
}
.cmn-privacy .cmn-dlbox-04 > div dd {
  margin-top: 0;
  font-size: var(--f14);
}

.cmn-beforeafter_blc + .cmn-beforeafter_blc {
  margin-top: 5.2083333333vw;
}
.cmn-beforeafter_blc .text-line {
  background: linear-gradient(transparent 60%, #fbe2df 60%);
}
.cmn-beforeafter_img {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}
.cmn-beforeafter_img:after {
  order: 2;
}
.cmn-beforeafter_img > div {
  position: relative;
}
.cmn-beforeafter_img > div:before {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #fff;
  position: absolute;
  border-radius: 100px;
  padding: 0.625vw;
  font-size: var(--f14);
  text-align: center;
  width: 5.2083333333vw;
  top: 1.0416666667vw;
  left: 1.0416666667vw;
}
.cmn-beforeafter_img figure {
  margin-bottom: 1.0416666667vw;
  aspect-ratio: 560/368;
}
.cmn-beforeafter_img ._before {
  flex: 1;
  order: 1;
}
.cmn-beforeafter_img ._before:before {
  content: "BEFORE";
  background: #000;
}
.cmn-beforeafter_img ._after {
  flex: 1;
  order: 3;
}
.cmn-beforeafter_img ._after:before {
  content: "AFTER";
  background: #ec6d5e;
}
.cmn-beforeafter_point {
  margin-top: 2.34375vw;
  border: 2px solid #ec6d5e;
  background: #fff;
  border-radius: var(--radius-mid);
  padding: 1.3020833333vw 2.34375vw 2.34375vw;
  position: relative;
}
.cmn-beforeafter_point dt {
  font-weight: 700;
  color: #fff;
  background: #ec6d5e;
  border-radius: 100px;
  font-size: var(--font-dt-01);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5208333333vw;
  padding: 0.78125vw 1.0416666667vw;
  position: absolute;
  top: -1.0416666667vw;
  left: 2.34375vw;
}
.cmn-beforeafter_point dt:before {
  content: "";
  background: url("../img/parts/icon_point.png") no-repeat 50% 50%;
  background-size: 2.2916666667vw 1.0416666667vw;
  width: 2.2916666667vw;
  height: 1.0416666667vw;
  display: block;
  transition-duration: 0.5s;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .header {
    justify-content: flex-start;
    align-items: flex-end;
    gap: 5.1282051282vw;
    height: 15.3846153846vw;
    position: fixed;
    z-index: 1000;
    width: 100%;
  }
  .header .logo {
    z-index: 1000;
    position: relative;
    top: 0;
    left: 0;
    background: #fff;
    border-radius: 0 0 20px 0;
    box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.15);
    width: 40.5128205128vw;
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: 0;
    height: 15.3846153846vw;
  }
  ._is-gnav-open .header .logo {
    background: none;
    box-shadow: none;
    top: 2.5641025641vw;
    left: 2.5641025641vw;
  }
  .header .logo a {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding-left: 4.6153846154vw;
  }
  .header .logo img {
    width: 28.7179487179vw;
  }
  .header-nav-wrap {
    background: #f7f9f4;
    position: fixed;
    width: 100dvw;
    height: 100dvh;
    z-index: 900;
    top: 0;
    left: 0;
    padding: 0 5.8974358974vw 0;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-mid);
    transition-property: opacity, visibility;
  }
  ._is-gnav-open .header-nav-wrap {
    opacity: 1;
    visibility: visible;
  }
  .header-nav {
    width: 100%;
    padding-top: 23.0769230769vw;
  }
  .header-nav > li {
    border-bottom: 1px solid #e7e7e7;
    padding: 0 1.5384615385vw;
  }
  .header-nav > li._is-current > a > span._subn:after {
    content: "";
    background: url("../img/parts/icon_minus_nav.svg") no-repeat 50% 50%;
    background-size: 2.5641025641vw 0.5128205128vw;
    width: 2.5641025641vw;
    height: 0.5128205128vw;
    display: block;
    transition-duration: 0.5s;
    transition: 0s;
  }
  .header-nav > li > a {
    padding: 5.1282051282vw 0;
    display: block;
    font-size: var(--f14-sp);
    font-weight: 700;
  }
  .header-nav > li > a > span._subn {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    flex: auto;
  }
  .header-nav > li > a > span._subn:after {
    flex-shrink: 0;
    position: absolute;
    right: 1.0256410256vw;
    content: "";
    background: url("../img/parts/icon_plus_nav.svg") no-repeat 50% 50%;
    background-size: 2.5641025641vw 2.5641025641vw;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    display: block;
    transition-duration: 0.5s;
    transition: none;
  }
  .header-nav > li > a > span._subn:before {
    content: "";
    display: block;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    flex-shrink: 0;
    position: absolute;
    right: 0;
  }
  .header-nav > li > a > span.f_en {
    display: none;
  }
  .header-nav-sub {
    gap: 7.6923076923vw;
    padding-top: 2.5641025641vw;
  }
  .header-nav-sub > li > a {
    gap: 2.5641025641vw;
    font-size: var(--f13-sp);
  }
  .header-nav-sub > li > a:after {
    left: 1.7948717949vw;
    width: 1.0256410256vw;
    height: 1.5384615385vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .header-nav-sub > li > a:before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
  .header-nav-box {
    height: 0;
  }
  ._n02 .header-nav-box._is-open {
    padding-bottom: 2.5641025641vw;
  }
  .header-nav-box .cmn-panel-01 {
    gap: 3.8461538462vw;
  }
  .header-nav-box._is-open {
    height: auto;
    padding-bottom: 6.4102564103vw;
    transition: var(--transition-fast);
  }
  .header-nav-box dl {
    padding-top: 3.8461538462vw;
    border-top: 1px solid #e7e7e7;
  }
  .header-nav-box dt {
    font-size: var(--f14-sp);
    margin-bottom: 0;
    gap: 1.7948717949vw;
  }
  .header-nav-box dt > span {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    position: relative;
    flex: auto;
  }
  .header-nav-box dt > span:after {
    flex-shrink: 0;
    position: absolute;
    right: 1.0256410256vw;
    content: "";
    background: url("../img/parts/icon_plus_nav.svg") no-repeat 50% 50%;
    background-size: 2.5641025641vw 2.5641025641vw;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    display: block;
    transition-duration: 0.5s;
    transition: 0s;
  }
  .header-nav-box dt > span:before {
    content: "";
    display: block;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    flex-shrink: 0;
    position: absolute;
    right: 0;
  }
  .header-nav-box dt._is-current > span:after {
    content: "";
    background: url("../img/parts/icon_minus_nav.svg") no-repeat 50% 50%;
    background-size: 2.5641025641vw 0.5128205128vw;
    width: 2.5641025641vw;
    height: 0.5128205128vw;
    display: block;
    transition-duration: 0.5s;
    transition: 0s;
  }
  .header-nav-box dd {
    opacity: 0;
    visibility: hidden;
    height: 0;
  }
  .header-nav-box dd ul {
    padding: 5.1282051282vw 0 3.8461538462vw;
  }
  .header-nav-box dd._is-open {
    height: auto;
    opacity: 1;
    visibility: visible;
    transition: var(--transition-mid);
    transition-property: opacity, visibility;
  }
  .header-spfixedbtn span {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
    background: #ec6d5e;
    border-radius: 100px;
    padding: 1.2820512821vw;
    width: 29.4871794872vw;
    font-size: var(--f12-sp);
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 1.25;
    letter-spacing: 0.1em;
    cursor: pointer;
  }
  .sidefixed-nav {
    z-index: 1001;
    position: fixed;
    background: rgba(236, 109, 94, 0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 10.2564102564vw;
    padding: 15.3846153846vw;
    width: 100dvw;
    height: 100dvh;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-mid);
    transition-property: opacity, visibility;
  }
  ._is-fixednav-open .sidefixed-nav {
    opacity: 1;
    visibility: visible;
  }
  .sidefixed-nav > p {
    font-size: var(--f17-sp);
    margin-bottom: 8.9743589744vw;
  }
  .sidefixed-nav > div {
    gap: 3.8461538462vw;
    justify-content: stretch;
    align-items: flex-start;
  }
  .sidefixed-nav-tel {
    justify-content: stretch;
    padding: 3.8461538462vw;
    gap: 2.5641025641vw;
    width: 100%;
  }
  .sidefixed-nav-tel dt {
    font-size: var(--f14-sp);
  }
  .sidefixed-nav-tel dd {
    font-size: var(--f23-sp);
  }
  .sidefixed-nav-tel._extra dt {
    font-size: var(--f15-sp);
  }
  .sidefixed-nav-tel._extra dd {
    font-size: var(--f25-sp);
  }
  .sidefixed-nav .cmn-btn a {
    padding-left: 2.5641025641vw;
  }
  .pagetop {
    width: 11.1111111111vw;
    height: 11.1111111111vw;
    left: calc(100vw - 5em);
    margin: -25px 0;
  }
  .pagetop a {
    font-size: 2.8205128205vw;
  }
  .pagetop a:before {
    content: "";
    background: url("../img/parts/icon_pagetop.png") no-repeat 50% 50%;
    background-size: 8px 8px;
    width: 8px;
    height: 8px;
    display: block;
    transition-duration: 0.5s;
  }
  footer {
    padding: 12.5vw 0 0;
  }
  .footer-cont-01 {
    padding-top: 10.2564102564vw;
    padding-bottom: 10.2564102564vw;
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
  }
  .footer-cont-01 .inner-w {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8.9743589744vw;
    position: relative;
    padding-bottom: 5.1282051282vw;
  }
  .footer-cont-01-r .cmn-btn {
    width: 58.9743589744vw;
  }
  .footer-cont-01-r figure {
    width: 29.7435897436vw;
    position: absolute;
    right: -7.6923076923vw;
    bottom: -10.2564102564vw;
  }
  .footer-cont-01 .cmn-ttl-04 {
    font-size: var(--f16-sp);
  }
  .footer-cont-02 {
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
    margin-top: -5.1282051282vw;
    font-size: var(--f14-sp);
  }
  .footer-cont-02 .inner-w {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 5.1282051282vw;
    padding-top: 9.7435897436vw;
  }
  .footer-tel {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 7.6923076923vw;
    gap: 3.8461538462vw 7.6923076923vw;
  }
  .footer-tel dl {
    width: calc(50% - 3.8461538462vw);
  }
  .footer-logo img {
    width: 41.5384615385vw;
  }
  .footer-add {
    text-align: center;
  }
  .footer-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 7.6923076923vw;
  }
  .footer-nav li a:before {
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
  .footer-text {
    font-size: var(--f13-sp);
    line-height: 1.3846153846;
    gap: 2.5641025641vw;
    align-items: center;
  }
  .footer-text .cmn-text-03 {
    line-height: 1.3846153846;
    order: 1;
  }
  .copyright {
    font-size: var(--f14-sp);
    text-align: center;
    order: 2;
  }
  body._is-gnav-open, body._is-fixednav-open {
    overflow-y: hidden;
  }
  main {
    padding-top: 23.0769230769vw;
  }
  .inner-s {
    padding-left: 0vw;
    padding-right: 0vw;
  }
  .inner {
    padding-left: 5.8974358974vw;
    padding-right: 5.8974358974vw;
  }
  .inner-w {
    padding-left: 5.8974358974vw;
    padding-right: 5.8974358974vw;
  }
  .cmn-head {
    padding-top: 6.4102564103vw;
    padding-bottom: 12.8205128205vw;
  }
  .cmn-sec {
    padding-top: 19.2307692308vw;
    padding-bottom: 19.2307692308vw;
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
    margin-top: -5.1282051282vw;
  }
  .cmn-text-00 {
    font-size: var(--f16-sp);
    line-height: 2;
  }
  .cmn-text-01 {
    font-size: var(--f14-sp);
    line-height: 2;
  }
  .cmn-text-02 {
    font-size: var(--f14-sp);
  }
  .cmn-text-03 {
    font-size: var(--f13-sp);
  }
  .cmn-text-04 {
    font-size: var(--f14-sp);
  }
  .cmn-contactblc .cmn-text-04 {
    padding: 0 2.5641025641vw;
  }
  .cmn-blc + .cmn-blc {
    margin-top: 12.8205128205vw;
  }
  .cmn-blc._bg {
    padding: 12.8205128205vw;
  }
  .cmn-blc._bg-w {
    padding: 12.8205128205vw;
  }
  .cmn-blc._bdr {
    padding: 12.8205128205vw;
  }
  .cmn-blc._p20 {
    padding: 5.1282051282vw;
  }
  .cmn-box + .cmn-box {
    margin-top: 7.6923076923vw;
  }
  .cmn-box._bg {
    padding: 6.4102564103vw;
  }
  .cmn-box._bdr {
    padding: 5.1282051282vw;
  }
  .cmn-form {
    margin: 7.6923076923vw 0;
  }
  .cmn-form > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3.0769230769vw;
    padding: 3.8461538462vw 0;
  }
  .cmn-form > div > dt {
    gap: 2.5641025641vw;
    font-size: var(--f14-sp);
  }
  .cmn-form > div > dt:after {
    font-size: var(--f11-sp);
    padding: 0.7692307692vw 2.5641025641vw;
  }
  .cmn-form > div > dd {
    gap: 3.8461538462vw;
  }
  .cmn-form span.error {
    margin-top: 5.1282051282vw;
    gap: 2.5641025641vw;
  }
  .cmn-form span.error:before {
    content: "";
    background: url("../img/parts/icon_ex.svg") no-repeat 50% 50%;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    display: block;
    transition-duration: 0.5s;
  }
  input:not([type=submit]):not([type=button]):not([type=checkbox]),
  textarea,
  select {
    flex-direction: column;
  }
  .check-list .wpcf7-checkbox, .check-list .wpcf7-radio {
    flex-direction: column;
  }
  .check-list .wpcf7-checkbox > .wpcf7-list-item, .check-list .wpcf7-radio > .wpcf7-list-item {
    width: 100%;
  }
  .selectBox select {
    font-size: 4.1025641026vw;
  }
  .form-thanks {
    margin: 0 0 10.2564102564vw;
  }
  .form-thanks dt {
    font-size: 4.1025641026vw;
    margin-bottom: 5.1282051282vw;
  }
  .text-name {
    font-size: var(--f18-sp);
  }
  .text-name span {
    font-size: var(--f22-sp);
  }
  .cmn-mainv {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  .cmn-mainv figure {
    aspect-ratio: 660/300;
  }
  .cmn-blc-head {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 7.6923076923vw;
    margin-bottom: 5.1282051282vw;
  }
  .cmn-blc-head p.cmn-text-02 {
    margin-top: 0;
  }
  .cmn-list-01 {
    margin-top: 5.1282051282vw;
  }
  .cmn-list-01 li {
    gap: 2.0512820513vw;
  }
  .cmn-list-01 li + li {
    margin-top: 3.8461538462vw;
  }
  .cmn-list-01 li > span {
    flex: auto;
  }
  .cmn-list-01 li:before {
    width: 1.5384615385vw;
    height: 1.5384615385vw;
  }
  .cmn-list-02 {
    gap: 2.5641025641vw;
    margin-top: 5.1282051282vw;
  }
  .cmn-list-col {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5.1282051282vw;
    gap: 0 5.1282051282vw;
    flex-wrap: wrap;
  }
  .cmn-list-col li {
    width: calc(50% - 2.5641025641vw);
  }
  .cmn-desc-01 {
    gap: 2.5641025641vw;
  }
  .cmn-desc-01 > span {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    margin-top: -6.4102564103vw;
  }
  .cmn-desc-02 {
    padding: 5.1282051282vw 3.8461538462vw;
  }
  .cmn-desc-02 dl dt {
    gap: 2.5641025641vw;
  }
  .cmn-desc-02._pin {
    padding: 5.1282051282vw 3.8461538462vw;
  }
  .cmn-desc-02._pin:before, .cmn-desc-02._pin:after {
    left: 2.5641025641vw;
  }
  .cmn-desc-02._pin:before {
    top: 2.5641025641vw;
  }
  .cmn-desc-02._pin:after {
    bottom: 2.5641025641vw;
  }
  .cmn-desc-02._pin dl:before, .cmn-desc-02._pin dl:after {
    right: 2.5641025641vw;
  }
  .cmn-desc-02._pin dl:before {
    top: 2.5641025641vw;
  }
  .cmn-desc-02._pin dl:after {
    bottom: 2.5641025641vw;
  }
  .cmn-panel-01 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 6.4102564103vw;
  }
  .cmn-panel-01._col03 > * figure {
    margin-bottom: 3.8461538462vw;
  }
  .cmn-panel-02 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 3.8461538462vw;
  }
  .cmn-panel-02._col03._spcol02 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 6.1538461538vw;
    gap: 8.9743589744vw 6.1538461538vw;
  }
  .cmn-panel-02._col03._spcol02 > div {
    width: calc(50% - 3.0769230769vw);
  }
  .cmn-panel-02 > div {
    gap: 2.5641025641vw;
  }
  .cmn-panel-02 > div dl {
    gap: 2.5641025641vw;
  }
  .cmn-panel-02 > div dl dt {
    font-size: var(--f18-sp);
  }
  .cmn-panel-02 > div dl dd {
    font-size: var(--f14-sp);
  }
  .cmn-dlbox-01 > div + div {
    margin-top: 10.2564102564vw;
  }
  .cmn-dlbox-01 dd {
    text-align: left;
    margin-top: 1.2820512821vw;
  }
  .cmn-dlbox-01_in > div + div {
    margin-top: 10.2564102564vw;
  }
  .cmn-dlbox-01_in > div dt {
    margin-bottom: 3.8461538462vw;
  }
  .cmn-dlbox-01_in > div dd {
    text-align: left;
  }
  .cmn-dlbox-01_in > div dd + dd {
    margin-top: 7.6923076923vw;
  }
  .cmn-dlbox-02 {
    gap: 2.0512820513vw;
  }
  .cmn-dlbox-02 dt {
    font-size: var(--f13-sp);
    padding: 1.2820512821vw;
  }
  .cmn-contactblc .cmn-dlbox-02 dt {
    font-size: var(--f14-sp);
    padding: 2.0512820513vw;
  }
  .cmn-dlbox-02 dt span {
    font-size: var(--f12-sp);
  }
  .cmn-dlbox-02 dd {
    font-size: var(--f24-sp);
  }
  .cmn-contactblc .cmn-dlbox-02 dd {
    font-size: var(--f30-sp);
  }
  .cmn-dlbox-03 {
    margin-top: 12.8205128205vw;
    border-radius: 1.2820512821vw;
  }
  .cmn-dlbox-03 .cmn-ttl-06 {
    margin: -9.4871794872vw auto 0;
  }
  .cmn-dlbox-03 .cmn-list-01 li:before {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    margin-top: 0.6em;
  }
  .cmn-dlbox-03 dl {
    padding: 6.4102564103vw 3.8461538462vw;
  }
  .cmn-dlbox-03 dl > div + div {
    margin-top: 5.1282051282vw;
  }
  .cmn-dlbox-03 dl dt {
    margin-bottom: 2.5641025641vw;
    gap: 2.5641025641vw;
  }
  .cmn-dlbox-03 dl dt span {
    padding: 2.0512820513vw 3.8461538462vw;
  }
  .cmn-dlbox-03 dl dd {
    text-align: left;
  }
  .cmn-dlbox-03 dl dd + dd {
    margin-top: 7.6923076923vw;
  }
  .cmn-dlbox-04 > div {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
    padding: 2.0512820513vw 0;
  }
  .cmn-dlbox-04 > div dt {
    font-size: var(--f16-sp);
    padding: 1.2820512821vw;
    gap: 1.2820512821vw;
  }
  .cmn-dlbox-04 > div dt:before {
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    margin-top: 0.6em;
  }
  .cmn-dlbox-04 > div dd {
    font-size: var(--f14-sp);
  }
  .cmn-dlbox-04._bl > div dt {
    width: 30%;
    flex-shrink: 0;
  }
  .effort-dlbox-02 .cmn-dlbox-04._bl > div dt {
    width: 100%;
  }
  .cmn-dlbox-04._col > div {
    gap: 0vw;
  }
  .cmn-dlbox-04._col > div dd {
    padding-left: 5.1282051282vw;
  }
  .cmn-ttl-01 {
    gap: 4.358974359vw;
    margin-bottom: 11.5384615385vw;
    text-align: center;
  }
  .cmn-ttl-01 > span {
    gap: 1.5384615385vw;
  }
  .cmn-ttl-01 > span:after {
    content: "";
    background: url("../img/parts/icon_ttl.png") no-repeat 50% 50%;
    background-size: 9.7435897436vw 1.5384615385vw;
    width: 9.7435897436vw;
    height: 1.5384615385vw;
    display: block;
    transition-duration: 0.5s;
  }
  .cmn-ttl-02 > span:after {
    content: "";
    background: url("../img/parts/icon_ttl.png") no-repeat 50% 50%;
    background-size: 9.7435897436vw 1.5384615385vw;
    width: 9.7435897436vw;
    height: 1.5384615385vw;
    display: block;
    transition-duration: 0.5s;
  }
  .cmn-ttl-03 {
    margin-bottom: 5.1282051282vw;
  }
  .cmn-ttl-04 {
    margin-bottom: 2.5641025641vw;
  }
  .cmn-ttl-04:before {
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    margin-top: 0.6em;
  }
  .cmn-ttl-05 {
    margin-bottom: 7.6923076923vw;
  }
  .cmn-ttl-05 figure._il03 {
    display: none;
  }
  .cmn-ttl-05 figure._il02 {
    display: none;
  }
  .cmn-ttl-05 figure._il14 {
    display: none;
  }
  .cmn-ttl-05 figure._il15 {
    display: none;
  }
  .cmn-ttl-05-in {
    padding: 3.8461538462vw 0 2.5641025641vw;
  }
  .cmn-ttl-05-in:after {
    bottom: -3.0769230769vw;
    border-left: 2.8205128205vw solid transparent;
    border-right: 2.8205128205vw solid transparent;
    border-top: 3.0769230769vw solid #fff;
  }
  .cmn-ttl-06 {
    padding: 2.5641025641vw 0;
    border-radius: 1.2820512821vw;
  }
  .cmn-ttl-06:after {
    bottom: -2.3076923077vw;
    border-left: 2.5641025641vw solid transparent;
    border-right: 2.5641025641vw solid transparent;
    border-top: 2.3076923077vw solid #fff;
  }
  .cmn-figure + .cmn-text-04 {
    margin-bottom: 2.5641025641vw;
  }
  .cmn-imgblc {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 7.6923076923vw;
  }
  .cmn-imgblc-02 {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: stretch;
    gap: 6.4102564103vw;
  }
  .cmn-imgblc-02._left {
    flex-direction: column-reverse;
  }
  .cmn-imgblc-02._left ._imgbox {
    margin-right: calc(50% - 50vw);
  }
  .cmn-imgblc-02._left ._imgbox .cmn-figure {
    border-radius: 0;
  }
  .cmn-imgblc-02._right {
    flex-direction: column-reverse;
  }
  .cmn-imgblc-02._right ._imgbox {
    margin-left: calc(50% - 50vw);
  }
  .cmn-imgblc-02._right ._imgbox .cmn-figure {
    border-radius: 0;
  }
  .cmn-contactblc {
    margin-top: 5.1282051282vw;
    padding-bottom: 7.6923076923vw;
  }
  .cmn-contactblc h4.cmn-ttl-03 {
    margin-bottom: 3.8461538462vw;
    padding: 3.0769230769vw;
  }
  .cmn-contactblc h5.cmn-ttl-03 {
    margin-bottom: 1.2820512821vw;
  }
  .cmn-contactblc .box-tel {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 3.8461538462vw;
    padding: 3.0769230769vw 4.1025641026vw;
  }
  .cmn-contactblc > div._flx {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 3.8461538462vw;
    padding: 3.0769230769vw 4.1025641026vw;
  }
  .cmn-contactblc > div .box-info {
    text-align: center;
  }
  .cmn-contactblc ._ilst._01 {
    display: none;
  }
  .cmn-contactblc ._ilst._02 {
    display: none;
  }
  .cmn-contactblc ._ilst._10 {
    display: none;
  }
  .cmn-contactblc ._ilst._11 {
    display: none;
  }
  .cmn-contactblc ._ilst._12 {
    display: none;
  }
  .cmn-contactblc ._ilst._13 {
    display: none;
  }
  .cmn-disaster figure {
    aspect-ratio: 660/350;
    margin-bottom: 6.4102564103vw;
  }
  .cmn-nav-anc {
    font-size: var(--f14-sp);
    gap: 6.4102564103vw 7.6923076923vw;
    flex-wrap: wrap;
  }
  .cmn-nav-anc li a:after {
    border-width: 1px;
    width: 6.4102564103vw;
    height: 6.4102564103vw;
  }
  .cmn-nav-anc li a:before {
    right: 2.8205128205vw;
    width: 1.2820512821vw;
    height: 2.3076923077vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .cmn-btn {
    width: 100%;
    font-size: 5.1282051282vw;
  }
  .cmn-btn._def a, .cmn-btn._def input {
    border-width: 1px;
    font-size: var(--f14-sp);
    padding: 5.1282051282vw 4.358974359vw 5.1282051282vw 7.6923076923vw;
  }
  .cmn-btn._def a:after, .cmn-btn._def input:after {
    border-width: 1px;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .cmn-btn._def a:before, .cmn-btn._def input:before {
    right: 7.1794871795vw;
  }
  .cmn-btn._small a {
    font-size: var(--f14-sp);
    padding: 4.1025641026vw 2.5641025641vw 4.1025641026vw 6.6666666667vw;
  }
  .cmn-btn._small a:after {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
  .cmn-btn._small a:before {
    width: 1.0256410256vw;
    height: 1.7948717949vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
    right: 4.6153846154vw;
  }
  .cmn-btn._big a, .cmn-btn._big input {
    font-size: var(--f16-sp);
    padding: 7px 10px;
    padding: 3.8461538462vw;
  }
  .cmn-btn._submit input {
    font-size: var(--f16-sp);
    padding: 7px 10px;
    padding: 3.8461538462vw;
  }
  .cmn-btn._back input {
    font-size: var(--f14-sp);
    padding: 7px 10px;
    padding: 2.5641025641vw;
  }
  .cmn-btn._insta a {
    font-size: var(--f14-sp);
    aspect-ratio: 660/100;
  }
  .cmn-btn._insta a:before {
    left: 8.4615384615vw;
    background-size: 19px 19px;
  }
  .cmn-btn._fixedsmall a {
    font-size: var(--f14-sp);
    padding: 5.1282051282vw 3.8461538462vw;
  }
  .cmn-btn._fixedsmall a:after {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
  .cmn-btn._fixedsmall a:before {
    width: 0.7692307692vw;
    height: 1.5384615385vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
    right: 5.641025641vw;
  }
  .btn-list {
    margin-top: 7.6923076923vw;
  }
  .btn-list li + li {
    margin-top: 3.8461538462vw;
  }
  .btn-list p + p {
    margin-top: 3.8461538462vw;
  }
  .blc-col2 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
  }
  .blc-col2._center {
    align-items: center;
  }
  .blc-col2._float figure {
    margin-bottom: 7.6923076923vw;
  }
  .tbl_blc {
    padding: 10px;
  }
  .tbl_blc table {
    font-size: 3.5897435897vw;
  }
  .cmn-pager {
    font-size: 4.6153846154vw;
    padding: 5.1282051282vw 0;
  }
  #newsdetail .cmn-pager ul {
    padding-top: 12.8205128205vw;
  }
  #newsdetail .cmn-pager ul li.prev, #newsdetail .cmn-pager ul li.next {
    top: 0;
  }
  .cmn-pager ul li.prev a, .cmn-pager ul li.next a {
    font-size: 3.0769230769vw;
  }
  .cmn-pager ul li.prev a:after, .cmn-pager ul li.next a:after {
    width: 30px;
    height: 30px;
  }
  .cmn-pager ul li.prev a:before {
    left: 15px;
  }
  .cmn-pager ul li.next a:before {
    right: 15px;
  }
  .list01._square li {
    gap: 15px;
  }
  .list01._square li:before {
    width: 10px;
    height: 10px;
    margin-top: 10px;
  }
  .item-img figure:before {
    top: -2.8205128205vw;
    left: 2.8205128205vw;
  }
  .item-img > span {
    left: 0;
    width: 87%;
    padding: 2.0512820513vw 10.2564102564vw 2.8205128205vw 2.8205128205vw;
  }
  ._sub .item-img > span, ._topcol03 .item-img > span, ._topcol04 .item-img > span {
    font-size: 3.5897435897vw;
    padding: 2.0512820513vw 10.2564102564vw 2.8205128205vw 2.8205128205vw;
  }
  ._people .item-img > span {
    width: 57%;
  }
  .item-img > span:after {
    width: 2.8205128205vw;
    height: 1.2820512821vw;
  }
  .item-img > span > span {
    padding: 0 5px;
  }
  .breadcrumb {
    display: none;
  }
  .wp-block-image img {
    width: auto;
    height: auto;
    max-width: 100%;
  }
  .top-sec {
    padding-top: 19.2307692308vw;
    padding-bottom: 19.2307692308vw;
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
  }
  .top-anime {
    --baseW: 750;
    --baseH: 1200;
  }
  .top-anime > img {
    width: 100%;
  }
  .top-anime-illust {
    width: 750px;
    height: 1200px;
  }
  .top-anime-illust img.pc {
    display: none;
  }
  .top-anime-illust a.balloon {
    width: 192px;
    height: 236px;
    top: 190px;
    right: 10px;
  }
  .top-anime-illust .balloon03 {
    width: 192px;
    top: 0;
    right: 0;
    position: absolute;
    z-index: 12;
  }
  .top-anime-illust .airplane {
    top: 200px;
    right: 275px;
  }
  .top-anime-illust .ship {
    bottom: 88px;
    right: 410px;
  }
  .top-anime-illust .car {
    bottom: 297px;
    right: -200px;
    animation-duration: 10s;
  }
  .top-anime-illust .car01 {
    animation-delay: 0s;
  }
  .top-anime-illust .car02 {
    animation-delay: 5s;
  }
  .top-anime-illust .car03 {
    animation-delay: 7s;
  }
  .top-anime-illust .car04 {
    bottom: 320px;
    animation: move-car04 12s linear infinite;
  }
  .top-anime-illust .person01 {
    top: 425px;
    right: 425px;
  }
  .top-anime-illust .person02 {
    top: 437px;
    right: 325px;
  }
  .top-anime-illust .person03 {
    top: 788px;
    right: 615px;
  }
  .top-anime-illust .person04 {
    top: 818px;
    right: 559px;
  }
  .top-anime-illust .person05 {
    top: 901px;
    right: 478px;
  }
  .top-anime-illust .person06 {
    top: 940px;
    right: 55px;
  }
  .top-anime-illust .person07 {
    top: 728px;
    right: 455px;
  }
  .top-anime-illust .person08 {
    top: 828px;
    right: 375px;
  }
  @keyframes floating-ship {
    0% {
      transform: translate(0, 0) rotate(0deg);
    }
    50% {
      transform: translate(-4px, -8px) rotate(0deg);
    }
    100% {
      transform: translate(0, 0) rotate(0deg);
    }
  }
  @keyframes move-car {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-1500px);
    }
  }
  @keyframes move-car04 {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    30% {
      transform: translateX(240px);
      opacity: 1;
      animation-timing-function: ease-out; /* 40→55 の区間に効く */
    }
    55% {
      transform: translateX(310px);
      opacity: 1;
    } /* ここで到達 */
    80% {
      transform: translateX(310px);
      opacity: 1;
    } /* 停止キープ */
    90% {
      transform: translateX(310px);
      opacity: 0;
    } /* フェードアウト */
    100% {
      transform: translateX(0);
      opacity: 0;
    } /* リセット（見えないまま戻す） */
  }
  .top-newsimportant {
    margin-top: 8.4615384615vw;
    padding: 0 7.1794871795vw;
    font-size: var(--f14-sp);
  }
  .top-newsimportant dl {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    border-radius: 1.2820512821vw;
  }
  .top-newsimportant dl dt {
    padding: 3.3333333333vw 5.1282051282vw;
    border-radius: 1.2820512821vw 1.2820512821vw 0 0;
  }
  .top-catch {
    padding-left: 5.8974358974vw;
    padding-right: 5.8974358974vw;
  }
  .top-catch {
    top: 23.0769230769vw;
  }
  .top-catch > h1 {
    font-size: var(--f18-sp);
    line-height: 2.7;
    padding-left: 2.0512820513vw;
    padding-right: 2.0512820513vw;
  }
  .top-intro ._ilst-wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-start;
    gap: 0vw;
    margin-top: 10.2564102564vw;
    position: relative;
    aspect-ratio: 750/600;
  }
  .top-intro ._ilst._intro01 {
    width: 64.1025641026vw;
    right: -10.2564102564vw;
    top: 0;
  }
  .top-intro ._ilst._intro02 {
    width: 61.5384615385vw;
    left: -14.1025641026vw;
    bottom: 0;
  }
  .top-intro ._ilst._intro03 {
    display: none;
  }
  .top-intro-wrap {
    gap: 7.6923076923vw;
  }
  .top-intro-text01 {
    font-size: var(--f18-sp);
  }
  .top-intro-text01 span {
    font-size: var(--f23-sp);
  }
  .top-intro-text02 {
    font-size: var(--f17-sp);
    gap: 3.3333333333vw;
  }
  .top-intro-text02 img {
    width: 59.4871794872vw;
    max-width: none;
  }
  .top-intro .cmn-btn a {
    width: 100%;
    max-width: none;
  }
  .top-service {
    border-radius: 5.1282051282vw 0 0 5.1282051282vw;
    padding-bottom: 5.1282051282vw;
  }
  .top-service .cmn-blc-head {
    margin-bottom: 12.8205128205vw;
  }
  .top-service .cmn-blc-head ._ilst._26 {
    width: 42.3076923077vw;
    right: 0vw;
    top: -2.5641025641vw;
  }
  .top-service-head {
    gap: 5.1282051282vw;
    margin-bottom: -14.1025641026vw;
  }
  .top-service-head ._ilst {
    position: absolute;
    left: 28.2051282051vw;
    top: -4.1025641026vw;
  }
  .top-service-head ._ilst._25 {
    width: 13.3333333333vw;
  }
  .top-service-head ._ilst._24 {
    width: 11.7948717949vw;
  }
  .top-service-head ._ilst._23 {
    width: 4.1025641026vw;
  }
  .top-service-ttl {
    font-size: var(--f22-sp);
    gap: 2.5641025641vw;
  }
  .top-service-ttl span.f_en {
    font-size: var(--f16-sp);
    gap: 1.7948717949vw;
  }
  .top-service-ttl span.f_en:before {
    width: 1.5384615385vw;
    height: 1.5384615385vw;
  }
  .top-service-bn a {
    width: 100%;
  }
  .top-service-bn ._ilst {
    position: static;
  }
  .top-service-bn ._ilst-wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 2.5641025641vw;
    margin-top: 7.1794871795vw;
  }
  .top-service-bn ._ilst._17 {
    width: 27.1794871795vw;
  }
  .top-service-bn ._ilst._07 {
    width: 38.4615384615vw;
    margin-top: 7.6923076923vw;
  }
  .top-news {
    margin-bottom: -8.9743589744vw;
  }
  .top-news-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 5.1282051282vw;
  }
  .top-news .cmn-blc-head {
    width: 100vw;
    margin-bottom: 0;
  }
  .top-news .cmn-ttl-02 {
    gap: 1.2820512821vw;
  }
  .top-news .cmn-btn.sp {
    justify-content: center;
  }
  .top-news .cmn-btn a {
    padding: 3.8461538462vw;
    width: 58.9743589744vw;
    margin: 0 auto 25.641025641vw;
  }
  .top-news .news-list {
    flex: 1;
    margin-bottom: 2.5641025641vw;
    margin-right: 0;
  }
  .top-news ._ilst._news01 {
    width: 100vw;
    right: 0;
    bottom: 0;
  }
  .top-news ._ilst._news02 {
    width: 26.9230769231vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: 17.4358974359vw;
  }
  .top-news ._ilst._news03 {
    width: 23.0769230769vw;
    right: 10.7692307692vw;
    top: -6.4102564103vw;
  }
  .top-sns {
    padding-bottom: 0vw;
  }
  .top-sns .cmn-blc-head ._ilst._06 {
    width: 23.0769230769vw;
    right: 0;
    top: -9.7435897436vw;
  }
  .top-sns-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10.2564102564vw;
  }
  .top-sns-data {
    gap: 5.1282051282vw;
  }
  .top-sns-bn a {
    width: 100%;
  }
  .top-sns-bn ._ilst {
    position: static;
  }
  .top-sns-bn ._ilst-wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8.9743589744vw;
    margin-top: 7.1794871795vw;
  }
  .top-sns-bn ._ilst._03 {
    width: 27.1794871795vw;
  }
  .top-sns-bn ._ilst._22 {
    width: 25.1282051282vw;
  }
  .news-cat {
    font-size: var(--f10-sp);
    min-width: 24.1025641026vw;
    padding: 1.5384615385vw;
  }
  .news-list-data a {
    padding: 3.8461538462vw 10.2564102564vw 3.8461538462vw 0;
    gap: 1.2820512821vw;
  }
  .news-list-data a:after {
    border-width: 1px;
    width: 6.4102564103vw;
    height: 6.4102564103vw;
  }
  .news-list-data a:before {
    width: 1.2820512821vw;
    height: 2.3076923077vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
    right: 2.8205128205vw;
  }
  .news-list-data p._text {
    line-height: 1.5;
  }
  .news-head {
    margin-bottom: 10.2564102564vw;
  }
  .news-head-date {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.2820512821vw;
    margin-bottom: 2.5641025641vw;
  }
  .news-head-cat {
    gap: 2.5641025641vw;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .news-list-data .news-head-cat {
    gap: 1.2820512821vw;
    flex-wrap: wrap;
    justify-content: flex-start;
    font-size: var(--f10-sp);
  }
  .news-body {
    margin-bottom: 12.8205128205vw;
  }
  .news-body p {
    font-size: var(--f14-sp);
    line-height: 2;
  }
  .company01_img {
    margin-top: 7.6923076923vw;
  }
  .company02_01 ._ilst._09 {
    width: 25%;
  }
  .company03_01 ._ilst._07 {
    width: 25%;
  }
  .company03_02 ._ilst._05 {
    width: 20%;
  }
  .company04_02 {
    gap: 1.2820512821vw;
  }
  .company04_02.cmn-blc {
    margin-top: 7.6923076923vw;
  }
  .company04_02 > div._yokoyama {
    width: 35.8974358974vw;
    aspect-ratio: 280/214;
    border-radius: 1.2820512821vw;
    padding: 10.2564102564vw 2.5641025641vw;
  }
  .company04_02 > div._yokoyamasub {
    gap: 3.8461538462vw;
    width: 35.8974358974vw;
  }
  .company04_02 > div._yokoyamasub > div {
    border-radius: 1.2820512821vw;
    text-align: center;
    line-height: 1.3125;
  }
  .company04_02 > div._yokoyamasub > div .cmn-btn a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.0416666667vw;
    border: none;
    text-indent: -899999px;
    padding: 0;
  }
  .company04_02 > div._yokoyamasub > div .cmn-btn a:after {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
  .company04_02 > div._yokoyamasub > div .cmn-btn a:before {
    width: 4px;
    height: 8px;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
    right: auto;
    margin-left: 4px;
  }
  .company04_02 > figure {
    width: 10.2564102564vw;
  }
  .slider-equipment .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2.5641025641vw;
  }
  .slider-equipment .swiper-slide figure {
    width: 100%;
  }
  .slider-equipment .swiper-slide dl {
    border-width: 2px;
    padding: 3.8461538462vw;
    width: 100%;
  }
  .slider-equipment .swiper-slide dl dd {
    line-height: 1.5;
    margin-top: 2.5641025641vw;
  }
  .slider-equipment-thumbnail {
    margin-top: 2.5641025641vw;
  }
  .slider-equipment-thumbnail .swiper-wrapper {
    width: 100%;
    gap: 1.2820512821vw;
  }
  .slider-equipment-thumbnail .swiper-slide {
    width: calc((100% - 2.5641025641vw) / 3);
  }
  .slider-equipment-thumbnail .swiper-slide .cmn-figure {
    border-width: 2px;
    border-radius: var(--radius-mid);
  }
  .slider-newsimportant {
    padding: 5.1282051282vw 0;
    margin: 0 -3.8461538462vw;
  }
  .slider-newsimportant .swiper-slide a {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    padding-right: 0;
    margin: 0 11.5384615385vw;
  }
  .slider-newsimportant .swiper-button-wrap {
    position: static;
  }
  .slider-newsimportant .swiper-button-prev, .slider-newsimportant .swiper-button-next {
    position: absolute;
    margin-top: -3.8461538462vw;
  }
  .slider-newsimportant .swiper-button-prev {
    left: 0;
  }
  .slider-newsimportant .swiper-button-next {
    right: 0;
  }
  .swiper-button-wrap {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 3.8461538462vw;
  }
  .swiper-button-wrap .swiper-button-prev, .swiper-button-wrap .swiper-button-next {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    border-width: 1px;
  }
  .swiper-button-wrap .swiper-button-prev:after, .swiper-button-wrap .swiper-button-next:after {
    width: 1.5384615385vw;
    height: 2.5641025641vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .icon-btn {
    width: 6.4102564103vw;
    height: 6.4102564103vw;
    border-width: 1px;
  }
  .icon-btn:after {
    width: 1.2820512821vw;
    height: 2.3076923077vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .slider-service {
    padding-top: 17.9487179487vw;
  }
  .slider-service .swiper-slide {
    width: 70.5128205128vw;
    padding-bottom: 15.3846153846vw;
  }
  .slider-service .swiper-slide .slider-service-ttl {
    align-items: flex-end;
    bottom: 16.6666666667vw;
    font-size: var(--f17-sp);
    line-height: 1.3529411765;
  }
  .slider-service .swiper-slide .cmn-text-04 {
    color: #000;
    padding: 0;
    top: 47.4358974359vw;
    line-height: 1.4285714286;
  }
  .slider-service .swiper-controlbox {
    padding-left: 5.8974358974vw;
    padding-right: 5.8974358974vw;
  }
  .slider-service .swiper-controlbox {
    gap: 2.5641025641vw;
  }
  .slider-service .swiper-pagination {
    width: 20.5128205128vw;
  }
  .slider-service .swiper-button-wrap {
    gap: 3.8461538462vw;
  }
  .slider-service .swiper-button-wrap .swiper-button-prev, .slider-service .swiper-button-wrap .swiper-button-next {
    width: 8.9743589744vw;
    height: 8.9743589744vw;
    border-width: 1px;
  }
  .slider-service .swiper-button-wrap .swiper-button-prev:after, .slider-service .swiper-button-wrap .swiper-button-next:after {
    width: 1.7948717949vw;
    height: 3.0769230769vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23000'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .marupro02_01 ._ilst._08 {
    width: 25%;
  }
  .oilterminal02_01 ._ilst._08 {
    width: 25%;
  }
  .cmn-map {
    aspect-ratio: 3/3;
  }
  .cmn-map.car03_01 {
    aspect-ratio: 1200/1500;
  }
  .cmn-mov {
    gap: 4.6153846154vw 3.5897435897vw;
  }
  .cmn-mov-box {
    width: calc(50% - 1.7948717949vw);
  }
  .cmn-mov-box._large a:after {
    content: "";
    background: url("../img/parts/icon_play.png") no-repeat 50% 50%;
    background-size: 11.2820512821vw 11.2820512821vw;
    width: 11.2820512821vw;
    height: 11.2820512821vw;
    display: block;
    transition-duration: 0.5s;
  }
  .cmn-mov-box._mid {
    width: calc(50% - 1.7948717949vw);
  }
  .cmn-mov-box a:after {
    content: "";
    background: url("../img/parts/icon_play.png") no-repeat 50% 50%;
    background-size: 8.4615384615vw 8.4615384615vw;
    width: 8.4615384615vw;
    height: 8.4615384615vw;
    display: block;
    transition-duration: 0.5s;
  }
  .cmn-mov-ttl {
    font-size: var(--f16-sp);
    margin-top: 1.2820512821vw;
  }
  .cmn-history:before {
    left: 1.0256410256vw;
  }
  .cmn-history-blc {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2.5641025641vw;
  }
  .cmn-history-blc + .cmn-history-blc {
    margin-top: 7.6923076923vw;
  }
  .cmn-history-year {
    width: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 3.0769230769vw;
  }
  .cmn-history-year:before {
    content: "";
    background: #ec6d5e;
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 3.3333333333vw;
  }
  .cmn-history-year span._year-w {
    font-size: var(--f25-sp);
  }
  .cmn-history-year span._year-j {
    font-size: var(--f14-sp);
    padding: 0.7692307692vw 3.3333333333vw;
  }
  .cmn-history-desc {
    padding-left: 10.2564102564vw;
  }
  .cmn-history-desc dt {
    font-size: var(--f16-sp);
  }
  .cmn-history-desc figure {
    margin-top: 2.5641025641vw;
  }
  .cmn-history-desc figure + p {
    margin-top: 2.5641025641vw;
  }
  .car02_02 {
    gap: 3.8461538462vw;
  }
  .car02_02_sbox {
    padding: 3.8461538462vw;
  }
  .car02_02_sbox dt span.f_num {
    font-size: var(--f22-sp);
  }
  .car02_02_sbox dd strong {
    font-size: var(--f16-sp);
  }
  .car03_01 ._ilst._09 {
    display: none;
  }
  .car03_02 .cmn-panel-01 .car-mark {
    top: 2.5641025641vw;
    left: 2.5641025641vw;
    padding: 2.0512820513vw 3.8461538462vw;
  }
  .car04_01 ._ilst._12 {
    display: none;
  }
  .car04_01 ._ilst._15 {
    display: none;
  }
  .car05_01_sbox {
    padding: 3.8461538462vw;
  }
  .car05_01_sbox > p {
    padding: 1.2820512821vw 3.8461538462vw;
  }
  .car06_01 ._ilst._15 {
    display: none;
  }
  .car06_01 ._ilst._14 {
    display: none;
  }
  .car07_01 ._ilst._17 {
    display: none;
  }
  .car07_01 ._ilst._18 {
    display: none;
  }
  .cmn-station-icon li {
    width: 10.2564102564vw;
  }
  .video01_01 ._ilst._16 {
    width: 14.358974359vw;
    right: 0;
  }
  .effort-panel {
    gap: 10.2564102564vw;
  }
  .effort-panel .cmn-dlbox-05 > dd {
    padding: 3.8461538462vw;
    gap: 5.1282051282vw;
  }
  .effort-dlbox-01 > div {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
    padding: 2.0512820513vw 0;
  }
  .effort-dlbox-01 > div dt {
    font-size: var(--f14-sp);
    padding: 1.2820512821vw;
    width: 50%;
    gap: 1.2820512821vw;
  }
  .effort-dlbox-02 {
    width: 100%;
  }
  .effort-dlbox-02 > div dt {
    width: 100%;
    font-size: var(--f14-sp);
  }
  .effort ._imgbox ._ilst._17 {
    width: 22.5641025641vw;
    right: 5.8974358974vw;
    bottom: -8.9743589744vw;
  }
  .disaster-wrap .cmn-panel-01 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6.4102564103vw;
    flex-wrap: wrap;
    margin-top: 6.4102564103vw;
  }
  .disaster-wrap .cmn-panel-01 > .cmn-desc-01 {
    width: calc(50% - 3.2051282051vw);
    flex: auto;
  }
  .disaster0401 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5.1282051282vw;
    width: 282.0512820513vw;
  }
  .lpg01_img {
    width: 70%;
  }
  .lpg02_head ._ilst._0802 {
    width: 19.2307692308vw;
    right: 0;
    top: 2.5641025641vw;
  }
  .lpg02_01 ._ilst._0801 {
    display: none;
  }
  .lpg02_01 ._ilst._21 {
    width: 32.0512820513vw;
    right: 5.1282051282vw;
    bottom: 10.2564102564vw;
  }
  .lpg02_01.cmn-blc._bg {
    padding: 7.6923076923vw 0 0;
    margin: 0 calc(50% - 50vw);
  }
  .lpg02_arealist {
    padding: 6.4102564103vw 5.1282051282vw;
  }
  .lpg03_01 {
    padding-bottom: 25.641025641vw;
  }
  .lpg03_01 ._ilst._05 {
    width: 20.5128205128vw;
    left: 10.2564102564vw;
  }
  .lpg03_01 ._ilst._06 {
    left: auto;
    right: 7.6923076923vw;
    width: 28.2051282051vw;
    bottom: -2.5641025641vw;
  }
  .lpg03_01 .cmn-btn {
    margin-top: 5.1282051282vw;
    margin-bottom: 2.5641025641vw;
  }
  .lpg03_01 .cmn-btn a {
    margin-top: 5.1282051282vw;
    margin-bottom: 2.5641025641vw;
    padding: 3.8461538462vw;
  }
  .lpg03_01 .cmn-text-04 {
    margin-top: 2.5641025641vw;
  }
  .lpg03_02.cmn-blc._bg-w {
    padding: 5.1282051282vw;
  }
  .lpg03_02 .cmn-btn {
    margin-top: 5.1282051282vw;
  }
  .lpg04_01 ._ilst._04 {
    left: auto;
    right: -2.5641025641vw;
    width: 28.2051282051vw;
  }
  .lpg05_01 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 7.6923076923vw;
    padding: 0;
  }
  .lpg05_01 ._ilst._07 {
    display: none;
  }
  .fuel01_01 ._ilst._20 {
    right: -2.5641025641vw;
    width: 25.641025641vw;
    bottom: -12.8205128205vw;
  }
  .house02_01 ._ilst._11 {
    right: -2.5641025641vw;
    width: 15.3846153846vw;
    top: -7.6923076923vw;
  }
  .house02_01 ._ilst._19 {
    display: none;
  }
  .house02_02 .cmn-btn {
    margin-top: 0vw;
  }
  .house02_02 .cmn-btn a {
    margin-top: 5.1282051282vw;
    margin-bottom: 2.5641025641vw;
    padding: 3.8461538462vw;
  }
  .house03_01 {
    margin-bottom: 12.8205128205vw;
  }
  .house03_01 .cmn-list-02 {
    gap: 2.5641025641vw;
  }
  .house03_01 .cmn-list-02 li {
    width: calc(50% - 1.2820512821vw);
  }
  .insurance03_text01 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.2820512821vw;
  }
  .insurance03_text01 img {
    max-width: 60%;
    margin: 0 auto;
  }
  .insurance03_text02-img {
    width: 800px;
  }
  .cmn-privacy + .cmn-privacy {
    margin-top: 12.8205128205vw;
  }
  .cmn-privacy .cmn-btn._def {
    width: 50%;
    margin: 0 auto;
  }
  .cmn-privacy .cmn-btn._def a {
    padding-top: 2.5641025641vw;
    padding-bottom: 2.5641025641vw;
  }
  .cmn-privacy .cmn-dlbox-01 > div + .cmn-privacy .cmn-dlbox-01 > div {
    margin-top: 7.6923076923vw;
  }
  .cmn-privacy .cmn-dlbox-01 > div dd.box-bdr {
    padding: 5.1282051282vw;
  }
  .cmn-privacy .cmn-dlbox-04 > div {
    padding: 1.2820512821vw 0;
  }
  .cmn-privacy .cmn-dlbox-04 > div dt {
    font-size: var(--f14-sp);
    padding: 0;
  }
  .cmn-privacy .cmn-dlbox-04 > div dd {
    font-size: var(--f14-sp);
  }
  .cmn-beforeafter_blc + .cmn-beforeafter_blc {
    margin-top: 12.8205128205vw;
  }
  .cmn-beforeafter_img {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 2.5641025641vw;
  }
  .cmn-beforeafter_img:after {
    content: "";
    background: url("../img/parts/icon_arrowdouble.svg") no-repeat 50% 50%;
    background-size: 6.9230769231vw 5.641025641vw;
    width: 6.9230769231vw;
    height: 5.641025641vw;
    display: block;
    transition-duration: 0.5s;
    transform: rotate(90deg);
    margin-bottom: 2.5641025641vw;
  }
  .cmn-beforeafter_img > div:before {
    font-size: var(--f12-sp);
    top: 3.0769230769vw;
    left: 3.0769230769vw;
    padding: 2.5641025641vw;
    width: 20.5128205128vw;
  }
  .cmn-beforeafter_img figure {
    aspect-ratio: 660/434;
  }
  .cmn-beforeafter_img .cmn-text-04 {
    margin-bottom: 0;
  }
  .cmn-beforeafter_point {
    padding: 5.1282051282vw;
    margin-top: 10.2564102564vw;
  }
  .cmn-beforeafter_point dt {
    gap: 0vw;
    top: -5.1282051282vw;
    left: 5.1282051282vw;
    padding: 3.0769230769vw 4.1025641026vw;
  }
  .cmn-beforeafter_point dt:before {
    content: "";
    background: url("../img/parts/icon_point.png") no-repeat 50% 50%;
    background-size: 8.4615384615vw 3.8461538462vw;
    width: 8.4615384615vw;
    height: 3.8461538462vw;
    display: block;
    transition-duration: 0.5s;
  }
  .cmn-beforeafter_point dd .cmn-list-01 {
    font-size: var(--f14-sp);
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  :root {
    --font-ttl-01: var(--f27-sp);
    --font-ttl-01-en: var(--f17-sp);
    --font-ttl-02: var(--f25-sp);
    --font-ttl-02-en: var(--f16-sp);
    --font-ttl-03: var(--f17-sp);
    --font-ttl-04: var(--f18-sp);
    --font-ttl-05: var(--f17-sp);
    --font-ttl-06: var(--f20-sp);
    --font-dt-01: var(--f16-sp);
    --font-dd-01: var(--f14-sp);
    --text-01: var(--f18-sp);
    --text-02: var(--f16-sp);
    --text-03: var(--f14-sp);
    --text-04: var(--f14-sp);
    --radius-small:3px;
    --radius-mid:5px;
    --radius-large:10px;
    --font-ttl-page-h1: var(--f40-sp);
    --font-ttl-page-h1span: var(--f14-sp);
    --font-ttl-page-span: var(--f16-sp);
    --font-ttl-catch: var(--f26-sp);
    --font-ttl_01: var(--f24-sp);
    --font-ttl_01-span: var(--f50-sp);
    --font-ttl_02: var(--f20-sp);
    --font-ttl_03: var(--f24-sp);
    --font-txtblc: var(--f14-sp);
    --font-24_14: var(--f14-sp);
    --font-dt_01: var(--f18-sp);
    --font-dt_02: var(--f16-sp);
    --font-imgbn_01: var(--f14-sp);
    --font-imgbn_02: var(--f14-sp);
    --font-name: var(--f18-sp);
    --font-16: var(--f10-sp);
    --font-14: var(--f12-sp);
    --font-12: var(--f10-sp);
    --font-11: var(--f10-sp);
    --font-10: var(--f10-sp);
  }
}
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 700px;
  }
}
@media screen and (min-width: 769px) {
  header {
    padding: 30px 2.6041666667vw;
    width: 100%;
    position: fixed;
    z-index: 1000;
    top: 0;
  }
  .header {
    background: #fff;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
    border-radius: 100px;
    padding: 0 3.125vw;
    height: 80px;
  }
  .header .logo {
    max-width: 208px;
    min-width: 160px;
    width: 17.3333333333vw;
  }
  .header-nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 1.0416666667vw;
    font-size: var(--f14);
  }
  .header-nav > li._is-current > a, .header-nav > li:hover > a {
    opacity: 1;
    color: #ec6d5e;
    height: 110px;
  }
  .header-nav > li > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5208333333vw;
    text-decoration: none;
    height: 80px;
  }
  .header-nav > li > a > span {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.2604166667vw;
  }
  .header-nav > li > a > span._subn:after {
    content: "";
    display: block;
    background: #f4f4f4;
    border-radius: 50%;
    width: 0.9375vw;
    height: 0.9375vw;
    transition: var(--transition-mid);
    flex-shrink: 0;
  }
  .header-nav > li > a > span._subn:before {
    content: "";
    background: url("../img/parts/icon_plus.svg") no-repeat 50% 50%;
    background-size: 12px 12px;
    width: 12px;
    height: 12px;
    display: block;
    transition-duration: 0.5s;
    position: absolute;
    flex-shrink: 0;
    right: 2px;
  }
  .header-nav-sub > li > a:hover {
    opacity: 1;
  }
  .header-nav-sub > li > a:hover:after {
    width: 4px;
    height: 6px;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .header-nav-sub > li > a:hover:before {
    background: #000;
  }
  .header-nav-box {
    background: #fff;
    border-radius: var(--radius-mid);
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
    padding: 2.0833333333vw 1.5625vw;
    position: absolute;
    top: 6.7708333333vw;
  }
  ._n02 .header-nav-box {
    right: 0;
    transform: translateX(-50px);
    width: 70%;
  }
  .header-nav-box dt {
    font-size: var(--f16);
    border-bottom: 2px solid #e7e7e7;
    padding-bottom: 0.78125vw;
    margin-bottom: 1.0416666667vw;
    width: 100%;
  }
  .btn-spmenu {
    display: none;
  }
  .header-spfixedbtn {
    display: none;
  }
  .sidefixed-nav {
    z-index: 100;
    position: fixed;
    top: 200px;
    right: -232px;
    width: 280px;
    padding-right: 20px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    background-color: #ec6d5e;
    border-radius: 10px 0 0 10px;
    border: 2px solid #fff;
    border-right: none;
    font-weight: 700;
    white-space: nowrap;
    transition: var(--transition-mid);
  }
  .sidefixed-nav._is-open {
    right: 0;
    transition: var(--transition-mid);
  }
  .sidefixed-nav > p {
    width: 48px;
    writing-mode: vertical-rl;
    cursor: pointer;
    padding: 0 0.8333333333vw;
  }
  .sidefixed-nav > div {
    flex: auto;
    padding: 1.1458333333vw 0;
  }
  footer {
    padding: 0 2.34375vw;
  }
  .footer-cont-01 .inner-w {
    padding: 0 3vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 0;
  }
  .footer-cont-01-l {
    width: 67%;
  }
  .footer-cont-01-r {
    width: 30%;
  }
  .footer-logo img {
    width: 12.5vw;
  }
  a:hover {
    opacity: 0.5;
    text-decoration: none;
    transition: var(--transition-mid);
  }
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
  .cmn-form {
    margin: 60px 0 80px;
  }
  .cmn-form > div > dt {
    width: 280px;
    padding: 1.0416666667vw 0;
    flex-shrink: 0;
  }
  .cmn-form > div > dd {
    padding: 1.3020833333vw 0;
  }
  .cmn-form span.error {
    margin-top: 1.0416666667vw;
  }
  .flx-input input:not([type=submit]):not([type=button]),
  .flx-input textarea,
  .flx-input select {
    width: auto;
  }
  .form-thanks {
    margin: 60px 0;
  }
  .form-thanks dt {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .align-c-pc {
    text-align: center;
  }
  .cmn-mainv {
    padding: 0 2.6041666667vw;
  }
  .cmn-list-02 li {
    max-height: 3.6458333333vw;
  }
  .cmn-panel-01 {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1.5625vw;
    gap: 2.6041666667vw 1.5625vw;
  }
  .cmn-panel-01._col02 > * {
    width: calc(50% - 0.78125vw);
  }
  .cmn-panel-01._col02._gap20 > * {
    width: calc(50% - 0.5208333333vw);
  }
  .cmn-panel-01._col03 > * {
    width: calc(33.33% - 1.0416666667vw);
  }
  .cmn-panel-02 {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2.0833333333vw;
    gap: 2.6041666667vw 2.0833333333vw;
  }
  .cmn-panel-02._col03 > div {
    width: calc(33.33% - 1.40625vw);
  }
  .cmn-dlbox-01._flx {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
  }
  .cmn-dlbox-01._flx dt {
    width: 30%;
  }
  .cmn-dlbox-02._extra dt {
    font-size: var(--f18);
  }
  .cmn-ttl-05 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2.6041666667vw;
  }
  .cmn-ttl-05-in {
    padding: 1.0416666667vw 0 0.8333333333vw;
    width: 40%;
  }
  .cmn-imgblc ._imgbox {
    width: 55%;
    margin-top: 4.6875vw;
  }
  .cmn-imgblc-02._left {
    flex-direction: row-reverse;
  }
  .cmn-imgblc-02 ._descbox {
    width: 45%;
  }
  .cmn-imgblc-02 ._imgbox {
    width: 55vw;
  }
  .cmn-contactblc .box-tel dl {
    min-width: 280px;
  }
  .cmn-disaster {
    color: #fff;
    padding: 0 2.6041666667vw;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
  }
  .cmn-disaster figure {
    margin: 0 calc(50% - 47vw);
    width: 100vw;
  }
  .cmn-disaster dl {
    position: absolute;
    width: 43%;
  }
  .cmn-disaster + .cmn-panel-01 {
    margin-top: -2.0833333333vw;
    position: relative;
  }
  .cmn-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
  }
  .cmn-btn._def a:hover, .cmn-btn._def input:hover {
    opacity: 1;
    background: #000;
    color: #fff;
  }
  .cmn-btn._big a, .cmn-btn._big input {
    font-size: var(--f18);
    min-width: 37.5%;
    padding: 1.875vw;
  }
  .cmn-btn._submit {
    width: 35%;
  }
  .cmn-btn._submit input {
    font-size: var(--f18);
    padding: 1.0416666667vw;
  }
  .cmn-btn._back {
    width: 30%;
  }
  .cmn-btn._back input {
    font-size: var(--f18);
    padding: 1.0416666667vw;
  }
  .cmn-btn._insta a {
    width: 400px;
    height: 60px;
    aspect-ratio: 400/60;
  }
  .cmn-btn._fixedsmall a:hover {
    opacity: 1;
    background: #000;
    color: #fff;
  }
  .btn-list {
    margin-top: 50px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }
  .blc-col2 {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3.9vw;
  }
  .blc-col2._right {
    flex-direction: row-reverse;
  }
  .blc-col2._float figure {
    margin-bottom: 2vw;
  }
  .blc-col2._float._right figure {
    float: right;
    margin-left: 3vw;
  }
  .blc-col2._float._left figure {
    float: left;
    margin-right: 3vw;
  }
  .blc-col2 figure {
    width: 30vw;
    flex-shrink: 0;
    max-width: 780px;
  }
  .blc-col2 figure._w30 {
    width: 30%;
  }
  .cmn-pager {
    font-size: var(--text-01);
    margin-top: 2.6041666667vw;
  }
  .list01._col02 li {
    width: 50%;
  }
  .top-anime {
    --baseW: 1920;
    --baseH: 1254;
  }
  .top-anime {
    aspect-ratio: 1920/1254;
  }
  .top-anime > img {
    position: absolute;
    min-width: 1920px;
  }
  .top-anime-illust img.sp {
    display: none;
  }
  .top-newsimportant {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-top: -5.7291666667vw;
  }
  .top-newsimportant dl {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    width: 42.7%;
    min-width: 830px;
    border-radius: 100px;
    border: 4px solid #fff;
    overflow: hidden;
    min-height: 80px;
  }
  .top-newsimportant dl dt {
    padding-left: 2%;
    width: 22%;
    border-right: 4px solid #fff;
  }
  .top-newsimportant dl dd {
    padding: 0.6770833333vw 1.8229166667vw 0.6770833333vw 1.3020833333vw;
    width: 78%;
  }
  .top-newsimportant a {
    height: 100%;
  }
  .top-catch {
    top: 185px;
    left: calc(50% + 60px);
    transform: translateX(-50%);
  }
  .top-service {
    margin-left: 2.6041666667vw;
    border-radius: 2.0833333333vw 0 0 2.0833333333vw;
  }
  .top-service .inner-w {
    transform: translateX(-1.3020833333vw);
  }
  .top-service .cmn-blc-head ._ilst._26 {
    width: 24.44%;
    right: 5.3%;
    top: -2.4vw;
  }
  .top-service-body {
    margin-top: -3.3854166667vw;
  }
  .top-service-bn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  .top-news .cmn-btn.sp {
    display: none;
  }
  .top-news ._ilst._news01 {
    width: 46vw;
    left: 0;
    bottom: 0;
  }
  .top-news ._ilst._news02 {
    width: 10.8%;
    left: 5.7%;
    bottom: 12%;
  }
  .top-news ._ilst._news03 {
    width: 39%;
    right: 0%;
    top: -18%;
  }
  .top-sns .cmn-blc-head ._ilst._06 {
    width: 14.5%;
    right: 3%;
    bottom: 0;
  }
  .top-sns-bn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  .news-list-data a:hover {
    opacity: 1;
  }
  .news-list-data a:hover:after {
    background: #000;
  }
  .news-list-data a:hover:before {
    width: 0.4166666667vw;
    height: 0.625vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .news-list-data a:hover p._text {
    color: #ec6d5e;
  }
  .slider-newsimportant {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    position: relative;
    height: 100%;
  }
  .slider-newsimportant .swiper-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
  }
  .slider-newsimportant .swiper-button-wrap {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 0.8333333333vw;
    width: 6.25vw;
    height: 100%;
    background: #f7f9f4;
    right: 0;
  }
  .swiper-button-wrap {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 0.8333333333vw;
  }
  .swiper-button-wrap .swiper-button-prev:hover, .swiper-button-wrap .swiper-button-next:hover {
    background: #000;
  }
  .swiper-button-wrap .swiper-button-prev:hover:after, .swiper-button-wrap .swiper-button-next:hover:after {
    width: 0.4166666667vw;
    height: 0.7291666667vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .icon-btn:hover {
    background: #000;
  }
  .icon-btn:hover:after {
    width: 0.3125vw;
    height: 0.5208333333vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .slider-service {
    padding-right: 12%;
  }
  .slider-service .swiper-slide > a:hover .icon-btn {
    background: #000;
  }
  .slider-service .swiper-slide > a:hover .icon-btn:after {
    width: 0.3125vw;
    height: 0.5208333333vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .slider-service .swiper-slide .slider-service-ttl {
    bottom: 10px;
    font-size: var(--f24);
  }
  .slider-service .swiper-controlbox {
    padding-right: 10% !important;
  }
  .slider-service .swiper-pagination {
    display: none;
  }
  .slider-service .swiper-button-wrap .swiper-button-prev:hover, .slider-service .swiper-button-wrap .swiper-button-next:hover {
    background: #000;
  }
  .slider-service .swiper-button-wrap .swiper-button-prev:hover:after, .slider-service .swiper-button-wrap .swiper-button-next:hover:after {
    width: 0.46875vw;
    height: 0.8333333333vw;
    content: "";
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10'%3E%3Cpath d='M0.506,9.699 C0.652,9.846 0.844,9.919 1.036,9.919 C1.227,9.919 1.419,9.846 1.565,9.700 L5.546,5.708 C5.686,5.567 5.765,5.377 5.765,5.178 C5.765,4.977 5.686,4.787 5.546,4.646 L1.565,0.656 C1.273,0.361 0.799,0.361 0.506,0.656 C0.214,0.949 0.214,1.425 0.506,1.717 L3.957,5.178 L0.506,8.638 C0.214,8.931 0.214,9.406 0.506,9.699 Z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition-duration: 0.5s;
  }
  .cmn-mov {
    width: 75%;
  }
  .cmn-history-blc:before {
    content: "";
    background: #ec6d5e;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
    order: 2;
    margin-top: 0.8em;
  }
  .cmn-history-desc figure {
    max-width: 22.1875vw;
    margin-top: 1.0416666667vw;
  }
  .car02_01 .cmn-figure {
    width: 55.8%;
    max-width: 670px;
  }
  .car07_01 {
    min-height: 50px;
  }
  .effort ._imgbox ._ilst._17 {
    width: 20%;
    right: 5%;
    bottom: -15%;
  }
  .lpg02_head ._ilst._0802 {
    display: none;
  }
  .lpg02_arealist > dl {
    width: 30%;
  }
  .lpg03_01 .cmn-btn {
    width: 37.5%;
    margin-top: 2.8645833333vw;
    margin-bottom: 1.0416666667vw;
  }
  .lpg03_01 .cmn-text-04 {
    margin-top: 1.3020833333vw;
    text-align: center;
  }
  .lpg03_02 .cmn-btn a {
    width: 36%;
  }
  .house02_02 .cmn-btn {
    margin-top: 3.6458333333vw;
  }
  .house02_02 .cmn-btn a {
    width: 50%;
  }
  .cmn-beforeafter_img:after {
    content: "";
    background: url("../img/parts/icon_arrowdouble.svg") no-repeat 50% 50%;
    background-size: 1.40625vw 1.1458333333vw;
    width: 1.40625vw;
    height: 1.1458333333vw;
    display: block;
    transition-duration: 0.5s;
    transform: translateY(10.4166666667vw);
  }
}
@media screen and (max-width: 1500px) and (min-width: 769px) {
  ._n02 .header-nav-box {
    width: 80%;
  }
  .inner {
    max-width: none;
    padding: 0 12%;
  }
  .top-anime-illust a.balloon {
    right: 23%;
  }
}
@media screen and (max-width: 1700px) and (min-width: 769px) {
  .inner-w {
    max-width: none;
    padding: 0 5%;
  }
  .top-catch {
    max-width: none;
    padding: 0 5%;
  }
  .slider-service .swiper-controlbox {
    max-width: none;
    padding: 0 5%;
  }
}
@media screen and (min-width: 1920px) {
  .cmn-mainv {
    width: 100%;
  }
  .top-anime {
    height: auto;
  }
  .top-anime > img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 1500px) and (min-width: 769px) {
  .cmn-mainv {
    max-width: none;
    padding: 0 12%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .cmn-mainv {
    padding-left: 5.8974358974vw;
    padding-right: 5.8974358974vw;
  }
}
@media screen and (max-width: 1020px) and (min-width: 769px) {
  .top-anime-illust a.balloon {
    right: 30%;
  }
}