@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap");
/* ------------------------------
    mixin
------------------------------ */
/* ------------------------------
    reset
------------------------------ */
html {
  font-size: 62.5%;
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.2222222222vw;
  }
}

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

body, h1, h2, h3, h4, h5, h6, p, address, time,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure, figcaption,
form, input, button, textarea, select {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  -webkit-text-size-adjust: 100%;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  resize: none;
  outline: none;
  background: none;
}

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

button:hover {
  cursor: pointer;
}

a {
  color: #000;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a {
    transition: opacity 0.3s ease;
  }
  a:hover {
    opacity: 0.6;
    cursor: pointer;
  }
}

img, object, picture, svg {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

/* ------------------------------
    base
------------------------------ */
html, body {
  min-height: 100vh;
}

body {
  color: #000;
  font-size: 1rem;
  text-align: left;
  display: flex;
  flex-direction: column;
}

section {
  position: relative;
}

main {
  flex: 1 1 auto;
  padding-top: 10rem;
}

.wrap {
  width: 90%;
  max-width: 100rem;
  padding: 0;
  margin: 0 auto;
  position: relative;
}
.wrap._wide {
  max-width: 120rem;
}
.wrap._narrow {
  max-width: 70rem;
}

p, th, td, dt, dd, li, input, button, textarea {
  font-size: 1.6rem;
  line-height: 2;
}

.tal {
  text-align: left;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.bold, strong {
  font-weight: bold;
}

.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .fade {
    transition: opacity 0.3s ease;
  }
  .fade:hover {
    opacity: 0.6;
    cursor: pointer;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
  }
  main {
    padding-top: 50px;
  }
  input, textarea, select, .select {
    font-size: max(1.6rem, 16px) !important;
  }
}
/* ------------------------------
    header
------------------------------ */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: #fff;
}
#header .wrap {
  width: 100%;
  max-width: 126rem;
  height: 10rem;
  padding: 0 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#header .logo_wrap .logo img {
  width: 8rem;
}
#header #header_nav {
  flex: 1 1 auto;
  margin-left: 2rem;
}
#header #header_nav .inner {
  display: flex;
  align-content: center;
  gap: 3rem;
}
#header #header_nav .nav {
  flex: 1 1 auto;
  display: flex;
}
#header #header_nav .nav > li {
  font-size: 1.4rem;
  position: relative;
}
@media screen and (max-width: 950px) and (min-width: 768px) {
  #header #header_nav .nav > li {
    font-size: 1.0rem;
  }
}
#header #header_nav .nav > li > a {
  height: 10rem;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0 1em;
}
#header #header_nav .nav > li > a::before {
  content: "";
  position: absolute;
  left: 1em;
  top: 50%;
  width: calc(100% - 2em);
  margin-top: 1em;
  height: 2px;
  background: #000;
  scale: 0 1;
  transition: scale 0.3s ease;
  transform-origin: left top;
}
#header #header_nav .nav .dropdown .sub {
  background: #222;
}
#header #header_nav .nav .dropdown .sub li:first-child {
  padding-top: 1em;
}
#header #header_nav .nav .dropdown .sub li:last-child {
  padding-bottom: 1em;
}
#header #header_nav .nav .dropdown .sub li a {
  display: block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 0.5em 1em;
  white-space: nowrap;
  opacity: 0.5;
}
#header #header_nav .nav .dropdown .sub li a:hover {
  opacity: 1;
}
#header #header_nav .nav .dropdown .sub li a[target=_blank]::after {
  content: "";
  background: url("../img/common/ico_blank_w.svg") no-repeat center/contain;
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-left: 0.5em;
}
@media screen and (min-width: 768px) {
  #header #header_nav .nav > li:hover a::before {
    scale: 1 1;
  }
  #header #header_nav .nav .dropdown .sub {
    position: absolute;
    left: 0;
    top: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    display: block !important;
  }
  #header #header_nav .nav .dropdown:hover .sub {
    max-height: 30rem;
  }
}
#header #header_nav .sns {
  display: flex;
  align-items: center;
  gap: 2rem;
}
#header #header_nav .sns img {
  width: auto;
  height: 2.5rem;
}
#header #header_nav .btn {
  display: flex;
  align-items: center;
}
#header #header_nav .btn a {
  background: #000;
  color: #fff;
  padding: 0.4em 1.2em;
  border-radius: 100px;
  font-size: 1.4rem;
}
#header .overlay {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 997;
}
#header .overlay.is-active {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  #header,
  #header .wrap,
  #header .logo_wrap {
    width: 100%;
    height: 50px;
  }
  #header {
    background-color: transparent;
    padding: 0;
    margin: 0;
  }
  #header .wrap {
    padding: 0;
    display: block;
    position: relative;
    min-width: inherit;
  }
  #header .logo_wrap {
    display: flex;
    align-items: center;
    position: relative;
    background: #fff;
    z-index: 999;
    padding: 0;
  }
  #header .logo_wrap .logo {
    padding-left: 15px;
  }
  #header .logo_wrap .logo img {
    display: block;
    width: 150px;
    height: auto;
  }
  #header .store {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 50px;
    width: 40px;
    height: 50px;
    z-index: 999;
  }
  #header .store a {
    display: block;
  }
  #header .store a .ico {
    width: 15px;
    height: 15px;
  }
  #header .menu-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 999;
  }
  #header .menu-trigger .ico {
    width: 20px;
    height: 20px;
    position: relative;
  }
  #header .menu-trigger .ico span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
  }
  #header .menu-trigger .ico span:nth-of-type(1) {
    top: 15%;
  }
  #header .menu-trigger .ico span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  #header .menu-trigger .ico span:nth-of-type(3) {
    bottom: 15%;
  }
  #header #header_nav {
    width: 100%;
    opacity: 0;
    padding: 0;
    margin: 0;
    position: fixed;
    left: 0;
    top: 60px;
    overflow-y: auto;
    max-height: calc(100% - 60px);
    transform: translateY(-100%);
    transition: transform 0.3s, opacity 1s;
    z-index: 998;
  }
  #header #header_nav .inner {
    background: #222;
    color: #fff;
    flex-direction: column;
    gap: 4rem;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    position: relative;
    margin: 0;
    padding: 0 0 10vw;
  }
  #header #header_nav .inner a {
    color: #fff;
  }
  #header #header_nav .inner .nav {
    margin: 0;
    display: block;
    width: 100%;
  }
  #header #header_nav .inner .nav > li {
    display: block;
    font-size: 1.8rem;
    border-bottom: 1px solid #aaa;
  }
  #header #header_nav .inner .nav > li > a {
    padding: 0 8vw;
    height: 7rem;
  }
  #header #header_nav .inner .nav > li:not(.dropdown) > a::after {
    content: "";
    position: absolute;
    right: 1em;
    top: 50%;
    translate: -90% -50%;
    width: 0.8em;
    height: 0.8em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    rotate: 45deg;
  }
  #header #header_nav .inner .nav .dropdown .acd {
    height: 7rem;
    width: 7rem;
    position: absolute;
    right: 0;
    top: 0;
  }
  #header #header_nav .inner .nav .dropdown .acd::before, #header #header_nav .inner .nav .dropdown .acd::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    width: 30%;
    height: 2px;
    background: #fff;
    transition: rotate 0.3s ease;
  }
  #header #header_nav .inner .nav .dropdown .acd::after {
    rotate: 90deg;
  }
  #header #header_nav .inner .nav .dropdown .acd.is-open::after {
    rotate: 175deg;
  }
  #header #header_nav .inner .nav .dropdown .sub {
    background: #000;
    border-top: 1px solid #aaa;
  }
  #header #header_nav .inner .nav .dropdown .sub li a {
    padding: 0.5em 8vw;
    font-size: 1.8rem;
    opacity: 1;
  }
  #header #header_nav .inner .btn, #header #header_nav .inner .sns {
    margin: 0 8vw;
  }
  #header #header_nav .inner .btn a {
    background: #fff;
    color: #000;
    font-size: 2rem;
  }
  #header #header_nav .inner .sns {
    gap: 4rem;
  }
  #header #header_nav .inner .sns img {
    height: 3.5rem;
  }
  #header.is-open .menu-trigger .ico span:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
  }
  #header.is-open .menu-trigger .ico span:nth-of-type(2) {
    opacity: 0;
  }
  #header.is-open .menu-trigger .ico span:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(45deg);
  }
  #header.is-open #header_nav {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.3s, opacity 0s;
  }
}
#products_header {
  background: #222;
  color: #fff;
  position: fixed;
  left: 0;
  top: 10rem;
  width: 100%;
  height: 6rem;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  #products_header {
    height: 50px;
    top: 50px;
  }
}
#products_header .wrap {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #products_header .wrap {
    gap: 0;
    margin-right: 0;
    width: 95%;
  }
}
#products_header .acd {
  order: 3;
  width: 50px;
  height: 50px;
  position: relative;
}
#products_header .acd::before, #products_header .acd::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 20px;
  height: 1px;
  background: #fff;
  transition: rotate 0.3s ease;
}
#products_header .acd::after {
  rotate: 90deg;
}
#products_header .acd.is-open::after {
  rotate: 175deg;
}
#products_header .ttl {
  flex: 1 1 auto;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #products_header .ttl {
    font-size: 1.8rem;
  }
  #products_header .ttl._small {
    font-size: 1.4rem;
  }
}
#products_header .nav {
  display: flex;
  gap: 2.5em;
}
#products_header .nav li a {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  padding-right: 1em;
  position: relative;
}
#products_header .nav li a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  rotate: 45deg;
}
#products_header .nav li.anchor a::after {
  rotate: 135deg;
}
@media screen and (max-width: 767px) {
  #products_header .nav {
    position: absolute;
    left: 0;
    top: 100%;
    margin: -1px -5vw 0;
    width: 100vw;
    background: #000;
    flex-direction: column;
    gap: 0;
    padding: 1rem 0;
  }
  #products_header .nav li {
    padding: 0.5em 2em;
  }
  #products_header .nav li a {
    font-size: 1.6rem;
  }
}
#products_header .store a {
  font-size: 1.2rem;
  padding-left: 2em;
  padding-right: 3em;
}
@media screen and (max-width: 767px) {
  #products_header .store {
    order: 2;
  }
  #products_header .store a {
    font-size: 1.4rem;
    padding-top: 0;
    padding-bottom: 0;
    height: 36px;
  }
}
@media screen and (min-width: 768px) {
  #products_header .nav {
    display: flex !important;
  }
}

/* ------------------------------
    footer
------------------------------ */
#footer {
  background: #000;
  color: #fff;
  padding: 12rem 0 8rem;
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 6rem 0;
  }
}
#footer a {
  color: #fff;
}
#footer .flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #footer .flex {
    flex-direction: column-reverse;
    gap: 5rem;
  }
}
#footer .logo_wrap .logo img {
  width: 12rem;
}
#footer .logo_wrap .store {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  #footer .logo_wrap .store {
    margin-top: 0;
  }
}
#footer .logo_wrap .store a {
  background: #fff;
  color: #000;
  padding: 0.6em 1.2em;
  border-radius: 100px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  #footer .logo_wrap .store a {
    font-size: 2rem;
  }
}
#footer .logo_wrap .sns {
  display: flex;
  align-content: center;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  #footer .logo_wrap .sns {
    gap: 4rem;
    margin-top: 4rem;
  }
}
#footer .logo_wrap .sns img {
  width: auto;
  height: 2.5rem;
}
@media screen and (max-width: 767px) {
  #footer .logo_wrap .sns img {
    height: 3.5rem;
  }
}
#footer .copy_wrap {
  margin-top: 4rem;
}
#footer .copy_wrap .bnr {
  display: flex;
  gap: 1rem;
}
#footer .copy_wrap .bnr img {
  width: 10rem;
}
@media screen and (max-width: 767px) {
  #footer .copy_wrap .bnr img {
    width: 12rem;
  }
}
#footer .copy_wrap .logo {
  margin: 6rem 0 4rem;
}
#footer .copy_wrap .logo img {
  width: 14rem;
}
#footer .copy_wrap .copy {
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  #footer .copy_wrap .copy {
    font-size: 1.4rem;
  }
}
#footer .nav_wrap {
  display: flex;
  gap: 8rem;
}
@media screen and (max-width: 767px) {
  #footer .nav_wrap {
    flex-direction: column;
    gap: 3rem;
  }
}
#footer .nav_wrap .item {
  display: flex;
  flex-direction: column;
}
#footer .nav_wrap .ttl {
  font-size: 1.4rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  #footer .nav_wrap .ttl {
    font-size: 1.8rem;
  }
}
#footer .nav_wrap .nav {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
#footer .nav_wrap .nav li {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  #footer .nav_wrap .nav li {
    font-size: 1.6rem;
  }
}
#footer .nav_wrap .nav li a[target=_blank]::after {
  content: "";
  background: url("../img/common/ico_blank_w.svg") no-repeat center/contain;
  width: 1em;
  height: 1em;
  display: inline-block;
  margin-left: 0.5em;
}
#footer .nav_wrap .nav + .ttl, #footer .nav_wrap .nav + .nav {
  margin-top: 4rem;
}
#footer .nav_wrap .privacy {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-end;
  font-size: 1.2rem;
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  #footer .nav_wrap .privacy {
    font-size: 1.4rem;
  }
}

.pagetop {
  position: fixed;
  right: 3rem;
  bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .pagetop {
    right: 5vw;
    bottom: 5vw;
  }
}
.pagetop a {
  background: #000;
  display: block;
  width: 3rem;
  height: 3rem;
  text-indent: -1000px;
  overflow: hidden;
}
.pagetop a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -30%;
  width: 50%;
  height: 50%;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  rotate: 45deg;
}

/* ------------------------------
    common
------------------------------ */
.c-pad_first {
  padding-top: 9rem;
}
@media screen and (max-width: 767px) {
  .c-pad_first {
    padding-top: 6rem;
  }
}

.c-pad_last {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .c-pad_last {
    padding-bottom: 10rem;
  }
}

.c-pad_products {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .c-pad_products {
    padding-top: 50px;
  }
}

.c-mr0 {
  margin-right: -20rem;
}
@media screen and (max-width: 1400px) {
  .c-mr0 {
    margin-right: calc(-50vw + 50rem);
  }
}
@media screen and (max-width: 767px) {
  .c-mr0 {
    margin-right: -5vw;
  }
}

.c-ml0 {
  margin-left: -20rem;
}
@media screen and (max-width: 1400px) {
  .c-ml0 {
    margin-left: calc(-50vw + 50rem);
  }
}
@media screen and (max-width: 767px) {
  .c-ml0 {
    margin-left: -5vw;
  }
}

.c-mr10 {
  margin-right: -10rem;
}
@media screen and (max-width: 1300px) {
  .c-mr10 {
    margin-right: calc(-50vw + 55rem);
  }
}
@media screen and (max-width: 767px) {
  .c-mr10 {
    margin-right: -5vw;
  }
}

.c-ml10 {
  margin-left: -10rem;
}
@media screen and (max-width: 1300px) {
  .c-ml10 {
    margin-left: calc(-50vw + 55rem);
  }
}
@media screen and (max-width: 767px) {
  .c-ml10 {
    margin-left: -5vw;
  }
}

#breadcrumbs {
  background: #222;
  color: #fff;
  height: 4rem;
}
#breadcrumbs .list {
  flex: 1 1 auto;
  display: flex;
}
#breadcrumbs .list li {
  font-size: 1.4rem;
}
#breadcrumbs .list li a {
  color: #fff;
}
#breadcrumbs .list li::after {
  content: "＞";
  margin: 0 0.5em;
}
#breadcrumbs .list li:last-child::after {
  display: none;
}
#breadcrumbs .wrap {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 3rem;
}
#breadcrumbs .nav {
  display: flex;
  gap: 2.5em;
}
#breadcrumbs .acd {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  cursor: pointer;
}
#breadcrumbs .acd::before,
#breadcrumbs .acd::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #555;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
#breadcrumbs .acd::before {
  width: 1.6rem;
  height: 2px;
  transform: translate(-50%, -50%);
}
#breadcrumbs .acd::after {
  width: 2px;
  height: 1.6rem;
  transform: translate(-50%, -50%);
}
#breadcrumbs .acd.open::after {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  #breadcrumbs .wrap {
    flex-wrap: wrap;
  }
  #breadcrumbs .nav {
    display: none;
    width: 100%;
    flex-direction: column;
    gap: 0;
    margin-top: 1rem;
  }
  #breadcrumbs .nav li {
    border-top: 1px solid #ddd;
  }
  #breadcrumbs .nav li a {
    display: block;
    padding: 1.2em 0;
  }
}
#breadcrumbs .nav li {
  font-size: 1.2rem;
}
#breadcrumbs .nav li a {
  display: inline-block;
  color: #fff;
  padding-right: 1em;
  position: relative;
}
#breadcrumbs .nav li a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  rotate: 45deg;
}
#breadcrumbs .nav li.anchor a::after {
  rotate: 135deg;
}

i.ico {
  display: inline-block;
  width: 1em;
  height: 1em;
}
i.ico:first-child {
  margin-right: 0.5em;
}
i.ico:last-child {
  margin-left: 0.5em;
}
i.ico img, i.ico svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.c-ttl01,
.c-ttl02,
.c-ttl03,
.c-ttl04,
.c-ttl05,
.c-ttl06 {
  line-height: 1.5;
  font-weight: 500;
  margin-top: 2em;
  margin-bottom: 0.8em;
  letter-spacing: 1.6px;
}
.c-ttl01:first-child,
.c-ttl02:first-child,
.c-ttl03:first-child,
.c-ttl04:first-child,
.c-ttl05:first-child,
.c-ttl06:first-child {
  margin-top: 0;
}
.c-ttl01._border,
.c-ttl02._border,
.c-ttl03._border,
.c-ttl04._border,
.c-ttl05._border,
.c-ttl06._border {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #aaa;
}
.c-ttl01.tal,
.c-ttl02.tal,
.c-ttl03.tal,
.c-ttl04.tal,
.c-ttl05.tal,
.c-ttl06.tal {
  text-align: left;
}
.c-ttl01.tar,
.c-ttl02.tar,
.c-ttl03.tar,
.c-ttl04.tar,
.c-ttl05.tar,
.c-ttl06.tar {
  text-align: right;
}

.c-ttl01 {
  font-size: 2.8rem;
}

.c-ttl02 {
  font-size: 2.4rem;
}

.c-ttl03 {
  background: #fff;
  border: 1px solid #aaa;
  font-size: 2.2rem;
  padding: 0 1em;
  margin-top: 1.5em;
  text-align: center;
}
.c-ttl03._small {
  font-size: 1.6rem;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
.c-ttl03._no-border {
  padding: 0;
  border: none;
}

.c-ttl04 {
  background: #EBEBEB;
  font-size: 1.6rem;
  padding: 0.3em 1em;
  margin-top: 1.5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-ttl04 {
    font-size: 1.8rem;
  }
}

.c-ttl05 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-ttl05 {
    font-size: 2.2rem;
  }
}

.c-ttl06 {
  background: #222;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  padding: 0.3em 1em;
}

.c-btn01 {
  font-size: 1.6rem;
}
.c-btn01 a, .c-btn01 button, .c-btn01 input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  padding: 0.4em 1.5em;
  border-radius: 100px;
}
.c-btn01._arrow-r a, .c-btn01._arrow-r button, .c-btn01._arrow-r input {
  background-image: url(../img/common/ico_arrow_rw.svg);
  background-repeat: no-repeat;
  background-position: right 1em center;
  background-size: 1.5em auto;
  padding-right: 3em;
}
.c-btn01._triangle-b a, .c-btn01._triangle-b button, .c-btn01._triangle-b input {
  background-image: url(../img/common/ico_triangle_bw.svg);
  background-repeat: no-repeat;
  background-position: right 1.5em center;
  background-size: 1em auto;
  padding-right: 3em;
}
.c-btn01._triangle-r a, .c-btn01._triangle-r button, .c-btn01._triangle-r input {
  background-image: url(../img/common/ico_triangle_rw.svg);
  background-repeat: no-repeat;
  background-position: right 1.5em center;
  background-size: 1em auto;
  padding-right: 3em;
}
.c-btn01._blank a, .c-btn01._blank button, .c-btn01._blank input {
  background-image: url(../img/common/ico_blank_w.svg);
  background-repeat: no-repeat;
  background-position: right 1.5em center;
  background-size: 0.8em auto;
  padding-right: 3em;
}
.c-btn01._topics a, .c-btn01._topics button, .c-btn01._topics input {
  background-color: #707E88;
}
.c-btn01._en a, .c-btn01._en button, .c-btn01._en input {
  font-family: "Lato", sans-serif;
  letter-spacing: 0.05em;
}
.c-btn01._white a, .c-btn01._white button, .c-btn01._white input {
  background-color: #fff;
  color: #000;
}
.c-btn01._white._arrow-r a, .c-btn01._white._arrow-r button, .c-btn01._white._arrow-r input {
  background-image: url(../img/common/ico_arrow_r.svg);
}
.c-btn01._white._blank a, .c-btn01._white._blank button, .c-btn01._white._blank input {
  background-image: url(../img/common/ico_blank.svg);
}

.c-bg_white {
  background: #fff;
  width: 90%;
  max-width: 120rem;
  padding: 10rem 0;
  margin: 4rem auto;
}
.c-bg_white._narrow {
  max-width: 100rem;
}
@media screen and (max-width: 767px) {
  .c-bg_white {
    padding: 4rem 0;
  }
}

.c-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 3rem;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .c-pager {
    gap: 2rem;
  }
}
.c-pager li {
  color: #707E88;
  font-size: 2.5rem;
  line-height: 1;
}
.c-pager li a {
  color: #ccc;
}
.c-pager .prev a, .c-pager .next a {
  background: #707E88;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 100%;
  text-indent: -1000px;
  overflow: hidden;
  position: relative;
}
.c-pager .prev a::before, .c-pager .next a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -70% -50%;
  width: 40%;
  height: 40%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
}
.c-pager .prev._disabled a, .c-pager .next._disabled a {
  background: #fff;
  pointer-events: none;
}
.c-pager .prev._disabled a::before, .c-pager .next._disabled a::before {
  border-color: #ccc;
}
.c-pager .prev {
  scale: -1 1;
}

.c-post {
  zoom: 1;
}
.c-post::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden; /* 隙間対応 */
  font-size: 0.1em; /* 隙間対応 */
  line-height: 0; /* 隙間対応 */
}
.c-post p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: 2em 0;
}
.c-post p:first-child {
  margin-top: 0;
}
.c-post p:last-child {
  margin-bottom: 0;
}
.c-post h2, .c-post h3, .c-post h4, .c-post h5 {
  margin: 3em 0 1em;
  line-height: 1.8;
}
.c-post h2:first-child, .c-post h3:first-child, .c-post h4:first-child, .c-post h5:first-child {
  margin-top: 0;
}
.c-post h2 + p, .c-post h3 + p, .c-post h4 + p, .c-post h5 + p {
  margin-top: 0;
}
.c-post h2 {
  font-size: 1.8rem;
  font-weight: 600;
}
.c-post h3 {
  font-size: 1.6rem;
  font-weight: 600;
}
.c-post h4 {
  font-size: 1.6rem;
  font-weight: 600;
}
.c-post h4::before {
  content: "・";
}
.c-post h5 {
  font-size: 1.4rem;
  font-weight: 600;
}
.c-post .wp-block-image {
  margin-top: 2rem;
}
.c-post ul, .c-post ol {
  margin: 3em 0;
}
.c-post ul:first-child, .c-post ol:first-child {
  margin-top: 0;
}
.c-post ul:last-child, .c-post ol:last-child {
  margin-bottom: 0;
}
.c-post ul li, .c-post ol li {
  font-size: 1.4rem;
}
.c-post ul li + li, .c-post ol li + li {
  margin-top: 0.5em;
}
.c-post ul {
  padding: 0;
}
.c-post ul li {
  list-style: none;
  padding-left: 1.3em;
  position: relative;
}
.c-post ul li::before {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 0.7em;
  width: 0.5em;
  height: 0.5em;
  background: #999;
  border-radius: 100%;
}
.c-post ul.check li::before {
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 0;
}
.c-post ul.check li + li {
  margin-top: 1em;
}
.c-post ol {
  padding: 0;
  counter-reset: item;
}
.c-post ol li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.c-post ol li:nth-child(n+10) {
  padding-left: 2em;
  text-indent: -2em;
}
.c-post ol li::before {
  counter-increment: item;
  content: counter(item) ".";
  margin-right: 0.5em;
}
.c-post bold, .c-post strong {
  font-weight: 600;
}
.c-post em {
  font-style: italic;
}
.c-post a {
  color: #707E88;
  text-decoration: underline;
}
.c-post a:hover {
  text-decoration: none;
}
.c-post iframe, .c-post video {
  max-width: 40rem;
  height: 20rem;
  margin: 3em auto;
}
.c-post iframe:first-child, .c-post video:first-child {
  margin-top: 0;
}
.c-post iframe:last-child, .c-post video:last-child {
  margin-bottom: 0;
}
.c-post figure {
  margin: 5em 0;
  display: table !important;
}
.c-post figure figcaption {
  display: table-caption;
  caption-side: bottom;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: left;
  margin-top: 1em;
}
.c-post figure a:has(img) {
  display: block;
}
.c-post img.aligncenter {
  display: block;
  margin: 0 auto;
}
.c-post .aligncenter {
  text-align: center;
}
.c-post .alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.c-post .alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.c-post blockquote {
  background: #ddd;
  padding: 3rem;
  margin: 3em 0;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-post blockquote p {
  font-size: 1.4rem;
}
.c-post blockquote:first-child {
  margin-top: 0;
}
.c-post blockquote:last-child {
  margin-bottom: 0;
}
.c-post .indent {
  padding-left: 4rem;
  margin: 3em 0;
}
@media screen and (max-width: 767px) {
  .c-post .indent {
    padding-left: 2rem;
  }
}
.c-post hr {
  border: none;
  border-top: 3px dotted #aaa;
  margin: 5em 0;
}
.c-post .pickup {
  background: #FAFAFA;
  padding: 4rem;
  margin: 5em 0;
}
@media screen and (max-width: 767px) {
  .c-post .pickup {
    padding: 3rem;
  }
}
.c-post .pickup h3 {
  padding-bottom: 0.3em;
  margin-bottom: 3rem;
  border-bottom: 1px solid #aaa;
}
.c-post .pickup .item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .c-post .pickup .item {
    flex-direction: column;
    gap: 2rem;
  }
}
.c-post .pickup .item .img {
  flex: 0 0 auto;
  width: 12rem;
  margin: 0;
}
.c-post .pickup .item .img img {
  width: 100%;
}
.c-post .pickup .item h5 {
  text-decoration: underline;
}
.c-post .pickup .item h5 a {
  color: #000;
}
.c-post .pickup .item p {
  line-height: 1.6;
}
.c-post .pickup .item + .item {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 3px dotted #aaa;
}
@media screen and (max-width: 767px) {
  .c-post p, .c-post ul li, .c-post ol li {
    font-size: 1.6rem;
  }
  .c-post h2 {
    font-size: 2rem;
  }
  .c-post h3 {
    font-size: 1.8rem;
  }
  .c-post h4 {
    font-size: 1.8rem;
  }
  .c-post h5 {
    font-size: 1.6rem;
  }
  .c-post img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .c-post figure img {
    display: block;
    margin: 0 auto;
  }
  .c-post .aligncenter,
  .c-post .alignright,
  .c-post .alignleft {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .c-post blockquote {
    padding: 5vw;
    font-size: 1.6rem;
  }
  .c-post blockquote p {
    font-size: 1.6rem;
  }
  .c-post iframe, .c-post video {
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c-post .large img {
    width: 100%;
  }
  .c-post .medium img {
    width: 75%;
  }
  .c-post .small img {
    width: 50%;
  }
}

.c-form *::placeholder {
  color: #aaa;
}
.c-form .required {
  display: inline-block;
  background: #D50000;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 3px;
  padding: 0 0.5em;
}
.c-form label {
  display: inline-block;
  font-size: 1.3rem;
  margin: 0.2em 0;
}
.c-form label + label {
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .c-form label {
    font-size: 1.6rem;
  }
}
.c-form .grid {
  display: grid;
  grid-template-columns: 20% auto;
  border-bottom: 1px solid #aaa;
}
.c-form .grid .ttl, .c-form .grid .txt {
  border-top: 1px solid #aaa;
  padding: 1.5em;
}
.c-form .grid .ttl {
  background: #FAFAFA;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-form .grid .small {
  color: #5F5F5F;
  font-size: 1.2rem;
  margin-top: 1em;
}
.c-form .grid .name {
  max-width: 58rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em;
}
.c-form .grid .post {
  max-width: 32rem;
  display: grid;
  grid-template-columns: auto 1em auto;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-form .grid {
    display: block;
  }
  .c-form .grid .ttl {
    border-bottom: none;
    font-size: 1.6rem;
    padding: 0.8em 2em;
  }
  .c-form .grid .txt {
    border-top: none;
  }
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form textarea,
.c-form select {
  font-size: 1.6rem;
  padding: 0 1em;
  background: #fff;
  color: #000;
  border: 1px solid #aaa;
}
.c-form input[type=text]:-webkit-autofill,
.c-form input[type=email]:-webkit-autofill,
.c-form input[type=tel]:-webkit-autofill,
.c-form textarea:-webkit-autofill,
.c-form select:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset;
}
@media screen and (max-width: 767px) {
  .c-form input[type=text],
  .c-form input[type=email],
  .c-form input[type=tel],
  .c-form textarea,
  .c-form select {
    padding: 0 0.5em;
  }
}
.c-form textarea {
  line-height: 1.8em;
  padding: 0.7em 2em;
  height: 10em;
}
@media screen and (max-width: 767px) {
  .c-form textarea {
    padding: 0.5em;
  }
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form select {
  line-height: 3em;
  height: 3em;
}
.c-form input[type=text].medium,
.c-form input[type=email].medium,
.c-form input[type=tel].medium,
.c-form select.medium {
  max-width: 58rem;
}
.c-form input[type=text].short,
.c-form input[type=email].short,
.c-form input[type=tel].short,
.c-form select.short {
  max-width: 27.5rem;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel],
.c-form textarea {
  width: 100%;
}
.c-form select {
  background: #FAFAFA url("../img/common/select.svg") no-repeat right 1em center/auto 40%;
  padding-right: 2.5em;
  width: 100%;
}
.c-form input[type=radio],
.c-form input[type=checkbox] {
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
  visibility: hidden;
}
.c-form input[type=radio] + span,
.c-form input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  padding-left: 2.2em;
}
.c-form input[type=radio] + span::before, .c-form input[type=radio] + span::after,
.c-form input[type=checkbox] + span::before,
.c-form input[type=checkbox] + span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.6em;
  height: 1.6em;
  border-radius: 100%;
  border: 1px solid #ccc;
  background: #fff;
  margin-right: 0.3em;
}
.c-form input[type=radio] + span::after,
.c-form input[type=checkbox] + span::after {
  width: 1em;
  height: 1em;
  margin: 0.3em 0 0 0.3em;
  background: transparent;
  border: none;
}
.c-form input[type=radio]:checked + span::after,
.c-form input[type=checkbox]:checked + span::after {
  background: #000;
}
.c-form input[type=checkbox] + span::before {
  border-radius: 0;
}
.c-form input[type=checkbox]:checked + span::after {
  width: 1.4em;
  height: 0.8em;
  margin: 0.2em 0 0 0.2em;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  transform: rotate(-45deg);
  border-radius: 0;
  background: transparent;
}
.c-form .privacy {
  margin: 6rem 0;
  font-size: 1.4rem;
}
.c-form .privacy a {
  text-decoration: underline;
}
.c-form .privacy a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-form .privacy {
    font-size: 1.6rem;
  }
}
.c-form .btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  margin-top: 6rem;
}
.c-form .btns .btn a, .c-form .btns .btn input, .c-form .btns .btn button {
  font-size: 1.8rem !important;
}
.c-form .btns .btn._back a, .c-form .btns .btn._back input, .c-form .btns .btn._back button {
  background: #aaa;
}
.c-form .wpcf7 form .wpcf7-not-valid-tip {
  color: #d00;
  margin-left: 2em;
}
.c-form .wpcf7 form .wpcf7-spinner {
  display: none;
  margin: 0;
}
.c-form .wpcf7 form .wpcf7-spinner.is-active {
  display: block;
  margin: 2rem auto;
}
.c-form .wpcf7 form .wpcf7-response-output {
  border-color: #aaa;
  color: #d00;
  padding: 1em;
  font-size: 1.4rem;
  line-height: 1.6;
}
.c-form .wpcf7 form .wpcf7-response-output:empty {
  display: none;
}

/* --------------------------------------------------
  products common
-------------------------------------------------- */
.p-fv .img {
  width: 100%;
  aspect-ratio: 2.3333333333;
  overflow: hidden;
}
.p-fv .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-fv .img {
    aspect-ratio: 1/1;
  }
}

.p-intro {
  margin: 10rem 0 20rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intro {
    margin: 6rem 0 8rem;
  }
}
.p-intro .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.6;
  font-weight: 500;
  gap: 1rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .p-intro .logo {
    margin-bottom: 3rem;
  }
}
.p-intro .logo .big {
  font-size: 3.2rem;
}
.p-intro .logo .small {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-intro .logo .small {
    font-size: 1.8rem;
  }
}
.p-intro .copy {
  font-size: 2.8rem;
  line-height: 1.6;
  font-weight: 500;
  margin: 1em 0;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 767px) {
  .p-intro .copy {
    font-size: 2.4rem;
  }
}
.p-intro .txt {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 2em;
}
.p-intro .txt + .txt {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .p-intro .txt {
    text-align: left;
    font-size: 1.8rem;
  }
}

.p-intro_sub {
  margin: 10rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-intro_sub {
    margin: 6rem 0;
  }
}
.p-intro_sub .logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.6;
  font-weight: 500;
  gap: 1rem;
  margin: 3rem 0;
}
@media screen and (max-width: 767px) {
  .p-intro_sub .logo {
    margin-bottom: 3rem;
  }
}
.p-intro_sub .logo .big {
  font-size: 3.2rem;
}
.p-intro_sub .logo .small {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-intro_sub .logo .small {
    font-size: 1.8rem;
  }
}
.p-intro_sub .copy {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 500;
  margin: 1em 0;
}
@media screen and (max-width: 767px) {
  .p-intro_sub .copy {
    font-size: 2rem;
  }
}
.p-intro_sub .logo_wrap {
  margin: 6rem 0;
}
@media screen and (max-width: 767px) {
  .p-intro_sub .logo_wrap {
    margin: 4rem 0;
  }
}

[class*=p-slider] .slick-arrow {
  position: absolute;
  left: 2rem;
  top: 50%;
  translate: 0 -50%;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  text-indent: -1000px;
  border-radius: 100%;
  background: #222;
  z-index: 10;
}
[class*=p-slider] .slick-arrow.slick-next {
  scale: -1 1;
  left: auto;
  right: 2rem;
}
[class*=p-slider] .slick-arrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -30% -50%;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  width: 40%;
  height: 40%;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  [class*=p-slider] .slick-arrow {
    display: none !important;
  }
}
[class*=p-slider] .slick-dots {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
  padding-left: 3rem;
  margin-top: 2rem;
}
[class*=p-slider] .slick-dots button {
  width: 1rem;
  height: 1rem;
  text-indent: -1000px;
  overflow: hidden;
  background: #aaa;
}
[class*=p-slider] .slick-dots .slick-active button {
  background: #000;
}

.p-slider {
  margin: 15rem auto 12rem;
  max-width: 1950px;
}
@media screen and (max-width: 767px) {
  .p-slider {
    margin: 10rem 0;
  }
}
.p-slider .ttl {
  padding: 0 7rem;
  margin-bottom: 4rem;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-slider .ttl {
    justify-content: center;
    text-align: center;
    padding: 0 5vw;
    margin-bottom: 2rem;
  }
}
.p-slider > .btn {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-slider > .btn {
    margin-top: 4rem;
  }
}
.p-slider .slider {
  padding-left: 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-slider .slider {
    padding-left: 0;
  }
  .p-slider .slider .slick-slide {
    max-width: 100vw;
  }
  .p-slider .slider:has(.slick-slide:nth-child(2)) .slick-slide {
    width: 95vw;
    margin-right: 5px;
  }
}
.p-slider .slider .box {
  display: flex !important;
  align-items: flex-start;
  gap: 0;
}
@media screen and (min-width: 768px) {
  .p-slider .slider .box {
    height: 100%;
    flex-direction: row-reverse;
  }
}
.p-slider .slider .box .img {
  width: 65%;
  aspect-ratio: 1.35;
  overflow: hidden;
}
.p-slider .slider .box .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-slider .slider .box .detail {
  padding: 0 3rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-slider .slider .box .detail {
    padding: 8vw 5vw;
  }
}
.p-slider .slider .box .lead {
  font-size: 1.6rem;
  line-height: 2.2;
  font-weight: 500;
}
.p-slider .slider .box .datas {
  margin-top: 4rem;
}
.p-slider .slider .box .data {
  max-width: 32rem;
}
@media screen and (max-width: 767px) {
  .p-slider .slider .box .data {
    max-width: inherit;
  }
}
.p-slider .slider .box .data .img {
  width: 11rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-slider .slider .box .data .img {
    width: 12rem;
    margin: 0 auto;
  }
}
.p-slider .slider .box .data .name {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
  margin-top: 1em;
}
.p-slider .slider .box .data .txt {
  font-size: 1.2rem;
  margin-top: 1em;
}
.p-slider .slider .box .data .price {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 1em;
}
.p-slider .slider .box .data .price .en {
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  margin-right: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-slider .slider .box .data .price {
    font-size: 1.2rem;
  }
  .p-slider .slider .box .data .price .en {
    font-size: 1.8rem;
  }
}
.p-slider .slider .box .data .btn {
  margin-top: 1em;
}
.p-slider .slider .box .data .btn a {
  font-size: 1.2rem;
  padding-left: 2em;
  padding-right: 3em;
}
@media screen and (max-width: 767px) {
  .p-slider .slider .box .data .btn a {
    font-size: 1.4rem;
  }
}
.p-slider .slider .slick-track {
  display: flex !important;
}
.p-slider .slider .slick-slide {
  height: auto !important;
}
.p-slider .slider .slick-slide > div {
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-slider._reverse .ttl {
    padding-left: 65%;
  }
  .p-slider._reverse .slider {
    padding-left: 0;
    padding-right: 4rem;
  }
  .p-slider._reverse .slider .box {
    flex-direction: row;
  }
  .p-slider._reverse .slider .slick-dots {
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 3rem;
  }
}

.p-slider_simple {
  margin: 10rem 0;
}
@media screen and (max-width: 767px) {
  .p-slider_simple {
    margin: 6rem 0;
  }
}
.p-slider_simple .slider {
  margin-right: calc(-50vw + 50rem);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-slider_simple .slider {
    margin-right: -5vw;
  }
  .p-slider_simple .slider .slick-slide {
    max-width: 100vw;
  }
}
.p-slider_simple .slider .img {
  width: 100rem !important;
  aspect-ratio: 1.5384615385;
  overflow: hidden;
}
.p-slider_simple .slider .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-slider_simple .slider .img {
    width: 90vw !important;
  }
}
.p-slider_simple .slider .slick-dots {
  padding: 0;
}

.p-img_big {
  margin: 10rem 0;
  margin-left: calc(-50vw + 50rem);
}
@media screen and (max-width: 767px) {
  .p-img_big {
    margin-top: 6rem;
    margin-bottom: 6rem;
    margin-left: -5vw;
  }
}
.p-img_big .img {
  width: 120rem;
  max-width: 100%;
  aspect-ratio: 1.8461538462;
  overflow: hidden;
}
.p-img_big .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-img_big._reverse {
  margin-left: auto;
  margin-right: calc(-50vw + 50rem);
}
@media screen and (max-width: 767px) {
  .p-img_big._reverse {
    margin-left: 0;
    margin-right: -5vw;
  }
}

.p-acd {
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
  padding: 0.5em 1em;
  position: relative;
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}
.p-acd::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: 34.5rem;
  height: 1px;
  background: #aaa;
}
@media screen and (max-width: 767px) {
  .p-acd {
    font-size: 2rem;
  }
  .p-acd::after {
    width: 100%;
  }
}
.p-acd .ico::before, .p-acd .ico::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: 8em -50%;
  width: 1em;
  height: 2px;
  background: #000;
  transition: rotate 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-acd .ico::before, .p-acd .ico::after {
    left: auto;
    right: 1rem;
    translate: 0 -50%;
  }
}
.p-acd .ico::after {
  rotate: 90deg;
}
.p-acd.is-open {
  background: #000;
  color: #fff;
}
.p-acd.is-open .ico::before, .p-acd.is-open .ico::after {
  background: #fff;
}
.p-acd.is-open .ico::after {
  rotate: 175deg;
}

.p-border {
  border: 1px solid #aaa;
  padding: 3rem 4rem;
}
@media screen and (max-width: 767px) {
  .p-border {
    padding: 5vw 0;
    border-left: none;
    border-right: none;
  }
}

.p-feature {
  margin-bottom: 10rem;
  overflow: hidden;
}
.p-feature .box {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-feature .box {
    margin-top: 6rem;
  }
}
.p-feature .box .txt + .txt {
  margin-top: 1.5em;
}
.p-feature .box .img img {
  width: 100%;
}
.p-feature .box .img + [class*=c-ttl] {
  margin-top: 2rem;
}
.p-feature .box .img + .txt, .p-feature .box .img + .narrow {
  margin-top: 1em;
}
.p-feature .box .small {
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p-feature .box .small {
    font-size: 1.4rem;
  }
}
.p-feature .box .narrow {
  width: 90%;
}
@media screen and (max-width: 767px) {
  .p-feature .box .narrow {
    width: 100%;
  }
}
.p-feature .box._youtube iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

.p-spec {
  margin-bottom: 10rem;
}
.p-spec .box {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-spec .box {
    margin-top: 6rem;
  }
}

.p-table {
  margin-right: -10rem;
}
@media screen and (max-width: 767px) {
  .p-table {
    margin-right: -5vw;
  }
}
.p-table .scroll {
  overflow-x: auto;
  padding-bottom: 2rem;
}
.p-table table {
  width: max-content;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.p-table table th, .p-table table td {
  border-right: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  vertical-align: center;
  padding: 0.5em;
  position: relative;
}
.p-table table th.hide, .p-table table td.hide {
  opacity: 0.3;
}
.p-table table thead th:first-child + *::before, .p-table table thead td:first-child + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 105%;
  background: #fff;
}
.p-table table thead th {
  background: #ECECEC;
}
.p-table table thead th:nth-child(n+2) {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-table table thead th:nth-child(n+2) {
    font-size: 1.4rem;
  }
}
.p-table table thead .img {
  width: 15rem;
  aspect-ratio: 1/1;
  margin: 0 auto;
}
.p-table table thead .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-table table tbody th {
  padding-left: 0;
  padding-right: 0;
  width: 6em;
}
@media screen and (max-width: 767px) {
  .p-table table tbody th {
    width: 4em;
    white-space: nowrap;
  }
}
.p-table table tbody th:last-of-type + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 105%;
  background: #fff;
}
.p-table table tbody td {
  width: 28rem;
}
@media screen and (max-width: 767px) {
  .p-table table tbody td {
    width: 23rem;
  }
}
.p-table table tbody .color {
  display: flex;
  justify-content: center;
  gap: 0.5em;
}
.p-table table tbody .color .list li {
  text-align: left;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-table table tbody .color .list li {
    font-size: 1.1rem;
  }
}
.p-table table tbody .color .list .ico {
  aspect-ratio: 1;
  overflow: hidden;
}
.p-table table tbody .color .list .ico img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-table table tbody .color .list .ico {
  border-radius: 100%;
  margin-right: 0.1em;
  overflow: hidden;
}
.p-table table tbody .en {
  font-family: "Lato", sans-serif;
}
.p-table table tbody .small {
  font-size: 1.2rem;
}

/* --------------------------------------------------
  margin / font-size / column / grid
-------------------------------------------------- */
.mt10 {
  margin-top: 1rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mt40 {
  margin-top: 4rem !important;
}

.mt50 {
  margin-top: 5rem !important;
}

.mt60 {
  margin-top: 6rem !important;
}

.mt70 {
  margin-top: 7rem !important;
}

.mt80 {
  margin-top: 8rem !important;
}

.mt90 {
  margin-top: 9rem !important;
}

.mt100 {
  margin-top: 10rem !important;
}

.mt110 {
  margin-top: 11rem !important;
}

.mt120 {
  margin-top: 12rem !important;
}

.mt130 {
  margin-top: 13rem !important;
}

.mt140 {
  margin-top: 14rem !important;
}

.mt150 {
  margin-top: 15rem !important;
}

.mt160 {
  margin-top: 16rem !important;
}

.mt170 {
  margin-top: 17rem !important;
}

.mt180 {
  margin-top: 18rem !important;
}

.mt190 {
  margin-top: 19rem !important;
}

.mt200 {
  margin-top: 20rem !important;
}

@media screen and (max-width: 767px) {
  .sp_mt10 {
    margin-top: 1rem !important;
  }
  .sp_mt20 {
    margin-top: 2rem !important;
  }
  .sp_mt30 {
    margin-top: 3rem !important;
  }
  .sp_mt40 {
    margin-top: 4rem !important;
  }
  .sp_mt50 {
    margin-top: 5rem !important;
  }
  .sp_mt60 {
    margin-top: 6rem !important;
  }
  .sp_mt70 {
    margin-top: 7rem !important;
  }
  .sp_mt80 {
    margin-top: 8rem !important;
  }
  .sp_mt90 {
    margin-top: 9rem !important;
  }
  .sp_mt100 {
    margin-top: 10rem !important;
  }
  .sp_mt110 {
    margin-top: 11rem !important;
  }
  .sp_mt120 {
    margin-top: 12rem !important;
  }
  .sp_mt130 {
    margin-top: 13rem !important;
  }
  .sp_mt140 {
    margin-top: 14rem !important;
  }
  .sp_mt150 {
    margin-top: 15rem !important;
  }
  .sp_mt160 {
    margin-top: 16rem !important;
  }
  .sp_mt170 {
    margin-top: 17rem !important;
  }
  .sp_mt180 {
    margin-top: 18rem !important;
  }
  .sp_mt190 {
    margin-top: 19rem !important;
  }
  .sp_mt200 {
    margin-top: 20rem !important;
  }
}
.mt1em {
  margin-top: 1em !important;
}

.fz10 {
  font-size: 1rem !important;
}

.fz11 {
  font-size: 1.1rem !important;
}

.fz12 {
  font-size: 1.2rem !important;
}

.fz13 {
  font-size: 1.3rem !important;
}

.fz14 {
  font-size: 1.4rem !important;
}

.fz15 {
  font-size: 1.5rem !important;
}

.fz16 {
  font-size: 1.6rem !important;
}

.fz17 {
  font-size: 1.7rem !important;
}

.fz18 {
  font-size: 1.8rem !important;
}

.fz19 {
  font-size: 1.9rem !important;
}

.fz20 {
  font-size: 2rem !important;
}

.fz21 {
  font-size: 2.1rem !important;
}

.fz22 {
  font-size: 2.2rem !important;
}

.fz23 {
  font-size: 2.3rem !important;
}

.fz24 {
  font-size: 2.4rem !important;
}

.fz25 {
  font-size: 2.5rem !important;
}

.fz26 {
  font-size: 2.6rem !important;
}

.fz27 {
  font-size: 2.7rem !important;
}

.fz28 {
  font-size: 2.8rem !important;
}

.fz29 {
  font-size: 2.9rem !important;
}

.fz30 {
  font-size: 3rem !important;
}

.fz31 {
  font-size: 3.1rem !important;
}

.fz32 {
  font-size: 3.2rem !important;
}

.fz33 {
  font-size: 3.3rem !important;
}

.fz34 {
  font-size: 3.4rem !important;
}

.fz35 {
  font-size: 3.5rem !important;
}

.fz36 {
  font-size: 3.6rem !important;
}

.fz37 {
  font-size: 3.7rem !important;
}

.fz38 {
  font-size: 3.8rem !important;
}

.fz39 {
  font-size: 3.9rem !important;
}

.fz40 {
  font-size: 4rem !important;
}

.fz41 {
  font-size: 4.1rem !important;
}

.fz42 {
  font-size: 4.2rem !important;
}

.fz43 {
  font-size: 4.3rem !important;
}

.fz44 {
  font-size: 4.4rem !important;
}

.fz45 {
  font-size: 4.5rem !important;
}

.fz46 {
  font-size: 4.6rem !important;
}

.fz47 {
  font-size: 4.7rem !important;
}

.fz48 {
  font-size: 4.8rem !important;
}

.fz49 {
  font-size: 4.9rem !important;
}

.fz50 {
  font-size: 5rem !important;
}

.fz51 {
  font-size: 5.1rem !important;
}

.fz52 {
  font-size: 5.2rem !important;
}

.fz53 {
  font-size: 5.3rem !important;
}

.fz54 {
  font-size: 5.4rem !important;
}

.fz55 {
  font-size: 5.5rem !important;
}

.fz56 {
  font-size: 5.6rem !important;
}

.fz57 {
  font-size: 5.7rem !important;
}

.fz58 {
  font-size: 5.8rem !important;
}

.fz59 {
  font-size: 5.9rem !important;
}

.fz60 {
  font-size: 6rem !important;
}

@media screen and (max-width: 767px) {
  .sp_fz10 {
    font-size: 1rem !important;
  }
  .sp_fz11 {
    font-size: 1.1rem !important;
  }
  .sp_fz12 {
    font-size: 1.2rem !important;
  }
  .sp_fz13 {
    font-size: 1.3rem !important;
  }
  .sp_fz14 {
    font-size: 1.4rem !important;
  }
  .sp_fz15 {
    font-size: 1.5rem !important;
  }
  .sp_fz16 {
    font-size: 1.6rem !important;
  }
  .sp_fz17 {
    font-size: 1.7rem !important;
  }
  .sp_fz18 {
    font-size: 1.8rem !important;
  }
  .sp_fz19 {
    font-size: 1.9rem !important;
  }
  .sp_fz20 {
    font-size: 2rem !important;
  }
  .sp_fz21 {
    font-size: 2.1rem !important;
  }
  .sp_fz22 {
    font-size: 2.2rem !important;
  }
  .sp_fz23 {
    font-size: 2.3rem !important;
  }
  .sp_fz24 {
    font-size: 2.4rem !important;
  }
  .sp_fz25 {
    font-size: 2.5rem !important;
  }
  .sp_fz26 {
    font-size: 2.6rem !important;
  }
  .sp_fz27 {
    font-size: 2.7rem !important;
  }
  .sp_fz28 {
    font-size: 2.8rem !important;
  }
  .sp_fz29 {
    font-size: 2.9rem !important;
  }
  .sp_fz30 {
    font-size: 3rem !important;
  }
  .sp_fz31 {
    font-size: 3.1rem !important;
  }
  .sp_fz32 {
    font-size: 3.2rem !important;
  }
  .sp_fz33 {
    font-size: 3.3rem !important;
  }
  .sp_fz34 {
    font-size: 3.4rem !important;
  }
  .sp_fz35 {
    font-size: 3.5rem !important;
  }
  .sp_fz36 {
    font-size: 3.6rem !important;
  }
  .sp_fz37 {
    font-size: 3.7rem !important;
  }
  .sp_fz38 {
    font-size: 3.8rem !important;
  }
  .sp_fz39 {
    font-size: 3.9rem !important;
  }
  .sp_fz40 {
    font-size: 4rem !important;
  }
  .sp_fz41 {
    font-size: 4.1rem !important;
  }
  .sp_fz42 {
    font-size: 4.2rem !important;
  }
  .sp_fz43 {
    font-size: 4.3rem !important;
  }
  .sp_fz44 {
    font-size: 4.4rem !important;
  }
  .sp_fz45 {
    font-size: 4.5rem !important;
  }
  .sp_fz46 {
    font-size: 4.6rem !important;
  }
  .sp_fz47 {
    font-size: 4.7rem !important;
  }
  .sp_fz48 {
    font-size: 4.8rem !important;
  }
  .sp_fz49 {
    font-size: 4.9rem !important;
  }
  .sp_fz50 {
    font-size: 5rem !important;
  }
  .sp_fz51 {
    font-size: 5.1rem !important;
  }
  .sp_fz52 {
    font-size: 5.2rem !important;
  }
  .sp_fz53 {
    font-size: 5.3rem !important;
  }
  .sp_fz54 {
    font-size: 5.4rem !important;
  }
  .sp_fz55 {
    font-size: 5.5rem !important;
  }
  .sp_fz56 {
    font-size: 5.6rem !important;
  }
  .sp_fz57 {
    font-size: 5.7rem !important;
  }
  .sp_fz58 {
    font-size: 5.8rem !important;
  }
  .sp_fz59 {
    font-size: 5.9rem !important;
  }
  .sp_fz60 {
    font-size: 6rem !important;
  }
}
@media screen and (min-width: 768px) {
  [class*=c-col]._p0,
  [class*=c-imgCol]._p0,
  [class*=c-grid]._p0 {
    gap: 0rem;
  }
  [class*=c-col]._p10,
  [class*=c-imgCol]._p10,
  [class*=c-grid]._p10 {
    gap: 1rem;
  }
  [class*=c-col]._p20,
  [class*=c-imgCol]._p20,
  [class*=c-grid]._p20 {
    gap: 2rem;
  }
  [class*=c-col]._p30,
  [class*=c-imgCol]._p30,
  [class*=c-grid]._p30 {
    gap: 3rem;
  }
  [class*=c-col]._p40,
  [class*=c-imgCol]._p40,
  [class*=c-grid]._p40 {
    gap: 4rem;
  }
  [class*=c-col]._p50,
  [class*=c-imgCol]._p50,
  [class*=c-grid]._p50 {
    gap: 5rem;
  }
  [class*=c-col]._p60,
  [class*=c-imgCol]._p60,
  [class*=c-grid]._p60 {
    gap: 6rem;
  }
  [class*=c-col]._p70,
  [class*=c-imgCol]._p70,
  [class*=c-grid]._p70 {
    gap: 7rem;
  }
  [class*=c-col]._p80,
  [class*=c-imgCol]._p80,
  [class*=c-grid]._p80 {
    gap: 8rem;
  }
  [class*=c-col]._p90,
  [class*=c-imgCol]._p90,
  [class*=c-grid]._p90 {
    gap: 9rem;
  }
  [class*=c-col]._p100,
  [class*=c-imgCol]._p100,
  [class*=c-grid]._p100 {
    gap: 10rem;
  }
}
@media screen and (max-width: 767px) {
  [class*=c-col_sp]._p0,
  [class*=c-imgCol_sp]._p0,
  [class*=c-grid_sp]._p0 {
    gap: 0rem;
  }
  [class*=c-col_sp]._p10,
  [class*=c-imgCol_sp]._p10,
  [class*=c-grid_sp]._p10 {
    gap: 1rem;
  }
  [class*=c-col_sp]._p20,
  [class*=c-imgCol_sp]._p20,
  [class*=c-grid_sp]._p20 {
    gap: 2rem;
  }
  [class*=c-col_sp]._p30,
  [class*=c-imgCol_sp]._p30,
  [class*=c-grid_sp]._p30 {
    gap: 3rem;
  }
  [class*=c-col_sp]._p40,
  [class*=c-imgCol_sp]._p40,
  [class*=c-grid_sp]._p40 {
    gap: 4rem;
  }
  [class*=c-col_sp]._p50,
  [class*=c-imgCol_sp]._p50,
  [class*=c-grid_sp]._p50 {
    gap: 5rem;
  }
  [class*=c-col_sp]._p60,
  [class*=c-imgCol_sp]._p60,
  [class*=c-grid_sp]._p60 {
    gap: 6rem;
  }
  [class*=c-col_sp]._p70,
  [class*=c-imgCol_sp]._p70,
  [class*=c-grid_sp]._p70 {
    gap: 7rem;
  }
  [class*=c-col_sp]._p80,
  [class*=c-imgCol_sp]._p80,
  [class*=c-grid_sp]._p80 {
    gap: 8rem;
  }
  [class*=c-col_sp]._p90,
  [class*=c-imgCol_sp]._p90,
  [class*=c-grid_sp]._p90 {
    gap: 9rem;
  }
  [class*=c-col_sp]._p100,
  [class*=c-imgCol_sp]._p100,
  [class*=c-grid_sp]._p100 {
    gap: 10rem;
  }
}
[class*=c-col] > *,
[class*=c-imgCol] > *,
[class*=c-grid] > * {
  min-width: 0;
  max-width: 100%;
}
[class*=c-col]._align-start,
[class*=c-imgCol]._align-start,
[class*=c-grid]._align-start {
  align-items: flex-start;
}
[class*=c-col]._align-end,
[class*=c-imgCol]._align-end,
[class*=c-grid]._align-end {
  align-items: flex-end;
}
[class*=c-col]._align-center,
[class*=c-imgCol]._align-center,
[class*=c-grid]._align-center {
  align-items: center;
}

[class*=c-col] {
  display: flex;
  gap: 3rem;
}
[class*=c-col] > * {
  flex: 1;
}
[class*=c-col] > * > *:first-child {
  margin-top: 0;
}
[class*=c-col]._reverse {
  flex-flow: row-reverse;
}

.c-imgCol,
.c-imgCol_sp {
  display: flex;
  gap: 3rem;
}
.c-imgCol > * > *:first-child,
.c-imgCol_sp > * > *:first-child {
  margin-top: 0;
}
.c-imgCol .c-imgCol_i,
.c-imgCol_sp .c-imgCol_i {
  flex: 0 0 auto;
  max-width: 80%;
}
.c-imgCol .c-imgCol_t,
.c-imgCol_sp .c-imgCol_t {
  flex: 1 1 auto;
}
.c-imgCol._reverse,
.c-imgCol_sp._reverse {
  flex-flow: row-reverse;
}

@media screen and (max-width: 767px) {
  .c-col:not(.c-col_sp),
  .c-imgCol:not(.c-imgCol_sp) {
    flex-wrap: wrap;
  }
  .c-col:not(.c-col_sp) > *,
  .c-imgCol:not(.c-imgCol_sp) > * {
    flex: 1 1 auto;
  }
  .c-col:not(.c-col_sp) .c-imgCol_i,
  .c-imgCol:not(.c-imgCol_sp) .c-imgCol_i {
    max-width: inherit;
  }
  .c-col:not(.c-col_sp) .c-imgCol_i img,
  .c-imgCol:not(.c-imgCol_sp) .c-imgCol_i img {
    width: 100%;
  }
  [class*=c-col], [class*=c-imgCol] {
    gap: 3rem;
  }
}
[class*=c-grid] {
  display: grid;
  gap: 3rem;
}
[class*=c-grid] > * > *:first-child {
  margin-top: 0;
}

.c-grid2 {
  grid-template-columns: 1fr 1fr;
}
.c-grid3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.c-grid4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.c-grid5 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.c-grid6 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 767px) {
  [class*=c-grid] {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .c-grid_sp2 {
    grid-template-columns: 1fr 1fr;
  }
  .c-grid_sp3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .c-grid_sp4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .c-grid_sp5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
  .c-grid_sp6 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
/* ------------------------------
    responsive
------------------------------ */
@media screen and (min-width: 960px) {
  .pc-none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .tb-none {
    display: none !important;
  }
  .pc {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}
/* ------------------------------
    clearfix
------------------------------ */
.cf {
  zoom: 1;
}
.cf::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden; /* 隙間対応 */
  font-size: 0.1em; /* 隙間対応 */
  line-height: 0; /* 隙間対応 */
}
