@charset "UTF-8";
/* ===================================
Foundation
=================================== */
/*
 * _setting.scss
 */
/* -----------------------------------
Color
------------------------------------ */
/*
 * _mixin.scss
 */
/* -----------------------------------
media query print
------------------------------------ */
/* -----------------------------------
media query ver1
------------------------------------ */
/* -----------------------------------
transition
------------------------------------ */
/* -----------------------------------
clearfix
------------------------------------ */
/* -----------------------------------
formFocus
------------------------------------ */
/* -----------------------------------
shadow
------------------------------------ */
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: local("Noto Sans CJK JP Thin"), url("../fonts/NotoSansCJKjp-Thin.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Thin.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Noto Sans CJK JP Light"), url("../fonts/NotoSansCJKjp-Light.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Light.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 350;
  font-display: swap;
  src: local("Noto Sans CJK JP DemiLight"), url("../fonts/NotoSansCJKjp-DemiLight.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-DemiLight.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: local("Noto Sans CJK JP Regular"), url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("Noto Sans CJK JP Medium"), url("../fonts/NotoSansCJKjp-Medium.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Medium.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Noto Sans CJK JP Bold"), url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Noto Sans CJK JP Black"), url("../fonts/NotoSansCJKjp-Black.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Black.woff") format("woff");
}
/*
 * _reset.scss
 */
/* -----------------------------------
reset
------------------------------------ */
html,
body {
  height: 100%;
}

html {
  overflow-y: scroll;
}

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

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  outline: none;
}

form {
  display: inline;
}

pre,
textarea {
  overflow: auto;
}

[hidden],
audio:not([controls]),
template {
  display: none;
}

details,
main,
summary {
  display: block;
}

input[type=text],
input[type=password] {
  -webkit-appearance: none;
}

input[type=radio],
input[type=checkbox] {
  vertical-align: middle;
}

input[type=number] {
  width: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 60%;
  line-height: 0;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.15em;
}

textarea {
  resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
}

img[src$=".svg"] {
  width: 100%;
}

button,
input,
select,
textarea {
  min-height: 1.5em;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  border: none;
  background: none;
  cursor: pointer;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input {
  line-height: normal;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

ol,
ul {
  list-style: none;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
}

select option {
  background-color: #fff;
  color: #333;
}

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

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

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

fieldset {
  border: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 15px 0;
  padding: 0;
}

/*
 * _base.scss
 */
/* -----------------------------------
base Setting
------------------------------------ */
html {
  font-size: 62.5%;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 1.6rem;
  line-height: 1.75;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  max-height: 999999px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
body.visible .l-header,
body.visible .l-content,
body.visible .l-footer {
  opacity: 1;
  pointer-events: all;
}

@media print {
  html, body {
    height: auto;
  }
}
a {
  color: #000;
}
a.disabled {
  pointer-events: none;
}
a:hover {
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

::-moz-selection {
  background: #800080;
  color: #fff;
}

::selection {
  background: #800080;
  color: #fff;
}

::-moz-selection {
  background: #800080;
  color: #fff;
}

/* ===================================
Layout
=================================== */
/*
 * _layout.scss
 */
/* -----------------------------------
wrapper
------------------------------------ */
.l-wrapper {
  overflow: clip;
}

/* -----------------------------------
header
------------------------------------ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1.42vw;
  z-index: 1000;
  mix-blend-mode: difference;
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .l-header {
    padding: 4.82vw;
  }
}
.l-header_in {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header_logo {
  width: 12.21vw;
  transition: opacity 0.3s;
  transition: width 0.5s;
}
.l-header_logo.-small {
  width: 8.54vw;
}
@media screen and (max-width: 768px) {
  .l-header_logo {
    width: 46.22vw;
  }
  .l-header_logo.-small {
    width: 32.35vw;
  }
}
.l-header_btn {
  display: flex;
  align-items: center;
}
.l-header_btn > span {
  display: block;
  color: #fff;
  font-size: 1.14vw;
  font-family: "Inter", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .l-header_btn > span {
    font-size: 3vw;
  }
}
.l-header_btn > div {
  position: relative;
  aspect-ratio: 1/1;
  width: 5vw;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .l-header_btn > div {
    width: 15vw;
  }
}
.l-header_btn > div span {
  display: block;
  position: absolute;
  background-color: #fff;
  width: 60%;
  height: 8%;
  transform: translate(-50%, -50%);
  transition: top 0.3s, transform 0.3s;
}
.l-header_btn > div span:nth-of-type(1) {
  left: 50%;
  top: 38%;
}
.l-header_btn > div span:nth-of-type(2) {
  left: 50%;
  top: 62%;
}
.l-header_btn > div.-open span {
  top: 50%;
}
.l-header_btn > div.-open span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-header_btn > div.-open span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header_contact {
  position: fixed;
  aspect-ratio: 1/1;
  width: 8vw;
  right: 1.14vw;
  bottom: 1.14vw;
  transition: opacity 0.5s;
}
@media screen and (max-width: 768px) {
  .l-header_contact {
    width: 20%;
    right: 4.69vw;
    bottom: 4.69vw;
  }
}
.l-header_contact.is-animation {
  opacity: 0;
  pointer-events: none;
}
.l-header_contact a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  scale: 0;
  aspect-ratio: 1/1;
  background-color: #2D1092;
  border-radius: 50%;
  transition: scale 0.5s;
  transition-delay: 0.05s;
}
.l-header_contact a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  scale: 0;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  transition: scale 0.5s;
  transition-delay: 0s;
}
.l-header_contact a img {
  position: relative;
  z-index: 1;
  mix-blend-mode: difference;
}
@media screen and (min-width: 769px) {
  .l-header_contact a:hover::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    scale: 1;
    aspect-ratio: 1/1;
    background-color: #2D1092;
    border-radius: 50%;
    transition-delay: 0s;
  }
  .l-header_contact a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    scale: 1;
    aspect-ratio: 1/1;
    background-color: #fff;
    border-radius: 50%;
    transition-delay: 0.05s;
  }
}
.l-header.-open {
  pointer-events: none !important;
}
.l-header.-open .l-header_logo {
  opacity: 0;
}
.l-header.-open .l-header_btn {
  pointer-events: all;
}
.l-header.-open .l-header_btn > div span {
  top: 50%;
}
.l-header.-open .l-header_btn > div span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l-header.-open .l-header_btn > div span:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header.-open .l-header_contact {
  opacity: 0;
}

/* -----------------------------------
content
------------------------------------ */
.l-content {
  position: relative;
  z-index: 0;
  overflow: clip;
  width: 100%;
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
/* -----------------------------------
section
------------------------------------ */
.l-sec {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .l-sec {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.l-sec_in {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}

/* -----------------------------------
footer
------------------------------------ */
.l-footer {
  font-size: 1.2rem;
  color: #fff;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .l-footer._404 {
    display: none;
  }
}
.l-footer_contact a {
  display: block;
  padding: 8.8% 5.85%;
  position: relative;
  color: #fff;
  text-decoration: none;
  position: relative;
  border-top: 1px solid #000;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .l-footer_contact a {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
.l-footer_contact a ._arrow {
  position: absolute;
  top: 50%;
  right: 5.85%;
  transform: translateY(-50%);
  width: 3.63vw;
  height: 3vw;
  mix-blend-mode: difference;
}
@media screen and (max-width: 768px) {
  .l-footer_contact a ._arrow {
    width: 5.44vw;
    height: 4.5vw;
  }
}
.l-footer_contact a ._anim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.l-footer_contact a ._anim > div {
  position: absolute;
  left: -110%;
  top: 0;
  width: 100%;
  height: 100%;
  transition: left 0.7s;
  transition-timing-function: ease-out;
}
.l-footer_contact a ._anim > div::after {
  content: "";
  display: block;
  width: 50vw;
  height: 50vw;
  position: absolute;
  top: 50%;
  right: -10%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.l-footer_contact a ._anim > div:nth-of-type(1) {
  background-color: #D2EF6D;
  transition-delay: 0.2s;
}
.l-footer_contact a ._anim > div:nth-of-type(1)::after {
  background-color: #D2EF6D;
}
.l-footer_contact a ._anim > div:nth-of-type(2) {
  background-color: #fff;
  transition-delay: 0s;
}
.l-footer_contact a ._anim > div:nth-of-type(2)::after {
  background-color: #fff;
}
.l-footer_contact a ._txt {
  display: flex;
  gap: 7.57vw;
  position: relative;
  z-index: 1;
  mix-blend-mode: difference;
}
@media screen and (max-width: 768px) {
  .l-footer_contact a ._txt {
    flex-flow: column;
    gap: 4vw;
  }
}
.l-footer_contact a ._txt h2 {
  font-size: 3.57vw;
  line-height: 1;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_contact a ._txt h2 {
    width: auto;
    font-size: 11.72vw;
  }
}
.l-footer_contact a ._txt p {
  font-size: 1.21vw;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .l-footer_contact a ._txt p {
    font-size: 3.26vw;
  }
}
@media screen and (min-width: 769px) {
  .l-footer_contact a:hover ._anim > div {
    left: 0;
  }
  .l-footer_contact a:hover ._anim > div:nth-of-type(1) {
    transition-delay: 0s;
  }
  .l-footer_contact a:hover ._anim > div:nth-of-type(2) {
    transition-delay: 0.2s;
  }
}
.l-footer_link {
  padding: 2.2vw 7.14vw 0;
  display: flex;
  gap: 5.42vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link {
    display: block;
    padding-top: 12.7vw;
  }
}
.l-footer_link ._category {
  flex: 1;
}
.l-footer_link ._category ._home h2 {
  font-size: 3.21vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._home h2 {
    font-size: 8.32vw;
  }
}
.l-footer_link ._category ._home h2 a {
  text-decoration: none;
  color: #fff;
  transition: opacity 0.3s;
  position: relative;
  padding-right: 3.6vw;
  letter-spacing: -0.05em;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._home h2 a {
    padding-right: 9.33vw;
  }
}
.l-footer_link ._category ._home h2 a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.42vw;
  height: 2vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._home h2 a ._arrow {
    width: 6.27vw;
    height: 5.18vw;
  }
}
.l-footer_link ._category ._products h2 {
  font-size: 3.21vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products h2 {
    font-size: 8.32vw;
  }
}
.l-footer_link ._category ._products > div {
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div {
    margin-top: 1.5vw;
  }
}
.l-footer_link ._category ._products > div > div {
  display: flex;
  gap: 1.92vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div {
    flex-wrap: wrap;
    gap: 7vw 5%;
  }
}
.l-footer_link ._category ._products > div > div:nth-of-type(n+2) {
  margin-top: 4.6vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div:nth-of-type(n+2) {
    margin-top: 13vw;
  }
}
.l-footer_link ._category ._products > div > div > dl {
  flex: 1;
}
.l-footer_link ._category ._products > div > div > dl.-flex2 {
  width: 48.5%;
  flex: none;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl.-flex2 {
    width: 100%;
  }
}
.l-footer_link ._category ._products > div > div > dl > dt {
  font-size: 1.28vw;
  border-bottom: 1px solid #ABABAB;
  padding-bottom: 0.1vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dt {
    font-size: 3.9vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dt._under {
  font-size: 1.57vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dt._under {
    font-size: 4.81vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dt._under span {
  font-size: 0.85vw;
  padding-left: 1.42vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dt._under span {
    font-size: 2.73vw;
    padding-left: 3.9vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd {
  display: flex;
  gap: 1.92vw;
  margin-top: 1.3vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd {
    flex-wrap: wrap;
    gap: 7vw 5%;
    margin-top: 3.5vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd dl {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd dl {
    width: 47.5%;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd dl dt {
  font-size: 0.92vw;
  color: #ABABAB;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd dl dt {
    font-size: 2.73vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd dl dd {
  margin-top: 0.71vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd dl dd {
    margin-top: 2vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd dl dd ul li a {
  font-size: 1.07vw;
  text-decoration: none;
  color: #fff;
  transition: opacity 0.3s;
  position: relative;
  padding-right: 1.8vw;
  letter-spacing: -0.05em;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd dl dd ul li a {
    font-size: 3.12vw;
    padding-right: 5vw;
  }
}
.l-footer_link ._category ._products > div > div > dl > dd dl dd ul li a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.21vw;
  height: 1vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-footer_link ._category ._products > div > div > dl > dd dl dd ul li a ._arrow {
    width: 3.64vw;
    height: 3.12vw;
  }
}
.l-footer_link ._info {
  padding-top: 1vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info {
    padding-top: 8.5vw;
  }
}
.l-footer_link ._info ul li:nth-of-type(n+2) {
  margin-top: 0.9vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info ul li:nth-of-type(n+2) {
    margin-top: 3.5vw;
  }
}
.l-footer_link ._info ul li a {
  font-size: 2.14vw;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  position: relative;
  padding-right: 1.8vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info ul li a {
    font-size: 7.42vw;
    padding-right: 5vw;
  }
}
.l-footer_link ._info ul li a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.21vw;
  height: 1vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info ul li a ._arrow {
    width: 3.64vw;
    height: 3.12vw;
  }
}
.l-footer_link ._info > span {
  display: block;
  margin-top: 1.5vw;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info > span {
    margin-top: 2.8vw;
  }
}
.l-footer_link ._info > span a {
  text-decoration: none;
  color: #fff;
  font-size: 1.2vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info > span a {
    font-size: 3.5vw;
  }
}
.l-footer_link ._info > div {
  font-size: 1.07vw;
  margin-top: 5.5vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info > div {
    font-size: 3.12vw;
    margin-top: 10vw;
  }
}
.l-footer_link ._info > div span {
  display: block;
}
.l-footer_link ._info > div a {
  text-decoration: none;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .l-footer_link ._info > div a {
    pointer-events: none;
  }
}
.l-footer_link ._info small {
  font-size: 1.07vw;
  margin-top: 2.7vw;
  display: block;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .l-footer_link ._info small {
    font-size: 3.12vw;
    margin-top: 4vw;
  }
}
.l-footer_logo {
  padding: 10.14vw 5.71vw 7.14vw;
}

/* ===================================
Object
=================================== */
/* -----------------------------------
Component
------------------------------------ */
/*
 * _component.scss
 */
/* -----------------------------------
hover
------------------------------------ */
.c-hover {
  transition: 0.2s ease-in-out;
}
.c-hover:hover {
  opacity: 0.7;
}

/* -----------------------------------
select
------------------------------------ */
.c-select {
  position: relative;
}
.c-select::before {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 1.5vw;
  transform: translateY(-50%);
  background: url(../img/common/ico_select_arrow.svg) no-repeat;
  width: 1.14vw;
  aspect-ratio: 16/20;
}
@media screen and (max-width: 768px) {
  .c-select::before {
    right: 4.44vw;
    width: 3.38vw;
  }
}
.c-select select {
  width: 100%;
  padding: 0.8em 1.3em;
  border: 1px solid #AEAEAE;
  cursor: pointer;
}

/* -----------------------------------
input
------------------------------------ */
.c-input input {
  width: 100%;
  background-color: transparent;
  border: 1px solid #AEAEAE;
  padding: 0.8em 1.3em;
}

/* -----------------------------------
textarea
------------------------------------ */
.c-textarea textarea {
  width: 100%;
  height: 16.71vw;
  background-color: transparent;
  border: 1px solid #AEAEAE;
  padding: 0.8em 1.3em;
  resize: none;
  display: block;
}
@media screen and (max-width: 768px) {
  .c-textarea textarea {
    height: 50vw;
  }
}

/* -----------------------------------
btn
------------------------------------ */
.c-btn a {
  display: inline-block;
  border: 1px solid #000;
  border-radius: 1000px;
  text-decoration: none;
  padding: 0.6vw 3vw 0.6vw 0.8vw;
  line-height: 1;
  font-size: 1vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-btn a {
    padding: 2.18vw 10.92vw 2.18vw 2.91vw;
    font-size: 3.64vw;
  }
}
.c-btn a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0.8vw;
  transform: translateY(-50%);
  width: 1.28vw;
  aspect-ratio: 18/17;
  background: url(../img/common/ico_download_bold.svg) no-repeat;
}
@media screen and (max-width: 768px) {
  .c-btn a::before {
    right: 3.08vw;
    width: 4.94vw;
  }
}

/* -----------------------------------
text
------------------------------------ */
.c-textNum {
  text-indent: -1.6em;
  padding-left: 1.6em;
}
.c-textNum span {
  font-size: 1.2em;
  margin-right: 0.3em;
}

/* -----------------------------------
animation
------------------------------------ */
.c-textAnim > span {
  color: transparent;
  background: linear-gradient(to right, #000 33%, red 33%, red 45%, gray 45%) 100%;
  -webkit-background-clip: text;
          background-clip: text;
  background-size: 300% 100%;
  transition: background-position 1s;
}
.c-textAnim.-white > span {
  background: linear-gradient(to right, #fff 44.44%, red 44.44%, red 55.55%, gray 55.55%) 100%;
  -webkit-background-clip: text;
          background-clip: text;
  background-size: 225% 100%;
}
.c-textAnim.is-animation > span {
  background-position: 0 100%;
}
.c-textAnim.is-hover > span {
  background-position: 0 100%;
}
.c-textAnim.-hover:hover > span {
  background-position: 0 100%;
}
.c-textAnim.-t05 > span {
  transition: background-position 0.5s;
}
.c-textAnim.-t07 > span {
  transition: background-position 0.7s;
}
.c-textAnim.-t10 > span {
  transition: background-position 1s;
}
.c-textAnim.-t20 > span {
  transition: background-position 2s;
}
.c-textAnim.-footerColor > span {
  background: linear-gradient(to right, #fff 44.44%, red 44.44%, red 55.55%, #fff 55.55%) 100%;
  -webkit-background-clip: text;
          background-clip: text;
  background-size: 225% 100%;
}
.c-textAnim.-color1 > span {
  background-image: linear-gradient(to right, #000 33%, #1083D7 33%, #1083D7 45%, gray 45%);
}
.c-textAnim.-color1.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #1083D7 44.44%, #1083D7 55.55%, gray 55.55%);
}
.c-textAnim.-color1.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #1083D7 44.44%, #1083D7 55.55%, #000 55.55%);
}
.c-textAnim.-color1.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #1083D7 44.44%, #1083D7 55.55%, #fff 55.55%);
}
.c-textAnim.-color2 > span {
  background-image: linear-gradient(to right, #000 33%, #5DC3FF 33%, #5DC3FF 45%, gray 45%);
}
.c-textAnim.-color2.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #5DC3FF 44.44%, #5DC3FF 55.55%, gray 55.55%);
}
.c-textAnim.-color2.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #5DC3FF 44.44%, #5DC3FF 55.55%, #000 55.55%);
}
.c-textAnim.-color2.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #5DC3FF 44.44%, #5DC3FF 55.55%, #fff 55.55%);
}
.c-textAnim.-color3 > span {
  background-image: linear-gradient(to right, #000 33%, #7BD59D 33%, #7BD59D 45%, gray 45%);
}
.c-textAnim.-color3.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #7BD59D 44.44%, #7BD59D 55.55%, gray 55.55%);
}
.c-textAnim.-color3.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #7BD59D 44.44%, #7BD59D 55.55%, #000 55.55%);
}
.c-textAnim.-color3.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #7BD59D 44.44%, #7BD59D 55.55%, #fff 55.55%);
}
.c-textAnim.-color4 > span {
  background-image: linear-gradient(to right, #000 33%, #D2EF6D 33%, #D2EF6D 45%, gray 45%);
}
.c-textAnim.-color4.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #D2EF6D 44.44%, #D2EF6D 55.55%, gray 55.55%);
}
.c-textAnim.-color4.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #D2EF6D 44.44%, #D2EF6D 55.55%, #000 55.55%);
}
.c-textAnim.-color4.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #D2EF6D 44.44%, #D2EF6D 55.55%, #fff 55.55%);
}
.c-textAnim.-color5 > span {
  background-image: linear-gradient(to right, #000 33%, #F6A6D7 33%, #F6A6D7 45%, gray 45%);
}
.c-textAnim.-color5.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #F6A6D7 44.44%, #F6A6D7 55.55%, gray 55.55%);
}
.c-textAnim.-color5.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #F6A6D7 44.44%, #F6A6D7 55.55%, #000 55.55%);
}
.c-textAnim.-color5.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #F6A6D7 44.44%, #F6A6D7 55.55%, #fff 55.55%);
}
.c-textAnim.-color6 > span {
  background-image: linear-gradient(to right, #000 33%, #9380CB 33%, #9380CB 45%, gray 45%);
}
.c-textAnim.-color6.-white > span {
  background-image: linear-gradient(to right, #fff 44.44%, #9380CB 44.44%, #9380CB 55.55%, gray 55.55%);
}
.c-textAnim.-color6.-baseToBase > span {
  background-image: linear-gradient(to right, #000 44.44%, #9380CB 44.44%, #9380CB 55.55%, #000 55.55%);
}
.c-textAnim.-color6.-footerColor > span {
  background-image: linear-gradient(to right, #fff 44.44%, #9380CB 44.44%, #9380CB 55.55%, #fff 55.55%);
}

.c-animFadeLeft {
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
  -webkit-clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
          clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
}
.c-animFadeLeft.is-animation {
  -webkit-clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
          clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}

.c-animFadeRight {
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
  -webkit-clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
          clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
}
.c-animFadeRight.is-animation {
  -webkit-clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
          clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}

.c-arrow {
  overflow: clip;
}
.c-arrow::before, .c-arrow::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../img/common/ico_arrow1.svg) no-repeat;
  animation-fill-mode: both;
  animation-duration: 0.6s;
}
.c-arrow.-white::before, .c-arrow.-white::after {
  background: url(../img/common/ico_arrow1_white.svg) no-repeat;
}
.c-arrow::after {
  transform: translateX(-100%);
}
@media screen and (max-width: 768px) {
  .c-arrow::after {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .c-arrow.is-hover-once::before {
    animation-name: transformLeftRight;
    animation-delay: 0.2s;
  }
  .c-arrow.is-hover-once::after {
    animation-name: transformRightLeft;
    animation-delay: 0s;
  }
}
@media screen and (min-width: 769px) {
  .c-arrow.is-hover::before {
    animation-name: transformRightLeft;
    animation-delay: 0s;
  }
  .c-arrow.is-hover::after {
    animation-name: transformLeftRight;
    animation-delay: 0.2s;
  }
}

/* -----------------------------------
Project
------------------------------------ */
/*
 * _project.scss
 */
@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
/* -----------------------------------
contactBtn
------------------------------------ */
.p-contactBtn {
  position: fixed;
  aspect-ratio: 1/1;
  width: 9.42vw;
  right: 1.14vw;
  bottom: 1.14vw;
  transition: opacity 0.3s;
  mix-blend-mode: normal;
  z-index: 500;
}
@media screen and (max-width: 768px) {
  .p-contactBtn {
    width: 24.22%;
    right: 4.69vw;
    bottom: 4.69vw;
  }
}
.p-contactBtn.-open {
  opacity: 0;
  pointer-events: none;
}

/* -----------------------------------
hamburger
------------------------------------ */
.p-hamburger {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
  overflow-y: auto;
  height: 100%;
  background-color: #BDC7CD;
  font-size: 1.2rem;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.p-hamburger.-open {
  opacity: 1;
  overscroll-behavior: none;
  pointer-events: all;
}
.p-hamburger_link {
  padding: 2.2vw 7.14vw 0;
  display: flex;
  gap: 5.42vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link {
    display: block;
    padding-top: 12.7vw;
  }
}
.p-hamburger_link ._category {
  flex: 1;
}
.p-hamburger_link ._category ._home h2 {
  font-size: 3.21vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._home h2 {
    font-size: 8.32vw;
  }
}
.p-hamburger_link ._category ._home h2 a {
  text-decoration: none;
  color: #fff;
  transition: opacity 0.3s;
  position: relative;
  padding-right: 3.6vw;
  letter-spacing: -0.05em;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._home h2 a {
    padding-right: 9.33vw;
  }
}
.p-hamburger_link ._category ._home h2 a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.42vw;
  height: 2vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._home h2 a ._arrow {
    width: 6.27vw;
    height: 5.18vw;
  }
}
.p-hamburger_link ._category ._products h2 {
  font-size: 3.21vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products h2 {
    font-size: 8.32vw;
  }
}
.p-hamburger_link ._category ._products > div {
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div {
    margin-top: 1.5vw;
  }
}
.p-hamburger_link ._category ._products > div > div {
  display: flex;
  gap: 1.92vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div {
    flex-wrap: wrap;
    gap: 7vw 5%;
  }
}
.p-hamburger_link ._category ._products > div > div:nth-of-type(n+2) {
  margin-top: 4.6vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div:nth-of-type(n+2) {
    margin-top: 13vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl {
  flex: 1;
}
.p-hamburger_link ._category ._products > div > div > dl.-flex2 {
  width: 48.5%;
  flex: none;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl.-flex2 {
    width: 100%;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dt {
  font-size: 1.28vw;
  border-bottom: 1px solid #5A5A5A;
  padding-bottom: 0.1vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dt {
    font-size: 3.9vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dt._under {
  font-size: 1.57vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dt._under {
    font-size: 4.81vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dt._under span {
  font-size: 0.85vw;
  padding-left: 1.42vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dt._under span {
    font-size: 2.73vw;
    padding-left: 3.9vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd {
  display: flex;
  gap: 1.92vw;
  margin-top: 1.3vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd {
    flex-wrap: wrap;
    gap: 7vw 5%;
    margin-top: 3.5vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd dl {
    width: 47.5%;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl dt {
  font-size: 0.92vw;
  color: #5A5A5A;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd dl dt {
    font-size: 2.73vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl dd {
  margin-top: 0.71vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd dl dd {
    margin-top: 2vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl dd ul li a {
  font-size: 1.07vw;
  text-decoration: none;
  color: #000;
  transition: opacity 0.3s;
  position: relative;
  padding-right: 1.8vw;
  letter-spacing: -0.05em;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd dl dd ul li a {
    font-size: 3.12vw;
    padding-right: 5vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl dd ul li a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.21vw;
  height: 1vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._category ._products > div > div > dl > dd dl dd ul li a ._arrow {
    width: 3.64vw;
    height: 3.12vw;
  }
}
.p-hamburger_link ._category ._products > div > div > dl > dd dl dd ul li a:hover {
  opacity: 0.8;
}
.p-hamburger_link ._info {
  padding-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info {
    padding-top: 8.5vw;
  }
}
.p-hamburger_link ._info ul li:nth-of-type(n+2) {
  margin-top: 0.9vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info ul li:nth-of-type(n+2) {
    margin-top: 3.5vw;
  }
}
.p-hamburger_link ._info ul li a {
  font-size: 2.14vw;
  color: #000;
  text-decoration: none;
  transition: opacity 0.3s;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  position: relative;
  padding-right: 1.8vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info ul li a {
    font-size: 7.42vw;
    padding-right: 5vw;
  }
}
.p-hamburger_link ._info ul li a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.21vw;
  height: 1vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info ul li a ._arrow {
    width: 3.64vw;
    height: 3.12vw;
  }
}
.p-hamburger_link ._info ul li a:hover {
  opacity: 0.8;
}
.p-hamburger_link ._info > span {
  display: block;
  margin-top: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info > span {
    margin-top: 2.8vw;
  }
}
.p-hamburger_link ._info > span a {
  text-decoration: none;
  color: #000;
  font-size: 1.2vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info > span a {
    font-size: 3.5vw;
  }
}
.p-hamburger_link ._info > div {
  font-size: 1.07vw;
  margin-top: 5.5vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info > div {
    font-size: 3.12vw;
    margin-top: 10vw;
  }
}
.p-hamburger_link ._info > div span {
  display: block;
}
.p-hamburger_link ._info > div a {
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .p-hamburger_link ._info > div a {
    pointer-events: none;
  }
}
.p-hamburger_link ._info small {
  font-size: 1.07vw;
  margin-top: 2.7vw;
  display: block;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-hamburger_link ._info small {
    font-size: 3.12vw;
    margin-top: 4vw;
  }
}
.p-hamburger_logo {
  padding: 2.5vw 3.57vw 7.14vw 36.07vw;
}

/* -----------------------------------
load
------------------------------------ */
.p-load {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}
.p-load video {
  min-width: 100%;
  min-height: 100%;
}
.p-load_img {
  position: absolute;
  top: 250%;
  left: 250%;
  transform: translate(-50%, -50%) scale(2) rotate(45deg);
  width: 115%;
  min-width: 153.5vh;
  transition: top 1.5s, left 1.5s, transform 1.5s;
  transition-timing-function: ease-in;
}
.p-load_img img {
  width: 100%;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.p-load.-move .p-load_img {
  top: -150%;
  left: -150%;
  transform: translate(-50%, -50%) scale(2) rotate(-45deg);
}
.p-load.-show {
  opacity: 1;
  pointer-events: all;
}

/* -----------------------------------
secMv
------------------------------------ */
.p-secMv {
  padding-top: 5.71vw;
  position: relative;
  overflow: clip;
  cursor: none !important;
  opacity: 0;
  transition: 0.3s opacity;
}
.p-secMv.-show {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-secMv {
    padding-top: 0;
    margin-top: -46%;
  }
}
.p-secMv_list {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-secMv_list .slick-list {
    padding-top: 105% !important;
    padding-bottom: 105% !important;
  }
}
.p-secMv_list li {
  position: relative;
  transition: transform 0.5s;
}
@media screen and (max-width: 768px) {
  .p-secMv_list li.is-active-next, .p-secMv_list li.slick-current {
    z-index: 1;
  }
  .p-secMv_list li:has(+ li + .is-active-next), .p-secMv_list li:has(+ li + .slick-current) {
    transform: translateY(240%);
  }
  .p-secMv_list li:has(+ .is-active-next), .p-secMv_list li:has(+ .slick-current) {
    transform: translateY(120%);
  }
  .p-secMv_list li.is-active-next, .p-secMv_list li.slick-current {
    transform: translateY(0%);
  }
  .p-secMv_list li.is-active-next + li, .p-secMv_list li.slick-current + li {
    transform: translateY(-120%);
  }
  .p-secMv_list li.is-active-next + li + li, .p-secMv_list li.slick-current + li + li {
    transform: translateY(-240%);
  }
}
.p-secMv_list li ._img {
  aspect-ratio: 1/1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secMv_list li ._img {
    scale: 1.7;
  }
}
.p-secMv_list li ._img a {
  cursor: none !important;
}
.p-secMv_list li ._img img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 0;
     object-position: 0;
  width: 100%;
  height: 100%;
}
.p-secMv_list::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/ico_focus.svg) no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secMv_list::before {
    height: auto;
    width: 80%;
  }
}
.p-secMv_list::after {
  content: "";
  display: block;
  aspect-ratio: 37/322;
  width: 2.64%;
  position: absolute;
  top: 10%;
  left: 70%;
  background: url(../img/common/mv_copy1.svg) no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secMv_list::after {
    width: 4.3vw;
    left: 92%;
    top: auto;
    bottom: 34.2%;
  }
}

.p-mouseStalker {
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  pointer-events: none;
}
.p-mouseStalker::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 50%;
}
.p-mouseStalker span {
  display: block;
  position: absolute;
  text-wrap: nowrap;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0%);
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 1.42vw;
}

.js-parallaxImg {
  overflow: hidden;
}
.js-parallaxImg img {
  scale: 1.3;
  translate: 0 15%;
}

/* -----------------------------------
topProduct
------------------------------------ */
.p-topProduct {
  margin-top: 10vw;
}
@media screen and (max-width: 768px) {
  .p-topProduct {
    margin-top: 5vw;
  }
}
.p-topProduct_title {
  padding-left: 5.71%;
  padding-right: 5.71%;
}
.p-topProduct_title h2 {
  font-size: 4.5vw;
  line-height: 1;
  text-wrap: nowrap;
  font-family: "Inter", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-topProduct_title h2 {
    font-size: 10vw;
  }
}
.p-topProduct_title h2 > span span {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 300;
}
.p-topProduct_cnt {
  position: relative;
}
.p-topProduct_nav {
  position: absolute;
  width: 100%;
  top: 30svh;
  left: 5.71%;
  bottom: 6.78vw;
  display: flex;
  align-items: flex-end;
  z-index: 10;
  pointer-events: none;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-topProduct_nav {
    display: none;
  }
}
.p-topProduct_nav nav {
  position: sticky;
  bottom: 8%;
  left: 0;
}
.p-topProduct_nav nav ul {
  border-radius: 1.78vw;
  width: 12.57vw;
  overflow: hidden;
  pointer-events: all;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.p-topProduct_nav nav ul li {
  position: relative;
}
.p-topProduct_nav nav ul li a {
  text-decoration: none;
  display: block;
  padding: 0.9em 1.4em;
  padding-right: 0;
  background-color: rgba(215, 215, 215, 0.5);
  transition: background-color 0.3s;
  font-size: 1vw;
}
.p-topProduct_nav nav ul li a span {
  display: inline-block;
  transition: padding-left 0.3s;
}
.p-topProduct_nav nav ul li a:hover {
  background-color: #dfe2e2;
}
.p-topProduct_nav nav ul li:nth-of-type(n+2)::before {
  content: "";
  display: block;
  width: 92%;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-topProduct_nav nav ul li._scroll::after {
  content: "";
  display: block;
  width: 1.71vw;
  height: 1.14vw;
  position: absolute;
  top: 50%;
  left: 1.42vw;
  transform: translateY(-50%);
  background: url(../img/common/ico_nav_arrow.svg) no-repeat;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-topProduct_nav nav ul li.-current a span {
  padding-left: 1.85vw;
}
.p-topProduct_nav nav ul li.-current::after {
  opacity: 1;
}
.p-topProduct_nav nav ul li._download::before {
  border-color: #000;
}
.p-topProduct_nav nav ul li._download::after {
  content: "";
  display: block;
  width: 1.35vw;
  height: 1.35vw;
  position: absolute;
  top: 50%;
  right: 1.71vw;
  transform: translateY(-50%);
  background: url(../img/common/ico_download.svg) no-repeat;
  background-size: contain;
}

/* -----------------------------------
secTopProductItem
------------------------------------ */
.p-secTopProductItem {
  padding-top: 6.78%;
  padding-bottom: 6.78%;
  padding-left: 5.71%;
  padding-right: 5.71%;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem {
    padding-top: 28px;
    padding-bottom: 42px;
  }
}
.p-secTopProductItem:nth-of-type(1) {
  padding-top: 3.8vw;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem:nth-of-type(1) {
    padding-top: 15vw;
  }
}
.p-secTopProductItem_wrapper {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_wrapper {
    display: block;
  }
}
.p-secTopProductItem_title {
  width: 25.9%;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_title {
    width: 100%;
  }
}
.p-secTopProductItem_title h3 span {
  display: block;
  padding-left: 2.85vw;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_title h3 span {
    padding-left: 7.5vw;
  }
}
.p-secTopProductItem_title h3 span:nth-of-type(1) {
  font-size: 2.5vw;
  position: relative;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_title h3 span:nth-of-type(1) {
    font-size: 6.84vw;
  }
}
.p-secTopProductItem_title h3 span:nth-of-type(1)::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  width: 1.42vw;
  position: absolute;
  top: 50%;
  left: 0.71vw;
  background-color: #000;
  border-radius: 50%;
  transform: translateY(-40%);
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_title h3 span:nth-of-type(1)::before {
    width: 3.91vw;
    left: 1.95vw;
  }
}
.p-secTopProductItem_title h3 span:nth-of-type(2) {
  font-size: 1.42vw;
  margin-top: -0.7em;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_title h3 span:nth-of-type(2) {
    font-size: 3.91vw;
  }
}
.p-secTopProductItem_title.-white {
  color: #fff;
}
.p-secTopProductItem_cnt {
  flex: 1;
}
.p-secTopProductItem_cnt > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.14vw 5.14vw;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul {
    display: block;
    margin-left: -6.3%;
    margin-right: -6.3%;
  }
}
.p-secTopProductItem_cnt > ul li {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li {
    padding: 0 5vw;
    transform: translateX(-8%);
  }
}
.p-secTopProductItem_cnt > ul li a {
  text-decoration: none;
}
.p-secTopProductItem_cnt > ul li a ._arrow {
  display: block;
  width: 2.57vw;
  height: 2.21vw;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li a ._arrow {
    aspect-ratio: 58/50;
    width: 6.51vw;
    height: auto;
    right: 5vw;
  }
}
.p-secTopProductItem_cnt > ul li a:hover ._img::before {
  opacity: 1;
}
.p-secTopProductItem_cnt > ul li ._img {
  width: 100%;
  position: relative;
}
.p-secTopProductItem_cnt > ul li ._img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/ico_focus.svg) no-repeat;
  background-size: contain;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s;
}
.p-secTopProductItem_cnt > ul li ._img > span {
  position: absolute;
  top: 13.2%;
  right: 13.2%;
  writing-mode: vertical-rl;
  letter-spacing: 0.05em;
  font-size: 1.28vw;
  line-height: 1.5;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li ._img > span {
    font-size: 3vw;
  }
}
.p-secTopProductItem_cnt > ul li ._txt {
  margin-top: 1.5vw;
  text-wrap: nowrap;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
.p-secTopProductItem_cnt > ul li ._txt > span {
  font-size: 1.21vw;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li ._txt > span {
    font-size: 3.52vw;
  }
}
.p-secTopProductItem_cnt > ul li ._txt h4 {
  margin-top: 0.3em;
}
.p-secTopProductItem_cnt > ul li ._txt h4 span {
  display: block;
}
.p-secTopProductItem_cnt > ul li ._txt h4 span:nth-of-type(1) {
  font-size: 2.5vw;
  line-height: 0.9;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li ._txt h4 span:nth-of-type(1) {
    font-size: 7.29vw;
    letter-spacing: -0.02em;
  }
}
.p-secTopProductItem_cnt > ul li ._txt h4 span:nth-of-type(2) {
  font-size: 1.92vw;
  margin-top: -0.3em;
  margin-left: -0.5em;
  margin-right: -0.5em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  transform: scaleX(0.95) translateX(-3.3%);
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li ._txt h4 span:nth-of-type(2) {
    font-size: 5.73vw;
    letter-spacing: -0.1em;
  }
}
.p-secTopProductItem_cnt > ul li ._txt > div {
  font-size: 0.85vw;
  margin-top: 0.6em;
}
@media screen and (max-width: 768px) {
  .p-secTopProductItem_cnt > ul li ._txt > div {
    font-size: 2.86vw;
  }
}
.p-secTopProductItem_cnt > ul li ._txt > div span {
  display: block;
}
.p-secTopProductItem.-wallTop {
  background-color: #fff;
}
.p-secTopProductItem.-roofTop {
  background-color: #000;
  color: #fff;
}
.p-secTopProductItem.-roofTop .p-secTopProductItem_title h3 span:nth-of-type(1)::before {
  background-color: #fff;
}
.p-secTopProductItem.-roofTop .p-secTopProductItem_cnt > ul li a {
  color: #fff;
}
.p-secTopProductItem.-roofTop .p-secTopProductItem_cnt > ul li a ._img::before {
  background-image: url(../img/common/ico_focus_white.svg);
}
.p-secTopProductItem.-roofTop .p-secTopProductItem_cnt > ul li a::after {
  background: url(../img/common/ico_arrow1_white.svg) no-repeat;
}
.p-secTopProductItem.-primer {
  background-color: #fff;
}
.p-secTopProductItem.-browncoat {
  background-color: #BEC8CE;
}

/* -----------------------------------
secDownload
------------------------------------ */
.p-secDownload {
  padding-top: 9.28vw;
  padding-bottom: 9.28vw;
}
@media screen and (max-width: 768px) {
  .p-secDownload {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}
.p-secDownload_link a {
  display: block;
  margin: 0 auto;
  width: 55.57vw;
  text-decoration: none;
  border-bottom: 1px solid #000;
  padding: 1.28vw 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secDownload_link a {
    padding: 2.5vw 0;
    width: 89.32vw;
  }
}
.p-secDownload_link a > div span {
  display: block;
}
.p-secDownload_link a > div span:nth-of-type(1) {
  font-size: 2.85vw;
  line-height: 1;
  letter-spacing: -0.05em;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secDownload_link a > div span:nth-of-type(1) {
    font-size: 6.51vw;
  }
}
.p-secDownload_link a > div span:nth-of-type(2) {
  font-size: 1.42vw;
  margin-top: -0.2em;
}
@media screen and (max-width: 768px) {
  .p-secDownload_link a > div span:nth-of-type(2) {
    font-size: 2.6vw;
  }
}
.p-secDownload_link a ._arrow {
  width: 2.57vw;
  height: 2.21vw;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-secDownload_link a ._arrow {
    aspect-ratio: 36/31;
    width: 4.69vw;
    height: auto;
    transform: translateY(0);
  }
}

/* -----------------------------------
secAbout
------------------------------------ */
.p-secAbout {
  padding-top: 2.85vw;
  padding-bottom: 16.42vw;
  padding-left: 5.71vw;
  padding-right: 5.71vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secAbout {
    padding-top: 0;
    padding-bottom: 82vw;
  }
}
.p-secAbout_title {
  font-size: 4.28vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secAbout_title {
    font-size: 11.72vw;
  }
}
.p-secAbout_txt {
  margin-top: 1.78vw;
}
@media screen and (max-width: 768px) {
  .p-secAbout_txt {
    margin-top: 5vw;
  }
}
.p-secAbout_txt p {
  font-size: 1.21vw;
}
@media screen and (max-width: 768px) {
  .p-secAbout_txt p {
    font-size: 3.26vw;
  }
}
.p-secAbout_txt p:nth-of-type(n+2) {
  margin-top: 1.4em;
}
@media screen and (max-width: 768px) {
  .p-secAbout_txt p:nth-of-type(n+2) {
    margin-top: 1.5em;
  }
}
.p-secAbout_link {
  margin-top: 3.57vw;
}
@media screen and (max-width: 768px) {
  .p-secAbout_link {
    margin-top: 10vw;
  }
}
.p-secAbout_link a {
  text-decoration: none;
  display: inline-block;
  font-size: 2.5vw;
  line-height: 1.5;
  position: relative;
  padding-right: 3.6vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secAbout_link a {
    font-size: 6.77vw;
    padding-right: 9.74vw;
  }
}
.p-secAbout_link a ._arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.42vw;
  height: 2vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-secAbout_link a ._arrow {
    width: 6.55vw;
    height: 5.41vw;
  }
}
.p-secAbout_link a::after {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid #000;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-secAbout_img {
  position: absolute;
  left: 15vw;
  bottom: 0;
  width: 89vw;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secAbout_img {
    left: -8%;
    width: 233vw;
  }
}

/* -----------------------------------
secProductDetailMv
------------------------------------ */
.p-secProductDetailMv {
  position: relative;
  background-color: #EBEDED;
  height: 100vh;
  min-height: 45vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv {
    min-height: auto;
    height: auto;
    padding-top: 20vw;
  }
}
.p-secProductDetailMv_img1 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 41.28%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_img1 {
    width: 89.58%;
    transform: none;
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto;
  }
}
.p-secProductDetailMv_img1 ._img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-secProductDetailMv_img1 span {
  position: absolute;
  top: 5%;
  right: -30%;
  writing-mode: vertical-rl;
  transform: translateX(50%);
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 2vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_img1 span {
    top: 15%;
    right: 13.5%;
    font-size: 4.16vw;
    transform: none;
  }
}
.p-secProductDetailMv_txt {
  position: absolute;
  bottom: calc(50% - 20.5vw);
  left: 7.1%;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt {
    left: auto;
    bottom: 0;
    position: relative;
    padding-left: 5.8vw;
    padding-top: 5vw;
    padding-bottom: 8vw;
  }
}
.p-secProductDetailMv_txt ._series {
  font-size: 1.5vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._series {
    font-size: 3.9vw;
  }
}
.p-secProductDetailMv_txt ._series span {
  position: relative;
  padding-bottom: 0.14vw;
}
.p-secProductDetailMv_txt ._series span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-top: 0.14vw solid #000;
}
.p-secProductDetailMv_txt ._title {
  margin-top: 2.2vw;
}
.p-secProductDetailMv_txt ._title h2 {
  font-size: 3.71vw;
  line-height: 1.05;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._title h2 {
    font-size: 9.11vw;
  }
}
.p-secProductDetailMv_txt ._title h2 span {
  display: block;
}
.p-secProductDetailMv_txt ._title > span {
  font-size: 1.92vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._title > span {
    font-size: 5.72vw;
  }
}
.p-secProductDetailMv_txt ._feature {
  margin-top: 1.25vw;
  min-height: 6.88vw;
}
.p-secProductDetailMv_txt ._feature.-free {
  min-height: auto;
}
.p-secProductDetailMv_txt ._feature ._sub {
  font-size: 1.28vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._feature ._sub {
    font-size: 3.9vw;
  }
}
.p-secProductDetailMv_txt ._feature ul {
  display: flex;
  gap: 1px;
  margin-top: 0.3vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._feature ul {
    width: 60vw;
    flex-wrap: wrap;
  }
}
.p-secProductDetailMv_txt ._feature ul li {
  border: 1px solid #000;
  border-radius: 1000px;
  padding: 0.4em 0.5em;
  line-height: 1;
  font-size: 1vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._feature ul li {
    font-size: 3.38vw;
  }
}
.p-secProductDetailMv_txt ._feature ._year {
  display: flex;
  align-items: center;
  margin-top: 0.4vw;
}
.p-secProductDetailMv_txt ._feature ._year ._img {
  width: 4.5vw;
  margin-right: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._feature ._year ._img {
    width: 13vw;
    margin-right: 1.5vw;
  }
}
.p-secProductDetailMv_txt ._feature ._year ._img img {
  display: block;
}
.p-secProductDetailMv_txt ._feature ._year span {
  font-size: 1.07vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._feature ._year span {
    font-size: 3.38vw;
  }
}
.p-secProductDetailMv_txt ._icon {
  display: flex;
  gap: 1.3vw;
  margin-top: 5.2vw;
}
.p-secProductDetailMv_txt ._icon li {
  width: 7.21vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_txt ._icon li {
    width: 19.66vw;
  }
}
.p-secProductDetailMv_txt ._icon li img {
  transform: scale(1.3) translateY(-10%);
}
.p-secProductDetailMv_img2 {
  position: absolute;
  top: 50%;
  left: 7.1%;
  width: 18.5%;
  transform: translateY(-45%);
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_img2 {
    left: 5.8%;
    width: 82.29%;
    transform: translateY(25%);
  }
}
.p-secProductDetailMv_img3 {
  position: absolute;
  width: 14.21%;
  top: 50%;
  right: 9.4%;
  transform: translateY(3%);
}
@media screen and (max-width: 768px) {
  .p-secProductDetailMv_img3 {
    top: auto;
    bottom: 8vw;
    width: 30.72%;
    right: 2.5%;
  }
}

/* -----------------------------------
productDetail
------------------------------------ */
.p-productDetail {
  padding-top: 10vw;
  padding-bottom: 13.7vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-productDetail {
    padding-top: 11.2vw;
  }
}
.p-productDetail_nav {
  position: absolute;
  width: 100%;
  top: 30svh;
  left: 5.71%;
  bottom: 6.78vw;
  display: flex;
  align-items: flex-end;
  z-index: 10;
  pointer-events: none;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-productDetail_nav {
    display: none;
  }
}
.p-productDetail_nav nav {
  position: sticky;
  bottom: 8%;
  left: 0;
}
.p-productDetail_nav nav ul {
  border-radius: 1.78vw;
  width: 12.57vw;
  overflow: hidden;
  pointer-events: all;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.p-productDetail_nav nav ul li {
  position: relative;
}
.p-productDetail_nav nav ul li a {
  text-decoration: none;
  display: block;
  padding: 0.9em 1.4em;
  padding-right: 0;
  background-color: rgba(215, 215, 215, 0.5);
  transition: background-color 0.3s;
  font-size: 1vw;
}
.p-productDetail_nav nav ul li a span {
  display: inline-block;
  transition: padding-left 0.3s;
}
.p-productDetail_nav nav ul li a:hover {
  background-color: #dfe2e2;
}
.p-productDetail_nav nav ul li:nth-of-type(n+2)::before {
  content: "";
  display: block;
  width: 92%;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-productDetail_nav nav ul li._scroll::after {
  content: "";
  display: block;
  width: 1.71vw;
  height: 1.14vw;
  position: absolute;
  top: 50%;
  left: 1.42vw;
  transform: translateY(-50%);
  background: url(../img/common/ico_nav_arrow.svg) no-repeat;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-productDetail_nav nav ul li.-current a span {
  padding-left: 1.85vw;
}
.p-productDetail_nav nav ul li.-current::after {
  opacity: 1;
}
.p-productDetail_nav nav ul li._download::before {
  border-color: #000;
}
.p-productDetail_nav nav ul li._download::after {
  content: "";
  display: block;
  width: 1.35vw;
  height: 1.35vw;
  position: absolute;
  top: 50%;
  right: 1.71vw;
  transform: translateY(-50%);
  background: url(../img/common/ico_download.svg) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .p-productDetail.-aboutTsg {
    padding-top: 3vw;
  }
}
.p-productDetail.-aboutTsg .p-productDetail_nav {
  top: 51vw;
}

/* -----------------------------------
secProductDetailItem
------------------------------------ */
.p-secProductDetailItem {
  padding-left: 5.71%;
  padding-right: 5.71%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem {
    padding-left: 4.5%;
    padding-right: 3.9%;
  }
}
.p-secProductDetailItem:nth-of-type(n+2) {
  padding-top: 8.4%;
  margin-top: 8.4%;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem:nth-of-type(n+2) {
    padding-top: 12vw;
    margin-top: 7.6vw;
  }
}
.p-secProductDetailItem:nth-of-type(n+2)::before {
  content: "";
  display: block;
  width: 88.57%;
  border-top: 1px solid #B0B0B0;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.p-secProductDetailItem_wrapper {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_wrapper {
    display: block;
  }
}
.p-secProductDetailItem_title {
  width: 32.98%;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_title {
    width: 100%;
  }
}
.p-secProductDetailItem_title h2 span {
  display: block;
}
.p-secProductDetailItem_title h2 span:nth-of-type(1) {
  font-size: 5vw;
  position: relative;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  line-height: 0.9;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_title h2 span:nth-of-type(1) {
    font-size: 12.36vw;
  }
}
.p-secProductDetailItem_title h2 span:nth-of-type(2) {
  font-size: 1.42vw;
  margin-top: 0.1em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_title h2 span:nth-of-type(2) {
    font-size: 3.9vw;
    margin-top: -0.2em;
  }
}
.p-secProductDetailItem_title.-white {
  color: #fff;
}
.p-secProductDetailItem_cnt {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt {
    padding-left: 7.81vw;
    margin-top: 6.2vw;
  }
}
.p-secProductDetailItem_cnt > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.14vw 5.14vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul {
    display: block;
  }
}
.p-secProductDetailItem_cnt > ul li {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li {
    padding: 0 5vw;
    transform: translateX(-14%);
  }
}
.p-secProductDetailItem_cnt > ul li a {
  text-decoration: none;
}
.p-secProductDetailItem_cnt > ul li a:hover ._img::before {
  opacity: 1;
}
.p-secProductDetailItem_cnt > ul li a::after {
  content: "";
  display: block;
  width: 2.57vw;
  height: 2.21vw;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../img/common/ico_arrow1.svg) no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li a::after {
    aspect-ratio: 58/50;
    width: 6.51vw;
    height: auto;
    right: 5vw;
  }
}
.p-secProductDetailItem_cnt > ul li ._img {
  width: 100%;
  position: relative;
}
.p-secProductDetailItem_cnt > ul li ._img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/ico_focus.svg) no-repeat;
  background-size: contain;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s;
}
.p-secProductDetailItem_cnt > ul li ._img > span {
  position: absolute;
  top: 13.2%;
  right: 13.2%;
  writing-mode: vertical-rl;
  letter-spacing: -0.4em;
  font-size: 1.28vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li ._img > span {
    font-size: 3vw;
  }
}
.p-secProductDetailItem_cnt > ul li ._img > span > span {
  transform: rotate(90deg) translate(20%, -24%);
  transform-origin: center;
  display: inline-block;
  line-height: 1;
  position: relative;
}
.p-secProductDetailItem_cnt > ul li ._txt {
  margin-top: 1.5vw;
  text-wrap: nowrap;
}
.p-secProductDetailItem_cnt > ul li ._txt > span {
  font-size: 1.21vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li ._txt > span {
    font-size: 3.52vw;
  }
}
.p-secProductDetailItem_cnt > ul li ._txt h4 {
  margin-top: 0.3em;
}
.p-secProductDetailItem_cnt > ul li ._txt h4 span {
  display: block;
}
.p-secProductDetailItem_cnt > ul li ._txt h4 span:nth-of-type(1) {
  font-size: 2.5vw;
  line-height: 0.9;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li ._txt h4 span:nth-of-type(1) {
    font-size: 7.29vw;
    letter-spacing: -0.02em;
  }
}
.p-secProductDetailItem_cnt > ul li ._txt h4 span:nth-of-type(2) {
  font-size: 1.92vw;
  margin-top: -0.3em;
  margin-left: -0.5em;
  margin-right: -0.5em;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li ._txt h4 span:nth-of-type(2) {
    font-size: 5.73vw;
    letter-spacing: -0.1em;
  }
}
.p-secProductDetailItem_cnt > ul li ._txt > div {
  font-size: 0.85vw;
  margin-top: 0.6em;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt > ul li ._txt > div {
    font-size: 2.86vw;
  }
}
.p-secProductDetailItem_cnt > ul li ._txt > div span {
  display: block;
}
.p-secProductDetailItem_cnt2 {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt2 {
    padding-left: 7.81vw;
    margin-top: 6.2vw;
  }
}
.p-secProductDetailItem_cnt2 > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.21vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt2 > ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 3vw;
  }
}
.p-secProductDetailItem_cnt2 > ul > li {
  background-color: #E9EBEB;
  padding: 3vw 2.5vw;
}
.p-secProductDetailItem_cnt2 > ul > li ._img {
  width: 15.57vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt2 > ul > li ._img {
    width: 35.67vw;
  }
}
.p-secProductDetailItem_cnt2 > ul > li ._txt {
  margin-top: 3vw;
  text-wrap: nowrap;
}
.p-secProductDetailItem_cnt2 > ul > li ._txt h3 {
  margin-top: 0.3em;
  font-size: 2.5vw;
  line-height: 1;
  letter-spacing: -0.15em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt2 > ul > li ._txt h3 {
    font-size: 5.85vw;
  }
}
.p-secProductDetailItem_cnt2 > ul > li ._txt > ul {
  display: flex;
  gap: 0.53vw;
  margin-top: 1.42vw;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem_cnt2 > ul > li ._txt > ul {
    flex-flow: column;
    gap: 1.5vw;
  }
  .p-secProductDetailItem_cnt2 > ul > li ._txt > ul .c-btn a {
    display: block;
  }
}
.p-secProductDetailItem.-row .p-secProductDetailItem_wrapper {
  display: block;
}
.p-secProductDetailItem.-company {
  background-color: #EDECEE;
}
.p-secProductDetailItem.-noline:nth-of-type(n+2)::before {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-secProductDetailItem.-nopadding .p-secProductDetailItem_cnt {
    padding-left: 0;
  }
}

/* -----------------------------------
outline
------------------------------------ */
.p-outline_wrapper:nth-of-type(n+2) {
  margin-top: 3.3vw;
  padding-top: 3.3vw;
  border-top: 1px solid #B0B0B0;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper:nth-of-type(n+2) {
    margin-top: 9vw;
    padding-top: 7vw;
  }
}
.p-outline_wrapper ._list {
  margin-top: 1.2vw;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._list {
    margin-top: 1.5vw;
  }
}
.p-outline_wrapper ._list li {
  font-size: 1.21vw;
  line-height: 1.4;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._list li {
    font-size: 3.38vw;
  }
}
.p-outline_wrapper ._img {
  margin-top: 2.2vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._img {
    margin-top: 4.5vw;
  }
}
.p-outline_wrapper ._img.-right {
  margin-left: auto;
  width: 28.8vw;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._img.-right {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._img.-large > div {
    overflow-x: scroll;
    margin-right: -6.3vw;
  }
  .p-outline_wrapper ._img.-large > div > div {
    width: 161.97vw;
  }
}
.p-outline_wrapper ._img p {
  font-size: 1.07vw;
  margin-top: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-outline_wrapper ._img p {
    font-size: 2.99vw;
    margin-top: 0.6em;
  }
}
.p-outline_wrapper ._img ._subImg {
  position: absolute;
  display: block;
}
.p-outline_wrapper ._img ._subImg.-years {
  top: 65%;
  left: 38%;
  width: 29.06%;
}
.p-outline_title {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.1em;
}
.p-outline_title span {
  display: block;
  font-size: 1.71vw;
}
@media screen and (max-width: 768px) {
  .p-outline_title span {
    font-size: 4.42vw;
  }
}
.p-outline_title span::before {
  content: "◎";
  padding-right: 0.2em;
}
.p-outline_title h3 {
  font-size: 2.29vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 0.3em;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .p-outline_title h3 {
    font-size: 5.85vw;
    margin-top: 0.05em;
  }
}
.p-outline_title p {
  font-size: 1.21vw;
  margin-top: 0.9em;
}
@media screen and (max-width: 768px) {
  .p-outline_title p {
    font-size: 3.38vw;
    margin-top: 0.65em;
  }
}

/* -----------------------------------
feature
------------------------------------ */
.p-feature_title {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
}
.p-feature_title span {
  display: block;
  font-size: 1.71vw;
}
@media screen and (max-width: 768px) {
  .p-feature_title span {
    font-size: 4.42vw;
  }
}
.p-feature_title span::before {
  content: "◎";
  padding-right: 0.2em;
}
.p-feature_title h3 {
  font-size: 2.29vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  margin-top: 0.3em;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .p-feature_title h3 {
    font-size: 5.85vw;
    margin-top: 0.05em;
  }
}
.p-feature_title p {
  font-size: 1.21vw;
  margin-top: 0.9em;
}
@media screen and (max-width: 768px) {
  .p-feature_title p {
    font-size: 3.38vw;
    margin-top: 0.65em;
  }
}
.p-feature_feature1 ._list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list {
    margin-top: 8.2vw;
    display: block;
  }
}
.p-feature_feature1 ._list li {
  display: flex;
  gap: 4.8%;
  padding: 6.23%;
  border-bottom: 1px solid #B0B0B0;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li {
    padding: 4.5% 0;
    border: none;
  }
  .p-feature_feature1 ._list li:nth-of-type(1) {
    border-top: 1px solid #B0B0B0;
  }
  .p-feature_feature1 ._list li:nth-of-type(n+2) {
    border-bottom: 1px solid #B0B0B0;
  }
}
.p-feature_feature1 ._list li:nth-of-type(-n+2) {
  border-top: 1px solid #B0B0B0;
}
.p-feature_feature1 ._list li:nth-of-type(2n+1) {
  padding-left: 0;
  border-right: 1px solid #B0B0B0;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li:nth-of-type(2n+1) {
    border-right: none;
  }
}
.p-feature_feature1 ._list li:nth-of-type(2n) {
  padding-right: 0;
}
.p-feature_feature1 ._list li ._img {
  width: 51.5%;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li ._img {
    width: 41.01vw;
  }
}
.p-feature_feature1 ._list li ._txt {
  flex: 1;
  letter-spacing: -0.05em;
  padding-top: 1.2vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li ._txt {
    padding-top: 9vw;
  }
}
.p-feature_feature1 ._list li ._txt span {
  font-size: 1.79vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li ._txt span {
    font-size: 5.29vw;
  }
}
.p-feature_feature1 ._list li ._txt h4 {
  font-size: 1.2vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
  text-wrap: nowrap;
  line-height: 1.25;
  margin-top: -0.1em;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li ._txt h4 {
    font-size: 3.77vw;
    letter-spacing: -0.1em;
  }
}
.p-feature_feature1 ._list li ._txt p {
  font-size: 1vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._list li ._txt p {
    font-size: 3.25vw;
    margin-top: 0.5em;
  }
}
.p-feature_feature1 ._result {
  margin-top: 3.4vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result {
    margin-top: 9.2vw;
  }
}
.p-feature_feature1 ._result h4 {
  font-size: 1.29vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result h4 {
    font-size: 4.55vw;
  }
}
.p-feature_feature1 ._result ul {
  display: flex;
  gap: 2.65%;
  margin-top: 0.6vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result ul {
    flex-flow: column;
    margin-top: 6vw;
    gap: 5vw;
  }
}
.p-feature_feature1 ._result ul li {
  flex: 1;
}
.p-feature_feature1 ._result ul li p {
  font-size: 1vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  margin-top: 0.7em;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result ul li p {
    font-size: 3.12vw;
    margin-top: 0.2em;
  }
}
.p-feature_feature1 ._result ul li ._txt h5 {
  font-size: 2vw;
  letter-spacing: 0em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result ul li ._txt h5 {
    font-size: 5.85vw;
  }
}
.p-feature_feature1 ._result ul li ._txt p {
  font-size: 1.21vw;
  margin-top: 0.5vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result ul li ._txt p {
    font-size: 3.38vw;
  }
}
.p-feature_feature1 ._result ul li.-big {
  width: 60%;
  flex: none;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._result ul li.-big {
    width: auto;
  }
}
.p-feature_feature1 ._coating {
  display: flex;
  align-items: center;
  gap: 2vw;
}
.p-feature_feature1 ._coating ._img {
  width: 41%;
}
.p-feature_feature1 ._coating ._txt {
  flex: 1;
}
.p-feature_feature1 ._coating ._txt h3 {
  font-size: 2.28vw;
  letter-spacing: 0em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
.p-feature_feature1 ._coating ._txt p {
  font-size: 1.21vw;
  margin-top: 0.5vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
.p-feature_feature1 ._image {
  margin-top: 3vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1 ._image {
    margin-top: 5vw;
  }
}
.p-feature_feature1.-mt {
  margin-top: 6vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature1.-mt {
    margin-top: 16vw;
  }
}
.p-feature_feature2 {
  margin-top: 6.8vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 {
    margin-top: 18vw;
  }
}
.p-feature_feature2 ._cnt1 {
  display: flex;
  gap: 5.6%;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt1 {
    display: block;
  }
}
.p-feature_feature2 ._cnt1 ._txt {
  flex: 1;
}
.p-feature_feature2 ._cnt1 ._img {
  width: 42.21%;
  padding-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt1 ._img {
    padding-top: 0;
    margin: 3.5vw auto 0;
    width: 67.18vw;
  }
}
.p-feature_feature2 ._cnt2 {
  margin-top: 4.7vw;
  border-top: 1px solid #B0B0B0;
  border-bottom: 1px solid #B0B0B0;
  padding: 1.6vw 0;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 {
    margin-top: 8vw;
    display: block;
    padding: 4vw 0 6vw;
  }
}
.p-feature_feature2 ._cnt2 ._detail {
  display: flex;
  gap: 8.2%;
  margin-top: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 ._detail {
    flex-flow: column;
  }
}
.p-feature_feature2 ._cnt2 ._detail p {
  flex: 1;
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 ._detail p {
    font-size: 3.38vw;
  }
}
.p-feature_feature2 ._cnt2 ._detail p span {
  display: block;
  font-size: 1vw;
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 ._detail p span {
    font-size: 2.5vw;
    margin-top: 2.5vw;
  }
}
.p-feature_feature2 ._cnt2 ._detail ._img {
  width: 32.44%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 ._detail ._img {
    margin-left: auto;
    margin-top: 3vw;
    width: 47vw;
  }
}
.p-feature_feature2 ._cnt2 ._detail ._img ._sub {
  position: absolute;
  top: 44%;
  right: 37%;
  width: 156.87%;
}
@media screen and (max-width: 768px) {
  .p-feature_feature2 ._cnt2 ._detail ._img ._sub {
    width: 139.88%;
  }
}
.p-feature_feature3 {
  display: flex;
  margin-top: 5.5vw;
  gap: 5.5%;
}
@media screen and (max-width: 768px) {
  .p-feature_feature3 {
    display: block;
    margin-top: 9vw;
  }
}
.p-feature_feature3 ._txt {
  flex: 1;
}
.p-feature_feature3 ._img {
  width: 44.63%;
  padding-top: 2.2vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature3 ._img {
    width: 100%;
    padding-top: 4vw;
  }
}
.p-feature_feature4 {
  margin-top: 2.8vw;
}
@media screen and (max-width: 768px) {
  .p-feature_feature4 {
    margin-top: 12vw;
  }
}
.p-feature_feature4 h3 {
  font-size: 2.14vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-feature_feature4 h3 {
    font-size: 5.46vw;
  }
}
.p-feature_feature4 ._img {
  margin-top: 0.2vw;
  transition: transform 0.5s;
}
@media screen and (max-width: 768px) {
  .p-feature_feature4 ._img {
    margin-top: 0.4vw;
    margin-right: -3.9vw;
  }
}
@media screen and (min-width: 769px) {
  .p-feature_feature4 ._img:hover {
    transform: scale(1.05);
  }
}

/* -----------------------------------
information
------------------------------------ */
.p-information_list dl {
  display: flex;
  font-size: 1.14vw;
  padding: 0.77em 2.6em;
  border-bottom: 1px solid #B0B0B0;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .p-information_list dl {
    font-size: 3.12vw;
    padding: 0.74em 0;
  }
}
.p-information_list dl:nth-of-type(1) {
  border-top: 1px solid #B0B0B0;
}
.p-information_list dl dt {
  width: 20.5vw;
}
@media screen and (max-width: 768px) {
  .p-information_list dl dt {
    width: 44.4vw;
  }
}
.p-information_list dl dd {
  flex: 1;
}
.p-information_list dl dd a {
  text-decoration: none;
}

/* -----------------------------------
secRelatedProducts
------------------------------------ */
.p-secRelatedProducts {
  background-color: #EFEEF0;
  padding: 4.8vw 5.71vw 7.4vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts {
    padding: 11vw 6.3vw 18vw;
  }
}
.p-secRelatedProducts_title span {
  display: block;
}
.p-secRelatedProducts_title span:nth-of-type(1) {
  font-size: 3.93vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_title span:nth-of-type(1) {
    font-size: 9.11vw;
    letter-spacing: -0.03em;
  }
}
.p-secRelatedProducts_title span:nth-of-type(2) {
  font-size: 1.43vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_title span:nth-of-type(2) {
    font-size: 3.9vw;
    margin-top: -0.2em;
  }
}
.p-secRelatedProducts_list {
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list {
    margin-top: 3.5vw;
  }
}
.p-secRelatedProducts_list > ul {
  display: flex;
  width: 100%;
  gap: 1.2vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul {
    overflow: scroll;
    gap: 2.5vw;
  }
}
.p-secRelatedProducts_list > ul > li {
  background-color: #fff;
  width: 31.64vw;
  position: relative;
  padding: 1.21vw 1.21vw 2.2vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li {
    width: 77.99vw;
    min-width: 77.99vw;
    padding: 3.5vw 3.5vw 6vw;
  }
}
.p-secRelatedProducts_list > ul > li a {
  text-decoration: none;
}
.p-secRelatedProducts_list > ul > li a > span {
  position: absolute;
  top: 1vw;
  right: 1vw;
  font-size: 1.42vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  writing-mode: vertical-rl;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li a > span {
    font-size: 3.51vw;
    top: 3vw;
    right: 3vw;
  }
}
.p-secRelatedProducts_list > ul > li ._img {
  width: 85%;
  margin: 0 auto;
}
.p-secRelatedProducts_list > ul > li ._img img {
  transition: scale 0.5s;
}
.p-secRelatedProducts_list > ul > li ._txt {
  margin-top: -3vw;
}
.p-secRelatedProducts_list > ul > li ._txt > span {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li ._txt > span {
    font-size: 2.86vw;
  }
}
.p-secRelatedProducts_list > ul > li ._txt > span::after {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid #000;
  position: absolute;
  left: 0;
  bottom: 0;
}
.p-secRelatedProducts_list > ul > li ._txt h3 {
  margin-top: 0.8vw;
}
.p-secRelatedProducts_list > ul > li ._txt h3 span {
  display: block;
}
.p-secRelatedProducts_list > ul > li ._txt h3 span:nth-of-type(1) {
  font-size: 2vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li ._txt h3 span:nth-of-type(1) {
    font-size: 6.51vw;
  }
}
.p-secRelatedProducts_list > ul > li ._txt h3 span:nth-of-type(2) {
  font-size: 1.57vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  margin-left: -0.5em;
  margin-top: -0.2em;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li ._txt h3 span:nth-of-type(2) {
    font-size: 3.9vw;
  }
}
.p-secRelatedProducts_list > ul > li ul {
  position: absolute;
  right: 1.21vw;
  bottom: 2.5vw;
}
.p-secRelatedProducts_list > ul > li ul li {
  width: 5vw;
}
@media screen and (max-width: 768px) {
  .p-secRelatedProducts_list > ul > li ul li {
    width: 12.36vw;
  }
}
.p-secRelatedProducts_list > ul > li ul li:nth-of-type(n+2) {
  margin-top: 0.5vw;
}
.p-secRelatedProducts_list > ul > li:hover ._img img {
  scale: 1.1;
}

/* -----------------------------------
secPageTitle
------------------------------------ */
.p-secPageTitle {
  text-align: right;
  line-height: 1;
  padding: 10.14vw 3.85vw 5.92vw;
}
@media screen and (max-width: 768px) {
  .p-secPageTitle {
    padding: 28vw 3.85vw 13vw;
  }
}
.p-secPageTitle_txt1 {
  font-size: 6.42vw;
  font-family: "Inter", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secPageTitle_txt1 {
    font-size: 14.58vw;
  }
}
.p-secPageTitle_txt2 {
  font-size: 1.42vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secPageTitle_txt2 {
    font-size: 3.51vw;
  }
}

/* -----------------------------------
secMailForm
------------------------------------ */
.p-secMailForm {
  background-color: #E9EBEB;
  padding: 6vw 5.71vw 6vw 7vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
.p-secMailForm_message {
  text-align: center;
  background-color: #666666;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  padding: 0.5vw 0;
  margin: -3vw 0 2vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_message {
    margin: -1vw 0 3vw;
    font-size: 2.85vw;
  }
}
.p-secMailForm_message h3 {
  color: #fff;
  font-size: 1.14vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_message h3 {
    font-size: 2.85vw;
  }
}
.p-secMailForm_message ul {
  color: #fff;
  font-size: 1vw;
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_message ul {
    font-size: 2.5vw;
  }
}
.p-secMailForm_wrapper {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_wrapper {
    display: block;
  }
}
.p-secMailForm_left {
  width: 21.76vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_left {
    width: 100%;
  }
}
.p-secMailForm_left p {
  font-size: 0.92vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_left p {
    font-size: 2.34vw;
  }
}
.p-secMailForm_right {
  flex: 1;
}
.p-secMailForm_right ._input dl {
  display: flex;
  font-size: 1.14vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._input dl {
    display: block;
    font-size: 3.38vw;
  }
}
.p-secMailForm_right ._input dl:nth-of-type(n+2) {
  margin-top: 1.92vw;
}
.p-secMailForm_right ._input dl dt {
  width: 14.85vw;
  padding-top: 0.3vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._input dl dt {
    width: 100%;
  }
}
.p-secMailForm_right ._input dl dd {
  flex: 1;
}
.p-secMailForm_right ._input dl dd._postcode {
  display: flex;
  align-items: center;
  gap: 1%;
}
.p-secMailForm_right ._input dl dd._postcode > div {
  max-width: 12%;
}
.p-secMailForm_right ._privacy {
  display: flex;
  gap: 1.07vw;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  padding: 2.21vw 0;
  font-size: 1.14vw;
  margin-top: 2.92vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._privacy {
    gap: 2.72vw;
  }
}
.p-secMailForm_right ._privacy label {
  position: relative;
  cursor: pointer;
}
.p-secMailForm_right ._privacy label input {
  display: none;
}
.p-secMailForm_right ._privacy label span::before {
  content: "";
  display: block;
  width: 1.57vw;
  height: 1.57vw;
  border: 1px solid #AEAEAE;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._privacy label span::before {
    width: 4vw;
    height: 4vw;
  }
}
.p-secMailForm_right ._privacy label span::after {
  display: block;
  opacity: 0;
  content: "✔";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FF0000;
  font-size: 1.2em;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._privacy label span::after {
    font-size: 3.05em;
  }
}
.p-secMailForm_right ._privacy label input:checked + span::after {
  opacity: 1;
}
.p-secMailForm_right ._privacy p {
  font-size: 1.14vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_right ._privacy p {
    font-size: 3.25vw;
  }
}
.p-secMailForm_btn {
  margin-top: 7.64vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 2.14vw;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_btn {
    font-size: 6.51vw;
  }
}
.p-secMailForm_btn button {
  padding-right: 5.71vw;
  line-height: 1;
  position: relative;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_btn button {
    padding-right: 7vw;
  }
}
.p-secMailForm_btn button[disabled] {
  opacity: 0.3;
}
.p-secMailForm_btn button::after {
  content: "";
  display: block;
  width: 1.21vw;
  aspect-ratio: 17/14;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../img/common/ico_arrow1.svg) no-repeat;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_btn button::after {
    width: 3.68vw;
  }
}
.p-secMailForm_btn.-multi {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_btn.-multi {
    display: block;
  }
}
.p-secMailForm_btn.-multi button:nth-of-type(1) {
  padding-right: 0;
  padding-left: 5.71vw;
}
@media screen and (max-width: 768px) {
  .p-secMailForm_btn.-multi button:nth-of-type(1) {
    padding-right: 0;
    padding-left: 7vw;
  }
}
.p-secMailForm_btn.-multi button:nth-of-type(1)::after {
  top: 50%;
  right: auto;
  left: 0;
  transform: translateY(-50%) scaleX(-1);
}

/* -----------------------------------
aboutTsg
------------------------------------ */
.p-aboutTsg1 {
  padding-top: 3vw;
  margin: 0 -6.5%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1 {
    margin: 0 -4.6vw;
  }
}
.p-aboutTsg1::before {
  content: "";
  display: block;
  width: 100%;
  background-color: #EDECEE;
  position: absolute;
  top: -10vw;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1::before {
    top: -32vw;
  }
}
.p-aboutTsg1::after {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid #AEAEAE;
  position: absolute;
  top: 3vw;
  left: 0;
}
.p-aboutTsg1_img {
  width: 73.57vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1_img {
    width: 100%;
    transform: translateX(5%) scale(1.2);
  }
}
.p-aboutTsg1_txt {
  position: absolute;
  top: 20%;
  right: 3.5%;
  letter-spacing: 0em;
  text-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1_txt {
    position: static;
    top: auto;
    right: auto;
    padding-left: 9vw;
    margin-top: 20vw;
  }
}
.p-aboutTsg1_txt h3 {
  font-size: 2.28vw;
  line-height: 1.3;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1_txt h3 {
    font-size: 5.85vw;
  }
}
.p-aboutTsg1_txt p {
  font-size: 1.21vw;
  margin-top: 2.3vw;
  line-height: 1.98;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg1_txt p {
    font-size: 3.38vw;
  }
}

.p-aboutTsg2 {
  padding-top: 9.14vw;
  padding-bottom: 4vw;
}
.p-aboutTsg2_block {
  display: flex;
  padding-bottom: 9vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block {
    flex-flow: column;
  }
}
.p-aboutTsg2_block:nth-of-type(n+2) {
  padding-top: 4.64vw;
  border-top: 1px solid #AEAEAE;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block:nth-of-type(n+2) {
    border-top: none;
  }
}
.p-aboutTsg2_block:nth-last-of-type(1) {
  padding-bottom: 0;
}
.p-aboutTsg2_block.-noline:nth-of-type(n+2) {
  border-top: none;
}
.p-aboutTsg2_block > dt {
  font-size: 1.71vw;
  width: 22.85vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dt {
    font-size: 4.42vw;
    width: auto;
  }
}
.p-aboutTsg2_block > dd {
  flex: 1;
  padding-left: 4.5vw;
}
.p-aboutTsg2_block > dd ._txt {
  letter-spacing: 0em;
}
.p-aboutTsg2_block > dd ._txt h3 {
  font-size: 2.28vw;
  line-height: 1.3;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._txt h3 {
    font-size: 5.85vw;
  }
}
.p-aboutTsg2_block > dd ._txt h3 span {
  display: block;
}
.p-aboutTsg2_block > dd ._txt p {
  font-size: 1.21vw;
  margin-top: 1.5vw;
  line-height: 1.8;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._txt p {
    font-size: 3.38vw;
  }
}
.p-aboutTsg2_block > dd ._txt p.-p1 {
  width: 30.35vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._txt p.-p1 {
    width: auto;
  }
}
.p-aboutTsg2_block > dd ._txt p.-p2 {
  width: 40.35vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._txt p.-p2 {
    width: auto;
  }
}
.p-aboutTsg2_block > dd ._txt p.-p3 {
  width: 39.78vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._txt p.-p3 {
    width: auto;
  }
}
.p-aboutTsg2_block > dd ._img1 {
  width: 41.85vw;
  margin-left: auto;
  margin-right: -5.8vw;
  margin-top: -16.5vw;
  margin-bottom: -9vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._img1 {
    width: auto;
    margin: 0;
  }
}
.p-aboutTsg2_block > dd ._img2 {
  position: relative;
  height: 19vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._img2 {
    height: 40vw;
  }
}
.p-aboutTsg2_block > dd ._img2 > div {
  position: absolute;
  display: block;
  width: 70vw;
  top: -18vw;
  right: -14.5vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._img2 > div {
    width: 140vw;
    right: auto;
    left: -13vw;
    transform: rotate(10deg);
  }
}
.p-aboutTsg2_block > dd ._img3 {
  margin-right: -15%;
  margin-top: 3.8vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._img3 {
    margin-right: -46%;
    margin-top: 8vw;
  }
}
.p-aboutTsg2_block > dd ._info {
  background-color: #BEC8CE;
  padding: 3vw 3.21vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info {
    border-top-left-radius: 4vw;
    border-bottom-left-radius: 4vw;
    margin-top: 16vw;
    margin-right: -3.9vw;
    padding: 6.25vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col1 {
  display: flex;
  letter-spacing: 0em;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col1 {
    display: block;
  }
}
.p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(1) {
  width: 25.21vw;
  margin-top: -10.5vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(1) {
    width: 50vw;
    margin-top: -24vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(2) {
  flex: 1;
}
.p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(2) h4 {
  font-size: 2vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(2) h4 {
    font-size: 5.85vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(2) p {
  font-size: 1.07vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  margin-top: 1.5vw;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col1 > div:nth-of-type(2) p {
    font-size: 3.38vw;
    margin-top: 3vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col2 {
  background-color: #fff;
  border-radius: 1vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  padding: 1.14vw 1.64vw;
  margin-top: 2vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col2 {
    margin-top: 4vw;
    display: block;
    border-radius: 2.5vw;
    padding: 3vw 5vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col2 > div {
  width: 13.42vw;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col2 > div {
    width: 40.1vw;
  }
}
.p-aboutTsg2_block > dd ._info ._col2 p {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._info ._col2 p {
    font-size: 3.38vw;
    margin-top: 3vw;
    padding-left: 2vw;
  }
}
.p-aboutTsg2_block > dd ._list {
  margin-top: 1em;
}
.p-aboutTsg2_block > dd ._list > span {
  display: block;
  font-size: 1.42vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._list > span {
    font-size: 4.55vw;
  }
}
.p-aboutTsg2_block > dd ._list ul li {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-aboutTsg2_block > dd ._list ul li {
    font-size: 3.38vw;
  }
}

/* -----------------------------------
aboutVision
------------------------------------ */
.p-aboutVision {
  padding-top: 2.7vw;
}
.p-aboutVision_block {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block {
    display: block;
  }
}
.p-aboutVision_block:nth-of-type(n+2) {
  margin-top: 4.3vw;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block:nth-of-type(n+2) {
    margin-top: 12vw;
  }
}
.p-aboutVision_block > dt {
  font-size: 1.71vw;
  width: 22.85vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dt {
    font-size: 4.42vw;
    width: auto;
  }
}
.p-aboutVision_block > dt::before {
  content: "◎";
  margin-right: 0.2em;
}
.p-aboutVision_block > dt span {
  font-size: 1.28vw;
  margin-left: 0.7em;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dt span {
    font-size: 3.25vw;
  }
}
.p-aboutVision_block > dd {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd {
    padding-left: 4.5vw;
    padding-top: 3vw;
  }
}
.p-aboutVision_block > dd > h3 {
  font-size: 2.28vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > h3 {
    font-size: 5.85vw;
    line-height: 1.3;
  }
}
.p-aboutVision_block > dd > p {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  margin-top: 1em;
  width: 42.85vw;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > p {
    font-size: 3.38vw;
    width: auto;
  }
}
.p-aboutVision_block > dd > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.28vw 2vw;
  padding-bottom: 9vw;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > ul {
    margin-right: -3.9vw;
    grid-template-columns: repeat(1, 1fr);
    gap: 1vw;
    padding-top: 2vw;
    padding-bottom: 25vw;
  }
}
.p-aboutVision_block > dd > ul li {
  background-color: #fff;
  padding: 1.8vw 2vw 2vw;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > ul li {
    padding: 7vw;
    padding-right: 4vw;
  }
}
.p-aboutVision_block > dd > ul li > div {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > ul li > div {
    font-size: 3.38vw;
  }
}
.p-aboutVision_block > dd > ul li h3 {
  font-size: 2.28vw;
  height: 2.6em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > ul li h3 {
    font-size: 5.85vw;
    height: auto;
    margin-top: 1vw;
  }
}
.p-aboutVision_block > dd > ul li h3 span {
  display: block;
}
.p-aboutVision_block > dd > ul li p {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  letter-spacing: -0.05em;
  margin-top: 1.1em;
}
@media screen and (max-width: 768px) {
  .p-aboutVision_block > dd > ul li p {
    font-size: 3.38vw;
    margin-top: 2vw;
  }
}

/* -----------------------------------
secDownload2
------------------------------------ */
.p-secDownload2 {
  padding: 4vw 5.71% 6.57vw;
  border-top: 1px solid #AEAEAE;
}
.p-secDownload2_txt {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  font-size: 1.28vw;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-secDownload2_txt {
    font-size: 3.38vw;
  }
}
.p-secDownload2_link {
  margin-top: 2vw;
}

/* -----------------------------------
material
------------------------------------ */
.p-material_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0 !important;
  border-top: 1px solid #B0B0B0;
  border-bottom: 1px solid #B0B0B0;
}
@media screen and (max-width: 768px) {
  .p-material_list {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
.p-material_list > li {
  display: flex;
  align-items: center;
  gap: 1.2vw;
  padding: 1.78vw !important;
}
@media screen and (max-width: 768px) {
  .p-material_list > li {
    padding: 1.78vw 0 !important;
    transform: none !important;
  }
}
.p-material_list > li:nth-of-type(2n+1) {
  border-right: 1px solid #B0B0B0;
}
@media screen and (max-width: 768px) {
  .p-material_list > li:nth-of-type(2n+1) {
    border-right: none;
  }
}
.p-material_list > li:nth-of-type(-n+4) {
  border-bottom: 1px solid #B0B0B0;
}
.p-material_list > li ._img {
  width: 45% !important;
}
@media screen and (max-width: 768px) {
  .p-material_list > li ._img {
    width: 30% !important;
  }
}
.p-material_list > li h3 {
  flex: 1;
  font-size: 1.28vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-material_list > li h3 {
    font-size: 4.68vw;
  }
}
.p-material_list > li h3 span {
  display: block;
}

/* -----------------------------------
404
------------------------------------ */
.p-sec404 {
  position: relative;
  padding-top: 7vw;
  padding-bottom: 7vw;
  background-color: #EDECEE;
}
@media screen and (max-width: 768px) {
  .p-sec404 {
    padding-bottom: 18vw;
  }
}
.p-sec404_img {
  position: absolute;
  left: -5%;
  bottom: 0;
  transform: translateY(42%);
  width: 69.85%;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-sec404_img {
    left: 60%;
    transform: translateY(42%) scaleX(-1);
  }
}
.p-sec404_txt {
  padding-left: 55%;
}
@media screen and (max-width: 768px) {
  .p-sec404_txt {
    padding: 0 8vw;
  }
}
.p-sec404_txt h3 {
  font-size: 2.28vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-sec404_txt h3 {
    font-size: 5.85vw;
  }
}
.p-sec404_txt p {
  font-size: 1.21vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-sec404_txt p {
    font-size: 3.38vw;
    margin-top: 2.42vw;
  }
}
.p-sec404_txt ._link {
  font-size: 2.14vw;
  margin-top: 1.5vw;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  padding-left: 2.5vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-sec404_txt ._link {
    font-size: 5.2vw;
    padding-left: 6.07vw;
    margin-top: 3.63vw;
  }
}
.p-sec404_txt ._link::before {
  content: "";
  display: block;
  width: 1.21vw;
  height: 1vw;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scaleX(-1);
  background: url(../img/common/ico_arrow1.svg) no-repeat;
}
@media screen and (max-width: 768px) {
  .p-sec404_txt ._link::before {
    width: 2.94vw;
    height: 2.42vw;
  }
}
.p-sec404_txt ._link a {
  text-decoration: none;
}

/* -----------------------------------
thanks
------------------------------------ */
.p-secThanks {
  padding: 4vw 5.71% 6.57vw;
  border-top: 1px solid #AEAEAE;
}
.p-secThanks_txt1 {
  font-size: 2vw;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secThanks_txt1 {
    font-size: 5.28vw;
  }
}
.p-secThanks_txt2 {
  font-size: 1.28vw;
  margin-top: 3vw;
  padding-left: 0.25em;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-secThanks_txt2 {
    font-size: 3.38vw;
  }
}
.p-secThanks_txt2 p:nth-of-type(n+2) {
  margin-top: 1.2em;
}

/* -----------------------------------
SVG
------------------------------------ */
.p-ico_logo_white .p-ico_logo_white_path {
  fill: #FFFFFF;
  transform: translateY(100%);
  transition: transform 0.5s;
}
.p-ico_logo_white .p-ico_logo_white_path:nth-of-type(1) {
  transition-delay: 0.3s;
}
.p-ico_logo_white .p-ico_logo_white_path:nth-of-type(2) {
  transition-delay: 0.2s;
}
.p-ico_logo_white .p-ico_logo_white_path:nth-of-type(3) {
  transition-delay: 0.1s;
}
.p-ico_logo_white .p-ico_logo_white_path:nth-of-type(4) {
  transition-delay: 0s;
}
.p-ico_logo_white.is-animation .p-ico_logo_white_path {
  transform: translateY(0%);
}
.p-ico_logo_white.is-animation .p-ico_logo_white_path:nth-of-type(1) {
  transition-delay: 0s;
}
.p-ico_logo_white.is-animation .p-ico_logo_white_path:nth-of-type(2) {
  transition-delay: 0.1s;
}
.p-ico_logo_white.is-animation .p-ico_logo_white_path:nth-of-type(3) {
  transition-delay: 0.2s;
}
.p-ico_logo_white.is-animation .p-ico_logo_white_path:nth-of-type(4) {
  transition-delay: 0.3s;
}

/* ---------------------------------------
animation common
--------------------------------------- */
.js-animation.-fadein {
  transition: opacity 0.4s ease-out;
  opacity: 0;
}
.js-animation.-fadein.is-animation {
  opacity: 1;
}
.js-animation.-slidein {
  transition: 0.4s ease-out;
  opacity: 0;
  transform: translateX(-100px);
}
.js-animation.-slidein.is-animation {
  opacity: 1;
  transform: translateX(0px);
}
.js-animation.-slideup {
  transition: 0.6s ease-out;
  opacity: 0;
  transform: translateY(20px);
}
.js-animation.-slideup.is-animation {
  opacity: 1;
  transform: translateY(0px);
}
.js-animation.-zoomup {
  transition: 0.3s;
  transition-timing-function: cubic-bezier(0.1, 0.84, 0.8, 1.35);
  opacity: 0;
  transform: scale(0.7, 0.7) translateY(40px);
}
.js-animation.-zoomup.is-animation {
  opacity: 1;
  transform: scale(1, 1) translateY(0px);
}
@media screen and (min-width: 769px) {
  .js-animation.-delay1 {
    transition-delay: 0.1s;
  }
  .js-animation.-delay2 {
    transition-delay: 0.2s;
  }
  .js-animation.-delay3 {
    transition-delay: 0.3s;
  }
  .js-animation.-delay4 {
    transition-delay: 0.4s;
  }
  .js-animation.-delay5 {
    transition-delay: 0.5s;
  }
  .js-animation.-delay6 {
    transition-delay: 0.6s;
  }
  .js-animation.-delay7 {
    transition-delay: 0.7s;
  }
  .js-animation.-delay8 {
    transition-delay: 0.8s;
  }
  .js-animation.-delay9 {
    transition-delay: 0.9s;
  }
  .js-animation.-delay10 {
    transition-delay: 1s;
  }
}

/* -----------------------------------
Utility
------------------------------------ */
/*
 * _utility.scss
 */
/* -----------------------------------
print
------------------------------------ */
@media print {
  .u-printHidden {
    display: none;
  }
}

.u-printVisible {
  display: none;
}
@media print {
  .u-printVisible {
    display: block;
  }
}

/* -----------------------------------
font
------------------------------------ */
.u-fwb {
  font-weight: bold !important;
}

.u-fwn {
  font-weight: normal !important;
}

/* -----------------------------------
align
------------------------------------ */
.u-tc {
  text-align: center !important;
}

.u-tl {
  text-align: left !important;
}

.u-tr {
  text-align: right !important;
}

/* -----------------------------------
padding
------------------------------------ */
.u-mt0 {
  margin-top: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

/* -----------------------------------
font-size rem
------------------------------------ */
.u-fz10px {
  font-size: 1rem;
}

.u-fz11px {
  font-size: 1.1rem;
}

.u-fz12px {
  font-size: 1.2rem;
}

.u-fz13px {
  font-size: 1.3rem;
}

.u-fz14px {
  font-size: 1.4rem;
}

/* -----------------------------------
font-size em
------------------------------------ */
.u-fz09em {
  font-size: 0.9em;
}

.u-fz10em {
  font-size: 1em;
}

.u-fz11em {
  font-size: 1.1em;
}

.u-fz12em {
  font-size: 1.2em;
}

.u-fz13em {
  font-size: 1.3em;
}

.u-fz14em {
  font-size: 1.4em;
}

/* -----------------------------------
clerfix
------------------------------------ */
.sec::after,
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* -----------------------------------
display
------------------------------------ */
.u-d_b {
  display: block !important;
}

.u-d_n {
  display: none !important;
}

.u-d_ib {
  display: inline-block !important;
}

/* -----------------------------------
display adjust
------------------------------------ */
.u-smhide, .u-sphide, .u-middlehide, .u-tablethide, .u-basehide {
  display: block;
}

.u-smblock, .u-spblock, .u-middleblock, .u-tabletblock, .u-baseblock {
  display: none;
}

@media screen and (max-width: 1499px) {
  .u-baseblock {
    display: block;
  }
  .u-basehide {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .u-tabletblock {
    display: block;
  }
  .u-tablethide {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-middleblock {
    display: block;
  }
  .u-middlehide {
    display: none !important;
  }
}
@media screen and (max-width: 950px) {
  .u-spblock {
    display: block;
  }
  .u-sphide {
    display: none !important;
  }
}
@media screen and (max-width: 374px) {
  .u-smblock {
    display: block;
  }
  .u-smhide {
    display: none !important;
  }
}
/* ===================================
Page
=================================== */
/*
 * _page.scss
 */
/* -----------------------------------
#top
------------------------------------ *//*# sourceMappingURL=style.css.map */