@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Noto+Sans+JP:wght@300;400;700&family=Shippori+Mincho:wght@400;700&display=swap");
@font-face {
  font-family: "two_icon";
  src: url("../fonts/two_icon.ttf") format("truetype"), url("../fonts/two_icon.woff") format("woff"), url("../fonts/two_icon.svg") format("svg");
  font-style: normal;
  font-weight: normal;
}
[class^=i-], [class*=" i-"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

/* @use "sass:math"; */
* {
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  list-style: none;
  -webkit-user-select: unset !important;
     -moz-user-select: unset !important;
          user-select: unset !important;
}
*::-moz-selection {
  background-color: #c3d7ee;
}
*::selection {
  background-color: #c3d7ee;
}

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

html {
  font-size: 4.27vw;
}
@media (min-width: 769px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "Lato", "Noto Sans JP", "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
  word-wrap: break-word;
  color: #383838;
  margin: 0;
  padding: 12.8vw 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  body {
    padding-top: 98px;
  }
  body#topPage {
    padding-top: 0;
  }
  body:before {
    content: "";
    width: 100%;
    height: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    background: #383838;
    opacity: 0;
    transition: opacity 0.1s;
  }
  body.open:before {
    height: 110vh;
    opacity: 0.31;
    transition: opacity 0.3s;
  }
}

.serif {
  font-family: "Shippori Mincho", serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-family: inherit;
}

strong {
  font-weight: 400;
}

a {
  text-decoration: none;
  background-color: transparent;
  pointer-events: auto;
}

a:hover, a:focus {
  color: inherit;
  text-decoration: none;
}

button,
dd,
dl,
li,
ol,
p,
ul {
  background-color: transparent;
  border: none;
  margin: 0;
  padding: 0;
  outline: 0;
}

sub,
sup {
  font-size: 0.625rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}

button,
input,
select,
textarea {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  border-radius: 0;
}

input[type=submit],
input[type=button] {
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  background-color: transparent;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -0.125rem;
}

audio,
embed,
object,
video {
  height: auto;
  max-width: 100%;
}

img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}

.carousel,
.top_series .swiper-container {
  margin-top: 2.5rem;
  overflow: hidden;
}
.carousel_list,
.carousel .swiper-wrapper,
.top_series .swiper-container_list,
.top_series .swiper-container .swiper-wrapper {
  display: flex;
  flex-wrap: unset !important;
  justify-content: flex-start;
  /*margin-right: -0.625rem;
  margin-left: -0.625rem;*/
  transition: all 250ms cubic-bezier(0, 0, 0.16, 1);
}
@media (min-width: 769px) {
  .carousel_list,
  .carousel .swiper-wrapper,
  .top_series .swiper-container_list,
  .top_series .swiper-container .swiper-wrapper {
    /*margin-right: -0.75rem;
    margin-left: -0.75rem;*/
  }
}
.carousel_item,
.top_series .swiper-container_item {
  flex: 0 0 auto;
}
.carousel_btn,
.top_series .swiper-container_btn {
  font-weight: 700;
  text-align: center;
  color: #000;
  margin-top: 1rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.carousel_next, .carousel_prev,
.top_series .swiper-container_next,
.top_series .swiper-container_prev {
  position: relative;
  vertical-align: middle;
  background-color: transparent;
  border: none;
  cursor: pointer;
  height: 1.25rem;
  width: 1.25rem;
  pointer-events: auto;
}
.carousel_next::before, .carousel_prev::before,
.top_series .swiper-container_next::before,
.top_series .swiper-container_prev::before {
  font-size: 1.25rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 700;
}
.carousel_prev,
.top_series .swiper-container_prev {
  margin-top: 0;
  margin-right: 1rem;
  margin-bottom: 0;
  margin-left: 0;
}
.carousel_prev::before,
.top_series .swiper-container_prev::before {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.carousel_next,
.top_series .swiper-container_next {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 1rem;
}
.carousel_next::before,
.top_series .swiper-container_next::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.carousel_current,
.top_series .swiper-container_current {
  vertical-align: middle;
}
.carousel_total,
.top_series .swiper-container_total {
  vertical-align: middle;
}
.carousel_total::before,
.top_series .swiper-container_total::before {
  display: inline-block;
  transform: rotate(-45deg);
  content: "";
  background-color: #000;
  height: 0.125rem;
  width: 0.8rem;
  border-radius: 0.25rem;
  margin-top: 0;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  margin-left: 0.125rem;
}

.top_series .swiper-container {
  margin-bottom: -1rem;
}
@media (min-width: 769px) {
  .top_series .swiper-container {
    margin-bottom: 0;
  }
}

.series2 {
  text-align: left;
  padding-top: 6rem;
}
@media (min-width: 769px) {
  .series2 {
    padding-top: 10rem;
  }
}

.series {
  clear: both;
  position: relative;
  text-align: center;
  padding-top: 6rem;
  padding-right: 1rem;
  padding-bottom: 0;
  padding-left: 1rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .series {
    padding-top: 10rem;
  }
}
.series .fCommon {
  padding-top: 2.5rem;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}
@media (min-width: 769px) {
  .series .fCommon {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 2rem;
    padding-left: 0;
  }
}
.series_inner.grid {
  padding: 0 0.6rem;
}
@media (min-width: 769px) {
  .series_inner.grid {
    width: 90%;
  }
}
.series_item {
  flex: 0 0 50%;
  padding: 0.625rem;
}
@media (min-width: 769px) {
  .series_item {
    flex: 0 0 20%;
    padding: 0.75rem;
  }
}
.series_link {
  position: relative;
  display: block;
  color: #000;
  /*background-color: rgba(240,246,247,.5);*/
}
.series_link:hover .series_image {
  opacity: 0.64;
  transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.series_image {
  opacity: 1;
  transition: opacity 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.series_text {
  padding-top: 1.25rem;
  background-color: #fff;
}
.series_new {
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -125%);
}
@media (max-width: 768px) {
  .series_new {
    font-size: 0.7rem;
  }
}
.series_badge {
  position: absolute;
  left: -0.625rem;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FDCB33;
  color: #fff;
  font-size: 0.8125rem;
  line-height: 1.2;
  padding: 8px 0 3px;
  width: 3.8em;
  font-weight: bold;
  text-align: center;
}
.series_badge:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 1.9em 0 1.9em;
  border-color: #FDCB33 transparent transparent transparent;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(0, 100%);
}
@media (max-width: 768px) {
  .series_badge {
    left: -0.2rem;
    top: 0;
    font-size: 0.625rem;
    padding: 6px 0 2px;
    width: 3.6em;
  }
  .series_badge:before {
    border-width: 10px 1.8em 0 1.8em;
  }
}
.series_name {
  font-weight: 400;
  position: relative;
}
.series_name .yoyaku {
  display: inline-block;
  background: #A6A6A6;
  color: #fff;
  padding: 1px 20px;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .series_name {
    font-size: 0.76rem;
    margin: 0 -0.3em;
    letter-spacing: 0.06em;
  }
}
.series_btn {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  color: #000;
  border: 0.0625rem solid #000;
  margin-top: 4rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
  align-items: center;
  justify-content: center;
}
.series_btn::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
  margin-right: -0.9em;
  padding-top: 0.1em;
}
.series_btn:hover {
  background-color: #000;
  color: #fff;
}
.series .carousel_series-wrapper {
  position: relative;
}
.series_carousel-next, .series_carousel-prev {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  background-color: transparent;
  border: none;
  cursor: pointer;
  color: #000;
  height: 2.5rem;
  width: 2.5rem;
  pointer-events: auto;
}
@media (min-width: 769px) {
  .series_carousel-next, .series_carousel-prev {
    top: 45%;
  }
}
.series_carousel-next::before, .series_carousel-prev::before {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
}
@media (min-width: 769px) {
  .series_carousel-next::before, .series_carousel-prev::before {
    font-size: 2.5rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.series_carousel-next::after, .series_carousel-prev::after {
  content: "" !important;
}
.series_carousel-next {
  margin: 0;
  right: -2.5rem;
}
@media (min-width: 769px) {
  .series_carousel-next {
    right: -3rem;
  }
}
.series_carousel-prev {
  margin: 0;
  left: -2.5rem;
}
@media (min-width: 769px) {
  .series_carousel-prev {
    left: -3rem;
  }
}

.film {
  position: relative;
  cursor: pointer;
  padding-top: 56.25%;
}
.film_thumbnail {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  width: 100%;
}
.film_thumbnail::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../images/dot.png") 0 0;
  content: "";
  height: 100%;
  width: 100%;
}
.film_thumbnail::after {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  content: "ꀅ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  font-size: 2.5rem;
  letter-spacing: 0.015rem;
  line-height: 1.25;
  line-height: 1 !important;
  color: #fff;
}
@media (min-width: 769px) {
  .film_thumbnail::after {
    font-size: 3rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.film_player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.slider {
  position: relative;
}
.slider_list {
  position: relative;
  padding-top: 100%;
}
.slider_item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 500ms cubic-bezier(0, 0, 0.16, 1);
  z-index: 1;
}
.slider_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.slider_next, .slider_prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: transparent;
  border: none;
  cursor: pointer;
  height: 2.5rem;
  width: 2.5rem;
  pointer-events: auto;
  z-index: 10;
}
.slider_next::before, .slider_prev::before {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
}
@media (min-width: 769px) {
  .slider_next::before, .slider_prev::before {
    font-size: 2.5rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.slider_prev {
  left: 0;
}
.slider_prev::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.slider_next {
  right: 0;
}
.slider_next::before {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.slider_dots {
  position: absolute;
  bottom: -1.5rem;
  text-align: center;
  width: 100%;
  z-index: 10;
}
.slider_dots-item {
  position: relative;
  display: inline-block;
  border: 0.0625rem solid #000;
  border-radius: 50%;
  cursor: pointer;
  height: 0.5rem;
  width: 0.5rem;
  margin-top: auto;
  margin-right: 0.5rem;
  margin-bottom: auto;
  margin-left: 0.5rem;
  pointer-events: auto;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.slider_dots-item_selected {
  background-color: #000;
  cursor: default;
  pointer-events: none;
}

.accordion_open > .accordion_label::after {
  display: none;
}
.accordion_open > .accordion_content {
  display: block;
}
.accordion_label {
  position: relative;
  cursor: pointer;
  padding-right: 1.5rem;
  padding-bottom: 1rem;
}
.accordion_label::before {
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0;
  transform: translateY(-50%);
  background-color: #000;
  content: "";
  height: 0.0625rem;
  width: 0.75rem;
}
.accordion_label::after {
  position: absolute;
  top: calc(50% - 0.5rem);
  right: 0.375rem;
  transform: translateY(-50%);
  background-color: #000;
  content: "";
  height: 0.75rem;
  width: 0.0625rem;
}
.accordion_content {
  display: none;
  margin-top: 1.25rem;
}

.archive {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .archive {
    padding-top: 6rem;
  }
}

.products_list {
  text-align: center;
  margin-top: 2.5rem;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media (min-width: 769px) {
  .products_list {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    margin-top: 2.5rem;
  }
}
.products_item {
  padding: 0.625rem;
}
@media (min-width: 769px) {
  .products_item {
    padding: 0.75rem;
  }
}
@media (max-width: 768px) {
  .products_item:nth-child(n+2) {
    margin-top: 2rem;
  }
}
@media (min-width: 769px) {
  .products_item:nth-child(n+3) {
    margin-top: 5rem;
  }
}
.products_link {
  position: relative;
  display: block;
  color: #000;
  width: 90%;
  max-width: 640px;
  margin: 0 auto;
  /*background-color: rgba(240,246,247,.5);*/
}
@media (min-width: 769px) {
  .products_link {
    width: 80%;
  }
}
.products_link:hover .products_image {
  opacity: 0.64;
  transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.products_link .series_badge {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FDCB33;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1.2;
  padding: 14px 0 8px;
  width: 4em;
  font-weight: bold;
  text-align: center;
}
.products_link .series_badge:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 2em 0 2em;
  border-color: #FDCB33 transparent transparent transparent;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(0, 100%);
}
@media (max-width: 768px) {
  .products_link .series_badge {
    left: -5px;
    top: 0;
    font-size: 0.875rem;
    padding: 10px 0 5px;
    width: 3.6em;
  }
  .products_link .series_badge:before {
    border-width: 12px 1.8em 0 1.8em;
  }
}
.products_image {
  opacity: 1;
  transition: opacity 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.products_text {
  padding-top: 1rem;
  background-color: #fff;
}
.products_text .kome {
  font-size: 0.6875rem;
  margin-top: 1.4em;
  opacity: 0.8;
}
.products_name {
  font-size: 1.125rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  position: relative;
}
.products_new {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -170%);
}
@media (max-width: 768px) {
  .products_new {
    font-size: 0.875rem;
    letter-spacing: 0.075rem;
    line-height: 1.5;
    transform: translate(-50%, -150%);
  }
}
.products_subtext {
  margin-top: 0.75rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.products_size {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  margin-top: 1rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.products_view {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
  margin-top: 1.25rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.products_view::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
}

.news_list {
  margin-top: 4rem;
}
@media (min-width: 769px) {
  .news_list {
    margin-top: 5rem;
  }
}
.news_item {
  text-align: left;
}
.news_item:nth-child(n+2) {
  margin-top: 2.5rem;
}
@media (min-width: 769px) {
  .news_item:nth-child(n+2) {
    margin-top: 6rem;
  }
}
.news_link {
  display: block;
  color: #000;
  border-bottom: 0.0625rem solid #dde4e6;
  padding-bottom: 1rem;
  transition: border 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.news_link:hover {
  border-color: #000;
  transition: border 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.news_date {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
.news_title {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 1rem;
}

.column_list {
  margin-top: 5rem;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media (min-width: 769px) {
  .column_list {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
}
.column_item {
  padding: 0.625rem;
}
@media (min-width: 769px) {
  .column_item {
    padding: 0.75rem;
  }
}
@media (max-width: 768px) {
  .column_item:nth-child(n+3) {
    margin-top: 2.5rem;
  }
}
@media (min-width: 769px) {
  .column_item:nth-child(n+4) {
    margin-top: 2.5rem;
  }
}
.column_link {
  color: #000;
}
.column_link:hover .column_image {
  opacity: 0.64;
  transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.column_image {
  background-image: url("../images/thumbnail.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  padding-top: 56.25%;
  opacity: 1;
  transition: opacity 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.column_title {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 1rem;
}

.media-tab {
  margin-top: 5rem;
  text-align: center;
  justify-content: center;
  border-bottom: 0.0625rem solid #dde4e6;
}
.media-tab_block {
  display: inline-block;
  cursor: pointer;
  border-bottom: 0.25rem solid #fff;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
}
@media (min-width: 769px) {
  .media-tab_block {
    width: 9rem;
  }
}
.media-tab_block.active {
  border-bottom: 0.25rem solid #000;
}
.media-tab_block a {
  color: #000;
  display: inline-block;
  padding: 1rem 0;
  width: 100%;
}
.media_now {
  text-align: center;
}
.media-footer {
  margin-top: 5rem;
}
@media (min-width: 769px) {
  .media-footer {
    margin-top: 10rem;
  }
}
.media-footer_back {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #000;
}
.media-footer_pager {
  border-top: 0.0625rem solid #000;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
.media-footer_next, .media-footer_prev, .media-footer_now {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  color: #000;
}
.media-footer_prev {
  margin-right: auto;
}
.media-footer_prev::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-right: 0.5rem;
}
.media-footer_next {
  text-align: right;
  margin-left: auto;
}
.media-footer_next::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
}
.media-footer_now {
  text-align: center;
}

.media-list {
  margin-top: 5rem;
}
.media-list_list {
  margin-top: 5rem;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media (min-width: 769px) {
  .media-list_list {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
}
.media-list_item {
  padding: 0.625rem;
}
@media (min-width: 769px) {
  .media-list_item {
    padding: 0.75rem;
  }
}
@media (max-width: 768px) {
  .media-list_item:nth-child(n+3) {
    margin-top: 2.5rem;
  }
}
@media (min-width: 769px) {
  .media-list_item:nth-child(n+4) {
    margin-top: 2.5rem;
  }
}
.media-list_view {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
  margin-top: 1.25rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.media-list_view::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
}
.media-list_link {
  color: #000;
}
.media-list_image {
  background-image: url("../images/thumbnail.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 56.25%;
}
.media-list_title {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 1rem;
}
.media-list_article-name {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
}

#media_web .media-list_item:nth-child(n+2) {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 2rem;
}
#media_others .media-list_item:nth-child(n+2) {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 2rem;
}

.media-web_list {
  margin-top: 5rem;
}
.media-web_item {
  text-align: center;
}
.media-web_item:nth-child(n+2) {
  margin-top: 1.25rem;
}
.media-web_link {
  display: block;
  color: #000;
  border-bottom: 0.0625rem solid #dde4e6;
  padding-bottom: 1rem;
  transition: border 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.media-web_link:hover {
  border-color: #000;
  transition: border 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.media-web_date {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
.media-web_title {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
  margin-top: 1rem;
}

.header_nav_primary-item.menuSI a {
  -webkit-flex: flex;
  display: flex;
  align-items: center;
  height: 2.5rem;
}

.header_nav_primary-item.menuSI img {
  width: 76px;
  display: inline-block;
  margin-top: -0.7em;
  backface-visibility: hidden;
  vertical-align: middle;
}

@media (min-width: 769px) {
  .header_nav_primary-item.menuSI a {
    display: block;
    height: 4rem;
    line-height: 4rem;
  }
  .header_nav_primary-item.menuSI img {
    width: 80px;
    display: inline-block;
  }
}
#sleepInvestWrap {
  margin-top: -5rem;
}
#sleepInvestWrap .fz12 {
  font-size: 12px;
}
#sleepInvestWrap .spNon {
  display: none;
}
#sleepInvestWrap .block01 {
  width: 100vw;
  position: relative;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  /*background: linear-gradient(rgb(207,208,208) 0%, rgb(207,208,208) 50%, rgb(181,181,183) 100%);*/
  padding: 7vw 0 0;
}
#sleepInvestWrap .block01 h1 {
  text-align: center;
  width: 46%;
  margin: 0 auto 5vw;
  backface-visibility: hidden;
}
#sleepInvestWrap .nowCampaign {
  margin: 8vw auto;
  width: 80%;
  text-align: center;
}
#sleepInvestWrap .nowCampaign a {
  -webkit-flex: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #332e67;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 1.3;
  padding: 0.8em 1em;
  position: relative;
}
#sleepInvestWrap .nowCampaign i {
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translate(0, -50%);
}
#sleepInvestWrap h2.title {
  font-size: 22.2px;
  font-weight: 400;
  text-align: center;
  margin: 2.2em 0 1em;
}
#sleepInvestWrap .txt {
  line-height: 1.7;
  padding: 0 0.6em;
}
#sleepInvestWrap .manzokuList {
  margin: 0 12vw 20vw;
  padding-top: 0;
}
#sleepInvestWrap .manzokuList li {
  margin-top: 7vw;
}
#sleepInvestWrap .imgW {
  position: relative;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  width: 100vw;
  max-width: 1026px;
}
#sleepInvestWrap .img01 {
  margin: 1.2em 0 1em;
}
#sleepInvestWrap .accordion_item {
  position: relative;
  width: 100vw;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  max-width: 1026px;
  z-index: 1;
}
#sleepInvestWrap .accordion_content {
  display: block;
  margin: 0 0 28vw;
  height: 152vw;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
#sleepInvestWrap .accordion_content .kome {
  font-size: 11px;
  margin: 1em 5vw 0;
  opacity: 0.8;
}
#sleepInvestWrap .accordion_open .accordion_content {
  height: auto;
  padding-bottom: 2.5em;
}
#sleepInvestWrap .accordion_label {
  position: absolute;
  left: 0;
  bottom: -1em;
  z-index: 10;
  font-size: 13px;
  text-align: center;
  font-weight: bold;
  padding: 2em 0 0;
  width: 100%;
}
#sleepInvestWrap .accordion_label::after {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: relative;
  left: auto;
  right: auto;
  top: -0.6em;
  transform: rotate(-90deg);
  background: none;
  width: 1em;
  height: auto;
}
#sleepInvestWrap .accordion_label::before {
  content: "詳しく見る";
  display: inline-block;
  width: 7em;
  height: auto;
  background: none;
  position: relative;
  left: auto;
  top: auto;
  right: auto;
}
#sleepInvestWrap .accordion_label {
  background: #fff;
  /*background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 60%,rgba(255,255,255,1) 100%);*/
}
#sleepInvestWrap .accordion_open .accordion_label::after {
  top: -0.7em;
  transform: rotate(90deg);
}
#sleepInvestWrap .accordion_open .accordion_label::before {
  width: 5em;
  content: "閉じる";
}
#sleepInvestWrap .archiveTtl {
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  margin: 2.6em 0 -0.5em;
}
#sleepInvestWrap .archiveTtl p {
  display: inline-block;
  position: relative;
}
#sleepInvestWrap {
  /*.archiveTtl p:before { content: ""; display: block; width: 100%; height: 1px; overflow: hidden; background: #000; position: absolute; left: 50%; bottom: -10px; transform: translate(-50%, 0);}*/
}
@media (min-width: 769px) {
  #sleepInvestWrap {
    margin-top: -6rem;
    padding: 0 50px;
    width: 100vw;
    position: relative;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
  }
  #sleepInvestWrap .spOnly {
    display: none;
  }
  #sleepInvestWrap .spNon {
    display: block;
  }
  #sleepInvestWrap .block01 {
    padding: 56px 0 0;
  }
  #sleepInvestWrap .block01 h1 {
    width: 300px;
    margin: 0 auto;
  }
  #sleepInvestWrap .nowCampaign {
    margin: 60px auto 80px;
    width: 460px;
  }
  #sleepInvestWrap .nowCampaign a {
    font-size: 15px;
    padding: 1.2em 1em;
    transition: border 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #sleepInvestWrap .nowCampaign a:hover {
    opacity: 0.8;
  }
  #sleepInvestWrap h2.title {
    font-size: 25px;
    margin: 3.4em 0 1.2em;
  }
  #sleepInvestWrap .txt {
    font-size: 15px;
    line-height: 1.9;
    padding: 0 0.6em;
    text-align: center;
  }
  #sleepInvestWrap .manzokuList {
    margin: 0 -10px 100px;
    padding-top: 40px;
    -webkit-flex: flex;
    display: flex;
    justify-content: center;
  }
  #sleepInvestWrap .manzokuList li {
    margin: 0 10px;
    flex: 1;
  }
  #sleepInvestWrap .img01 {
    margin: 1.2em 0 2.5em;
  }
  #sleepInvestWrap .accordion_content {
    margin: 0 0 15vw;
    height: 44vw;
  }
  #sleepInvestWrap .accordion_content .kome {
    font-size: 12px;
    margin: 1em 5vw 0;
    opacity: 0.8;
  }
  #sleepInvestWrap .accordion_label {
    padding: 2.5em 0 0;
  }
  #sleepInvestWrap .archiveTtl {
    font-size: 30px;
    margin: 3.5em 0 -0.7em;
  }
}
@media (min-width: 928px) {
  #sleepInvestWrap {
    width: 960px;
    padding: 0;
  }
  #sleepInvestWrap .accordion_content {
    width: 100%;
    margin: 0 0 150px;
    height: 440px;
  }
}

.campaignSlide {
  margin: 19vw auto 0;
  opacity: 0;
}
.campaignSlide img {
  width: 100%;
}
.campaignSlide .title {
  text-align: center;
  font-size: 1.16rem;
  font-weight: bold;
  margin-bottom: 1.5em;
}
.campaignSlide .swiper-container {
  padding: 0 40px 30px;
}
.campaignSlide .swiper-button-prev, .campaignSlide .swiper-container-rtl .swiper-button-next {
  left: 0;
  top: 0;
  height: calc(100% - 29px);
  width: 40px;
  background: #fff;
  outline: none;
  margin: 0;
}
.campaignSlide .swiper-button-next, .campaignSlide .swiper-container-rtl .swiper-button-prev {
  right: 0;
  left: auto;
  top: 0;
  height: calc(100% - 29px);
  width: 40px;
  background: #fff;
  outline: none;
  margin: 0;
}
.campaignSlide .swiper-button-next:after, .campaignSlide .swiper-button-prev:after {
  color: #000;
  font-size: 32px;
}
.campaignSlide .swiper-container-horizontal > .swiper-pagination-bullets, .campaignSlide .swiper-pagination-custom, .campaignSlide .swiper-pagination-fraction {
  bottom: 0;
}
.campaignSlide .swiper-pagination-bullet {
  margin: 0 6px !important;
  background-color: #000;
  opacity: 0.2;
  transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.campaignSlide .swiper-pagination-bullet-active {
  opacity: 1;
}
.campaignSlide .swiper-slide {
  text-align: left;
}
.campaignSlide .swiper-slide a {
  display: block;
  color: inherit;
}
.campaignSlide .swiper-slide .img {
  border: #cecece 1px solid;
}
.campaignSlide .swiper-slide .date {
  font-size: 0.8125rem;
  margin: 0.8em 0 0.2em;
  padding: 0 8px 0 12px;
}
.campaignSlide .swiper-slide .title {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: bold;
  margin: 0;
  text-align: left;
  padding: 0 8px 0 12px;
}
@media (min-width: 30rem) {
  .campaignSlide .title {
    font-size: 1.3rem;
    margin-bottom: 1.5em;
  }
  .campaignSlide .swiper-slide .date {
    font-size: 0.875rem;
    padding: 0 5px;
  }
  .campaignSlide .swiper-slide .title {
    padding: 0 5px;
  }
}
@media (min-width: 769px) {
  .campaignSlide {
    margin: 10vw auto 0;
  }
}
@media (min-width: 928px) {
  .campaignSlide {
    max-width: 1060px;
    margin: 100px auto 0;
  }
  .campaignSlide .title {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin-bottom: 1.8em;
  }
  .campaignSlide .swiper-container {
    padding: 0 50px 30px;
  }
  .campaignSlide .swiper-button-prev, .campaignSlide .swiper-container-rtl .swiper-button-next {
    width: 50px;
  }
  .campaignSlide .swiper-button-next, .campaignSlide .swiper-container-rtl .swiper-button-prev {
    width: 50px;
  }
  .campaignSlide .swiper-slide a {
    display: block;
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  .campaignSlide .swiper-slide a:hover {
    opacity: 0.7;
  }
  .campaignSlide .swiper-pagination {
    display: none;
  }
}

.archive_inner {
  width: 100vw;
}

#forAthleteWrap {
  margin-top: -5rem;
}
#forAthleteWrap .fz12 {
  font-size: 12px;
}
#forAthleteWrap .midashi {
  text-align: center;
  font-weight: 400;
}
#forAthleteWrap .midashi .sub {
  font-size: 3.3vw;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 0.8em;
}
#forAthleteWrap .midashi .sub span {
  display: inline-block;
  position: relative;
  padding: 0 0.6em;
}
#forAthleteWrap .midashi .sub span:before {
  content: "";
  display: block;
  width: 1.8em;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-100%, 0);
  background: #000;
}
#forAthleteWrap .midashi .sub span:after {
  content: "";
  display: block;
  width: 1.8em;
  height: 1px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(100%, 0);
  background: #000;
}
#forAthleteWrap .bgBlue .midashi .sub span:before, #forAthleteWrap .bgBlue .midashi .sub span:after {
  background: #fff;
}
#forAthleteWrap .btnBuy a {
  border: #0f256d 2px solid;
  border-radius: 5px;
  background: #fff;
  color: #0f256d;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  height: 3em;
  position: relative;
  transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
#forAthleteWrap .btnBuy a:hover {
  opacity: 0.7;
}
#forAthleteWrap .btnBuy a .icon {
  position: relative;
  display: inline-block;
}
#forAthleteWrap .btnBuy a .icon::after {
  content: "ꀓ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translate(100%, -40%);
  width: 0.8em;
  height: auto;
}
#forAthleteWrap .main {
  width: 100vw;
  position: relative;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  margin: 0;
  padding: 0;
}
#forAthleteWrap .txtMain {
  padding: 13vw 5vw;
  text-align: center;
}
@media (min-width: 769px) {
  #forAthleteWrap {
    margin-top: -6rem;
  }
  #forAthleteWrap .midashi .sub {
    font-size: 2.1vw;
    margin-bottom: 0.7em;
  }
  #forAthleteWrap .txtMain {
    padding: 10vw 0;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .midashi .sub {
    font-size: 1.4vw;
    margin-bottom: 0.6em;
  }
  #forAthleteWrap .txtMain {
    padding: 100px 0;
  }
}
#forAthleteWrap .bgBlue {
  position: relative;
  color: #fff;
}
#forAthleteWrap .bgBlue:before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -2;
  transform: translate(-50%, 0);
  background: #0f246c;
  background: linear-gradient(to bottom, #0f246c 0%, #01062f 100%);
}
#forAthleteWrap .intro {
  padding: 15vw 3.5vw;
  /*&:after {
    content: "";
    display: block; width: 100vw; height: 100%; position: absolute; left: 50%; top: 0; z-index: -1; transform: translate(-50%, 0);
    background: url("../images/for_athlete/bed.png") no-repeat center center;
    background-size: 90%;
    mix-blend-mode: hard-light;
    opacity: 0.3;
  }*/
}
#forAthleteWrap .intro h2 {
  margin-bottom: 32px;
}
#forAthleteWrap .intro h2 .ttl {
  font-size: 6vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#forAthleteWrap .intro .txt {
  line-height: 1.7;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
}
#forAthleteWrap .intro .txt:last-child {
  margin-bottom: 0;
}
#forAthleteWrap .intro .txt .pick {
  display: inline-block;
  margin: 1.4em 0 0;
  font-weight: bold;
}
#forAthleteWrap .intro .underTxt {
  font-size: 18px;
  font-weight: bold;
}
#forAthleteWrap .intro .underTxt span {
  display: inline-block;
  margin-bottom: 4px;
  border-bottom: #fff 1px solid;
}
@media (min-width: 769px) {
  #forAthleteWrap .intro {
    padding: 8vw 0;
  }
  #forAthleteWrap .intro h2 .ttl {
    font-size: 4vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .intro {
    padding: 4vw 0;
  }
  #forAthleteWrap .intro h2 .ttl {
    font-size: 2.2vw;
  }
  #forAthleteWrap .intro .txt {
    line-height: 1.8;
    text-align: center;
    -moz-text-align-last: inherit;
         text-align-last: inherit;
  }
  #forAthleteWrap .intro {
    /*&:after { background-size: 650px;}*/
  }
}
@media (min-width: 1600px) {
  #forAthleteWrap .intro h2 .ttl {
    font-size: 34px;
  }
}
#forAthleteWrap .aboutBoxWrap {
  position: relative;
  padding: 13vw 0 8vw;
}
#forAthleteWrap .aboutBoxWrap:before {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translate(-50%, 0);
  background: #e6ecee;
}
@media (min-width: 769px) {
  #forAthleteWrap .aboutBoxWrap {
    padding: 7vw 0;
    margin: 0 -6vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .aboutBoxWrap {
    padding: 3.5vw 0;
    margin: 0 -3vw;
  }
}
#forAthleteWrap .aboutBox .midashi .ttl {
  color: #0f256d;
  font-size: 6vw;
  line-height: 1.6;
}
#forAthleteWrap .aboutBox .midashi .ttl strong {
  font-size: 6vw;
  font-weight: bold;
}
#forAthleteWrap .aboutBox .productBox01 {
  margin-top: -8vw;
}
#forAthleteWrap .aboutBox .productBox01 .img {
  position: relative;
}
#forAthleteWrap .aboutBox .productBox01 .img:before {
  content: "";
  display: block;
  width: 115vw;
  height: 115vw;
  position: absolute;
  left: 50%;
  top: 35%;
  z-index: -1;
  transform: translate(-50%, -50%);
  background: url("../images/for_athlete/flare.png") no-repeat center center;
  background-size: contain;
}
#forAthleteWrap .aboutBox h3 {
  font-size: 4.3vw;
  font-weight: bold;
  margin-bottom: 1em;
}
#forAthleteWrap .aboutBox .txt {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
}
#forAthleteWrap .aboutBox .btnBuy {
  margin-top: 1.6em;
}
@media (min-width: 769px) {
  #forAthleteWrap .aboutBox .midashi .ttl {
    font-size: 4vw;
  }
  #forAthleteWrap .aboutBox .midashi .ttl strong {
    font-size: 4vw;
  }
  #forAthleteWrap .aboutBox .productBox01 {
    display: flex;
    align-items: center;
    margin-top: 0;
  }
  #forAthleteWrap .aboutBox .productBox01 .img {
    width: 50%;
    margin-left: -10%;
  }
  #forAthleteWrap .aboutBox .productBox01 .img:before {
    width: 120%;
    height: auto;
    padding-top: 120%;
    left: 60%;
  }
  #forAthleteWrap .aboutBox .productBox01 .txtBox {
    flex: 1;
  }
  #forAthleteWrap .aboutBox h3 {
    font-size: 2.3vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .aboutBox .midashi .ttl {
    font-size: 2.6vw;
  }
  #forAthleteWrap .aboutBox .midashi .ttl strong {
    font-size: 2.6vw;
  }
  #forAthleteWrap .aboutBox .productBox01 {
    margin-top: -2%;
  }
  #forAthleteWrap .aboutBox .productBox01 .img {
    width: 46%;
    margin-left: -4%;
  }
  #forAthleteWrap .aboutBox .productBox01 .txtBox {
    padding-right: 7%;
    padding-top: 4%;
  }
  #forAthleteWrap .aboutBox h3 {
    font-size: 19px;
  }
}
@media (min-width: 1600px) {
  #forAthleteWrap .aboutBox .midashi .ttl {
    font-size: 28px;
  }
  #forAthleteWrap .aboutBox .midashi .ttl strong {
    font-size: 41px;
  }
}
#forAthleteWrap .bgWhite {
  background: #fff;
  margin-top: 9vw;
  padding: 0 4vw 4vw;
}
#forAthleteWrap .accordion_item {
  position: relative;
  z-index: 1;
}
#forAthleteWrap .accordion_item:after {
  content: "";
  display: block;
  width: 100%;
  height: 6rem;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 6;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 65%, rgb(255, 255, 255) 100%);
}
#forAthleteWrap .accordion_open:after {
  content: none;
}
#forAthleteWrap .accordion_content {
  display: block;
  /*height: 152vw;*/
  overflow: hidden;
  position: relative;
  z-index: 2;
  margin-top: 0;
}
#forAthleteWrap .accordion_open .accordion_content {
  height: auto !important;
  padding-bottom: 4em;
}
#forAthleteWrap .accordion_label {
  position: absolute;
  left: 0;
  bottom: 10px;
  z-index: 10;
  font-size: 16px;
  text-align: center;
  font-weight: 400;
  padding: 1.3em 0 0;
  background: #0f256d;
  color: #fff;
  width: 100%;
}
#forAthleteWrap .accordion_label::after {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: relative;
  left: auto;
  right: auto;
  top: -0.6em;
  transform: rotate(-90deg);
  background: none;
  width: 1em;
  height: auto;
}
#forAthleteWrap .accordion_label::before {
  content: "詳しく見る";
  display: inline-block;
  width: 7em;
  height: auto;
  background: none;
  position: relative;
  left: auto;
  top: auto;
  right: auto;
}
#forAthleteWrap .accordion_open .accordion_label::after {
  top: -0.7em;
  transform: rotate(90deg);
}
#forAthleteWrap .accordion_open .accordion_label::before {
  width: 5em;
  content: "閉じる";
}
@media (min-width: 769px) {
  #forAthleteWrap .bgWhite {
    margin-top: 5vw;
    padding: 0 4vw 4vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .bgWhite {
    padding: 0 40px 35px;
    margin-top: 3vw;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .accordion_item:after {
    height: 6em;
  }
  #forAthleteWrap .accordion_label {
    width: 390px;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .accordion_open .accordion_content {
    padding-bottom: 2em;
  }
}
#forAthleteWrap #graphBoxWrap {
  padding: 9vw 0 0;
}
#forAthleteWrap #graphBoxWrap h3 {
  color: #0f256d;
  font-size: 4.8vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 0.8em;
}
#forAthleteWrap #graphBoxWrap .txt {
  margin-top: 1.6em;
  line-height: 1.6;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
}
#forAthleteWrap #graphBoxWrap .graphBox:nth-child(2) {
  margin-top: 11vw;
  margin-bottom: 6vw;
}
#forAthleteWrap #graphBoxWrap .accordion_content {
  height: 51vw;
}
@media (min-width: 769px) {
  #forAthleteWrap #graphBoxWrap {
    padding: 5vw 4vw 0;
  }
  #forAthleteWrap #graphBoxWrap h3 {
    font-size: 3vw;
  }
  #forAthleteWrap #graphBoxWrap .txt {
    margin-top: 2em;
    line-height: 1.7;
  }
  #forAthleteWrap #graphBoxWrap .accordion_content {
    height: 32vw;
  }
  #forAthleteWrap #graphBoxWrap .graphBox:nth-child(2) {
    margin-top: 6vw;
    margin-bottom: 4vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap #graphBoxWrap {
    padding: 60px 40px 0;
  }
  #forAthleteWrap #graphBoxWrap .graphBox {
    display: flex;
    align-items: center;
  }
  #forAthleteWrap #graphBoxWrap .graphBox:nth-child(2) {
    margin-top: 75px;
    margin-bottom: 66px;
  }
  #forAthleteWrap #graphBoxWrap .img {
    width: 40%;
    margin-right: 8%;
  }
  #forAthleteWrap #graphBoxWrap .leftBox {
    flex: 1;
  }
  #forAthleteWrap #graphBoxWrap h3 {
    font-size: 22px;
    text-align: left;
    line-height: 1.6;
    margin-bottom: 0.7em;
  }
  #forAthleteWrap #graphBoxWrap .txt {
    margin-top: 0;
    line-height: 1.8;
  }
  #forAthleteWrap #graphBoxWrap .accordion_content {
    height: 160px;
  }
}
#forAthleteWrap .pBlueBgBox {
  margin-top: 14vw;
  background: #E7E9F0;
  padding: 4vw 3vw 7vw;
}
#forAthleteWrap .pBlueBgBox .midashi {
  margin-bottom: 0.8em;
}
#forAthleteWrap .pBlueBgBox .midashi .ttl {
  font-size: 4.7vw;
  font-weight: bold;
}
#forAthleteWrap .pBlueBgBox .lineDL {
  margin-bottom: 2.5em;
}
#forAthleteWrap .pBlueBgBox .lineDL dt {
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  border-left: #0f256d 3px solid;
  padding: 2px 0 2px 7px;
  margin-bottom: 0.8em;
}
#forAthleteWrap .pBlueBgBox .lineDL dd {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
  line-height: 1.6;
}
#forAthleteWrap .pBlueBgBox .studyBox {
  background: #fff;
  border-radius: 10px;
  padding: 4vw 4vw 0;
  margin-top: 16px;
}
#forAthleteWrap .pBlueBgBox .studyBox h3 {
  display: flex;
  align-items: center;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em;
}
#forAthleteWrap .pBlueBgBox .studyBox h3 .sMark {
  border: #0f256d 1px solid;
  border-radius: 3px;
  color: #0f256d;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 14vw;
  height: 14vw;
  line-height: 1;
  margin-right: 10px;
  padding: 0;
}
#forAthleteWrap .pBlueBgBox .studyBox h3 .ttl {
  flex: 1;
}
#forAthleteWrap .pBlueBgBox .studyBox .img {
  margin-bottom: 1em;
}
#forAthleteWrap .pBlueBgBox .studyBox .txtBox p {
  font-size: 0.8125rem;
  line-height: 1.6;
}
#forAthleteWrap .pBlueBgBox .studyBox .txtBox p.fz10 {
  font-size: 0.625rem;
  line-height: 1.4;
  margin-top: 0.6em;
}
#forAthleteWrap .pBlueBgBox .studyBox.accordion_item:after {
  height: 3.6rem;
}
#forAthleteWrap .pBlueBgBox .studyBox .accordion_content {
  height: 53vw;
}
#forAthleteWrap .pBlueBgBox .studyBox .accordion_label {
  border: #fff 2px solid;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  padding: 0.9em 0 0;
  line-height: 1;
  bottom: 0;
}
#forAthleteWrap .pBlueBgBox .studyBox .accordion_label:after {
  top: -0.4em;
}
#forAthleteWrap .pBlueBgBox #lineDL03 {
  margin-top: 12vw;
}
@media (min-width: 769px) {
  #forAthleteWrap .pBlueBgBox {
    margin-top: 8vw;
    padding: 4vw 3vw 5vw;
  }
  #forAthleteWrap .pBlueBgBox .midashi {
    margin-bottom: 1em;
  }
  #forAthleteWrap .pBlueBgBox .midashi .ttl {
    font-size: 4vw;
  }
  #forAthleteWrap .pBlueBgBox .lineDL dt {
    font-size: 0.9375rem;
  }
  #forAthleteWrap .pBlueBgBox .studyBox {
    padding: 2.5vw 3vw 0;
    margin: 20px auto 0;
    width: 86%;
  }
  #forAthleteWrap .pBlueBgBox .studyBox h3 .sMark {
    width: 7vw;
    height: 7vw;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .accordion_content {
    height: 33vw;
  }
  #forAthleteWrap .pBlueBgBox #lineDL03 {
    margin-top: 6vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .pBlueBgBox {
    margin-top: 70px;
    padding: 40px 40px 50px;
  }
  #forAthleteWrap .pBlueBgBox .midashi .ttl {
    font-size: 2.6vw;
    margin-bottom: 1.4em;
  }
  #forAthleteWrap .pBlueBgBox .studyBox {
    padding: 12px 12px 18px;
    width: 100%;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .flex {
    display: flex;
    align-items: flex-start;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .flex .img {
    width: 32.5%;
    margin-right: 20px;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .flex .txtBox {
    flex: 1;
  }
  #forAthleteWrap .pBlueBgBox .studyBox h3 .sMark {
    width: 47px;
    height: 47px;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .img {
    margin-bottom: 0;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .accordion_label {
    width: 100%;
  }
  #forAthleteWrap .pBlueBgBox .studyBox .accordion_content {
    height: 76px;
  }
  #forAthleteWrap .pBlueBgBox #lineDL03 {
    margin-top: 45px;
  }
}
@media (min-width: 1600px) {
  #forAthleteWrap .pBlueBgBox .midashi .ttl {
    font-size: 41px;
  }
}
#forAthleteWrap .pBlueBgBox .doctoreBox {
  margin-top: 14vw;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox {
  display: flex;
  align-items: center;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox .img {
  width: 50%;
  margin-left: 15px;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox .nameBox {
  flex: 1;
  font-weight: bold;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox .en {
  font-size: 0.75rem;
  border-bottom: #000 1px solid;
  padding-bottom: 1px;
  margin-bottom: 3px;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox .name {
  font-size: 0.9375rem;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profBox .cap {
  font-size: 0.5rem;
  font-weight: 300;
  display: block;
}
#forAthleteWrap .pBlueBgBox .doctoreBox .profTxt {
  margin-top: 1em;
  line-height: 1.6;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
}
@media (min-width: 769px) {
  #forAthleteWrap .pBlueBgBox .doctoreBox {
    margin-top: 8vw;
    display: flex;
    align-items: flex-start;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .img {
    width: 145px;
    margin: 0 15px 0 0;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .box {
    flex: 1;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .pBlueBgBox .doctoreBox {
    margin-top: 45px;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .img {
    margin: 0 20px 0 0;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .profBox {
    display: block;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .profBox .cap {
    display: inline-block;
    vertical-align: middle;
    margin-left: 15px;
  }
  #forAthleteWrap .pBlueBgBox .doctoreBox .nameBox {
    display: inline-block;
  }
}
#forAthleteWrap .experienceBox {
  margin: 15vw -3vw 0;
}
#forAthleteWrap .experienceBox .raad {
  font-size: 4vw;
  text-align: center;
  font-weight: bold;
}
#forAthleteWrap .experienceBox {
  /*.midashi { margin-top: 15vw;}*/
}
#forAthleteWrap .experienceBox .midashi .ttl {
  color: #0f256d;
  font-size: 4.8vw;
  font-weight: bold;
  line-height: 1.5;
}
#forAthleteWrap .experienceBox .athleteImg {
  margin: -15px 0 4vw;
  position: relative;
  z-index: -1;
  backface-visibility: hidden;
}
#forAthleteWrap .experienceBox .athleteBox {
  margin: 0 3vw 7vw;
}
#forAthleteWrap .experienceBox .athleteBox:last-child {
  margin-bottom: 6vw;
}
#forAthleteWrap .experienceBox .athleteBox .img {
  margin-bottom: 1.2em;
}
#forAthleteWrap .experienceBox .athleteBox h3.name {
  color: #0f256d;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#forAthleteWrap .experienceBox .athleteBox h3.name .name {
  font-size: 1.125rem;
}
#forAthleteWrap .experienceBox .athleteBox h3.name .name span {
  font-size: 0.75rem;
}
#forAthleteWrap .experienceBox .athleteBox .txt {
  line-height: 1.6;
  margin-top: 0.9em;
}
#forAthleteWrap .experienceBox .accordion_content {
  height: 128vw;
}
@media (min-width: 769px) {
  #forAthleteWrap .experienceBox {
    margin: 9vw 0vw 0;
  }
  #forAthleteWrap .experienceBox .raad {
    font-size: 2.7vw;
  }
  #forAthleteWrap .experienceBox {
    /*.midashi { margin-top: 7vw;}*/
  }
  #forAthleteWrap .experienceBox .midashi .ttl {
    font-size: 3vw;
  }
  #forAthleteWrap .experienceBox .athleteImg {
    margin: 0 auto 4vw;
    max-width: 400px;
  }
  #forAthleteWrap .experienceBox .athleteBox {
    margin: 0 auto 5.5vw;
    width: 80%;
  }
  #forAthleteWrap .experienceBox .athleteBox:last-child {
    margin-bottom: 3vw;
  }
  #forAthleteWrap .experienceBox .accordion_content {
    height: 72vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .experienceBox {
    margin: 75px 0 0;
  }
  #forAthleteWrap .experienceBox .raad {
    font-size: 1rem;
  }
  #forAthleteWrap .experienceBox {
    /*.midashi { margin-top: 75px;}*/
  }
  #forAthleteWrap .experienceBox .midashi .ttl {
    font-size: 25px;
  }
  #forAthleteWrap .experienceBox .athleteImg {
    margin: 0 auto 48px;
  }
  #forAthleteWrap .experienceBox .athleteBox {
    display: flex;
    width: 100%;
    margin: 0 auto 40px;
  }
  #forAthleteWrap .experienceBox .athleteBox:last-child {
    margin-bottom: 70px;
  }
  #forAthleteWrap .experienceBox .athleteBox .img {
    margin: 0 36px 0 0;
    width: 310px;
  }
  #forAthleteWrap .experienceBox .athleteBox .txtBox {
    flex: 1;
  }
  #forAthleteWrap .experienceBox .athleteBox .txt {
    line-height: 1.7;
    margin-top: 2.3em;
  }
  #forAthleteWrap .experienceBox .accordion_content {
    height: 540px;
  }
}
#forAthleteWrap .supplierBox {
  margin: 13vw 0 12vw;
}
#forAthleteWrap .supplierBox .midashi {
  margin-bottom: 30px;
}
#forAthleteWrap .supplierBox .midashi .ttl {
  font-size: 6vw;
  font-weight: 400;
  color: #0f256d;
  line-height: 1.4;
}
#forAthleteWrap .supplierBox .midashi .ttl strong {
  font-weight: bold;
}
#forAthleteWrap .supplierBox .teamBox {
  border: #8792B6 1px solid;
  text-align: center;
  border-radius: 3px;
  overflow: hidden;
}
#forAthleteWrap .supplierBox .teamBox a {
  display: block;
  padding: 1.5vw 2.5vw 2.5vw;
}
#forAthleteWrap .supplierBox .teamBox:last-child {
  margin-top: 20px;
}
#forAthleteWrap .supplierBox .teamBox.onlyLogo a {
  padding: 1.5vw 3vw 0;
}
#forAthleteWrap .supplierBox h3.logo {
  max-width: 143px;
  margin: 0 auto -0.2em;
}
#forAthleteWrap .supplierBox h3.teamName p {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 1.8em;
  background: #0f256d;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 400;
  border-radius: 4em;
  padding: 0 1.7em;
  transform: translate(0, 50%);
}
#forAthleteWrap .supplierBox .teamBox.onlyLogo h3.teamName {
  margin-bottom: 5px;
}
@media (min-width: 769px) {
  #forAthleteWrap .supplierBox {
    margin: 8vw 0;
  }
  #forAthleteWrap .supplierBox .midashi {
    margin-bottom: 46px;
  }
  #forAthleteWrap .supplierBox .midashi .ttl {
    font-size: 4vw;
  }
  #forAthleteWrap .supplierBox .flex {
    display: flex;
    margin: 0 -10vw;
  }
  #forAthleteWrap .supplierBox .teamBox {
    flex: 1;
  }
  #forAthleteWrap .supplierBox .teamBox a {
    padding: 0.5vw 1vw 1vw;
  }
  #forAthleteWrap .supplierBox .teamBox:last-child {
    margin: 0 0 0 20px;
  }
  #forAthleteWrap .supplierBox .teamBox.onlyLogo a {
    padding: 0.5vw 2vw 0;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .supplierBox {
    margin: 76px 0;
  }
  #forAthleteWrap .supplierBox .midashi .ttl {
    font-size: 2.2vw;
  }
  #forAthleteWrap .supplierBox .flex {
    margin: 0;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .supplierBox .teamBox a {
    padding: 10px 20px 20px;
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #forAthleteWrap .supplierBox .teamBox a:hover {
    opacity: 0.7;
  }
  #forAthleteWrap .supplierBox .teamBox.onlyLogo a {
    padding: 10px 20px 5px;
  }
  #forAthleteWrap .supplierBox .teamBox.onlyLogo img {
    max-width: 86%;
    margin: 0 auto;
  }
}
#forAthleteWrap .instaBox {
  padding: 14vw 0 6vw;
}
#forAthleteWrap .instaBox .midashi {
  margin-bottom: 30px;
}
#forAthleteWrap .instaBox .midashi .ttl {
  font-size: 6vw;
  font-weight: 400;
  line-height: 1.4;
}
#forAthleteWrap .instaBox .midashi .ttl strong {
  font-weight: bold;
}
#forAthleteWrap .instaBox li {
  background: #fff;
  color: #000;
  margin-bottom: 12px;
  position: relative;
}
#forAthleteWrap .instaBox li:after {
  content: "ꀒ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: absolute;
  right: 5px;
  bottom: 5px;
  font-size: 2.2rem;
  color: #0f256d;
}
#forAthleteWrap .instaBox li a {
  display: flex;
  height: 100%;
  padding: 2vw;
  color: inherit;
  text-decoration: none;
}
#forAthleteWrap .instaBox li .img {
  width: 44%;
  margin-right: 4%;
}
#forAthleteWrap .instaBox li .nameBox {
  flex: 1;
  padding-top: 0.4em;
}
#forAthleteWrap .instaBox li .competition {
  font-size: 0.75rem;
  margin-bottom: 0.8em;
  font-weight: 400;
}
#forAthleteWrap .instaBox li .name {
  font-size: 1.125rem;
  font-weight: 400;
  color: #0f256d;
}
#forAthleteWrap .instaBox li .name span {
  font-size: 0.75rem;
}
@media (min-width: 769px) {
  #forAthleteWrap .instaBox {
    padding: 8vw 0 7.5vw;
    margin: 0 -10vw;
  }
  #forAthleteWrap .instaBox .midashi {
    margin-bottom: 30px;
  }
  #forAthleteWrap .instaBox .midashi .ttl {
    font-size: 4vw;
  }
  #forAthleteWrap .instaBox ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -1.5%;
  }
  #forAthleteWrap .instaBox li {
    flex: 0 0 48.5%;
    margin: 1.5% 1.5% 0 0;
  }
  #forAthleteWrap .instaBox li a {
    padding: 1vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .instaBox {
    padding: 50px 0 54px;
    margin: 0;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .instaBox .midashi {
    margin-bottom: 40px;
  }
  #forAthleteWrap .instaBox .midashi .ttl {
    font-size: 2.2vw;
  }
  #forAthleteWrap .instaBox ul {
    margin-right: -10px;
  }
  #forAthleteWrap .instaBox li {
    flex: none;
    width: calc((100% - 30px) / 3);
    margin: 12px 10px 0 0;
  }
  #forAthleteWrap .instaBox li a {
    padding: 10px;
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #forAthleteWrap .instaBox li a:hover {
    opacity: 0.7;
  }
  #forAthleteWrap .instaBox li .img {
    width: 40%;
    height: auto;
    margin-right: 12px;
    overflow: hidden;
  }
  #forAthleteWrap .instaBox li .img img {
    width: 114%;
    margin-left: -7%;
  }
}
#forAthleteWrap .supportBox {
  position: relative;
  padding: 12vw 0 16vw;
}
#forAthleteWrap .supportBox:before {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
  background: #e6ecee;
}
#forAthleteWrap .supportBox .midashi .ttl {
  font-size: 6vw;
  color: #0f256d;
  font-weight: bold;
}
#forAthleteWrap .supportBox .img {
  position: relative;
  margin-top: -5vw;
}
#forAthleteWrap .supportBox .img:before {
  content: "";
  display: block;
  width: 115vw;
  height: 115vw;
  position: absolute;
  left: 50%;
  top: 35%;
  z-index: -1;
  transform: translate(-50%, -50%);
  background: url("../images/for_athlete/flare.png") no-repeat center center;
  background-size: contain;
}
#forAthleteWrap .supportBox .catch {
  color: #0f256d;
  text-align: center;
  line-height: 1.8;
  font-size: 4.2vw;
  font-weight: 400;
  margin: 1em 0 0;
}
#forAthleteWrap .supportBox .txt01 {
  padding: 0 1em;
  margin-bottom: 1.4em;
}
#forAthleteWrap .supportBox .btnEntry {
  margin: 35px auto 0;
  max-width: 600px;
}
#forAthleteWrap .supportBox .btnEntry a {
  background: #0f256d;
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4em;
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: bold;
}
#forAthleteWrap .supportBox .btnEntry a span {
  background: #fff;
  width: 1.5em;
  height: 1.5em;
  line-height: 1;
  border-radius: 50%;
  margin-left: 12px;
  margin-right: -1em;
  position: relative;
}
#forAthleteWrap .supportBox .btnEntry a span:before {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  color: #0f256d;
  font-size: 0.8125rem;
  position: absolute;
  left: 54%;
  top: 54%;
  transform: translate(-50%, -50%);
}
#forAthleteWrap .supportBox h3.midashi {
  margin-top: 4em;
}
#forAthleteWrap .supportBox .entryBox {
  border: #0f256d 1px solid;
  padding: 6vw 5vw 5vw;
  background: #fff;
  /*h3 { font-weight: bold; margin: 1.8em 0 0.5em;}
  h3:first-child { margin-top: 0;}*/
}
#forAthleteWrap .supportBox .entryBox h3 {
  font-weight: bold;
  font-size: 1.125rem;
  text-align: center;
  margin-bottom: 1em;
}
#forAthleteWrap .supportBox .entryBox h4 {
  font-weight: bold;
  font-size: 0.875rem;
  margin: 2em 0 0.75em;
}
#forAthleteWrap .supportBox .entryBox h5 {
  font-weight: 500;
  font-size: 0.8125rem;
  margin: 2em 0 0.6em;
}
#forAthleteWrap .supportBox .entryBox .kiyaku {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
#forAthleteWrap .supportBox .entryBox .numList {
  margin-top: 8px;
}
#forAthleteWrap .supportBox .entryBox .numList li {
  display: flex;
  margin-bottom: 6px;
}
#forAthleteWrap .supportBox .entryBox .numList li .num {
  width: 2.1em;
}
#forAthleteWrap .supportBox .entryBox .numList li .num + div {
  flex: 1;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  text-justify: inter-ideograph;
}
#forAthleteWrap .supportBox .entryBox .flow {
  display: flex;
  flex-wrap: wrap;
  font-size: 2.8vw;
  text-align: center;
  line-height: 1.3;
  margin: 15px 0 0;
}
#forAthleteWrap .supportBox .entryBox .flow * {
  font-weight: 500;
}
#forAthleteWrap .supportBox .entryBox .flow li {
  border: rgba(15, 37, 109, 0.3) 1px solid;
  padding: 7px 9px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc((100% - 5vw) / 2);
  margin-bottom: 3%;
  position: relative;
}
#forAthleteWrap .supportBox .entryBox .flow li:first-child {
  margin-right: 5vw;
}
#forAthleteWrap .supportBox .entryBox .flow li:nth-child(3) {
  margin: 0 5vw;
  width: calc((100% - 10vw) / 2);
}
#forAthleteWrap .supportBox .entryBox .flow li:nth-child(4) {
  width: calc((100% - 10vw) / 2);
  margin-bottom: 0;
}
#forAthleteWrap .supportBox .entryBox .flow li:first-child:after,
#forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):after {
  font-family: "two_icon";
  content: "ꀓ";
  display: block;
  width: 1em;
  position: absolute;
  right: -2.5vw;
  top: 50%;
  transform: translate(60%, -50%) rotate(-90deg);
}
#forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):before {
  font-family: "two_icon";
  content: "ꀓ";
  display: block;
  width: 1em;
  position: absolute;
  left: -2.5vw;
  top: 50%;
  transform: translate(-60%, -50%) rotate(-90deg);
}
#forAthleteWrap .supportBox .entryBox .kome {
  font-size: 0.75rem;
}
#forAthleteWrap .supportBox .entryBox .txt {
  margin-bottom: 0.5em;
}
#forAthleteWrap .supportBox .entryBox .dotList {
  margin: 1em 0 1.2em;
}
#forAthleteWrap .supportBox .entryBox .dotList li {
  margin-bottom: 0.3em;
}
#forAthleteWrap .supportBox .entryBox .btnEntry {
  margin-top: 35px;
}
#forAthleteWrap .supportBox .entryBox .btnEntry a {
  height: 3.6em;
}
@media (min-width: 769px) {
  #forAthleteWrap .supportBox {
    padding: 8vw 0 10vw;
    margin: 0 -10vw;
  }
  #forAthleteWrap .supportBox .midashi .ttl {
    font-size: 4vw;
  }
  #forAthleteWrap .supportBox h3.midashi {
    margin-top: 5em;
  }
  #forAthleteWrap .supportBox .txt01 {
    text-align: center;
    font-size: 0.95rem;
    padding-top: 1em;
  }
  #forAthleteWrap .supportBox .flex {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
    margin-top: -2vw;
    position: relative;
    z-index: -1;
  }
  #forAthleteWrap .supportBox .img {
    width: 320px;
    margin: 0 -3vw 0 -3vw;
  }
  #forAthleteWrap .supportBox .img:before {
    width: 120%;
    height: auto;
    padding-top: 120%;
    left: 60%;
  }
  #forAthleteWrap .supportBox .catch {
    text-align: left;
    font-size: 2.3vw;
    line-height: 1.9;
    margin: 0;
  }
  #forAthleteWrap .supportBox .entryBox {
    padding: 3vw 5vw 5vw;
  }
  #forAthleteWrap .supportBox .entryBox h3 {
    font-size: 1.375rem;
    margin-bottom: 1em;
  }
  #forAthleteWrap .supportBox .entryBox h4 {
    font-size: 1rem;
    margin: 2.5em 0 0.75em;
  }
  #forAthleteWrap .supportBox .entryBox h5 {
    font-size: 0.875rem;
    margin: 2em 0 0.6em;
  }
  #forAthleteWrap .supportBox .entryBox .kiyaku {
    font-size: 0.875rem;
  }
  #forAthleteWrap .supportBox .entryBox .flow {
    font-size: 1.5vw;
    margin: 15px 0 0;
  }
  #forAthleteWrap .supportBox .entryBox .flow li {
    padding: 7px 9px;
    width: calc((100% - 60px) / 4) !important;
    margin-bottom: 0;
  }
  #forAthleteWrap .supportBox .entryBox .flow li:first-child {
    margin-right: 20px;
  }
  #forAthleteWrap .supportBox .entryBox .flow li:nth-child(3) {
    margin: 0 20px;
  }
  #forAthleteWrap .supportBox .entryBox .flow li:first-child:after,
  #forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):after {
    right: -10px;
    transform: translate(70%, -50%) rotate(-90deg);
  }
  #forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):before {
    left: -10px;
    transform: translate(-55%, -50%) rotate(-90deg);
  }
  #forAthleteWrap .supportBox .entryBox .btnEntry {
    margin-top: 50px;
  }
  #forAthleteWrap .supportBox .entryBox .btnEntry a {
    height: 4em;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .supportBox {
    padding: 55px 0 90px;
    margin: 0;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .supportBox .midashi .ttl {
    font-size: 2.2vw;
  }
  #forAthleteWrap .supportBox .txt01 {
    font-size: 1rem;
    padding-top: 1.5em;
  }
  #forAthleteWrap .supportBox .flex {
    margin-top: 0;
  }
  #forAthleteWrap .supportBox .img {
    margin: 0 -30px 0 -30px;
  }
  #forAthleteWrap .supportBox .catch {
    font-size: 1.125rem;
    line-height: 1.9;
  }
  #forAthleteWrap .supportBox .btnEntry a {
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #forAthleteWrap .supportBox .btnEntry a:hover {
    opacity: 0.7;
  }
  #forAthleteWrap .supportBox .entryBox {
    padding: 40px 50px 50px;
    max-width: 780px;
    margin: 0 auto;
  }
  #forAthleteWrap .supportBox .entryBox h3 {
    font-size: 1.375rem;
    margin-bottom: 1em;
  }
  #forAthleteWrap .supportBox .entryBox h4 {
    font-size: 1rem;
    margin: 2.5em 0 0.75em;
  }
  #forAthleteWrap .supportBox .entryBox h5 {
    font-size: 0.875rem;
    margin: 2em 0 0.6em;
  }
  #forAthleteWrap .supportBox .entryBox .kiyaku {
    font-size: 0.875rem;
  }
  #forAthleteWrap .supportBox .entryBox .flow {
    font-size: 0.875rem;
    margin: 15px 0 0;
  }
  #forAthleteWrap .supportBox .entryBox .flow li:first-child:after,
  #forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):after {
    right: -10px;
    transform: translate(60%, -50%) rotate(-90deg);
  }
  #forAthleteWrap .supportBox .entryBox .flow li:nth-child(3):before {
    left: -10px;
    transform: translate(-55%, -50%) rotate(-90deg);
  }
  #forAthleteWrap .supportBox .entryBox .btnEntry {
    margin-top: 50px;
  }
  #forAthleteWrap .supportBox .entryBox .btnEntry a {
    height: 4em;
  }
}
#forAthleteWrap .supportAthleteSlide {
  overflow: hidden;
  padding: 16vw 0 9vw;
  position: relative;
}
#forAthleteWrap .supportAthleteSlide .block {
  background: #fff;
  color: #000;
  position: relative;
  border-radius: 0;
  margin: 0 0 5px;
}
#forAthleteWrap .supportAthleteSlide .block a {
  display: flex;
  height: 100%;
  padding: 2vw;
  color: inherit;
  text-decoration: none;
}
#forAthleteWrap .supportAthleteSlide .block .photo {
  width: 32%;
  margin-right: 5%;
}
#forAthleteWrap .supportAthleteSlide .block .photo + div {
  flex: 1;
  padding-top: 0.4em;
}
#forAthleteWrap .supportAthleteSlide .block .suports {
  font-size: 0.75rem;
  line-height: 1.4;
  margin-bottom: 0.4em;
  font-weight: 500;
}
#forAthleteWrap .supportAthleteSlide .block h3 {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 400;
  color: #0f256d;
  margin-bottom: 0.5em;
}
#forAthleteWrap .supportAthleteSlide .block h3 span {
  font-size: 0.75rem;
  display: inline-block;
  margin-left: 0.5em;
}
#forAthleteWrap .supportAthleteSlide .block .profile {
  font-size: 0.75rem;
  line-height: 1.4;
  font-weight: 500;
}
#forAthleteWrap .supportAthleteSlide .block .icon {
  position: absolute;
  right: 8px;
  bottom: 6px;
  font-size: 30px;
  line-height: 0;
  letter-spacing: 0;
}
#forAthleteWrap .supportAthleteSlide .block .icon img {
  width: 30px;
}
#forAthleteWrap .supportAthleteSlide .swiper-button-prev,
#forAthleteWrap .supportAthleteSlide .swiper-button-next {
  width: 2rem;
  height: 2rem;
  background: #0f256d;
  color: #fff;
  top: calc(16vw - 12px);
  margin-top: 0;
  transform: translate(0, -100%);
}
#forAthleteWrap .supportAthleteSlide .swiper-button-prev {
  left: auto;
  right: calc(2rem + 8px);
}
#forAthleteWrap .supportAthleteSlide .swiper-button-next {
  right: 0;
}
#forAthleteWrap .supportAthleteSlide .swiper-button-next:after, #forAthleteWrap .supportAthleteSlide .swiper-button-prev:after {
  font-size: 1.2rem;
}
#forAthleteWrap .supportAthleteSlide .swiper-button-next.swiper-button-disabled, #forAthleteWrap .supportAthleteSlide .swiper-button-prev.swiper-button-disabled {
  opacity: 0.22;
}
#forAthleteWrap .supportAthleteSlide .swiper-pagination-bullets {
  bottom: 0 !important;
}
#forAthleteWrap .supportAthleteSlide .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 8px;
}
#forAthleteWrap .supportAthleteSlide .swiper-pagination-bullet-active {
  background: #0f256d;
}
@media screen and (min-width: 501px) {
  #forAthleteWrap .supportAthleteSlide {
    padding: 8vw 0 6vw;
  }
  #forAthleteWrap .supportAthleteSlide .block {
    margin: 0 0 8px;
  }
  #forAthleteWrap .supportAthleteSlide .block a {
    padding: 12px 38px 12px 12px;
  }
  #forAthleteWrap .supportAthleteSlide .block .photo {
    width: 36%;
    margin-right: 4%;
  }
  #forAthleteWrap .supportAthleteSlide .swiper-button-prev,
  #forAthleteWrap .supportAthleteSlide .swiper-button-next {
    top: calc(8vw - 12px);
  }
}
@media screen and (min-width: 901px) {
  #forAthleteWrap .supportAthleteSlide {
    padding: 60px 0 45px;
  }
  #forAthleteWrap .supportAthleteSlide .block {
    margin: 0 0 8px;
  }
  #forAthleteWrap .supportAthleteSlide .block a {
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #forAthleteWrap .supportAthleteSlide .block a:hover {
    opacity: 0.7;
  }
  #forAthleteWrap .supportAthleteSlide .block .photo {
    width: 36%;
    margin-right: 4%;
  }
  #forAthleteWrap .supportAthleteSlide .swiper-button-prev,
  #forAthleteWrap .supportAthleteSlide .swiper-button-next {
    top: 44px;
  }
}
#forAthleteWrap #buyBox {
  position: relative;
  padding: 8vw 5vw 14vw;
}
#forAthleteWrap #buyBox:before {
  content: "";
  display: block;
  width: 150vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
  background: #f5f8fb;
}
#forAthleteWrap #buyBox .img {
  width: 80%;
  margin: 0 auto 4vw;
}
#forAthleteWrap #buyBox h2 {
  font-size: 4.6vw;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}
#forAthleteWrap #buyBox h2 span {
  font-size: 3vw;
  letter-spacing: 2px;
  padding-left: 2px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 1.8em;
  width: 3.4em;
  margin-right: 10px;
  border: #000 1px solid;
}
#forAthleteWrap #buyBox .txt {
  color: #0f256d;
  text-align: center;
  font-weight: 400;
  font-size: 4.2vw;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
  font-weight: bold;
  margin: 2.5em 0 1.3em;
}
#forAthleteWrap #buyBox .btnBuy {
  margin-top: 15px;
}
#forAthleteWrap #buyBox .btnBuy.arrow a:after {
  content: "ꀓ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 48%;
  transform: translate(0, -50%) rotate(-90deg);
  font-size: 1rem;
}
#forAthleteWrap #buyBox .btnBuy .logo {
  width: 2em;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translate(0, -50%);
}
@media (min-width: 769px) {
  #forAthleteWrap #buyBox {
    padding: 7vw 0;
    margin: 0 -10vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #forAthleteWrap #buyBox .img {
    width: 46%;
    margin: 0 4vw 0 -3vw;
  }
  #forAthleteWrap #buyBox h2 {
    font-size: 2.4vw;
  }
  #forAthleteWrap #buyBox h2 span {
    font-size: 1.7vw;
  }
  #forAthleteWrap #buyBox .txt {
    font-size: 2vw;
    letter-spacing: 0.15em;
    padding-left: 0.15em;
    margin: 2.4em 0 1em;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap #buyBox {
    padding: 45px 0;
    margin: 0;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap #buyBox .img {
    width: 36%;
    max-width: 437px;
    margin: 0 60px 0 -30px;
    backface-visibility: hidden;
  }
  #forAthleteWrap #buyBox h2 {
    font-size: 1.1875rem;
  }
  #forAthleteWrap #buyBox h2 span {
    font-size: 0.75rem;
  }
  #forAthleteWrap #buyBox .txt {
    font-size: 1rem;
  }
}
#forAthleteWrap .kijiBox {
  padding: 12vw 0 0;
}
#forAthleteWrap .kijiBox .midashi .ttl {
  font-size: 6vw;
  color: #0f256d;
  font-weight: bold;
}
#forAthleteWrap .kijiBox ul {
  margin-top: 8vw;
}
#forAthleteWrap .kijiBox li {
  margin-top: 15px;
  border: #8792B6 1px solid;
  border-radius: 3px;
  overflow: hidden;
}
#forAthleteWrap .kijiBox li a {
  display: block;
  padding: 3vw 3vw 4vw;
  text-decoration: none;
  color: inherit;
}
#forAthleteWrap .kijiBox li .img {
  position: relative;
  width: 100%;
  padding-top: 51.56%;
  overflow: hidden;
}
#forAthleteWrap .kijiBox li .img img {
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
#forAthleteWrap .kijiBox li .date {
  font-size: 0.625rem;
  margin: 1em 0 0;
  font-weight: 400;
}
#forAthleteWrap .kijiBox li .ttl {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 400;
}
@media (min-width: 769px) {
  #forAthleteWrap .kijiBox {
    padding: 8vw 0 0;
    margin: 0 -10vw;
  }
  #forAthleteWrap .kijiBox .midashi .ttl {
    font-size: 4.2vw;
  }
  #forAthleteWrap .kijiBox ul {
    margin: 6vw -4% 0 0;
    display: flex;
    flex-wrap: wrap;
  }
  #forAthleteWrap .kijiBox li {
    flex: 0 0 47%;
    margin: 0 3% 3% 0;
  }
  #forAthleteWrap .kijiBox li a {
    padding: 1.2vw 1.2vw 2vw;
  }
}
@media (min-width: 928px) {
  #forAthleteWrap .kijiBox {
    padding: 60px 0 0;
    margin: 0;
    width: 90vw;
    max-width: 980px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #forAthleteWrap .kijiBox .midashi .ttl {
    font-size: 2.2vw;
  }
  #forAthleteWrap .kijiBox ul {
    margin: 30px -20px 0 0;
  }
  #forAthleteWrap .kijiBox li {
    flex: none;
    width: calc((100% - 60px) / 3);
    margin: 16px 20px 0 0;
  }
  #forAthleteWrap .kijiBox li a {
    padding: 12px 10px 16px;
    transition: opacity 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #forAthleteWrap .kijiBox li a:hover {
    opacity: 0.7;
  }
}

.grid {
  position: relative;
  padding: 0 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 769px) {
  .grid {
    max-width: 1366px;
    width: 96%;
    padding: 0 1.5rem;
  }
}
@media (min-width: 769px) {
  .grid_s {
    max-width: 768px;
    width: 72%;
  }
}

.row2 {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .row2 .col_1 {
    flex: 0 1 100% !important;
  }
}
.row2 .col_2 {
  flex: 0 1 50%;
}
.row2 .col_3 {
  flex: 0 1 50%;
}
@media (min-width: 769px) {
  .row2 .col_3 {
    flex: 0 1 33.3333333% !important;
  }
}

.row3 {
  display: flex;
  flex-wrap: wrap;
}
.row3 .col_2 {
  flex: 0 1 33.3333333%;
}
@media (max-width: 768px) {
  .row3 .col_2 {
    flex: 0 1 50% !important;
  }
}

.heading_primary {
  font-size: 2.25rem;
  letter-spacing: 0.015rem;
  line-height: 1.25;
  font-weight: 300;
  text-align: center;
}
@media (min-width: 769px) {
  .heading_primary {
    font-size: 3rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.heading_primary-ja {
  font-size: 2rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 300;
  text-align: center;
}
@media (min-width: 769px) {
  .heading_primary-ja {
    font-size: 2.5rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.heading_secondary {
  font-size: 2rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 300;
  text-align: center;
}
@media (min-width: 769px) {
  .heading_secondary {
    font-size: 2.5rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}
.heading_secondary-ja {
  font-size: 1.75rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 300;
  text-align: center;
}
@media (min-width: 769px) {
  .heading_secondary-ja {
    font-size: 2.25rem;
    letter-spacing: 0.015rem;
    line-height: 1.25;
  }
}

.subheading_primary {
  display: block;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  margin-top: 0.75rem;
}
.subheading_secondary {
  display: block;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  margin-top: 1rem;
}

.upper {
  text-transform: uppercase !important;
}

.btn {
  display: inline-flex;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  text-align: center;
  min-width: 10rem;
  padding-top: 1rem;
  padding-right: 1.25rem;
  padding-bottom: 1rem;
  padding-left: 1.25rem;
}

.icon_twitter::before {
  content: "ꀇ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_instagram::before {
  content: "ꀄ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_contact::before {
  content: "ꀃ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_arrow_left::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_arrow_right::before {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_cart::before {
  content: "ꀈ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_user::before {
  content: "ꀉ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_facebook_b::before {
  content: "ꀑ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_insta02::before {
  content: "ꀒ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}
.icon_facebook_e::before {
  content: "ꀕ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
}

@media (min-width: 769px) {
  .hover {
    transition: opacity 0.2s ease-out;
  }
  .hover:hover {
    opacity: 0.8;
  }
}
header.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 12.8vw;
  z-index: 1000;
}
header.header a {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 769px) {
  header.header {
    height: 98px;
    padding-top: 31px;
    background: none;
    transition: background 0.1s;
  }
  header.header:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -10;
    background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0.5) 62.07%, rgba(255, 255, 255, 0.26) 86.21%, rgba(255, 255, 255, 0) 100%);
    transition: opacity 0.3s;
  }
  header.header:before {
    content: "";
    display: block;
    width: 100%;
    height: 0px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -20;
    background: transparent;
    backdrop-filter: blur(30px);
    --webkit-backdrop-filter: blur(30px);
    background-color: rgba(255, 255, 255, 0.2);
    opacity: 0;
    transition: all 0.2s 0.1s;
  }
  header.header.open {
    background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0) 100%);
    transition: background 0.3s;
  }
  header.header.open:before {
    height: 100%;
    opacity: 1;
    transition: opacity 0.3s;
  }
  header.header.open:after {
    background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0) 100%);
  }
}
header.header .spNavBar {
  position: relative;
  height: 12.8vw;
  background: #fff;
}
header.header .spNavBar .cart {
  font-size: 1.375rem;
  line-height: 1;
  position: absolute;
  left: 4vw;
  top: 52%;
  transform: translate(0, -50%);
}
header.header .spNavBar .cart span {
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background: #21364E;
  color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(40%, -20%);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.5rem;
  line-height: 1;
}
header.header .spNavBar h1 {
  width: 20.27vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 0;
}
header.header .spNavBar h1 svg {
  width: 100%;
  height: 3.2vw;
}
header.header .spNavBar .menu {
  cursor: pointer;
  font-size: 0;
  width: 5.33vw;
  height: 4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 4.27vw;
  top: 4.27vw;
}
header.header .spNavBar .menu p {
  width: 100%;
  height: 1px;
  background: #171C25;
}
header.header .spNavBar .menu:before, header.header .spNavBar .menu:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #171C25;
  position: absolute;
  left: 0;
}
header.header .spNavBar .menu:before {
  top: 0;
}
header.header .spNavBar .menu:after {
  bottom: 0.1px;
}
header.header #gNavBox {
  display: none;
  background: url("../images/sp_menu_bg.jpg") no-repeat center top;
  background-size: cover;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh) * 100);
  padding: 20.27vw 5.33vw 10vh;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2000;
}
header.header #gNavBox .header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100vw;
  height: 16.53vw;
  padding: 4.8vw 5.33vw 0;
  background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0) 100%);
}
header.header #gNavBox h1 {
  width: 20.27vw;
  font-size: 0;
}
header.header #gNavBox h1 svg {
  width: 100%;
  height: 3.2vw;
}
header.header #gNavBox .user {
  font-size: 1rem;
  line-height: 1;
  width: 8.53vw;
  height: 8.53vw;
  position: absolute;
  right: 27.73vw;
  top: 2.13vw;
}
header.header #gNavBox .user a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #21364E;
  color: #fff;
  padding-bottom: 0.1em;
}
header.header #gNavBox .cart {
  font-size: 1.0625rem;
  line-height: 1;
  width: 8.53vw;
  height: 8.53vw;
  position: absolute;
  right: 15.2vw;
  top: 2.13vw;
}
header.header #gNavBox .cart a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #21364E;
  color: #fff;
  padding: 0 0.06em 0 0;
}
header.header #gNavBox .cart span {
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  background: #fff;
  color: #21364E;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(-35%, 40%);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.4375rem;
  line-height: 1;
}
header.header #gNavBox .close {
  cursor: pointer;
  position: fixed;
  right: 5.33vw;
  top: 4.27vw;
  width: 4.27vw;
  height: 4.27vw;
}
header.header #gNavBox .close:before {
  content: "";
  display: block;
  width: 5.87vw;
  height: 1px;
  background: #383838;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
header.header #gNavBox .close:after {
  content: "";
  display: block;
  width: 5.87vw;
  height: 1px;
  background: #383838;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (min-width: 769px) {
  header.header #gNavBox {
    display: block;
    height: auto;
    padding: 0 min(16vw, 340px) 0 min(19vw, 360px);
    position: relative;
    right: auto;
    top: auto;
    background: none;
    overflow: visible;
  }
  header.header #gNavBox .header {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    padding: 0;
    background: none;
  }
  header.header #gNavBox h1 {
    width: min(9.8vw, 178px);
    position: fixed;
    left: min(4.2vw, 90px);
    top: 36px;
  }
  header.header #gNavBox h1 svg {
    width: 100%;
    height: 27px;
  }
  header.header #gNavBox .user {
    position: fixed;
    font-size: min(2vw, 1.4375rem);
    width: min(3.3vw, 50px);
    height: min(3.3vw, 50px);
    right: min(8.3vw, 155px);
    top: 26px;
  }
  header.header #gNavBox .cart {
    position: fixed;
    font-size: min(2vw, 1.4375rem);
    width: min(3.3vw, 50px);
    height: min(3.3vw, 50px);
    right: min(4.1vw, 80px);
    top: 26px;
  }
  header.header #gNavBox .cart a {
    padding: 0 0.06em 0 0;
  }
  header.header #gNavBox .cart span {
    width: 1.6em;
    height: 1.6em;
    transform: translate(-30%, 40%);
    font-size: min(0.65vw, 0.625rem);
  }
}
header.header #gNavBox .navList {
  font-size: 0.875rem;
}
header.header #gNavBox .navList a, header.header #gNavBox .navList .acP {
  padding: 0.7em 0;
  display: block;
  cursor: pointer;
  position: relative;
}
header.header #gNavBox .navList .acP:before {
  content: "";
  width: 4.53vw;
  height: 1px;
  background: #383838;
  font-size: 0;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%) rotate(-90deg);
  transition: all 0.3s ease;
}
header.header #gNavBox .navList .acP:after {
  content: "";
  width: 4.53vw;
  height: 1px;
  background: #383838;
  font-size: 0;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
header.header #gNavBox .navList .acP.open:before {
  transform: translate(0, -50%) rotate(0deg);
  opacity: 0;
}
header.header #gNavBox .navList .acBox {
  margin-left: 6.67vw;
  display: none;
}
header.header #gNavBox .navList .acBox ul {
  padding-bottom: 2.67vw;
}
header.header #gNavBox .navList .acBox .productList {
  overflow-y: scroll;
  height: 80vh;
}
header.header #gNavBox .navList .all {
  border-bottom: #383838 1px solid;
  margin-top: 1.6vw;
}
header.header #gNavBox .navList .all a {
  padding: 0.3em 0;
}
header.header #gNavBox .navList .all span {
  display: inline-block;
  padding-right: 1.7em;
  position: relative;
}
header.header #gNavBox .navList .all span:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.07vw 0 1.07vw 1.33vw;
  border-color: transparent transparent transparent #383838;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
header.header #gNavBox .navList .productList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 0.625rem;
  text-align: center;
}
header.header #gNavBox .navList .productList li:nth-child(2n) {
  margin-left: 5.33vw;
}
header.header #gNavBox .navList .productList li {
  width: 35.2vw;
  margin-top: 2.13vw;
}
header.header #gNavBox .navList .productList li p {
  margin-top: 0.8vw;
}
header.header #gNavBox .navList .productList li .yakuyou {
  border: rgba(56, 56, 56, 0.5) 1px solid;
  padding: 0 2px 0 3px;
  margin-right: 3px;
}
header.header #gNavBox .navList .txtLinkList li p {
  display: inline-block;
  padding-right: 1em;
  position: relative;
}
header.header #gNavBox .navList .txtLinkList li p:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.07vw 0 1.07vw 1.33vw;
  border-color: transparent transparent transparent #383838;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
@media (min-width: 769px) {
  header.header #gNavBox .navList {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: min(1.18vw, 0.875rem);
  }
  header.header #gNavBox .navList li {
    margin-right: 2.5em;
  }
  header.header #gNavBox .navList a, header.header #gNavBox .navList .acP {
    padding: 0.7em 0;
    display: block;
    cursor: pointer;
    position: relative;
  }
  header.header #gNavBox .navList a:before, header.header #gNavBox .navList .acP:before {
    content: "";
    display: block;
    background: #383838;
    width: 0;
    height: 1px;
    position: absolute;
    right: 50%;
    top: auto;
    bottom: 0.2rem;
    transform: translate(50%, 0);
    transition: width 0.2s ease-out;
  }
  header.header #gNavBox .navList a:after, header.header #gNavBox .navList .acP:after {
    content: none;
  }
  header.header #gNavBox .navList .open .acP:before, header.header #gNavBox .navList a:hover:before {
    width: 100%;
  }
  header.header #gNavBox .navList .acBox {
    margin-left: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 100%);
  }
  header.header #gNavBox .navList .acBox a:before {
    content: none;
  }
  header.header #gNavBox .navList .acBox ul {
    padding-bottom: 10px;
    height: unset;
  }
  header.header #gNavBox .navList .thisPoint {
    position: relative;
  }
  header.header #gNavBox .navList .all {
    margin-top: 16px;
  }
  header.header #gNavBox .navList .all a {
    padding: 0.75em 0;
  }
  header.header #gNavBox .navList .all span {
    display: inline-block;
    padding-right: 1.7em;
    position: relative;
  }
  header.header #gNavBox .navList .all span:before {
    border-width: 4px 0 4px 5px;
  }
  header.header #gNavBox .navList .productList {
    font-size: 0.75rem;
    justify-content: flex-start;
  }
  header.header #gNavBox .navList .productList li:nth-child(2n) {
    margin-left: 0;
  }
  header.header #gNavBox .navList .productList li {
    width: min(11vw, 200px);
    margin: 20px 1.5em 0 0;
  }
  header.header #gNavBox .navList .productList li p {
    margin-top: 3px;
  }
  header.header #gNavBox .navList .txtLinkList {
    white-space: nowrap;
    margin-top: 20px;
  }
  header.header #gNavBox .navList .txtLinkList li p {
    display: inline-block;
    padding-right: 1em;
    position: relative;
  }
  header.header #gNavBox .navList .txtLinkList li p:before {
    border-width: 4px 0 4px 5px;
  }
}
@media (min-width: 1250px) {
  header.header #gNavBox .navList li {
    margin-right: 3em;
  }
}
@media (min-width: 1380px) {
  header.header #gNavBox .navList li {
    margin-right: 3.5em;
  }
}

.tagArea {
  position: relative;
}
.tagItem {
  position: absolute;
  width: 20%;
  top: 0;
  left: 0;
}
.header .tagItem {
  width: 30%;
}

#wrapper {
  width: 100vw;
  overflow-x: hidden;
  position: relative;
  background-color: #fff;
  z-index: 1;
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  #wrapper {
    padding-bottom: 6rem;
  }
}

.breadcrumb2 {
  position: relative;
}

.breadcrumb_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  margin-right: auto;
  margin-left: auto;
  max-width: none;
  padding: 0.7rem 4vw;
  min-height: 12vw;
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .breadcrumb_list {
    width: 100%;
    padding: 0.8rem min(4.2vw, 90px);
    min-height: 3.3rem;
  }
}
.breadcrumb_item {
  position: relative;
  display: inline;
}
.breadcrumb_item:nth-child(n+2) {
  margin-left: 0.4em;
  padding-left: 1.4em;
}
.breadcrumb_item:nth-child(n+2)::after {
  position: absolute;
  top: 0.25em;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  content: ">";
  height: 1em;
  width: 1em;
}
.breadcrumb_item:last-child .breadcrumb_name {
  font-weight: 400;
}
.breadcrumb_link {
  color: inherit;
}

.common_visual {
  position: relative;
  text-align: center;
  margin-top: 5rem;
  padding: 70.7213vw 0 0;
  overflow: hidden;
}
@media (min-width: 769px) {
  .common_visual {
    margin-top: 10rem;
    padding: 30.2755vw 0 0;
  }
}
.common_visual-bg {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: url("../images/products_02.jpg") no-repeat 50% 80%/cover;
  backface-visibility: hidden;
  height: 110%;
  width: 100%;
  z-index: -1;
}
@media (min-width: 769px) {
  .common_visual-bg {
    background: url("../images/products_01.jpg") no-repeat 50% 65%/cover;
  }
}
.common_visual-content {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 2rem;
  padding-left: 0;
}
.common_visual-btn {
  font-weight: 700;
  color: #000;
  border: 0.0625rem solid #000;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.common_visual-btn:hover {
  background-color: #000;
  color: #fff;
}

.subfooter {
  position: relative;
  /*@include layout_padding($top: m);*/
  z-index: 1;
}
@media (min-width: 769px) {
  .subfooter {
    padding-top: 10rem;
  }
}
.subfooter_inner {
  max-width: 64rem;
}
.subfooter_inner.one_side .subfooter_support {
  text-align: center;
}
.subfooter_inner.one_side .subfooter_column, .subfooter_inner.one_side .subfooter_news {
  width: 100% !important;
}
@media (max-width: 768px) {
  .subfooter_inner.one_side .subfooter_column, .subfooter_inner.one_side .subfooter_news {
    margin-top: 0;
  }
}
.subfooter_inner.one_side .subfooter_heading {
  text-align: center;
}
.subfooter_inner.one_side .subfooter_news-item {
  text-align: center;
}
.subfooter_inner.one_side .subfooter_more {
  margin-right: auto;
  margin-left: auto;
}
.subfooter_support {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .subfooter_support {
    text-align: center;
  }
}
.subfooter_container {
  justify-content: space-between;
  align-items: stretch;
}
.subfooter_heading {
  font-size: 1.125rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 700;
}
@media (max-width: 768px) {
  .subfooter_heading {
    text-align: center;
  }
}
.subfooter_article-title {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  line-height: 1.4;
  font-weight: 400;
  margin-top: 0.5rem;
}
.subfooter_more {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  color: #000;
  border: 0.0625rem solid #000;
  margin-top: 4rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
  align-items: center;
  justify-content: center;
}
.subfooter_more::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
  margin-right: -0.9em;
  padding-top: 0.15em;
}
.subfooter_more:hover {
  background-color: #000;
  color: #fff;
}
.subfooter_news {
  width: 100%;
}
@media (max-width: 768px) {
  .subfooter_news {
    margin-top: 6rem;
  }
}
.subfooter_news-list {
  margin-top: 2.5rem;
}
.subfooter_news-item:nth-child(n+2) {
  margin-top: 1.25rem;
}
.subfooter_news-btn {
  text-align: center;
}
.subfooter_thumImg {
  margin-bottom: 20px;
}
.subfooter_news-link {
  display: block;
  color: #000;
  border-bottom: 0.0625rem solid #dde4e6;
  padding-bottom: 1.25rem;
  transition: border 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.subfooter_news-link:hover {
  border-color: #000;
  transition: border 150ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.subfooter_news-date {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .subfooter_news-date {
    text-align: left;
  }
}

#goTop {
  cursor: pointer;
  display: none;
  position: fixed;
  right: 5.33vw;
  bottom: 20.27vw;
  z-index: 999;
  width: 66px;
}
@media (min-width: 769px) {
  #goTop {
    right: min(5.6vw, 100px);
    bottom: min(5.6vw, 100px);
    width: min(5.7vw, 86px);
  }
}

footer.footer {
  text-align: left;
  padding: 25.07vw 5.33vw 4vw;
  background: url("../images/footer_bg_sp.jpg") no-repeat center top;
  background-size: cover;
}
footer.footer a {
  color: inherit;
  text-decoration: none;
}
footer.footer .logo {
  width: 31.47vw;
  margin-bottom: 6.67vw;
}
footer.footer .snsList {
  display: flex;
  align-items: center;
  font-size: 1.3125rem;
  line-height: 0;
  margin-bottom: 4.8vw;
}
footer.footer .snsList li {
  margin-right: 5.33vw;
}
footer.footer dl {
  display: flex;
  flex-wrap: wrap;
}
footer.footer dl dt {
  font-size: 1.0625rem;
  margin: 10.67vw 0 1.6vw;
  width: 100%;
  font-weight: normal;
}
footer.footer dl dd {
  font-size: 0.75rem;
  width: 44%;
  margin-top: 1.2em;
}
footer.footer dl dd li {
  margin-top: 1.2em;
}
footer.footer dl dd li:first-child {
  margin-top: 0;
}
footer.footer dl dd li ul {
  margin-left: 0.7em;
}
footer.footer dl dd li ul li:first-child {
  margin-top: 1.2em;
}
footer.footer dl.infomation dd {
  width: 100%;
}
footer.footer .copyRight {
  text-align: center;
  font-size: 0.75rem;
  margin-top: 14.67vw;
}
@media (min-width: 769px) {
  footer.footer {
    width: 100vw;
    height: 514px;
    position: relative;
    z-index: 100;
    margin-top: -1px;
    padding: 80px min(5.6vw, 100px) 16px;
    background-image: url("../images/footer_bg_pc.jpg");
  }
  footer.footer a {
    transition: color 0.2s ease-out;
  }
  footer.footer a:hover {
    color: #fff;
  }
  footer.footer a:hover path {
    fill: #fff;
    transition: fill 0.2s ease-out;
  }
  footer.footer .f_inner {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
  }
  footer.footer .logoArea {
    width: min(25vw, 380px);
  }
  footer.footer .logo {
    width: min(11.11vw, 200px);
    margin-bottom: 40px;
  }
  footer.footer .snsList {
    font-size: 1.4375rem;
    margin-bottom: 0;
  }
  footer.footer .snsList li {
    margin-right: 20px;
  }
  footer.footer .siteNavWrap {
    flex: 1;
    display: flex;
    align-items: flex-start;
  }
  footer.footer dl.menu {
    margin-right: min(5.4vw, 80px);
    width: min(40vw, 374px);
  }
  footer.footer dl dt {
    font-size: 1.25rem;
    margin: -0.4em 0 10px;
    width: 100%;
  }
  footer.footer dl dd {
    font-size: 0.875rem;
    width: 50%;
    max-width: 170px;
    margin-top: 1.2em;
    white-space: nowrap;
  }
  footer.footer dl.infomation {
    max-width: 200px;
  }
  footer.footer .copyRight {
    font-size: 0.75rem;
    margin-top: 0;
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translate(-50%, 0);
  }
}

.overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  visibility: hidden;
  z-index: 11;
}

.fade-up {
  transform: translateY(20px);
  opacity: 0;
}
.fade-up.js-animeOn {
  transform: translate(0);
  opacity: 1;
  transition: transform 1.2s cubic-bezier(0.35, 0.09, 0.42, 0.99), opacity 1.2s cubic-bezier(0.35, 0.09, 0.42, 0.99);
}

.w100 {
  width: 100%;
}

.nowrap {
  display: inline-block;
  white-space: nowrap;
}

.btnLine {
  color: #fff;
  position: relative;
  z-index: 1;
  width: calc(100% - 10px);
  height: 11.73vw;
  margin: 16vw auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.875rem;
  background: rgba(255, 255, 255, 0.2);
}
.btnLine svg {
  width: 13.07vw;
  height: 3.2vw;
  margin-left: 5.33vw;
  margin-right: -18.4vw;
}
.btnLine * {
  position: relative;
  z-index: 10;
}
.btnLine:before {
  content: "";
  display: block;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  position: absolute;
  left: -5px;
  top: -5px;
  border: #fff 1px solid;
  z-index: -1;
}
.btnLine.bk {
  color: #383838;
}
.btnLine.bk:before {
  color: #383838;
  border-color: #383838;
}
.btnLine {
  transition: all 0.3s ease-out;
}
.btnLine:hover {
  background: #fff;
  color: #383838;
}
.btnLine:hover:before {
  border-color: #fff;
}
.btnLine.bk:hover {
  background: #383838;
  color: #fff !important;
}
.btnLine.bk:hover:before {
  border-color: #383838;
}
@media (min-width: 769px) {
  .btnLine {
    height: 37px;
    max-width: 232px;
    margin-top: 60px;
  }
  .btnLine svg {
    width: 41px;
    height: 11px;
    margin-left: 20px;
    margin-right: -61px;
  }
  .btnLine:before {
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    left: -4px;
    top: -4px;
  }
}

.newsBox {
  padding: 26.67vw 5.33vw 0;
}
#topPage .newsBox {
  padding-bottom: 37.33vw;
}
.newsBox h2 {
  font-size: 1.3125rem;
  margin-bottom: 4.8vw;
}
.newsBox ul {
  border-bottom: rgba(112, 112, 112, 0.5) 1px solid;
}
.newsBox li {
  position: relative;
  border-top: rgba(112, 112, 112, 0.5) 1px solid;
  padding: 4vw 0 4vw;
  font-size: 0.75rem;
  line-height: 1.8;
}
.newsBox li a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.newsBox li .date {
  color: #707070;
  font-size: 0.75rem;
  margin-bottom: 2.67vw;
}
.newsBox li .title {
  flex: 1;
}
.newsBox .btnLine {
  margin: 6.67vw 0 0 auto;
  width: 33.07vw;
  border: none;
  border-bottom: rgba(85, 85, 85, 0.5) 1px solid;
  font-size: 0.8125rem;
  justify-content: flex-start;
  padding-left: 0.6em;
  background: none;
}
.newsBox .btnLine svg {
  width: 11.2vw;
  height: 2.67vw;
  margin: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.newsBox .btnLine:hover {
  background: inherit;
  color: inherit;
}
.newsBox .btnLine:before {
  content: none;
}
@media (min-width: 769px) {
  .newsBox {
    padding: 120px 50px 0;
  }
  #topPage .newsBox {
    padding-bottom: 100px;
  }
  .newsBox .inner {
    max-width: 1000px;
    margin: 0 auto;
  }
  .newsBox h2 {
    font-size: 1.75rem;
    line-height: 1.4;
    margin-bottom: 40px;
    text-align: center;
  }
  .newsBox ul {
    border-bottom: none;
  }
  .newsBox li {
    border-bottom: #383838 1px solid;
    border-top: none;
    padding: 20px 0;
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
  }
  .newsBox li .date {
    color: #383838;
    margin: 0;
    width: 94px;
    padding-top: 0.25em;
  }
  .newsBox li a {
    transition: background 0.3s ease-out;
  }
  .newsBox li a:hover {
    background: rgba(56, 56, 56, 0.06);
  }
  .newsBox .btnLine {
    margin: 30px auto 0 0;
    width: 128px;
    border-bottom: none;
    font-size: 0.875rem;
    padding-left: 0;
  }
  .newsBox .btnLine svg {
    width: 41px;
    height: 10px;
  }
  .newsBox .btnLine:hover {
    opacity: 0.8;
    color: #383838 !important;
  }
}

#topPage #tm_chat_iframe {
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.3s, width 0s 1s, height 0s 1s;
}

#topPage #tm_chat_iframe.visible {
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  transition: opacity 0.5s 0.1s;
}

#op {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000010;
  width: 100vw;
  height: 100vh;
}
#op:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  background: #fff;
}
#op.finish {
  left: 100%;
  opacity: 0;
  transition: left 0s 1.3s, opacity 1.3s ease-out 0s;
}
#op video {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  -o-object-fit: cover;
     object-fit: cover;
  display: none;
}
#op h1 {
  opacity: 0;
  width: 59.2vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
#op h1.visible {
  animation: opTxt ease-in-out 1.4s forwards 0.5s;
}
@media (min-width: 769px) {
  #op h1 {
    width: 422px;
  }
}
@keyframes opTxt {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 100%;
  }
  100% {
    opacity: 100%;
  }
}
#topPage #wrapper {
  padding-bottom: 0;
}
@media (min-width: 769px) {
  #topPage header.white:not(:hover):after {
    opacity: 0;
    transition: opacity 0;
  }
  #topPage header.white:not(:hover) a, #topPage header.white:not(:hover) .acP {
    color: #fff;
  }
}
#topPage .topSlideArea {
  position: relative;
}
#topPage .topSlideArea .mainSlide {
  height: 109.33vw;
}
#topPage .topSlideArea .bg {
  width: 100%;
  height: 100.2%;
  -o-object-fit: cover;
     object-fit: cover;
}
#topPage .topSlideArea .swiper-container {
  z-index: auto;
}
#topPage .topSlideArea .swiper-pagination-bullets {
  font-size: 0;
  bottom: 2.67vw;
}
#topPage .topSlideArea .swiper-pagination-bullet {
  width: 1.6vw;
  height: 1.6vw;
  margin: 0 1.6vw;
  opacity: 1;
  background: none;
  border: rgba(255, 255, 255, 0.5) 1px solid;
}
#topPage .topSlideArea .swiper-pagination-bullet-active {
  background: #fff;
  border-color: #fff;
}
#topPage .topSlideArea #slide01 .catch {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 17.07vw;
  transform: translate(-50%, 0);
  text-align: center;
  font-size: 0;
}
#topPage .topSlideArea #slide01 .catch img {
  height: 3.2vw;
  width: auto;
  display: inline;
  filter: blur(10px);
  opacity: 0;
  transform: transformX(10px) skewX(-10deg) scale(1.1);
  -webkit-transition: all 1.2s ease, color 1.5s ease 0.8s, -webkit-filter 1s ease 0.4s;
}
@media (min-width: 769px) {
  #topPage .topSlideArea #slide01 .catch {
    width: auto;
    display: inline-block;
    left: 17vw;
    top: 15.625vw;
    transform: none;
    text-align: left;
  }
  #topPage .topSlideArea #slide01 .catch img {
    height: min(1.2vw, 22px);
  }
}
#topPage .topSlideArea #slide01.animation .catch img {
  filter: blur(0);
  opacity: 1;
  transform: translate(0);
  transition: opacity 1.2s ease, transform 1.2s ease, filter 1s ease 0.4s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(1) {
  transition-delay: 0.1s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(2) {
  transition-delay: 0.2s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(3) {
  transition-delay: 0.3s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(4) {
  transition-delay: 0.4s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(5) {
  transition-delay: 0.5s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(6) {
  transition-delay: 0.6s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(7) {
  transition-delay: 0.7s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(8) {
  transition-delay: 0.8s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(9) {
  transition-delay: 0.9s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(10) {
  transition-delay: 1s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(11) {
  transition-delay: 1.1s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(12) {
  transition-delay: 1.2s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(13) {
  transition-delay: 1.3s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(14) {
  transition-delay: 1.4s;
}
#topPage .topSlideArea #slide01.animation .catch img:nth-child(15) {
  transition-delay: 1.5s;
}
@media (min-width: 769px) {
  #topPage .topSlideArea .mainSlide {
    height: 51.15vw;
  }
  #topPage .topSlideArea .swiper-pagination-bullets {
    left: auto;
    right: 50px;
    bottom: min(3vw, 60px);
    transform: translate(-50%, 0);
    text-align: right;
    width: auto;
    z-index: 1000;
  }
  #topPage .topSlideArea .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 11px;
    border: rgb(255, 255, 255) 1px solid;
  }
}
@media (min-width: 1300px) {
  #topPage .topSlideArea .swiper-pagination-bullets {
    right: calc(50% - 600px);
  }
}
#topPage .topSlideArea .newInfoList {
  color: #fff;
  font-size: 0.6875rem;
  width: calc(100% - 10.66vw);
  position: absolute;
  left: 5.33vw;
  bottom: 5.87vw;
  z-index: 10;
}
#topPage .topSlideArea .newInfoList li {
  display: flex;
  position: relative;
}
#topPage .topSlideArea .newInfoList a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#topPage .topSlideArea .newInfoList .date {
  font-size: 0.625rem;
  margin-right: 3.73vw;
  padding-top: 0.1em;
}
#topPage .topSlideArea .newInfoList .title {
  flex: 1;
  overflow: hidden;
  display: flex;
  /*p {
    display: inline-block;
    white-space: nowrap;
  }*/
}
#topPage .topSlideArea .newInfoList .title.loop p {
  padding-left: 100%;
  animation: animate-banner linear 18s infinite;
}
@media (min-width: 769px) {
  #topPage .topSlideArea .newInfoList {
    font-size: 0.875rem;
    padding: 0 min(13.8vw, 250px) 0 min(2vw, 35px);
    max-width: 1200px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 10;
    bottom: min(2.7vw, 50px);
  }
  #topPage .topSlideArea .newInfoList li {
    width: 100%;
    max-width: 860px;
    border-bottom: #fff 1px solid;
    padding-bottom: 0.32em;
  }
  #topPage .topSlideArea .newInfoList .date {
    font-size: 0.75rem;
    margin-right: 45px;
    padding-top: 0.14em;
  }
}
@keyframes animate-banner {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
#topPage .about {
  background: url("../images/top/about_sp.jpg") no-repeat center top;
  background-size: cover;
  color: #fff;
  padding: 32vw 11.73vw 28vw;
}
#topPage .about h2 {
  font-size: 1.3125rem;
  line-height: 1.4;
  font-weight: normal;
  letter-spacing: 0;
  margin-bottom: 11.73vw;
}
#topPage .about h2 p {
  display: inline-block;
  border-bottom: rgba(255, 255, 255, 0.5) 1px solid;
  padding-bottom: 0.3em;
}
#topPage .about .copy {
  width: 72vw;
  margin-bottom: 10.13vw;
}
#topPage .about .txt {
  font-size: 0.8125rem;
  letter-spacing: 0.15em;
  line-height: 3;
  margin-top: 2em;
}
#topPage .about .logo {
  margin-top: 9.6vw;
}
#topPage .about .logo img {
  width: 28.27vw;
}
#topPage .about .logo span {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  display: block;
  margin-bottom: 1.4em;
}
@media (min-width: 769px) {
  #topPage .about {
    background-image: url("../images/top/about_pc.jpg");
    background-size: cover;
    padding: 120px 50px 125px;
    text-align: center;
  }
  #topPage .about h2 {
    font-size: 1.75rem;
    margin-bottom: 80px;
  }
  #topPage .about h2 p {
    border-bottom: none;
    padding-bottom: 0;
  }
  #topPage .about .copy {
    width: 360px;
    margin: 0 auto 34px;
  }
  #topPage .about .txt {
    font-size: 0.9375rem;
    line-height: 2.3;
    margin-top: 2em;
  }
  #topPage .about .logo {
    margin-top: 46px;
  }
  #topPage .about .logo img {
    width: 123px;
    margin: 0 auto;
  }
  #topPage .about .logo span {
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    margin-bottom: 1.4em;
  }
}
#topPage .features {
  position: relative;
  padding: 26.67vw 11.73vw 26.67vw;
  overflow: hidden;
}
#topPage .features video {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100.2%;
  transform: translate(-50%, 0);
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
}
#topPage .features h2 {
  font-size: 1.3125rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 10.67vw;
}
#topPage .features h2 p {
  display: inline-block;
  border-bottom: rgba(56, 56, 56, 0.5) 1px solid;
  padding-bottom: 0.3em;
}
#topPage .features .txt {
  font-size: 0.8125rem;
  line-height: 2.2;
}
#topPage .features .tyu {
  font-size: 0.6875rem;
  color: #555;
  margin-top: 1.2em;
}
#topPage .features .btnLine {
  margin-top: 21.33vw;
}
@media (min-width: 769px) {
  #topPage .features {
    padding: 95px 50px 110px;
  }
  #topPage .features video {
    width: 90vw;
    transform: translate(-65%, 0);
    -o-object-position: bottom center;
       object-position: bottom center;
  }
  #topPage .features div {
    width: min(36vw, 346px);
    margin: 0 auto;
    transform: translate(75%, 0);
  }
  #topPage .features h2 {
    font-size: 1.75rem;
    margin-bottom: 54px;
  }
  #topPage .features h2 p {
    border-bottom: none;
    padding-bottom: 0;
  }
  #topPage .features .txt {
    font-size: 0.875rem;
    line-height: 2;
  }
  #topPage .features .btnLine {
    margin-top: 60px;
    margin-left: 0;
  }
}
#topPage .kiraBG {
  position: relative;
  overflow: hidden;
  clip-path: inset(0px);
}
#topPage .kiraBG:before {
  content: "";
  display: block;
  width: 100vw;
  height: 196.8vw;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: 1;
  background: linear-gradient(rgba(50, 82, 121, 0.76) 0%, rgba(147, 147, 147, 0) 100%);
}
#topPage .kiraBG:after {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh) * 100);
  position: fixed;
  left: 0;
  top: 0;
  background: url("../images/top/kira_bg_sp.jpg") no-repeat center top;
  background-size: cover;
  z-index: -1;
}
@media (min-width: 769px) {
  #topPage .kiraBG {
    background: url("../images/top/kira_bg.jpg") no-repeat center top;
    background-size: cover;
  }
  #topPage .kiraBG:before {
    height: 738px;
  }
  #topPage .kiraBG:after {
    content: none;
  }
}
#topPage .lineUp {
  position: relative;
  z-index: 10;
  padding: 22.67vw 5.33vw 26.67vw;
  text-align: center;
}
#topPage .lineUp a {
  color: inherit;
  text-decoration: none;
}
#topPage .lineUp .nightRoutine {
  text-align: center;
  color: #fff;
  margin-bottom: 16vw;
}
#topPage .lineUp .nightRoutine .catch {
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
}
#topPage .lineUp .nightRoutine h3 {
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin: 3.2vw 0 6.93vw;
}
#topPage .lineUp .nightRoutine h3 p {
  display: inline-block;
  padding-top: 4.27vw;
  border-top: rgba(255, 255, 255, 0.5) 1px solid;
}
#topPage .lineUp h2 {
  font-size: 1.3125rem;
  font-weight: 500;
  margin-bottom: 8.8vw;
  letter-spacing: 0;
  color: #fff;
}
#topPage .lineUp li {
  margin-top: 12vw;
}
#topPage .lineUp li .att {
  font-size: 0.625rem;
  color: #555;
  margin-top: 1.8em;
}
#topPage .lineUp li .imgArea {
  position: relative;
  margin-bottom: 8vw;
}
#topPage .lineUp li .imgArea .img {
  position: relative;
  z-index: 0;
}
#topPage .lineUp li .imgArea h3 {
  background: #8DA1B9;
  color: #fff;
  font-size: 0.625rem;
  font-weight: normal;
  padding: 1.07vw;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
#topPage .lineUp li .imgArea h3 span.yakuyou {
  border: rgba(255, 255, 255, 0.5) 1px solid;
  display: inline-block;
  padding: 0 2px 0 3px;
  margin-right: 3px;
}
@media (max-width: 768px) {
  #topPage .lineUp li .btnLine {
    margin: 6.67vw 0 0 auto;
    width: 33.07vw;
    border: none;
    border-bottom: rgba(85, 85, 85, 0.5) 1px solid;
    font-size: 0.8125rem;
    justify-content: flex-start;
    padding-left: 0.6em;
    background: none;
  }
  #topPage .lineUp li .btnLine svg {
    width: 11.2vw;
    height: 2.67vw;
    margin: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
  }
  #topPage .lineUp li .btnLine:hover {
    background: inherit;
    color: inherit;
  }
  #topPage .lineUp li .btnLine:before {
    content: none;
  }
}
#topPage .lineUp li .txtBox .txt {
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  border-top: rgba(85, 85, 85, 0.5) 1px solid;
  padding-top: 0.9em;
  margin: 1.1em 0 2.2em;
}
#topPage .lineUp li .txtBox .setumei {
  font-size: 0.75rem;
  line-height: 1.75;
  text-align: left;
}
#topPage .lineUp li.topItem .att {
  text-align: left;
  margin-bottom: -1.6em;
  margin-top: 0.8em;
}
@media (min-width: 769px) {
  #topPage .lineUp {
    padding: 120px 50px 150px;
    text-align: left;
  }
  #topPage .lineUp .nightRoutine {
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 90px auto 80px;
  }
  #topPage .lineUp .nightRoutine .catch {
    font-size: 0.875rem;
    line-height: 1.7;
  }
  #topPage .lineUp .nightRoutine div {
    width: 38.6%;
  }
  #topPage .lineUp .nightRoutine h3 {
    border-top: rgba(255, 255, 255, 0.5) 1px solid;
    border-bottom: rgba(255, 255, 255, 0.5) 1px solid;
    font-size: min(2.1vw, 1.5625rem);
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding: 20px 0;
    margin: 20px 0 0;
  }
  #topPage .lineUp .nightRoutine h3 p {
    display: inline-block;
    padding-top: 0;
    border: none;
  }
  #topPage .lineUp .nightRoutine img {
    width: min(47vw, 520px);
  }
  #topPage .lineUp h2 {
    font-size: 1.75rem;
    font-weight: 500;
    margin-bottom: 10px;
    text-align: center;
  }
  #topPage .lineUp ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1200px;
    margin: 0 auto;
  }
  #topPage .lineUp li {
    width: 49%;
    margin-top: 75px;
    position: relative;
  }
  #topPage .lineUp li:nth-child(2n) {
    margin-right: 2%;
  }
  #topPage .lineUp li .catch {
    width: 44.6%;
  }
  #topPage .lineUp li .imgArea {
    margin: 0;
    overflow: hidden;
    width: 100%;
    padding-top: 53.062%;
    position: relative;
  }
  #topPage .lineUp li .imgArea .att {
    font-size: 0.6875rem;
    color: #fff;
    position: absolute;
    left: 35px;
    bottom: min(3vw, 20px);
    margin: 0;
  }
  #topPage .lineUp li .imgArea .txt {
    font-size: min(1vw, 1rem);
    font-weight: 300;
    line-height: 1.8;
    color: #fff;
    position: absolute;
    left: 35px;
    top: 55%;
  }
  #topPage .lineUp li .imgArea .txt.three {
    font-size: min(0.9vw, 0.9rem);
  }
  #topPage .lineUp li .imgArea .img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.3s ease;
    transform: scale(1);
    transform-origin: center;
  }
  #topPage .lineUp li .imgArea a:hover .img {
    transform: scale(1.04);
  }
  #topPage .lineUp li .imgArea .catch {
    position: absolute;
    left: 35px;
    top: 50%;
    transform: translate(0, -50%);
    font-weight: 400;
  }
  #topPage .lineUp li .imgArea .catch.three {
    top: 35%;
  }
  #topPage .lineUp li .txtBox h3 {
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
    margin-top: 10px;
  }
  #topPage .lineUp li .txtBox .txt {
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
    border-top: #555 0.5px solid;
    padding-top: 0.9em;
    margin: 0.5em 0 2.4em;
  }
  #topPage .lineUp li .txtBox .setumei {
    font-size: 0.875rem;
    line-height: 2;
    text-align: left;
  }
  #topPage .lineUp li .txtBox .setumei .att {
    font-size: 0.6875rem;
    color: #555;
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 1em;
  }
  #topPage .lineUp li.topItem {
    width: 100%;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  #topPage .lineUp li.topItem .att {
    margin-bottom: 0;
  }
  #topPage .lineUp li.topItem .imgArea {
    width: 62%;
    padding-top: 33%;
  }
  #topPage .lineUp li.topItem .imgArea .catch {
    width: 34.9%;
    top: 35%;
  }
  #topPage .lineUp li.topItem .imgArea .txt {
    font-size: min(1.45vw, 1.125rem);
    font-weight: 300;
    line-height: 1.8;
    color: #fff;
    position: absolute;
    left: 35px;
    top: 55%;
  }
  #topPage .lineUp li.topItem .txtBox {
    margin-top: 2.5em;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 0 0 2em;
  }
  #topPage .lineUp li.topItem .txtBox .btnLine {
    margin-top: 40px;
  }
  #topPage .lineUp li.topItem .txtBox .att {
    font-size: 0.6875rem;
  }
  #topPage .lineUp li.topItem .txtBox div {
    max-width: 300px;
  }
  #topPage .lineUp li.topItem .txtBox h3 {
    font-size: 1.25rem;
    line-height: 1.4;
    padding-bottom: 30px;
    margin: 0 0 20px;
    border-bottom: #555 1px solid;
  }
  #topPage .lineUp li.topItem .txtBox h3 span.yakuyou {
    border: rgba(56, 56, 56, 0.5) 1px solid;
    padding: 0 2px 0 3px;
    margin-right: 3px;
  }
}
@media (min-width: 1060px) {
  #topPage .lineUp li.topItem {
    flex-direction: row;
  }
  #topPage .lineUp li.topItem .txtBox {
    margin-top: 0;
  }
}
#topPage .otherLink {
  position: relative;
  padding: 18.67vw 0 21.33vw;
  color: #fff;
  overflow: hidden;
}
#topPage .otherLink .otherLinkBg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#topPage .otherLink ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#topPage .otherLink ul a {
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 38.4vw;
  height: 28.8vw;
  background: rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease-out;
}
#topPage .otherLink ul a:hover {
  background: #fff;
  color: #383838;
}
#topPage .otherLink ul svg {
  width: 8.53vw;
  margin-top: 2.13vw;
  margin-bottom: -0.4em;
}
#topPage .otherLink ul li {
  font-size: 1rem;
  position: relative;
  z-index: 1;
}
#topPage .otherLink ul li:before {
  content: "";
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  position: absolute;
  left: -5px;
  top: -5px;
  border: rgba(255, 255, 255, 0.5) 1px solid;
  z-index: -1;
}
#topPage .otherLink ul li:nth-child(2) {
  margin-left: 9.33vw;
}
@media (min-width: 769px) {
  #topPage .otherLink {
    padding: 140px 50px;
  }
  #topPage .otherLink ul a {
    width: min(39vw, 430px);
    height: min(13vw, 144px);
    flex-direction: row;
  }
  #topPage .otherLink ul svg {
    width: 41px;
    margin: 0 -60px 0 20px;
  }
  #topPage .otherLink ul li {
    font-size: 1.3125rem;
    font-weight: 300;
  }
  #topPage .otherLink ul li:before {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    position: absolute;
    left: -5px;
    top: -5px;
    border: rgb(255, 255, 255) 1px solid;
  }
  #topPage .otherLink ul li:nth-child(2) {
    margin-left: min(6vw, 130px);
  }
}

#wrapper.aboutPage {
  padding-bottom: 0;
}
#wrapper.aboutPage .breadcrumb2 {
  color: #fff;
}
@media (min-width: 769px) {
  #wrapper.aboutPage {
    overflow: initial;
  }
}
#wrapper.aboutPage .topMessage {
  margin-top: -12vw;
  position: relative;
  z-index: -1;
  background: url("../images/about/bg_night.jpg") no-repeat right 30% top 78%;
  background-size: 280%;
  color: #fff;
  padding: 45.33vw 12vw 26.67vw;
}
#wrapper.aboutPage .topMessage h1 {
  font-size: 0;
  margin: 0;
  text-align: center;
  width: 70.4vw;
  margin-bottom: 20vw;
}
#wrapper.aboutPage .topMessage p {
  font-size: 0.8125rem;
  font-weight: 300;
  letter-spacing: 0.15em;
  line-height: 2.7;
  margin-top: 10.13vw;
}
#wrapper.aboutPage .topMessage .logo {
  width: 28.27vw;
  margin-top: 18.67vw;
}
@media (min-width: 769px) {
  #wrapper.aboutPage .topMessage {
    margin-top: calc(-98px - 3.3rem);
    background: url("../images/about/bg_night.jpg") no-repeat center top;
    background-size: cover;
    text-align: center;
    padding: min(36vw, 430px) 50px min(20vw, 250px);
  }
  #wrapper.aboutPage .topMessage h1 {
    width: 360px;
    margin: 0 auto min(110px);
  }
  #wrapper.aboutPage .topMessage p {
    font-size: 0.9375rem;
    letter-spacing: 0.2em;
    line-height: 4;
    margin-top: 3.2em;
  }
  #wrapper.aboutPage .topMessage .logo {
    width: 124px;
    margin: 80px auto 0;
  }
}
#wrapper.aboutPage .routineBlock {
  position: relative;
  background: linear-gradient(#1D2F43 0%, rgba(29, 47, 67, 0.36) 100%), url("../images/about/bg_night02_sp.jpg") no-repeat center top;
  background-size: cover;
  color: #fff;
  padding: 21.33vw 5.33vw 26.67vw;
}
#wrapper.aboutPage .routineBlock h2 {
  position: relative;
  z-index: 10;
  text-align: center;
  font-size: 1.125rem;
  letter-spacing: 0.18em;
  font-weight: normal;
  margin-bottom: 8vw;
}
#wrapper.aboutPage .routineBlock h2 p {
  font-size: 0.8125rem;
  font-weight: 300;
  letter-spacing: 0.14em;
  margin-bottom: 1.1em;
}
@media (min-width: 769px) {
  #wrapper.aboutPage .routineBlock {
    background: url("../images/about/bg_night02_pc.jpg") no-repeat center top;
    background-size: cover;
    padding: 19vw 10vw 18vw;
  }
  #wrapper.aboutPage .routineBlock:before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
    z-index: 0;
    background: #1D2F43;
    opacity: 0.5;
  }
  #wrapper.aboutPage .routineBlock h2 {
    font-size: 1.5625rem;
    letter-spacing: 0.2em;
    font-weight: 400;
    margin-bottom: 6vw;
  }
  #wrapper.aboutPage .routineBlock h2 p {
    font-size: 1.4375rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    margin-bottom: 0.9em;
  }
}
@media (min-width: 1060px) {
  #wrapper.aboutPage .routineBlock {
    padding: min(14.6vw, 175px) 50px min(14.6vw, 170px);
  }
  #wrapper.aboutPage .routineBlock h2 {
    font-size: 1.5625rem;
    letter-spacing: 0.2em;
    font-weight: 400;
    margin-bottom: min(140px);
  }
  #wrapper.aboutPage .routineBlock h2 p {
    font-size: 1.4375rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    margin-bottom: 0.9em;
  }
}
#wrapper.aboutPage .routineBlock ul li {
  position: relative;
  padding-bottom: 24vw;
}
#wrapper.aboutPage .routineBlock ul li:after {
  content: "";
  display: block;
  width: 26.67vw;
  height: 11.2vw;
  background: url("../images/about/arrow.png") no-repeat center bottom;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
#wrapper.aboutPage .routineBlock ul li:last-child {
  padding-bottom: 0;
}
#wrapper.aboutPage .routineBlock ul li:last-child:after {
  content: none;
}
#wrapper.aboutPage .routineBlock ul li .imgBox {
  position: relative;
}
#wrapper.aboutPage .routineBlock ul li .maru {
  position: absolute;
  left: 0;
  top: 6.67vw;
  z-index: 10;
  width: 21.87vw;
}
#wrapper.aboutPage .routineBlock ul li .step {
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  color: #AAA;
  margin-bottom: 0.65em;
  font-weight: 300;
}
#wrapper.aboutPage .routineBlock ul li h3 {
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: 0.18em;
  padding-bottom: 1.2em;
  border-bottom: #fff 1px solid;
  margin-bottom: 1.3em;
}
#wrapper.aboutPage .routineBlock ul li h3 p:not(.step) {
  margin-right: -0.5em;
}
#wrapper.aboutPage .routineBlock ul li .txt {
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  font-weight: 300;
  line-height: 1.8;
  text-align: justify;
}
#wrapper.aboutPage .routineBlock ul li:nth-child(1) {
  margin-bottom: 9.33vw;
}
#wrapper.aboutPage .routineBlock ul li:nth-child(1) .img img {
  display: block;
  width: 76.8vw;
  margin: 0 0 -12.27vw 9.33vw;
}
#wrapper.aboutPage .routineBlock ul li:nth-child(2) .img img {
  display: block;
  width: 81.33vw;
  margin: -2.67vw -5.33vw -10.67vw 13.33vw;
}
#wrapper.aboutPage .routineBlock ul li:nth-child(3) .img img {
  display: block;
  width: 75.73vw;
  margin: 0 0 -12vw 10.13vw;
}
@media (min-width: 769px) {
  #wrapper.aboutPage .routineBlock ul {
    max-width: 70%;
    margin: 0 auto;
  }
  #wrapper.aboutPage .routineBlock ul li {
    padding-bottom: 12vw;
  }
  #wrapper.aboutPage .routineBlock ul li:after {
    width: 16vw;
    height: 6vw;
  }
  #wrapper.aboutPage .routineBlock ul li .maru {
    width: 12vw;
  }
  #wrapper.aboutPage .routineBlock ul li .step {
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.5em;
  }
  #wrapper.aboutPage .routineBlock ul li h3 {
    font-size: 1.25rem;
    font-weight: normal;
    letter-spacing: 0.18em;
    padding-bottom: 1.1em;
    margin-bottom: 1.8em;
  }
  #wrapper.aboutPage .routineBlock ul li .txt {
    font-size: 0.9375rem;
    letter-spacing: 0.14em;
    line-height: 2.2;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(1) {
    margin-bottom: 6vw;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(1) .img img {
    width: 50vw;
    margin: 0 0 -9.2vw 8vw;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(2) .img img {
    width: 44vw;
    margin: -5vw -6vw -5vw 13vw;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(3) .img img {
    width: 45vw;
    margin: -3vw 0 -13vw 11vw;
  }
}
@media (min-width: 1060px) {
  #wrapper.aboutPage .routineBlock ul {
    max-width: 1000px;
    margin: 0 auto;
  }
  #wrapper.aboutPage .routineBlock ul li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 0;
  }
  #wrapper.aboutPage .routineBlock ul li:after {
    width: 100px;
    height: 42px;
    left: auto;
    right: 177px;
    transform: translate(50%, 0);
  }
  #wrapper.aboutPage .routineBlock ul li .txtBox {
    width: 35.4%;
    margin-left: 38px;
    padding-bottom: 130px;
  }
  #wrapper.aboutPage .routineBlock ul li:last-child .txtBox {
    padding-bottom: 0;
  }
  #wrapper.aboutPage .routineBlock ul li .imgBox {
    position: relative;
    flex: 1;
  }
  #wrapper.aboutPage .routineBlock ul li .maru {
    top: 0;
    z-index: 10;
    width: 145px;
  }
  #wrapper.aboutPage .routineBlock ul li .step {
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.6em;
  }
  #wrapper.aboutPage .routineBlock ul li h3 {
    font-size: 1.0625rem;
    line-height: 2;
    letter-spacing: 0.18em;
    padding-bottom: 1.2em;
    margin-bottom: 1.8em;
  }
  #wrapper.aboutPage .routineBlock ul li h3 p:not(.step) {
    margin-right: -0.5em;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(1) {
    margin-bottom: 28px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(2) {
    margin-bottom: 70px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(1) .img img {
    width: 494px;
    margin: -50px 0 0 140px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(2) .img img {
    width: 483px;
    margin: -45px 0 0 140px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(3) .img img {
    width: 488px;
    margin: -52px 0 0 115px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(1):before {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 145px + 28px + 4px);
    background: #fff;
    position: absolute;
    left: 72px;
    top: 143px;
  }
  #wrapper.aboutPage .routineBlock ul li:nth-child(2):before {
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 145px + 70px + 6px);
    background: #fff;
    position: absolute;
    left: 72px;
    top: 143px;
  }
}
#wrapper.aboutPage .lineUPBlock {
  color: #fff;
  padding: 0 5.33vw 32vw;
  background: linear-gradient(#21364e 0%, #8da1b9 100%);
}
#wrapper.aboutPage .lineUPBlock h2 {
  text-align: center;
  font-weight: normal;
  padding-top: 24vw;
  margin-bottom: 10.67vw;
  font-size: 1.3125rem;
  letter-spacing: 0.1em;
}
#wrapper.aboutPage .lineUPBlock h2 p {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  border-top: #fff 1px solid;
  padding-top: 1em;
  margin-top: 0.8em;
}
@media (min-width: 769px) {
  #wrapper.aboutPage .lineUPBlock {
    padding: 0 50px min(25vw, 300px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  #wrapper.aboutPage .lineUPBlock h2 {
    padding-top: min(17.9vw, 215px);
    margin-bottom: min(7.5vw, 90px);
    font-size: 2.1875rem;
    letter-spacing: 0.15em;
  }
  #wrapper.aboutPage .lineUPBlock h2 p {
    font-size: 1.25rem;
    letter-spacing: 0.15em;
    padding: 0.7em 0.2em 0;
    margin-top: 0.5em;
  }
}
#wrapper.aboutPage .lineUPBlock ul {
  margin: 0 -5.33vw;
}
#wrapper.aboutPage .lineUPBlock ul li {
  margin: 0 0 17.33vw 0;
}
#wrapper.aboutPage .lineUPBlock ul li:last-child {
  margin-bottom: 0;
}
#wrapper.aboutPage .lineUPBlock ul li .imgBox {
  position: relative;
}
#wrapper.aboutPage .lineUPBlock ul li .imgBox .maru {
  position: absolute;
  left: 7px;
  top: 7px;
  z-index: 10;
  width: 21.87vw;
}
#wrapper.aboutPage .lineUPBlock ul li .imgBox .img img {
  width: 94.67vw;
  height: 74.67vw;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox {
  position: relative;
  z-index: 10;
  text-align: center;
  margin: -9.6vw 0 0 24vw;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .kome {
  text-align: right;
  color: #AAA;
  font-size: 0.625rem;
  letter-spacing: 0.01em;
  margin: 1.2em 5.33vw 0 0;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .more {
  margin: 4.8vw 5.33vw 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 33.07vw;
  font-size: 0.8125rem;
  border-bottom: rgba(85, 85, 85, 0.5) 1px solid;
  padding: 0 0 2.67vw 0;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .more svg {
  width: 10.67vw;
  margin-left: 1.07vw;
  opacity: 0.7;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink {
  display: block;
  color: #383838;
  padding: 7.47vw 0 3.73vw;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink img {
  width: 112%;
  margin-left: -6%;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink img.big {
  width: 100%;
  margin-left: 0;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink .name {
  font-size: 0.875rem;
  padding-top: 0.7em;
  margin-top: 1em;
  position: relative;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink .name:before {
  content: "";
  display: block;
  width: 56.53vw;
  height: 1px;
  background: #707070;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink .name .yakuyou {
  border: rgba(56, 56, 56, 0.5) 1px solid;
  padding: 0 2px 0 3px;
  margin-right: 3px;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink {
  display: block;
  color: #fff;
  padding: 6.4vw 0 3.73vw;
  background: rgba(141, 161, 185, 0.8);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  margin-top: 3.2vw;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink img {
  width: 38.4vw;
  margin: 0 auto;
}
#wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink .more {
  width: 36.27vw;
  border-bottom: rgba(255, 255, 255, 0.5) 1px solid;
  font-weight: 300;
}
@media (min-width: 769px) {
  #wrapper.aboutPage .lineUPBlock ul {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #wrapper.aboutPage .lineUPBlock ul li {
    margin: 0 0 min(10vw, 120px) 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #wrapper.aboutPage .lineUPBlock ul li.top {
    align-items: flex-start;
  }
  #wrapper.aboutPage .lineUPBlock ul li.top .btnBox {
    margin-top: 8%;
  }
  #wrapper.aboutPage .lineUPBlock ul li.right {
    flex-direction: row-reverse;
  }
  #wrapper.aboutPage .lineUPBlock ul li.right .imgBox .maru {
    left: auto;
    right: 3%;
  }
  #wrapper.aboutPage .lineUPBlock ul li.right .btnBox {
    margin: 0 -3.5% 0 0;
  }
  #wrapper.aboutPage .lineUPBlock ul li.right .btnBox .kome {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
  }
  #wrapper.aboutPage .lineUPBlock ul li .imgBox {
    width: 64.58%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .imgBox .maru {
    left: 3%;
    top: 6%;
    width: 18.7%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .imgBox .img {
    width: 100%;
    padding-top: 57.42%;
    position: relative;
  }
  #wrapper.aboutPage .lineUPBlock ul li .imgBox .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox {
    width: 38.92%;
    margin: 0 0 0 -3.5%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .kome {
    font-size: min(1.3vw, 0.6875rem);
    margin: 1.2em 0 0 auto;
    width: 88%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .kome.black {
    color: #383838;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .more {
    margin: 8.6% 12.8% 0 auto;
    width: 123px;
    padding: 0 0 1em 0;
    font-size: min(1.3vw, 0.8125rem);
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .more svg {
    width: 32%;
    margin-left: 4px;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink {
    padding: 10.7% 0 5.36%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink img {
    width: 100%;
    margin-left: 0;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink .name {
    font-size: min(1.8vw, 1.125rem);
    letter-spacing: 0.1em;
    padding-top: 0.8em;
    margin-top: 2em;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink .name:before {
    width: 74.25%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink {
    transition: opacity 0.3s ease-out;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .itemLink:hover {
    opacity: 0.8;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink {
    padding: 7.51% 0 6%;
    margin-top: 3%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink img {
    width: 162px;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink .more {
    width: 140px;
    margin-top: 6%;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink {
    transition: opacity 0.1s ease-out;
  }
  #wrapper.aboutPage .lineUPBlock ul li .btnBox .learnLink:hover {
    opacity: 0.8;
  }
}

#wrapper.featuresPage {
  padding-bottom: 0;
}
#wrapper.featuresPage .breadcrumb2 {
  color: #8DA1B9;
}
@media (min-width: 769px) {
  #wrapper.featuresPage {
    overflow: initial;
  }
  #wrapper.featuresPage .breadcrumb2 {
    color: #383838;
  }
}
#wrapper.featuresPage .topMovie {
  margin-top: -24.8vw;
  position: relative;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  color: #fff;
  height: 121.6vw;
}
#wrapper.featuresPage .topMovie video {
  width: 100vw;
  height: 116%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  z-index: -1;
}
#wrapper.featuresPage .topMovie h1 {
  position: relative;
  width: 56vw;
}
@media (min-width: 769px) {
  #wrapper.featuresPage .topMovie {
    margin-top: calc(-98px - 3.3rem);
    height: 560px;
  }
  #wrapper.featuresPage .topMovie video {
    width: 1920px;
    height: 1080px;
    bottom: -40px;
  }
  #wrapper.featuresPage .topMovie h1 {
    width: 323px;
  }
}
#wrapper.featuresPage .kiraBGArea {
  position: relative;
  clip-path: inset(0px);
}
#wrapper.featuresPage .kiraBGArea:before {
  content: "";
  display: block;
  width: calc(100vw - var(--scrollBar));
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -2;
  background: url("../images/features/kira_bg.jpg") no-repeat center top;
  background-size: cover;
}
#wrapper.featuresPage .aboutBox {
  position: relative;
  overflow: hidden;
}
#wrapper.featuresPage .aboutBox:before {
  content: "";
  display: block;
  width: calc(100vw - var(--scrollBar));
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  opacity: 0.83;
  background: linear-gradient(#728091 0%, rgba(137, 158, 183, 0.6) 100%);
}
#wrapper.featuresPage .aboutTablet {
  position: relative;
  padding: 24vw 5.33vw 26.67vw;
  color: #fff;
}
#wrapper.featuresPage .aboutTablet h2 {
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: 0.11em;
  line-height: 1.4;
  padding-bottom: 6.93vw;
  position: relative;
  margin-bottom: 5.33vw;
}
#wrapper.featuresPage .aboutTablet h2:before {
  content: "";
  width: 100%;
  height: 4px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(147, 158, 178, 0.41) 100%);
}
#wrapper.featuresPage .aboutTablet .txt {
  font-size: 0.8125rem;
  line-height: 2.2;
  text-align: justify;
}
#wrapper.featuresPage .aboutTablet .kome {
  font-size: 0.625rem;
  margin-top: 1em;
}
#wrapper.featuresPage .aboutTansan {
  position: relative;
  padding: 24vw 5.33vw 26.67vw;
}
#wrapper.featuresPage .aboutTansan .img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
#wrapper.featuresPage .aboutTansan .txtBox {
  background: linear-gradient(rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.47) 100%);
  padding: 13.33vw 6.4vw 18.67vw;
}
#wrapper.featuresPage .aboutTansan .txtBox h2 {
  font-size: 1.0625rem;
  letter-spacing: 0.1em;
  font-weight: normal;
  padding-bottom: 6.4vw;
  margin-bottom: 9.33vw;
  border-bottom: #383838 1px solid;
}
#wrapper.featuresPage .aboutTansan .txtBox .txt {
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0.15em;
  text-align: justify;
}
@media (min-width: 769px) {
  #wrapper.featuresPage .aboutBox {
    padding: min(12.3vw, 135px) 0 0;
  }
  #wrapper.featuresPage .aboutTablet {
    max-width: 810px;
    margin: 0 auto min(15.4vw, 185px);
    padding: 0 50px;
  }
  #wrapper.featuresPage .aboutTablet:before {
    content: none;
  }
  #wrapper.featuresPage .aboutTablet h2 {
    font-size: 1.0625rem;
    letter-spacing: 0.12em;
    padding-bottom: 28px;
    margin-bottom: min(4.1vw, 45px);
  }
  #wrapper.featuresPage .aboutTablet .txt {
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    line-height: 2.3;
  }
  #wrapper.featuresPage .aboutTablet .kome {
    font-size: 0.6875rem;
    letter-spacing: 0.03em;
    margin-top: 1.1em;
  }
  #wrapper.featuresPage .aboutTansan {
    max-width: 1920px;
    margin: 0 auto;
    padding: min(15vw, 190px) 0 min(13vw, 160px) 50%;
  }
  #wrapper.featuresPage .aboutTansan .img img {
    width: 49.17%;
    height: 100%;
  }
  #wrapper.featuresPage .aboutTansan .txtBox {
    padding: min(5.5vw, 60px) min(7vw, 100px) min(4.6vw, 50px);
    width: 100%;
    max-width: 700px;
    margin-left: max(-6vw, -100px);
  }
  #wrapper.featuresPage .aboutTansan .txtBox h2 {
    font-size: 1.0625rem;
    letter-spacing: 0.1em;
    padding-bottom: 20px;
    margin-bottom: 40px;
  }
  #wrapper.featuresPage .aboutTansan .txtBox .txt {
    font-size: 0.9375rem;
    letter-spacing: 0.15em;
  }
}
#wrapper.featuresPage .pointSec {
  padding: 2.67vw 0 22.67vw;
}
#wrapper.featuresPage .pointSec h2.point {
  margin: 18.67vw -0.5em 0.8em 0;
  font-weight: normal;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
#wrapper.featuresPage .pointSec h2.point p {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #21364E;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  margin-bottom: 3.2vw;
}
#wrapper.featuresPage .pointSec h2.point p:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgba(78, 122, 155, 0.99) 0%, rgba(147, 158, 178, 0.41) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
#wrapper.featuresPage .pointSec ul {
  padding: 0 5.33vw;
}
#wrapper.featuresPage .pointSec ul .img {
  margin-bottom: 9.33vw;
}
#wrapper.featuresPage .pointSec ul .txt {
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: justify;
}
#wrapper.featuresPage .pointSec ul .kome {
  color: #707070;
  font-size: 0.625rem;
  margin-top: 1.2em;
}
@media (min-width: 769px) {
  #wrapper.featuresPage .pointSec {
    padding: min(40px) 50px min(210px);
  }
  #wrapper.featuresPage .pointSec h2.point {
    position: relative;
    padding-bottom: 25px;
    margin: 0 0 1.1em 0;
    font-size: 1.0625rem;
    letter-spacing: 0.1em;
  }
  #wrapper.featuresPage .pointSec h2.point:before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, rgba(78, 122, 155, 0.99) 0%, rgba(147, 158, 178, 0.41) 100%);
    position: absolute;
    left: 0;
    bottom: 0;
  }
  #wrapper.featuresPage .pointSec h2.point p {
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
    padding-bottom: 0;
    margin-bottom: 0.7em;
  }
  #wrapper.featuresPage .pointSec h2.point p:before {
    content: none;
  }
  #wrapper.featuresPage .pointSec ul {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
  }
  #wrapper.featuresPage .pointSec ul li {
    position: relative;
    padding-left: 51.3%;
    margin-top: min(150px);
    min-height: min(460px);
  }
  #wrapper.featuresPage .pointSec ul .img {
    position: absolute;
    left: 0;
    top: 10px;
    width: 45.6%;
    padding-top: 45.6%;
    margin-bottom: 0;
  }
  #wrapper.featuresPage .pointSec ul .img img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #wrapper.featuresPage .pointSec ul .txt {
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }
  #wrapper.featuresPage .pointSec ul .kome {
    font-size: 0.6875rem;
    margin-top: 1.2em;
    margin-bottom: -2.8em;
  }
}
#wrapper.featuresPage #bgBlue {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding-top: 0;
}
#wrapper.featuresPage #bgBlue:before {
  content: "";
  display: block;
  width: 100vw;
  height: 101%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
  background: linear-gradient(0deg, rgba(134, 154, 177, 0.66) 0%, #728091 100%, #21364e 100%);
}
#wrapper.featuresPage #bgBlue h2.point p {
  color: #fff;
}
#wrapper.featuresPage #bgBlue h2.point p:before {
  background: linear-gradient(90deg, rgba(78, 122, 155, 0.99) 0%, rgba(255, 255, 255, 0.41) 100%);
}
#wrapper.featuresPage #bgBlue ul li {
  padding-left: 0;
}
#wrapper.featuresPage #bgBlue ul li .img {
  position: relative;
}
#wrapper.featuresPage #bgBlue ul li .kome {
  color: #fff;
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgBlue h2.point {
    padding-bottom: 28px;
    margin: 0 0 1.5em 0;
  }
  #wrapper.featuresPage #bgBlue h2.point:before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.93) 50.74%, rgba(255, 255, 255, 0.41) 100%);
  }
  #wrapper.featuresPage #bgBlue h2.point p {
    margin-bottom: 1em;
  }
  #wrapper.featuresPage #bgBlue ul li {
    padding-left: 0;
    min-height: 0;
  }
  #wrapper.featuresPage #bgBlue ul li .img {
    position: relative;
    top: 0;
  }
  #wrapper.featuresPage #bgBlue ul li .txt {
    letter-spacing: 0.12em;
  }
  #wrapper.featuresPage #bgBlue ul li .kome {
    margin-bottom: 0;
  }
}
#wrapper.featuresPage #bgBlue .txtArea {
  padding-top: 4vw;
}
#wrapper.featuresPage #bgBlue .txtArea dl {
  position: relative;
  margin-top: 10.67vw;
  padding: 10.13vw 6.4vw 13.33vw;
  color: #383838;
}
#wrapper.featuresPage #bgBlue .txtArea dl:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: linear-gradient(rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.25) 100%);
  opacity: 0.45;
}
#wrapper.featuresPage #bgBlue .txtArea dl dt {
  text-align: center;
  font-weight: normal;
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  border-bottom: #383838 1px solid;
  padding-bottom: 5.87vw;
  margin-bottom: 6.67vw;
}
#wrapper.featuresPage #bgBlue .txtArea dl dd {
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgBlue .block {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 45px;
  }
  #wrapper.featuresPage #bgBlue .txtArea {
    flex: 1;
    margin-left: 55px;
    padding-top: 0;
  }
  #wrapper.featuresPage #bgBlue .txtArea dl:first-child {
    margin-top: 0;
  }
  #wrapper.featuresPage #bgBlue .txtArea dl {
    margin-top: min(60px);
    padding: 0;
    color: #fff;
  }
  #wrapper.featuresPage #bgBlue .txtArea dl:before {
    content: none;
  }
  #wrapper.featuresPage #bgBlue .txtArea dl dt {
    text-align: left;
    font-size: 1.0625rem;
    line-height: 1.6;
    letter-spacing: 0.15em;
    border-bottom: #fff 1px solid;
    padding-bottom: min(20px);
    margin-bottom: min(35px);
  }
  #wrapper.featuresPage #bgBlue .txtArea dl dd {
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
}
#wrapper.featuresPage #bgBlue .btnLine {
  margin-top: 21.33vw;
  height: 25.33vw;
  font-size: 0.9375rem;
}
#wrapper.featuresPage #bgBlue .btnLine svg {
  margin-right: 0;
}
#wrapper.featuresPage #bgBlue .btnLine .yakuyou {
  display: inline-block;
  border: rgba(56, 56, 56, 0.5) 1px solid;
  padding: 0 2px 0 3px;
  margin-right: 3px;
}
#wrapper.featuresPage #bgBlue .btnLine.bk:hover .yakuyou {
  border-color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgBlue .btnLine {
    margin-top: min(160px);
    text-align: center;
    width: 414px;
    max-width: none;
    height: 74px;
  }
  #wrapper.featuresPage #bgBlue .btnLine svg {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
#wrapper.featuresPage #bgImg {
  position: relative;
  overflow: hidden;
  color: #fff;
  padding-top: 22.67vw;
}
#wrapper.featuresPage #bgImg:before {
  content: "";
  display: block;
  width: 100vw;
  height: 101%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
  background: linear-gradient(0deg, rgba(134, 154, 177, 0.66) 0%, #728091 100%, #21364e 100%);
}
#wrapper.featuresPage #bgImg h2.point p {
  color: #fff;
}
#wrapper.featuresPage #bgImg h2.point p:before {
  background: linear-gradient(90deg, rgba(78, 122, 155, 0.99) 0%, rgba(255, 255, 255, 0.41) 100%);
}
#wrapper.featuresPage #bgImg ul li {
  padding-left: 0;
}
#wrapper.featuresPage #bgImg ul li .img {
  position: relative;
}
#wrapper.featuresPage #bgImg ul li .kome {
  color: #fff;
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgImg {
    padding-top: min(40px);
  }
  #wrapper.featuresPage #bgImg h2.point {
    padding-bottom: 28px;
    margin: 0 0 1.5em 0;
  }
  #wrapper.featuresPage #bgImg h2.point:before {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.93) 50.74%, rgba(255, 255, 255, 0.41) 100%);
  }
  #wrapper.featuresPage #bgImg h2.point p {
    margin-bottom: 1em;
  }
  #wrapper.featuresPage #bgImg ul li {
    padding-left: 0;
    min-height: 0;
  }
  #wrapper.featuresPage #bgImg ul li .img {
    position: relative;
    top: 0;
  }
  #wrapper.featuresPage #bgImg ul li .txt {
    letter-spacing: 0.12em;
  }
  #wrapper.featuresPage #bgImg ul li .kome {
    margin-bottom: 0;
  }
}
#wrapper.featuresPage #bgImg .txtArea {
  padding-top: 4vw;
}
#wrapper.featuresPage #bgImg .txtArea dl {
  position: relative;
  margin-top: 10.67vw;
  padding: 10.13vw 6.4vw 13.33vw;
  color: #383838;
}
#wrapper.featuresPage #bgImg .txtArea dl:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: linear-gradient(rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.25) 100%);
  opacity: 0.45;
}
#wrapper.featuresPage #bgImg .txtArea dl dt {
  text-align: center;
  font-weight: normal;
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  border-bottom: #383838 1px solid;
  padding-bottom: 5.87vw;
  margin-bottom: 6.67vw;
}
#wrapper.featuresPage #bgImg .txtArea dl dd {
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgImg .block {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 45px;
  }
  #wrapper.featuresPage #bgImg .txtArea {
    flex: 1;
    margin-left: 55px;
    padding-top: 0;
  }
  #wrapper.featuresPage #bgImg .txtArea dl:first-child {
    margin-top: 0;
  }
  #wrapper.featuresPage #bgImg .txtArea dl {
    margin-top: min(60px);
    padding: 0;
    color: #fff;
  }
  #wrapper.featuresPage #bgImg .txtArea dl:before {
    content: none;
  }
  #wrapper.featuresPage #bgImg .txtArea dl dt {
    text-align: left;
    font-size: 1.0625rem;
    line-height: 1.6;
    letter-spacing: 0.15em;
    border-bottom: #fff 1px solid;
    padding-bottom: min(20px);
    margin-bottom: min(35px);
  }
  #wrapper.featuresPage #bgImg .txtArea dl dd {
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
}
#wrapper.featuresPage #bgImg .btnLine {
  margin-top: 21.33vw;
  height: 25.33vw;
  font-size: 0.9375rem;
}
#wrapper.featuresPage #bgImg .btnLine svg {
  margin-right: 0;
}
#wrapper.featuresPage #bgImg .btnLine .yakuyou {
  display: inline-block;
  border: rgba(56, 56, 56, 0.5) 1px solid;
  padding: 0 2px 0 3px;
  margin-right: 3px;
}
#wrapper.featuresPage #bgImg .btnLine.bk:hover .yakuyou {
  border-color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 769px) {
  #wrapper.featuresPage #bgImg .btnLine {
    margin-top: min(100px);
    text-align: center;
    width: 414px;
    max-width: none;
    height: 74px;
  }
  #wrapper.featuresPage #bgImg .btnLine svg {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
  }
}

.page {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .page {
    padding-top: 6rem;
  }
}
.page_subtext {
  margin-top: 5rem;
}
@media (min-width: 769px) {
  .page_subtext {
    text-align: center;
  }
}
.page_subtext-comment {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  color: #ef3340;
  margin-top: 1rem;
}
.page_back {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #000;
  margin-top: 2.5rem;
}
.page_back::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-right: 0.5rem;
}

.page.formPage {
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .page.formPage {
    padding-top: 5rem;
  }
}

.faq .qa {
  float: left;
  display: inline-block;
  margin-right: 0.6em;
}
.faq .qa + .block {
  overflow: auto;
  overflow-y: hidden;
}
.faq .accordion_content .block {
  padding-bottom: 0.6em;
}
.faq .accordion_content h3 .block {
  padding-bottom: 0;
}
.faq a {
  color: inherit;
  text-decoration: underline;
}
@media (min-width: 769px) {
  .faq a:hover {
    color: inherit;
    text-decoration: none;
  }
}
.faq_list {
  margin-top: 2rem;
}
.faq_heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  line-height: 1.3;
  font-weight: 400;
  border-bottom: 0.0625rem solid #000;
  margin-top: 2rem;
  padding-bottom: 1rem;
}
.faq_subitem {
  margin-top: 2rem;
}
.faq_subitem-link {
  display: block;
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}
.faq_subheading {
  border-bottom: 0.0625rem solid #dde4e6;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 300;
}
.faq .tabMenu {
  -webkit-flex: flex;
  display: flex;
  flex-wrap: wrap;
  margin: 13vw -1vw 0;
}
.faq .tabMenu li {
  border: #000 1px solid;
  padding: 0.5em 0.4em;
  min-height: 4.3em;
  text-align: center;
  flex: 1 1 48%;
  margin: 1%;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: bold;
  cursor: pointer;
  -webkit-flex: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.faq .tabMenu li.active {
  background: #000;
  color: #fff;
}
.faq .tabArea {
  display: none;
  margin-top: 10vw;
}
.faq .tabArea h2.tabTitle {
  font-size: 1.25rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: bold;
}
@media (min-width: 769px) {
  .faq .tabMenu {
    margin: 60px -10px 0;
  }
  .faq .tabMenu li {
    padding: 1em 0.4em;
    flex: 1 1 48%;
    margin: 1%;
    font-size: 0.875rem;
    letter-spacing: 0.075rem;
    line-height: 1.5;
    transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  .faq .tabMenu li:not(.active):hover {
    background: #000;
    color: #fff;
  }
  .faq .tabArea {
    margin-top: 70px;
  }
  .faq .tabArea h2.tabTitle {
    margin-bottom: 2em;
  }
}

.shoplist_inner {
  max-width: 64rem;
}
.shoplist_heading {
  border-bottom: 0.0625rem solid #dde4e6;
  padding-bottom: 1.25rem;
  margin-bottom: 4rem;
  margin-top: 5rem;
  font-weight: 400;
}
.shoplist_list {
  padding-bottom: 4rem;
}
.shoplist_subitem {
  border-bottom: 0.0625rem solid #dde4e6;
  padding-bottom: 2.5rem;
  margin-top: 2rem;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .shoplist_subitem {
    flex-wrap: nowrap;
  }
}
.shoplist_item-heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  border-bottom: 0.0625rem solid #000;
  margin-top: 2rem;
  padding-bottom: 1rem;
}
.shoplist_subheading {
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 1rem;
}
.shoplist_shop-link {
  display: block;
  text-decoration: underline;
  color: #000;
}
.shoplist_shop-products {
  margin-top: 2rem;
}
@media (min-width: 769px) {
  .shoplist_shop-products {
    margin-top: 0;
    margin-left: 1.5rem;
  }
}
.shoplist_shop-products-list {
  margin: 0 -0.25rem;
}
@media (min-width: 769px) {
  .shoplist_shop-products-list {
    justify-content: flex-end;
  }
}
.shoplist_shop-products-item {
  font-size: 0.625rem;
  font-weight: 400;
  padding-top: 0.25rem;
  padding-right: 0.75rem;
  padding-bottom: 0.25rem;
  padding-left: 0.75rem;
  margin-top: 0;
  margin-right: 0.25rem;
  margin-bottom: 0.5rem;
  margin-left: 0.25rem;
  background-color: #f0f6f7;
}

.association_list {
  margin-top: 5rem;
}
.association_label {
  font-weight: 400;
  float: left;
  width: 6rem;
  clear: both;
}
@media (min-width: 769px) {
  .association_label {
    width: 10rem;
  }
}
.association_label {
  line-height: 1.5;
}
.association_content {
  word-break: break-all;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 1rem;
  margin-left: 6rem;
}
@media (min-width: 769px) {
  .association_content {
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    margin-left: 10rem;
  }
}
.association_content {
  line-height: 1.5;
}
.association_map {
  width: 100%;
  margin-top: 5rem;
  padding-top: 56.25%;
}
.association_link {
  display: block;
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}

.contact_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5rem;
}
.contact_item {
  width: 100%;
}
@media (min-width: 769px) {
  .contact_item {
    width: 50%;
    padding-top: 0.75rem;
    padding-right: 0.75rem;
    padding-bottom: 0;
    padding-left: 0.75rem;
  }
}
@media (max-width: 768px) {
  .contact_item:nth-child(n+2) {
    margin-top: 1rem;
  }
}
@media (min-width: 769px) {
  .contact_item:nth-child(n+3) {
    margin-top: 1rem;
  }
}
.contact_item:nth-child(n+5) {
  width: 100% !important;
}
.contact_label {
  display: block;
}
.contact_input, .contact_textarea {
  display: block;
  border: 0.0625rem solid #dde4e6;
  width: 100%;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.contact_input:focus, .contact_textarea:focus {
  outline: 0;
  border-color: #000;
}
.contact_textarea {
  min-height: 10rem;
}
.contact_caution {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  color: #ef3340;
  margin-top: 0.5rem;
  visibility: hidden;
}
.contact_btn {
  display: table;
  font-weight: 700;
  text-align: center;
  color: #000;
  border: 0.0625rem solid #000 !important;
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.contact_btn:hover {
  background-color: #000;
  color: #fff;
}

.privacy_list {
  margin-top: 5rem;
}
.privacy_heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  border-bottom: 0.0625rem solid #000;
  margin-top: 2rem;
  padding-bottom: 1rem;
}

.shoplist_h2 {
  font-size: 1.125rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 700;
  margin: 4.5em 0 2.2em;
}

.sl_list {
  padding: 0 2vw 1em;
}
.sl_list .accordion_item_cont {
  padding-bottom: 1.2em;
}
.sl_list .accordion_item_cont .shop_item {
  border-bottom: 0.1rem solid rgba(208, 211, 212, 0.4);
  padding: 1.1rem 0;
}
.sl_list .accordion_item_cont .shop_item .shop_cont {
  position: relative;
  width: 100%;
  padding-left: 0.5em;
}
.sl_list .accordion_item_cont .shop_item .shop_cont .shop_name {
  width: calc(100% - 4rem);
  font-weight: normal;
}
.sl_list .accordion_item_cont .shop_item .shop_cont .shop_add {
  margin: 1em 0 0 0.5em;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
}
.sl_list .accordion_item_cont .shop_item .shop_cont .shop_link {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.5rem;
}
.sl_list .accordion_item_cont .shop_item .shop_cont .shop_link a {
  color: #1d252d;
  font-weight: 400;
}
@media (min-width: 769px) {
  .sl_list {
    padding: 0 0 1em 16px;
  }
  .sl_list .accordion_item_cont .shop_item .shop_cont .shop_name {
    float: left;
    width: 12rem;
  }
  .sl_list .accordion_item_cont .shop_item .shop_cont .shop_add {
    width: calc(100% - 18rem);
    margin: 0 0 0 14rem;
  }
}

.ds_list {
  margin-top: -1em;
}
.ds_list .accordion_item_cont {
  padding: 0 2vw;
}
.ds_list .accordion_item_cont .shop_item {
  border-bottom: 0.1rem solid rgba(208, 211, 212, 0.4);
  padding: 1.1rem 0;
}
.ds_list .accordion_item_cont .shop_item .shop_cont {
  position: relative;
  width: 100%;
  padding-left: 0.5em;
}
.ds_list .accordion_item_cont .shop_item .shop_cont .shop_name {
  float: left;
  width: 12rem;
  font-weight: normal;
}
.ds_list .accordion_item_cont .shop_item .shop_cont .shop_add {
  width: calc(100% - 14rem);
  margin: 0 0 0 14rem;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
.ds_list .accordion_item_cont .shop_item .shop_cont .shop_add a {
  color: inherit;
  text-decoration: underline;
}
@media (min-width: 769px) {
  .ds_list .accordion_item_cont {
    padding: 0 0 0 1em;
  }
  .ds_list .accordion_item_cont .shop_item .shop_cont .shop_add {
    font-size: 0.875rem;
    letter-spacing: 0.075rem;
    line-height: 1.5;
  }
}

#contacts-form-view .yokuaruBox {
  border: #000 1px solid;
  padding: 7vw 5vw 4vw;
  margin: 9vw 0 -2rem;
}
#contacts-form-view .yokuaruBox h2 {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 1em;
}
#contacts-form-view .yokuaruBox .txt {
  font-size: 0.85rem;
}
#contacts-form-view .yokuaruBox ul {
  margin-top: 1.3em;
}
#contacts-form-view .yokuaruBox li {
  margin-bottom: 8px;
}
#contacts-form-view .yokuaruBox li a {
  border: #000 1px solid;
  color: inherit;
  text-decoration: none;
  position: relative;
  font-size: 0.95rem;
  line-height: 1.4;
  padding: 0.5em;
  padding-right: 1.7em;
  min-height: 3em;
  -webkit-flex: flex;
  display: flex;
  align-items: center;
}
#contacts-form-view .yokuaruBox li a .qa {
  width: 1.5em;
}
#contacts-form-view .yokuaruBox li a div {
  flex: 1;
}
#contacts-form-view .yokuaruBox li i {
  position: absolute;
  right: 0.3em;
  top: 50%;
  transform: translate(0, -50%);
}
@media (min-width: 769px) {
  #contacts-form-view .yokuaruBox {
    padding: 40px 40px 25px;
    margin: 60px -2em -1rem;
  }
  #contacts-form-view .yokuaruBox .txt {
    font-size: 14px;
  }
  #contacts-form-view .yokuaruBox h2 {
    font-size: 1.7rem;
    margin-bottom: 1.2em;
  }
  #contacts-form-view .yokuaruBox ul {
    margin-top: 1.6em;
  }
  #contacts-form-view .yokuaruBox li a {
    min-height: 3.4em;
    transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
  }
  #contacts-form-view .yokuaruBox li a:hover {
    background: #000;
    color: #fff;
  }
}

#new-view #wrapList {
  -webkit-flex: flex;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
#new-view #wrapList img {
  max-width: 100%;
}
#new-view #wrapList li {
  flex: 0 0 50%;
  padding: 0 2.5vw;
  margin-top: 5.5vw;
  text-align: center;
}
#new-view #wrapList .name {
  font-size: 13px;
  margin: 0.6em 0 0;
}
#new-view #wrapList .nowrap {
  display: inline-block;
  white-space: nowrap;
}
@media (min-width: 769px) {
  #new-view #wrapList li {
    flex: 0 0 33.3%;
    padding: 0 3%;
    margin-top: 26px;
  }
}

#myTeikiList table {
  margin-bottom: 15px;
}
#myTeikiList table .flex {
  -webkit-flex: flex;
  display: flex;
  align-items: center;
}
#myTeikiList table .img {
  max-width: 26%;
  margin-right: 14px;
}
#myTeikiList table .img img {
  max-width: 100%;
}
#myTeikiList table .flex div {
  flex: 1;
  padding-top: 0.5em;
}
#myTeikiList table .name {
  font-size: 14px;
  margin-bottom: 0.6em;
}
#myTeikiList table .txt {
  font-size: 13px;
  margin-top: 0.3em;
}
#myTeikiList table .linkTxt {
  text-align: right;
  font-size: 13px;
  margin-top: 0.5em;
}
#myTeikiList table a {
  text-decoration: underline;
  color: inherit;
}
#myTeikiList table tr.teikiListTop {
  background: #666;
  color: #fff;
}
#myTeikiList table tr.teikiListTop.active {
  background: rgb(211, 236, 255);
  color: #000;
}
#myTeikiList table tr.teikiListTop.active th {
  background: none;
}
@media (min-width: 769px) {
  #myTeikiList table {
    margin-bottom: 15px;
  }
  #myTeikiList table .flex {
    -webkit-flex: flex;
    display: flex;
    align-items: center;
  }
  #myTeikiList table .img {
    max-width: 100px;
    margin-right: 14px;
  }
  #myTeikiList table .img img {
    max-width: 100%;
  }
  #myTeikiList table .flex div {
    flex: 1;
    padding-top: 0.5em;
  }
  #myTeikiList table .name {
    font-size: 14px;
    margin-bottom: 0.6em;
  }
  #myTeikiList table .txt {
    font-size: 13px;
    margin-top: 0.3em;
  }
  #myTeikiList table .linkTxt {
    text-align: right;
    font-size: 13px;
    margin-top: 0.4em;
  }
  #myTeikiList table a:hover {
    text-decoration: none;
  }
}

@media (min-width: 769px) {
  .saikaiDiv {
    text-align: center;
    margin: 30px 0 0;
  }
}
#subs_order_scheduled_to_be_delivered_at {
  width: 100%;
  padding: 0.7em 0.4em;
}
@media (min-width: 769px) {
  #subs_order_scheduled_to_be_delivered_at {
    width: 50%;
    margin-left: 10px;
  }
}

.official_btn {
  font-size: 15px;
  height: 40px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 76px;
  position: relative;
  width: 92%;
  margin: 5% auto 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #000;
  color: #fff;
}
.official_btn:hover {
  background: #000;
}
@media (min-width: 769px) {
  .official_btn {
    font-size: 17px;
    height: 46px;
    width: 70%;
    background-color: #777;
  }
}
.official_btn .open_text {
  display: none;
}
.open .official_btn .open_text {
  display: block;
}
.official_btn .close_text {
  display: block;
}
.open .official_btn .close_text {
  display: none;
}
@media (min-width: 769px) {
  .official_btn .open_text {
    display: block;
  }
  .open .official_btn .open_text {
    display: none;
  }
  .official_btn .close_text {
    display: none;
  }
  .open .official_btn .close_text {
    display: block;
  }
}
.official_btn::before, .official_btn::after {
  position: absolute;
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.official_btn::before {
  height: 20px;
  right: 37px;
  width: 2px;
  display: none;
}
@media (min-width: 769px) {
  .official_btn::before {
    height: 20px;
    right: 39px;
    width: 3px;
    display: block;
  }
}
.official_btn::after {
  width: 20px;
  right: 28px;
  height: 2px;
}
@media (min-width: 769px) {
  .official_btn::after {
    width: 20px;
    right: 30px;
    height: 3px;
  }
}
.open .official_btn::before {
  display: block;
}
@media (min-width: 769px) {
  .open .official_btn::before {
    display: none;
  }
}

.product_details {
  padding-top: 8px;
}
@media (min-width: 769px) {
  .product_details {
    padding-top: 6rem;
  }
}
.product_details-container {
  position: relative;
  align-items: flex-start;
  justify-content: space-between;
}
.product_image-list {
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
.product_snsList {
  -webkit-flex: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -14px 0 16px;
}
.product_snsList li {
  width: 3em;
  margin: 0 0.3em;
}
.product_snsList a {
  -webkit-flex: block;
  display: block;
  justify-content: center;
  align-items: center;
  width: 1.8em;
  height: 1.8em;
  line-height: 0;
  border-radius: 50%;
  background: #fff;
  color: #000;
  letter-spacing: 0;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
  margin: 0 auto;
}
.product_snsList a:before {
  font-size: 22px;
}
@media (min-width: 769px) {
  .product_snsList {
    justify-content: flex-end;
    margin: -40px 0 15px;
  }
  .product_snsList li {
    width: 3em;
    margin: 0 0 0 0.4em;
  }
  .product_snsList a:hover {
    background: #000;
    color: #fff;
    opacity: 0.8;
  }
  .product_snsList a:hover path {
    fill: #fff;
  }
}
.product_details-text.col_1 {
  position: relative;
  flex: 0 1 100%;
  margin-top: 4rem;
}
@media (min-width: 1020px) {
  .product_details-text.col_1 {
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    padding: 0 5%;
    flex: 0 1 50%;
  }
}
.product_details-heading {
  font-size: 1.25rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  text-align: center;
  font-weight: 400;
  border-bottom: 0.25rem solid #000;
  padding-bottom: 0.5rem;
}
@media (min-width: 1020px) {
  .product_details-heading {
    -webkit-flex: flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    text-align: left;
  }
}
.product_details-size {
  display: block;
  padding: 0.2em 0;
  white-space: nowrap;
  font-weight: normal;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 1020px) {
  .product_details-size {
    text-align: right;
  }
}
.product {
  /*&_details-price {
    @include typo(5xs);
    @include weight(bold);
    @include component_margin($top: m);
    text-align: center;
    @include media_query_min(l) {
      text-align: left;
    }
  }*/
}
.product_details-btn {
  position: relative;
  display: block;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
  /*border: 0.0625rem solid $black;*/
  color: #fff;
  font-size: 0.875rem;
  background: #777;
  border-radius: 3em;
  padding: 0.9rem 1.25rem;
  margin-top: 0.75rem;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
  /*&::after {
    @include absolute($bottom: 0, $left: 0);
    z-index: -1;
    background-color: $black;
    content: '';
    height: 100%;
    width: 100%;
    opacity: 0;
    @include motion(all, 200ms, on);
  }*/
}
.product_details-btn:hover {
  color: #fff;
  background: #000;
}
.product_details-btn {
  /*&:hover::after {opacity: 1;}*/
}
@media (min-width: 769px) {
  .product_details-btn {
    width: 86%;
  }
}
.product_details-btn#btn-stock-waiting-list {
  background: #999;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.product_details-btn#btn-stock-waiting-list:hover {
  color: #fff;
  opacity: 0.8;
}
.product_details-image {
  margin: 0 auto;
}
.product_details-item {
  margin-top: 2rem;
}
.product_details-label {
  font-weight: 400;
  border-bottom: 0.0625rem solid #000;
  padding-bottom: 0.5rem;
}
.product_details-link {
  display: block;
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}
.product_topics {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .product_topics {
    padding-top: 10rem;
  }
}
.product_topics-content {
  align-items: center;
  margin-top: 2.5rem;
}
@media (min-width: 769px) {
  .product_topics-content {
    margin-top: 5rem;
  }
}
.product_topics-heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  margin-bottom: 1.25rem;
}
@media (min-width: 769px) {
  .product_topics-heading {
    font-size: 1.25rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
  }
}
@media (min-width: 769px) {
  .product_topics-image {
    flex: 0 0 37.5%;
  }
}
.product_topics-text {
  padding-top: 1.5rem;
}
@media (min-width: 769px) {
  .product_topics-text {
    padding-top: 0;
    padding-left: 4rem;
    flex: 0 0 62.5%;
  }
}
.product_features {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .product_features {
    padding-top: 6rem;
  }
}
.product_features-list {
  margin-top: 2.5rem;
}
@media (min-width: 769px) {
  .product_features-list {
    margin-top: 5rem;
  }
}
.product_features-item {
  flex-direction: column;
}
@media (min-width: 769px) {
  .product_features-item {
    flex-direction: row;
    min-height: 360px;
  }
}
@media (min-width: 769px) {
  .product_features-item:nth-child(even) {
    flex-direction: row-reverse;
  }
}
.product_features-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 56.25%;
}
@media (min-width: 769px) {
  .product_features-image {
    padding-top: 0;
  }
}
.product_features-text {
  background-color: #f0f6f7;
  padding-top: 2.5rem;
  padding-right: 1rem;
  padding-bottom: 2.5rem;
  padding-left: 1rem;
}
@media (min-width: 769px) {
  .product_features-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 7%;
  }
  .product_features-text.txtMany {
    padding: 5%;
  }
}
.product_features-heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
}
@media (min-width: 769px) {
  .product_features-heading {
    font-size: 1.25rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
  }
}
.product_features-heading:nth-of-type(n + 2) {
  border-top: 0.0625rem solid #dde4e6;
  margin-top: 2rem;
  padding-top: 2rem;
}
.product_features-content {
  margin-top: 1.25rem;
}
.product_features-comments {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  margin-top: 1rem;
}
.product_howto {
  position: relative;
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .product_howto {
    padding-top: 10rem;
  }
}
.product_howto-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.5rem;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media (min-width: 769px) {
  .product_howto-list {
    margin-top: 5rem;
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
}
.product_howto-item {
  padding: 0.625rem;
}
@media (min-width: 769px) {
  .product_howto-item {
    padding: 0.75rem;
  }
}
@media (min-width: 769px) {
  .product_howto-item:nth-child(n+4) {
    margin-top: 2.5rem;
  }
}
@media (max-width: 768px) {
  .product_howto-item:nth-child(n+3) {
    margin-top: 2.5rem;
  }
}
.product_howto-image {
  width: 6.25rem;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .product_howto-image {
    width: 7.5rem;
  }
}
.product_howto-text {
  margin-top: 1rem;
}
.product_banner {
  position: relative;
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .product_banner {
    padding-top: 10rem;
  }
}
.product_banner.topPage {
  position: relative;
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .product_banner.topPage {
    padding-top: 6rem;
  }
}
.product_banner-item {
  background-color: #fff;
  border: 0.0625rem solid #000;
  line-height: 0;
}
.product_banner-item:nth-child(n+2) {
  margin-top: 2.5rem;
}
.product_banner-link {
  display: flex;
  flex: wrap;
  color: #000;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.product_banner-link:hover {
  opacity: 0.8;
}
.product_banner-text {
  width: calc(100% - 8.75rem);
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
}
@media (min-width: 769px) {
  .product_banner-text {
    width: calc(100% - 20rem);
    padding-top: 2.5rem;
    padding-right: 2.5rem;
    padding-bottom: 2.5rem;
    padding-left: 2.5rem;
  }
}
.product_banner-text.conpact {
  padding-top: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
}
@media (min-width: 769px) {
  .product_banner-text.conpact {
    width: calc(100% - 16rem);
    padding-top: 1.5rem;
    padding-right: 2rem;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
  }
  .product_banner-text.conpact .product_banner-see {
    font-size: 0.875rem;
    letter-spacing: 0.075rem;
    line-height: 1.5;
  }
}
.product_banner-heading {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
}
@media (min-width: 769px) {
  .product_banner-heading {
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    /*max-width: 17.5rem;*/
  }
}
@media (min-width: 769px) {
  .product_banner-br {
    display: none;
  }
}
.product_banner-subheading {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  margin-top: 0.5rem;
}
@media (min-width: 769px) {
  .product_banner-subheading {
    font-size: 0.875rem;
    letter-spacing: 0.075rem;
    line-height: 1.5;
  }
}
.product_banner-see {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 1.25rem;
}
@media (min-width: 769px) {
  .product_banner-see {
    margin-right: -1em;
  }
}
.product_banner-see::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.25rem;
}
.product_banner-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 8.75rem;
}
@media (min-width: 769px) {
  .product_banner-image {
    width: 20rem;
  }
}
.product_movie {
  width: 100%;
  margin: 15vw 0 0;
}
.product_movie .mBox {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}
.product_movie iframe {
  width: 101%;
  height: 101%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 769px) {
  .product_movie {
    width: 1100px;
    margin: 100px auto 0;
  }
}
.product_film {
  position: relative;
  padding-top: 5rem;
  z-index: 1;
}
@media (min-width: 769px) {
  .product_film {
    padding-top: 10rem;
  }
}
.product_kakakuBox {
  margin: 5vw 0;
  padding: 4vw 4vw 5vw;
}
.product_kakakuBox .fukidashi {
  text-align: center;
  width: 74vw;
  margin: 0 auto -2px;
  font-size: 13px;
  /*color: #fff;*/
  padding: 0.6em 1em;
  position: relative;
  font-weight: 400;
  background: #fff;
  border: #000 1px solid;
  /*background: #777;*/
}
.product_kakakuBox .fukidashi.official {
  color: black;
  background-color: #e2b301;
  border: none;
}
@media (min-width: 769px) {
  .product_kakakuBox .fukidashi {
    width: 70%;
  }
}
.product_kakakuBox .fukidashi.official:before {
  border-color: #e2b301 transparent transparent transparent;
}
.product_kakakuBox .fukidashi.official:after {
  content: none;
}
.product_kakakuBox .fukidashi strong {
  font-weight: bold;
  font-size: 14px;
}
.product_kakakuBox .fukidashi:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 11px 0 11px;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
}
.product_kakakuBox .fukidashi:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 11px 0 11px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: 1px;
  transform: translate(-50%, 100%);
}
.product_kakakuBox .txtP {
  margin-top: 1.5em;
}
.product_kakakuBox .pType {
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.product_kakakuBox .pType span.sm {
  font-size: 15px;
}
.product_kakakuBox .hKakaku {
  width: 100%;
  font-weight: 400;
  padding-left: 1.5em;
  font-size: 15px;
  text-align: center;
}
.product_kakakuBox .hKakaku .nowrap {
  display: block;
}
.product_kakakuBox .hKakaku .red {
  color: #cb333b;
  font-weight: 400;
}
.product_kakakuBox .hKakaku span.tax {
  font-size: 80%;
}
.product_kakakuBox .hKakaku strong {
  font-weight: 400;
  font-size: 17px;
  display: inline-block;
  margin-right: 2px;
}
.product_kakakuBox .hKakaku .moto {
  font-size: 13px;
  position: relative;
  display: inline-block;
  opacity: 0.9;
}
.product_kakakuBox .hKakaku .moto::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #333;
  position: absolute;
  left: 0;
  top: 50%;
}
.product_kakakuBox .hKakaku .moto strong {
  font-size: 14px;
}
.product_kakakuBox .txtLink {
  text-align: center;
  margin-top: 2em;
}
.product_kakakuBox .txtLink a {
  font-weight: bold;
  color: inherit;
  text-decoration: underline;
  line-height: 1.6;
}
.product_kakakuBox .txtLink a .nowrap {
  text-decoration: underline;
}
.product_kakakuBox .txtLink a:hover {
  text-decoration: none;
}
.product_kakakuBox .txtLink a:hover .nowrap {
  text-decoration: none;
}
.product_kakakuBox .txtLink a .nowrap::after {
  display: inline-block;
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  vertical-align: -0.05em;
  padding-left: 2px;
}
@media (min-width: 769px) {
  .product_kakakuBox {
    margin: 30px 0;
    padding: 15px 24px 20px;
  }
}
.product_kakakuBox.teiki {
  margin: 10vw 0;
  border: #222 1px solid;
}
.product_kakakuBox.teiki .fukidashi {
  margin-top: -7vw;
}
.product_kakakuBox.teiki .setumei {
  border: #222 1px dotted;
  padding: 0.8em 1em;
  margin-top: 1.4em;
}
.product_kakakuBox.teiki .setumei .midashi {
  font-weight: 400;
  margin-bottom: 0.3em;
  display: block;
}
.product_kakakuBox.teiki .setumei .ninki {
  font-size: 15px;
  font-weight: 400;
  margin-top: 0.5em;
}
.product_kakakuBox.teiki + .kome {
  font-size: 11px;
  text-indent: -1em;
  padding-left: 1em;
}
@media (min-width: 769px) {
  .product_kakakuBox.teiki {
    margin: 50px 0;
  }
  .product_kakakuBox.teiki .fukidashi {
    margin-top: -25px;
  }
  .product_kakakuBox.teiki + .kome {
    font-size: 13px;
  }
}
.product_detailTopImg {
  width: 100%;
  height: auto;
  overflow: hidden;
  min-height: 122vw;
  max-height: calc(100vh - 3.6rem - 40px);
  z-index: 0;
  position: relative;
  margin-bottom: 20px;
}
.product_detailTopImg p .logoW {
  display: none;
}
.product_detailTopImg picture {
  display: block;
}
.product_detailTopImg picture img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
  opacity: 0;
}
.product_detailTopImg p {
  position: absolute;
  z-index: 10;
  font-size: 0.875rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 1px;
}
.product_detailTopImg div.bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.product_detailTopImg div.bg img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
}
.product_detailTopImg#detail_PBK p {
  position: static;
  text-align: center;
}
.product_detailTopImg#detail_PBK p .new {
  width: 22vw;
  display: block;
  position: absolute;
  right: 4%;
  top: 3.5%;
  z-index: 10;
}
.product_detailTopImg#detail_PBK p .logoW {
  position: absolute;
  left: 5%;
  top: 4%;
  display: block;
  text-align: left;
  width: 49vw;
  z-index: 10;
}
@media (min-width: 769px) {
  .product_detailTopImg {
    min-height: 0;
    max-height: calc(100vh - 8rem - 50px);
  }
  .product_detailTopImg p .logoW {
    display: block;
    margin: 0 auto 5px;
    text-align: center;
  }
  .product_detailTopImg p .txt {
    display: none !important;
  }
  .product_detailTopImg h1 {
    width: 30%;
    max-width: 330px;
  }
  .product_detailTopImg p {
    font-size: 1rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    font-weight: 300;
    letter-spacing: 2px;
  }
  .product_detailTopImg#detail_PBK p .new {
    width: 10vw;
    max-width: 110px;
    left: 54%;
    top: 5%;
    transform: translate(-50%, 0);
  }
  .product_detailTopImg#detail_PBK p .logoW {
    width: 30vw;
    left: 75%;
    top: 30%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 928px) {
  .product_detailTopImg p {
    font-size: 1.125rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    letter-spacing: 2.5px;
  }
  .product_detailTopImg#detail_PBK p .new {
    width: 110px;
    left: 70%;
    top: 8%;
    transform: translate(-230%, 0);
  }
  .product_detailTopImg#detail_PBK p .logoW {
    width: 330px;
    left: 73%;
    top: 29%;
  }
}

.p-product-tab {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .p-product-tab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 40px auto 0;
  }
}
.p-product-tab a {
  font-size: 1rem;
  color: #fff;
  background-color: #9c9c9c;
  padding-bottom: 5px;
  border: solid 1px;
  padding: 8px 20px;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
  position: relative;
  min-width: 200px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-product-tab a:hover {
    background-color: #000;
    color: #fff;
  }
}
@media (max-width: 768px) {
  .p-product-tab a {
    padding: 8px 30px;
    min-width: unset;
  }
}
.p-product-tab a::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-left: #fff 2px solid;
  border-bottom: #fff 2px solid;
  transform: rotate(-45deg);
  top: -4px;
  bottom: 0;
  margin: auto;
  right: 8%;
}

.p-product-recommend__ttl {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  gap: 10px 0;
  padding-top: 80px;
}

.p-product-recommend__ttl-main {
  font-size: 1.8125rem;
  position: relative;
  width: 100%;
  text-align: center;
}
.p-product-recommend__ttl-main span {
  background-color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .p-product-recommend__ttl-main {
    font-size: 1.625rem;
  }
}

.p-product-recommend__ttl-sub {
  font-size: 0.8125rem;
}
@media (max-width: 768px) {
  .p-product-recommend__ttl-sub {
    font-size: 0.75rem;
  }
}

.p-product-recommend__ttl-main::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #4d4d4d;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 22px;
  z-index: -1;
}

@media (max-width: 768px) {
  .p-product-recommend__ttl-main::before {
    height: 2px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
.p-product-link {
  border: solid 1px #000;
  color: #383838;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 10px 0;
  margin: 1rem auto 0;
  display: block;
  width: 40%;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
@media (min-width: 768px) {
  .p-product-link:hover {
    background-color: #000;
    color: #fff;
  }
}
@media (max-width: 768px) {
  .p-product-link {
    width: 60%;
    font-size: 0.625rem;
  }
}

.p-products-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px 100px;
  margin-top: 60px;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .p-products-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
    margin-top: 40px;
  }
}

.products_text {
  margin-bottom: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.p-product-link {
  margin-top: auto;
}

.p-products-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
}
@media (max-width: 768px) {
  .p-products-item .products_name {
    font-size: 0.725rem;
    margin-bottom: 0.7rem;
  }
  .p-products-item .products_size {
    margin-top: auto;
    font-size: 0.575rem;
    margin-bottom: 0.575rem;
  }
  .p-products-item .products_subtext {
    margin-top: auto;
    font-size: 0.7rem;
  }
}

.single {
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .single {
    padding-top: 5rem;
  }
}
@media (min-width: 769px) {
  .single_inner {
    /*width: grid(width_ratio_01);*/
    width: 82%;
  }
}
@media (min-width: 928px) {
  .single_inner {
    width: 72%;
    max-width: 860px;
  }
}
.single_date {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .single_header {
    padding-bottom: 1rem;
  }
}
.single_heading_primary {
  font-size: 1.25rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  line-height: 1.4;
  font-weight: 400;
  margin-top: 1rem;
}
@media (min-width: 769px) {
  .single_heading_primary {
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    line-height: 1.4;
  }
}
.single_snsList {
  -webkit-flex: flex;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: -0.8rem 0 5px;
}
.single_snsList li {
  width: 3em;
  margin: 0 0.2em 0 0;
}
.single_snsList a {
  -webkit-flex: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  line-height: 0;
  border-radius: 50%;
  background: #fff;
  color: #000;
  letter-spacing: 0;
  transition: all 200ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
.single_snsList a:before {
  font-size: 22px;
}
@media (min-width: 769px) {
  .single_snsList {
    justify-content: flex-start;
    margin: 0 0 0;
  }
  .single_snsList li {
    width: 3em;
    margin: 0 0.4em 0 0;
  }
  .single_snsList a:hover {
    background: #000;
    color: #fff;
    opacity: 0.8;
  }
  .single_snsList a:hover path {
    fill: #fff;
  }
}
@media (min-width: 928px) {
  .single_snsList {
    margin: 15px 0 -36px;
  }
}
.single_thumImg {
  margin-top: 1%;
}
@media (min-width: 928px) {
  .single_thumImg {
    margin-top: 50px;
  }
}
.single_text {
  margin-top: 2.5rem;
}
@media (min-width: 769px) {
  .single_text {
    margin-top: 4rem;
  }
}
.single_main-image {
  margin-bottom: 4rem;
}
@media (min-width: 769px) {
  .single_main-image {
    margin-bottom: 6rem;
  }
}
.single_container {
  margin-bottom: 4rem;
}
@media (min-width: 769px) {
  .single_container {
    margin-bottom: 6rem;
  }
}
.single_container img {
  width: auto !important;
  height: auto !important;
  max-width: 100%;
}
.single_heading_secondary {
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  margin-bottom: 1.5rem;
}
@media (min-width: 769px) {
  .single_heading_secondary {
    font-size: 1.25rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
    margin-bottom: 2.5rem;
  }
}
.single_image {
  max-width: 768px;
  margin-bottom: 2.5rem;
}
.single_link {
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}
.single_back {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #000;
}
.single_back::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-right: 0.5rem;
}
.single_pager {
  border-top: 0.0625rem solid #000;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}
.single_next, .single_prev {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  font-weight: 700;
  color: #000;
}
.single_prev {
  margin-right: auto;
}
.single_prev::before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-right: 0.5rem;
}
.single_next {
  text-align: right;
  margin-left: auto;
}
.single_next::after {
  content: "ꀂ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  margin-left: 0.5rem;
}

.ldk_wrapper {
  overflow: hidden;
}
.ldk_hero {
  position: relative;
  width: 100%;
  margin-bottom: 16rem;
}
@media (min-width: 769px) {
  .ldk_hero {
    margin-bottom: 8%;
  }
}
.ldk_hero-wrapper {
  overflow: hidden;
  position: relative;
}
.ldk_hero-bg {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  backface-visibility: hidden;
  height: 110%;
  width: 100%;
  z-index: -1;
  background: url("../images/special/ldk/hero_s.jpg") no-repeat 50%/cover;
}
@media (min-width: 769px) {
  .ldk_hero-bg {
    background: url("../images/special/ldk/hero_l.jpg") no-repeat 50%/cover;
  }
}
.ldk_hero-product {
  position: absolute;
  bottom: -16rem;
  left: 50%;
  transform: translateX(-50%);
  min-width: 25rem;
}
@media (min-width: 769px) {
  .ldk_hero-product {
    position: absolute;
    right: 0;
    bottom: -40%;
    transform: translateX(0);
    max-width: 42.5rem;
    min-width: 30rem;
  }
}
.ldk_hero-badge {
  width: 24%;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 56%;
  z-index: 1;
}
@media (min-width: 769px) {
  .ldk_hero-badge {
    position: absolute;
    top: -6%;
    right: 0;
    width: 20%;
  }
}
.ldk_hero-inner {
  padding-top: 2rem;
  padding-right: 1.5rem;
  padding-bottom: 10rem;
}
@media (min-width: 769px) {
  .ldk_hero-inner {
    padding: 8% 0;
    max-width: 72%;
    height: 100%;
    align-items: center;
  }
}
.ldk_hero-heading {
  padding-top: 0.5rem;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  max-width: 20rem;
}
@media (min-width: 769px) {
  .ldk_hero-heading {
    max-width: 40rem;
  }
}
.ldk_hero-subheading {
  color: #7c878e;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  letter-spacing: 0.2rem;
}
.ldk_hero-container {
  text-align: center;
}
.ldk_hero-container p {
  font-size: 0.75rem;
  letter-spacing: 0.075rem;
  line-height: 1.5;
  margin-top: 1.5rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
@media (min-width: 769px) {
  .ldk_hero-container {
    text-align: left;
    width: 64%;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: 0;
  }
  .ldk_hero-container p {
    max-width: 35.5rem;
    margin-top: 2.5rem;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
  }
}
.ldk_section-heading {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
}
@media (min-width: 769px) {
  .ldk_section-heading {
    font-size: 2rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
  }
}
.ldk_introduction {
  padding-top: 2rem;
}
.ldk_introduction-heading {
  line-height: 1.6;
  text-align: center;
}
.ldk_brackets-left, .ldk_brackets-right {
  display: inline-block;
  width: 1rem;
  padding-top: 1.5rem;
  position: relative;
}
@media (min-width: 769px) {
  .ldk_brackets-left, .ldk_brackets-right {
    padding-top: 2rem;
  }
}
.ldk_brackets-left:before, .ldk_brackets-left:after, .ldk_brackets-right:before, .ldk_brackets-right:after {
  content: "";
  background: #000;
}
.ldk_brackets-left:before {
  width: 100%;
  height: 0.0625rem;
  position: absolute;
  top: 0;
  left: 0;
}
.ldk_brackets-left:after {
  width: 0.0625rem;
  height: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}
.ldk_brackets-right {
  margin-bottom: -0.5rem;
}
.ldk_brackets-right:before {
  width: 100%;
  height: 0.0625rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
.ldk_brackets-right:after {
  width: 0.0625rem;
  height: 1rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
.ldk_introduction-content {
  text-align: center;
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  max-width: 16.5rem;
}
@media (min-width: 769px) {
  .ldk_introduction-content {
    max-width: 100%;
    margin-top: 5rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_about {
  margin-top: 5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: 0;
  padding-right: 1.25rem;
  padding-bottom: 0;
  padding-left: 1.25rem;
}
@media (min-width: 769px) {
  .ldk_about {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    margin-top: 10rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_about-image {
  background: url("../images/special/ldk/about.jpg") no-repeat 50%/cover;
  padding-top: 61.8%;
}
@media (min-width: 769px) {
  .ldk_about-image {
    padding-top: 0;
  }
}
.ldk_about-text {
  background-color: #1d252d;
  color: #fff;
  padding-top: 2.5rem;
  padding-right: 1rem;
  padding-bottom: 2.5rem;
  padding-left: 1rem;
}
@media (min-width: 769px) {
  .ldk_about-text {
    padding: 8%;
  }
}
.ldk_about-heading {
  text-align: center;
}
@media (min-width: 769px) {
  .ldk_about-heading {
    text-align: left;
  }
}
.ldk_about-content {
  margin-top: 1.25rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .ldk_about-content {
    max-width: 30rem;
    margin-top: 1.25rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: 0;
  }
}
.ldk_publish-heading {
  text-align: center;
}
.ldk_publish-content {
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .ldk_publish-content {
    max-width: 45rem;
    margin-top: 5rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_publish-image {
  margin-top: 2.5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .ldk_publish-image {
    max-width: 45rem;
    margin-top: 6rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_features {
  margin-top: 5rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .ldk_features {
    margin-top: 6rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_features-container {
  position: relative;
}
.ldk_features-wrapper {
  overflow: hidden;
  position: relative;
  backface-visibility: hidden;
  padding: 5rem 1.25rem 5rem;
  z-index: 1;
}
@media (min-width: 769px) {
  .ldk_features-wrapper {
    padding: 10rem 1.5rem;
  }
}
.ldk_features-wrapper.wrapper_reason {
  padding-bottom: 64%;
}
@media (min-width: 769px) {
  .ldk_features-wrapper.wrapper_reason {
    padding-bottom: 10rem;
  }
}
.ldk_features-wrapper.wrapper_effect {
  padding-top: 64%;
}
@media (min-width: 769px) {
  .ldk_features-wrapper.wrapper_effect {
    padding-top: 10rem;
  }
}
.ldk_features-bg {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  backface-visibility: hidden;
  height: 110%;
  width: 100%;
  z-index: -1;
}
.ldk_features-bg.bg_reason {
  background: url("../images/special/ldk/features_bg_01.jpg") no-repeat 50% 100%/cover;
}
.ldk_features-bg.bg_effect {
  background: url("../images/special/ldk/features_bg_02.jpg") no-repeat 50% 100%/cover;
}
.ldk_features-text.text_white {
  color: #fff;
  text-align: center;
}
.ldk_features-content.content_reason {
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
}
@media (min-width: 769px) {
  .ldk_features-content.content_reason {
    max-width: 30rem;
  }
}
@media (min-width: 769px) {
  .ldk_features-content.content_effect {
    max-width: 40%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: auto;
  }
}
.ldk_features-product.product_effect-01 {
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
  max-width: 36rem;
  min-width: 23rem;
}
@media (min-width: 769px) {
  .ldk_features-product.product_effect-01 {
    position: absolute;
    top: auto;
    bottom: 4%;
    left: -8%;
    transform: translateX(0);
    width: 50%;
    max-width: 48rem;
    min-width: 36rem;
  }
}
@media (min-width: 1020px) {
  .ldk_features-product.product_effect-01 {
    position: absolute;
    top: auto;
    bottom: 4%;
    left: 8%;
  }
}
.ldk_features-product.product_effect-02 {
  position: absolute;
  top: 12%;
  left: 4%;
  width: 40%;
  z-index: 1;
  max-width: 16rem;
  min-width: 9rem;
}
@media (min-width: 769px) {
  .ldk_features-product.product_effect-02 {
    position: absolute;
    top: auto;
    bottom: 8%;
    left: 0;
    width: 18%;
    max-width: 15rem;
    min-width: 12rem;
  }
}
@media (min-width: 1020px) {
  .ldk_features-product.product_effect-02 {
    position: absolute;
    top: auto;
    bottom: 8%;
    left: 16%;
  }
}

.preview-nav {
  z-index: 10;
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.8;
  height: 130px;
  border-color: #fff;
  border-radius: 0;
  border: 1px solid transparent;
}
.preview-nav .pull-right {
  float: right !important;
}
.preview-nav .btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 10px 18px;
  font-size: 15px;
  line-height: 1.428571429;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.preview-nav .btn-sm, .preview-nav .btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 0;
}
.preview-nav .btn-default {
  color: #fff;
  background-color: #222222;
  border-color: #222222;
}
.preview-nav .btn-primary {
  color: #fff;
  background-color: #2780E3;
  border-color: #2780E3;
}
@media (min-width: 992px) {
  .preview-nav {
    height: 50px;
  }
  .preview-nav .col-md-4 {
    width: 33.3333333333%;
  }
}

.ecWrap {
  margin: 25px auto;
}

.alert {
  margin: 20px 0 10px;
  font-size: 13px;
  letter-spacing: 0.05rem;
  padding: 11px 15px;
}

.attention {
  color: #ef3340;
  font-size: 12px;
}

.w1000 {
  max-width: 64rem;
}

.w720 {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.spNon {
  display: none;
}

.pcOnly {
  display: none;
}

.tabOnly {
  display: none;
}

.page02 {
  padding-top: 2rem;
}

.page03 {
  padding-top: 0;
}

@media (min-width: 769px) {
  .page02 {
    padding-top: 5rem;
  }
  .page03 {
    padding-top: 2rem;
  }
  .spNon {
    display: block;
  }
  .spOnly {
    display: none;
  }
  .tabOnly {
    display: block;
  }
  .tabNon {
    display: none !important;
  }
}
@media (min-width: 928px) {
  .pcNon {
    display: none !important;
  }
  .pcOnly {
    display: block;
  }
  .tabOnly {
    display: none;
  }
}
.form-horizontal .form-group {
  margin: 0 auto;
}

.form-horizontal .form-group.doui {
  margin-top: 30px;
  text-align: center;
}

.form-horizontal .form-group.doui label {
  font-weight: normal;
  cursor: pointer;
}

.form-horizontal .col-md-2 {
  padding: 0;
  padding-top: 7px !important;
  font-size: 14px;
  font-weight: 300;
  float: none;
  text-align: left;
  margin-top: 1.4em;
  margin-bottom: 0.6em;
  width: 100%;
}

.form-horizontal .col-md-10,
.form-horizontal .col-sm-10,
.form-horizontal .col-sm-9 {
  width: 100%;
  float: none;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}

.form-horizontal .col-md-4 {
  padding-left: 0;
  padding-right: 0;
  width: 33%;
  float: left;
}

.form-horizontal .col-md-1 {
  margin-top: 1.1em;
  width: 3em;
  padding-left: 10px;
  float: left;
}

.confirm .col-md-10 {
  font-size: 15px;
  font-weight: bold;
  padding: 0.1em 0 0.5em 1.2em;
}

.forget {
  text-align: center;
  margin: 2em 0;
}
.forget a {
  color: inherit;
}

.form-control {
  box-shadow: none;
}

select.form-control,
input.form-control,
textarea.form-control {
  font-family: sans-serif;
  display: block;
  font-size: 14px;
  border: 0.0625rem solid #bfbfbf;
  width: 100%;
  margin-top: 0;
  padding-top: 0.6em;
  padding-right: 0.6em;
  padding-bottom: 0.6em;
  padding-left: 0.6em;
  box-shadow: none;
  color: #000;
  height: auto;
}

select.form-control:focus,
input.form-control:focus,
textarea.form-control:focus {
  outline: 0;
  border-color: #000;
  box-shadow: none;
}

.form-inline select.form-control,
.form-inline input.form-control,
.form-inline textarea.form-control {
  width: auto;
  display: inline-block;
}
@media (max-width: 768px) {
  .form-inline input.form-control {
    max-width: 48.6%;
  }
}

.radio-inline, .checkbox-inline {
  padding-left: 0;
}

.radio input[type=radio], .radio-inline input[type=radio], .checkbox input[type=checkbox], .checkbox-inline input[type=checkbox] {
  position: relative;
  margin: 0 4px 0 0;
}

input[type=checkbox] {
  width: auto;
  display: inline-block;
  width: 24px;
  height: 24px;
  background: #f2f2f2;
  border: solid #bfbfbf 1px;
  margin-right: 8px;
  vertical-align: -5px;
  position: relative;
}

input[type=checkbox] + span {
  font-size: 16px;
}

input[type=radio] {
  width: 24px;
  height: 24px;
  margin-right: 3px;
  vertical-align: -6px;
}

input[type=submit],
button[type=submit],
input[type=button] {
  display: table;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #000;
  border: 0.0625rem solid #000 !important;
  width: 80%;
  padding: 1em 2em;
  max-width: 400px;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  transition: all 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
  background-color: #fff;
}

@media (max-width: 768px) {
  #customers-password-new-view input[type=submit] {
    padding: 1em 1.2em;
    width: 90%;
  }
}

@media (min-width: 769px) {
  input[type=submit]:hover,
  button[type=submit]:hover,
  input[type=button]:hover {
    background-color: #000;
  }
  .itemChangeBtnList a.btnDel:hover {
    opacity: 0.8;
  }
}
.form-horizontal input[type=submit],
.form-horizontal button[type=submit],
.form-horizontal input[type=button] {
  margin-top: 2.4rem;
}

.btn-danger {
  border: none;
  background-color: #000;
  color: #fff;
}

.btn-danger:focus,
.btn-danger:active,
.btn-danger:active:hover,
.btn-danger:hover {
  color: #fff;
  background-color: #000;
  border-color: #000;
  opacity: 0.8;
}

@media (min-width: 769px) {
  input[type=submit]:hover,
  button[type=submit]:hover,
  input[type=button]:hover {
    background-color: #000;
    color: #fff;
  }
}
.thanksBox {
  text-align: center;
}
@media (max-width: 768px) {
  .thanksBox {
    text-align: left;
  }
}

.thanksTxt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.7;
  margin: 2.6em 0 1.6em;
  text-align: center;
}

.btn-default {
  border: none;
}

.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
  outline: none;
}

.btn-primary {
  color: #000;
  background-color: #fff;
  border-color: #000;
  font-size: 13px;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .open > .btn-primary.dropdown-toggle:hover, .open > .btn-primary.dropdown-toggle:focus, .open > .btn-primary.dropdown-toggle.focus, .btn-primary:hover {
  background: #000;
  color: #fff;
  border-color: #000;
}

.btnCenter {
  display: block;
  margin: 2.4rem auto 0;
  max-width: 50%;
  font-size: 14px;
  font-weight: bold;
}

.btnWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 60px 0 0;
}
.btnWrap .btn-default {
  background: #777;
  font-size: 14px;
  border: none;
  text-align: center;
  padding: 1em 1.6em;
}
@media (max-width: 768px) {
  .btnWrap {
    margin: 13vw 0 0;
    align-items: center;
    flex-direction: column;
    flex-direction: column-reverse;
  }
}

@media (min-width: 769px) {
  .btnWrap .btn-default:hover {
    background: #555 !important;
  }
}
.btnWrap input[type=submit],
.btnWrap button[type=submit],
.btnWrap input[type=button] {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: auto;
  margin-top: 0;
}
.btnWrap .btn-danger {
  font-size: 14px;
}
.btnWrap a {
  margin-right: 20px;
  display: block;
}
.btnWrap .pull-right a {
  font-size: 14px;
  padding: 1em 1.6em;
  margin-right: 0;
}
@media (max-width: 768px) {
  .btnWrap a {
    margin: 20px auto 0;
    width: 66%;
    max-width: 300px;
  }
  .btnWrap a.btn-primary {
    margin-top: 0;
  }
  .btnWrap .pull-right a {
    margin-top: 0;
    width: 70%;
  }
}
@media (min-width: 769px) {
  .btnWrap input[type=submit].btn,
  .btnWrap button[type=submit].btn,
  .btnWrap input[type=button].btn {
    padding: 1em 1.6em;
  }
}

@media (max-width: 768px) {
  .formError {
    transform: translate(-55%, 0);
  }
}

.formError .formErrorContent {
  background: #ef3340;
  border: none;
  box-shadow: none;
  width: 160px;
  padding: 5px 5px 6px 8px;
  border-radius: 0;
  text-align: left;
}

.formError .formErrorArrow div {
  border: none;
  box-shadow: none;
  height: 1px;
  background: #ef3340;
}

.formError .formErrorArrow .line3 {
  border-color: #ef3340;
  border: none;
}

.formError .formErrorArrow .line2,
.formError .formErrorArrow .line1 {
  width: 0;
}

.pageNateWrap {
  text-align: center;
  margin-top: 13vw;
}
.pageNateWrap .pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pageNateWrap .pagination > li > a, .pageNateWrap .pagination > li > span {
  color: inherit;
  border-color: #000;
  padding: 0;
  width: 3.4em;
  height: 3.4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pageNateWrap .pagination > .active > a {
  font-weight: bold;
}
.pageNateWrap .pagination > .active > a, .pageNateWrap .pagination > .active > a:hover, .pageNateWrap .pagination > .active > a:focus, .pageNateWrap .pagination > .active > span, .pageNateWrap .pagination > .active > span:hover, .pageNateWrap .pagination > .active > span:focus {
  color: inherit;
  background-color: #f5f5f5;
  border-color: #000;
}
@media (min-width: 769px) {
  .pageNateWrap {
    margin-top: 80px;
  }
}

.loginHoji {
  margin-top: 2em;
  margin-bottom: -0.9em;
  text-align: center;
}

blockquote {
  padding: 0.3em 12px;
  margin: 3em 0 20px;
  font-size: 1.125rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
  font-weight: 400;
  border-left: 5px solid #000;
}
blockquote:first-of-type {
  margin-top: 0;
}
@media (min-width: 769px) {
  blockquote {
    padding: 0.3em 20px;
    margin: 3em 0 20px;
    font-size: 1.25rem;
    letter-spacing: 0.05rem;
    line-height: 1.25;
  }
  blockquote:first-of-type {
    margin-top: 0;
  }
}

blockquote.mb0 {
  margin-bottom: 0;
}

/*Cart*/
.table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td {
  padding: 10px 5px;
}

@media (min-width: 769px) {
  .table th {
    font-weight: normal;
  }
}
.cartOIP {
  text-align: right;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  line-height: 1.25;
}

.cartNumChange {
  -webkit-flex: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 1em 0 0.8em;
}

.cartNumChange select {
  flex: 1;
  width: 100%;
  height: 33px;
  line-height: 33px;
  margin-left: 4px;
  margin-bottom: 0;
  background: #fff;
}

.itemChangeBtnList {
  -webkit-flex: flex;
  display: flex;
  justify-content: flex-end;
  margin: 12px 0 2px;
}

.itemChangeBtnList li {
  height: 2.3em;
}

.itemChangeBtnList input {
  border: #222 1px solid;
  color: #000;
  height: 100%;
  width: 8em;
  min-width: 0;
  padding: 0;
  -webkit-flex: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
}

.itemChangeBtnList a.btnDel {
  background: #777;
  border: #777 1px solid;
  color: #fff;
  height: 100%;
  width: 5.4em;
  min-width: 0;
  margin-left: 5px;
  padding: 0;
  -webkit-flex: flex;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 769px) {
  .cartNumChange {
    margin: 0;
  }
  .cartNumChange select {
    flex: none;
    width: auto;
    height: 33px;
    line-height: 33px;
    margin-left: 0;
  }
  .itemChangeBtnList {
    justify-content: flex-start;
    margin-top: 8px;
  }
  .itemChangeBtnList input {
    font-weight: normal;
    border: #333 1px solid;
  }
}
#cart-show-view .series {
  padding: 5vw 0 0;
}
@media (min-width: 769px) {
  #cart-show-view .series {
    padding: 6rem 0 0;
  }
  #cart-show-view .subfooter_inner.grid {
    width: 100%;
    padding-bottom: 0;
  }
}

.kanrenAllWrap {
  margin: 0 !important;
  padding: 0 1.5rem !important;
  text-align: left;
}

.kanrenAllWrap .mb10 {
  margin-bottom: 10px;
}

.kanrenAllWrap .swiper-button-prev, .kanrenAllWrap .swiper-container-rtl .swiper-button-next {
  left: 0;
  top: 0;
  height: 110%;
  background: #fff;
  outline: none;
}

.kanrenAllWrap .swiper-button-next, .kanrenAllWrap .swiper-container-rtl .swiper-button-prev {
  right: 0;
  left: auto;
  top: 0;
  height: 110%;
  background: #fff;
  outline: none;
}

.kanrenAllWrap .swiper-button-next:after, .kanrenAllWrap .swiper-button-prev:after {
  color: #000;
  font-size: 32px;
}

@media (min-width: 769px) {
  .kanrenAllWrap {
    margin: 0 -38px !important;
    padding: 0 38px !important;
  }
}
#new-view p.caution_ec {
  margin: 1em 0 0.5em;
}

legend {
  margin-top: 2.6em;
  margin-bottom: 13px;
  font-size: 18px;
  font-weight: 400;
  color: inherit;
  border-bottom: none;
}

.thanksPage legend {
  font-size: 24px;
  margin-bottom: 1.2em;
}

.thanksPage p {
  line-height: 1.9;
}

.table.table-bordered > thead > tr > th, .table.table-bordered > thead > tr > td, .table.table-bordered > tbody > tr > th, .table.table-bordered > tbody > tr > td, .table.table-bordered > tfoot > tr > th, .table.table-bordered > tfoot > tr > td {
  padding: 8px;
}

.table-bordered th {
  background: rgba(228, 228, 228, 0.4);
  font-weight: 400;
}

.table-bordered th .control-label {
  font-weight: normal;
  padding: 0;
}

.table-bordered td .caution {
  margin-top: 10px;
}

.table-bordered td img {
  width: auto;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: transparent;
}

@media (max-width: 768px) {
  legend {
    font-size: 17px;
    margin-top: 2.1em;
    margin-bottom: 12px;
  }
  .thanksPage legend {
    font-size: 22px;
    margin-bottom: 1.2em;
  }
  .thanksPage p {
    line-height: 1.7;
  }
  .form-horizontal .table-bordered:not(.noForizon) {
    border-bottom: none;
    display: block;
  }
  .form-horizontal .table-bordered:not(.noForizon) tbody, .form-horizontal .table-bordered:not(.noForizon) tr, .form-horizontal .table-bordered:not(.noForizon) th, .form-horizontal .table-bordered:not(.noForizon) td {
    display: block;
  }
  .form-horizontal .table-bordered:not(.noForizon) > tbody > tr > th {
    width: 100%;
    border: none;
    padding: 4px 8px;
  }
  .form-horizontal .table-bordered:not(.noForizon) > tbody > tr > td {
    width: 100%;
    border-left: none;
    border-right: none;
    padding: 12px 8px;
  }
}
.myPage {
  padding: 10vw 0 0;
}
.myPage h1.pageTtl {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 1em;
}
.myPage .alert-info {
  border: #222 1px dotted;
  background: none;
  margin-bottom: 2em;
}
.myPage .nav-tabs {
  -webkit-flex: flex;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
}
.myPage .nav-tabs > li {
  min-width: 23%;
  text-align: center;
  letter-spacing: 1px;
}
.myPage .nav > li > a {
  padding: 10px 6px;
}
.myPage .nav-tabs > li:last-child > a {
  margin-right: 0;
}
.myPage #subs-order-edit-view,
.myPage #order-items-edit-view {
  margin: 0 12px;
}
.myPage #subs-order-edit-view blockquote,
.myPage #order-items-edit-view blockquote {
  margin: 2em 0 0;
}
.myPage #subs-order-edit-view .btnWrap,
.myPage #order-items-edit-view .btnWrap {
  margin: 7vw 0 0;
}
.myPage #subs-order-edit-view select,
.myPage #order-items-edit-view select {
  min-width: 11em;
}
.myPage #subs-order-edit-view .deletBtn,
.myPage #order-items-edit-view .deletBtn {
  display: block;
  text-align: right;
  margin: 0.8em 0.2em 0 0;
}
.myPage #order-items-edit-view blockquote {
  margin: 2em 0 20px;
}
@media (min-width: 769px) {
  .myPage {
    padding: 70px 0 0;
  }
  .myPage .grid {
    max-width: 1000px;
  }
  .myPage .nav-tabs {
    font-size: 14px;
    display: block;
  }
  .myPage .nav-tabs > li {
    min-width: 14%;
  }
  .myPage .nav > li > a {
    padding: 10px 15px;
  }
  .myPage #subs-order-edit-view,
  .myPage #order-items-edit-view {
    margin: 0 25px;
  }
  .myPage #subs-order-edit-view .btnWrap,
  .myPage #order-items-edit-view .btnWrap {
    margin: 40px 0 20px;
  }
  .myPage #subs-order-edit-view .deletBtn,
  .myPage #order-items-edit-view .deletBtn {
    display: inline-block;
    text-align: left;
    margin: 0 0 0 1.5em;
  }
  .myPage#subItemPage table th {
    width: 11em;
  }
}

.myNameYokoso {
  text-align: center;
  margin: 3em 0 0;
  font-size: 14px;
}
.myNameYokoso strong {
  font-size: 16px;
  font-weight: 400;
}

.myRank {
  text-align: center;
  margin: 1.5em 0 0;
  font-size: 15px;
  line-height: 1.8;
}
.myRank strong {
  font-size: 17px;
  font-weight: bold;
}

.myMenu#myTop {
  margin-top: 40px;
  font-weight: 400;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.myMenu#myTop li {
  flex: 0 1 100%;
  border: #222 1px solid;
  margin-bottom: 12px;
}
.myMenu#myTop li:last-child {
  flex: 0 1 80%;
  margin: 30px auto 0;
}
.myMenu#myTop li a {
  color: inherit;
  text-decoration: none;
  padding: 0.4em 1em;
  min-height: 3.2em;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: #fff 1px solid;
  transition: opacity 100ms cubic-bezier(0.8, 0.4, 0.16, 1);
}
@media (min-width: 769px) {
  .myMenu#myTop {
    margin-top: 70px;
  }
  .myMenu#myTop li {
    flex: 0 1 32.4%;
    border: #222 1px solid;
    margin: 0 1.4% 15px 0;
  }
  .myMenu#myTop li a:hover {
    border-bottom: #222 1px solid;
  }
  .myMenu#myTop li:nth-child(3n) {
    margin-right: 0;
  }
  .myMenu#myTop li:last-child {
    flex: 0 1 40%;
    margin: 50px auto 0;
  }
}

td .odhistoryItems {
  margin-top: 0.4em;
}

td .odhistoryItems:first-child {
  margin-top: 0;
}

@media (max-width: 768px) {
  td .odhistoryItems {
    line-height: 1.7;
    margin-top: 0.9em;
  }
  td .odhistoryItems:not(:first-child) {
    border-top: 1px solid #ddd;
    padding-top: 0.7em;
  }
  td .odhistoryItems span {
    display: block;
    text-align: right;
  }
}
#AmazonPayOneClickOrderArea .amazon_pay_box {
  margin: 25px 0 20px;
  padding: 20px 15px;
  border: solid #f2f2f2 4px;
}
#AmazonPayOneClickOrderArea .amazon_pay_title {
  margin-bottom: 20px;
  font-size: 15px;
  font-weight: normal;
  color: #d42e2e;
}
#AmazonPayOneClickOrderArea .amazon_pay_subtitle {
  font-size: 14px;
}
#AmazonPayOneClickOrderArea .amazon_pay_button_all {
  margin: 20px auto 20px;
}
#AmazonPayOneClickOrderArea .amazon_pay_message {
  margin-top: 15px;
  font-size: 12px;
  line-height: 1.6;
}

.amazon_pay_not_use_message {
  font-size: 14px;
  line-height: 1.8;
  height: auto;
  margin-bottom: 50px;
  white-space: normal;
  overflow: visible;
}

/*会員ランク制度 説明ボックス　共通*/
.mRankBox {
  margin: 14vw 0 0;
  text-align: center;
  letter-spacing: 0.08em;
  background: #fff;
}
.mRankBox h2.ttl {
  font-size: 1.3125rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 2.5em;
}
.mRankBox h2.ttl p {
  font-size: 0.875rem;
  font-weight: 400;
}
.mRankBox .txt {
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 1.5em 0 0;
  font-weight: 400;
}
.mRankBox .keshi {
  text-decoration: line-through;
}
.mRankBox .img {
  text-align: center;
  max-width: 375px;
  margin-left: auto;
  margin-right: auto;
}
.mRankBox .img img {
  max-width: 100%;
  backface-visibility: hidden;
  display: inline-block;
}
.mRankBox .borderBox {
  border: #000 1px solid;
  padding: 0 6% 5%;
  text-align: left;
  margin: 13vw 0 8vw;
}
.mRankBox .borderBox h3.ttl {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  margin-top: -1.4em;
  margin-bottom: 1.5em;
  text-align: center;
}
.mRankBox .borderBox h3.ttl p {
  background: #fff;
  display: inline-block;
  padding: 0 0.8em;
}
.mRankBox .borderBox .dotList li {
  font-size: 0.875rem;
  line-height: 1.4;
  padding-left: 1em;
  margin-top: 0.4em;
  position: relative;
}
.mRankBox .borderBox .dotList li:before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #333;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  left: 2px;
  top: 0.5em;
}
.mRankBox .fz12 {
  font-size: 12px;
}
.mRankBox .fz16 {
  font-size: 16px;
}
.mRankBox table {
  border-spacing: 0;
  border-collapse: separate;
  margin: 1em 0 1.5em;
  width: 100%;
  background: #fff;
  font-weight: 400;
}
.mRankBox table th {
  background: rgba(51, 51, 51, 0.12);
  border-bottom: #ccc 1px solid;
  border-right: #ccc 1px solid;
  font-weight: normal;
  text-align: center;
  font-size: 0.75rem;
  padding: 0.3em 0.2em;
  line-height: 1.4;
}
.mRankBox table td {
  border-bottom: #ccc 1px solid;
  border-right: #ccc 1px solid;
  padding: 0.5em 0.3em;
}
.mRankBox table strong {
  font-weight: bold;
}
.mRankBox table .fz12 {
  line-height: 1.3;
  margin-bottom: 0.5em;
}
.mRankBox .line0 {
  border-right: none !important;
}
.mRankBox .sarani {
  margin: 0.4em;
  text-align: center;
}
.mRankBox .tax {
  font-size: 80%;
}
.mRankBox .komeDL {
  text-align: left;
  margin-top: 0.8em;
  padding: 1.2em 0.5em 1em;
  background: rgba(51, 51, 51, 0.05);
}
.mRankBox .komeDL dt {
  font-size: 0.875rem;
  font-weight: 300;
  margin-bottom: 0.7em;
  text-align: center;
}
.mRankBox .komeDL dd {
  font-size: 0.8125rem;
  margin-top: 0.4em;
  line-height: 1.5;
  padding-left: 1em;
  position: relative;
}
.mRankBox .komeDL dd:before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #333;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  left: 2px;
  top: 0.5em;
}
@media (min-width: 769px) {
  .mRankBox {
    margin: 90px 0 0;
  }
  .mRankBox .pcNon {
    display: none;
  }
  .mRankBox h2.ttl {
    font-size: 1.375rem;
  }
  .mRankBox h2.ttl p {
    font-size: 1.1875rem;
    display: inline-block;
    margin-right: 0.4em;
  }
  .mRankBox .img {
    max-width: 840px;
  }
  .mRankBox {
    /*.boxWrap { display: -webkit-flex; display: flex;}
    .boxWrap .box { flex: 0 0 48%;}
    .boxWrap .box:last-child { margin-left: 4%;}*/
  }
  .mRankBox .txt {
    font-size: 1.0625rem;
  }
  .mRankBox .borderBox {
    padding: 0 3em 2em;
    margin: 80px 0 40px;
  }
  .mRankBox .borderBox h3.ttl {
    font-size: 1.125rem;
    margin-top: -0.8em;
  }
  .mRankBox .borderBox h3.ttl br {
    display: none;
  }
  .mRankBox .borderBox .dotList li {
    font-size: 0.9375rem;
  }
}

.myPage .mRankBox {
  margin: 0 0 0;
}
.myPage .mRankBox .pull-right {
  margin: 40px auto 0;
  float: none !important;
  text-align: center;
  display: inline-block;
}

.mRankBoxBtn {
  margin-top: 10px;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  cursor: pointer;
}
.mRankBoxBtn .accBtn {
  background: #222;
  color: #fff;
  font-weight: bold;
  padding: 6px 6px 0;
  font-size: 1.0625rem;
  line-height: 1.5;
  text-align: center;
}
.mRankBoxBtn .accBtn span {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
}
.mRankBoxBtn .accBtn i {
  position: relative;
  width: 1em;
  height: 1em;
  letter-spacing: 0;
  line-height: 0;
}
.mRankBoxBtn .accBtn i:before {
  content: "ꀁ";
  font-family: "two_icon" !important;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  display: inline-block;
  position: relative;
  left: auto;
  right: auto;
  transform: rotate(-90deg);
  background: none;
  width: 1em;
  height: auto;
}
.mRankBoxBtn.open .accBtn i:before {
  transform: rotate(-90deg) scale(-1, 1);
}
.mRankBoxBtn.open .btn {
  display: none;
}

.mRankBox.acBox {
  padding: 8% 3% 4%;
  margin: 0 0 7%;
  border: #222 1px dotted;
  border-top: none;
}
.mRankBox.acBox .borderBox h3.ttl p {
  padding: 0 0.5em;
}
@media (min-width: 769px) {
  .mRankBox.acBox {
    padding: 6% 3% 4%;
    margin: 0 0 6%;
  }
  .mRankBox.acBox h2.ttl {
    font-size: 1.1875rem;
    margin-bottom: 1.8em;
  }
  .mRankBox.acBox h2.ttl p {
    font-size: 1rem;
  }
  .mRankBox.acBox .boxWrap {
    display: block;
  }
  .mRankBox.acBox .boxWrap .box:last-child {
    margin-left: 0;
  }
  .mRankBox.acBox .txt {
    margin: 1.6em 0 0;
  }
  .mRankBox.acBox .borderBox {
    padding: 0 2em 1.4em;
    margin: 50px 0 30px;
  }
  .mRankBox.acBox .borderBox h3.ttl {
    font-size: 1rem;
    margin-top: -1.2em;
    line-height: 1.5;
    margin-bottom: 1.3em;
  }
  .mRankBox.acBox .borderBox h3.ttl br {
    display: inline;
  }
  .mRankBox.acBox .borderBox .dotList li {
    font-size: 0.9375rem;
  }
}

/*定期商品の追加*/
@media (max-width: 768px) {
  #subItemPage .itemTD {
    padding-bottom: 2em;
    position: relative;
  }
  #subItemPage .itemTD .editLink {
    position: absolute;
    right: 5px;
    bottom: 4px;
  }
  #subItemPage .itemTD .deletBtn {
    margin-top: 0;
  }
}

.myPage .addTeiki {
  margin: 12vw 0 8vw;
  font-family: "Lato", "Noto Sans JP", "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.myPage .addTeiki .addteikiSlide {
  margin: 0 -4vw !important;
  padding: 0 1.7rem !important;
  text-align: left;
}
.myPage .addTeiki .addteikiSlide .swiper-button-prev, .myPage .addTeiki .addteikiSlide .swiper-container-rtl .swiper-button-next {
  left: -0.3em;
  top: 0;
  height: 110%;
  background: #fff;
  outline: none;
}
.myPage .addTeiki .addteikiSlide .swiper-button-next, .myPage .addTeiki .addteikiSlide .swiper-container-rtl .swiper-button-prev {
  right: -0.3em;
  left: auto;
  top: 0;
  height: 110%;
  background: #fff;
  outline: none;
}
.myPage .addTeiki .addteikiSlide .swiper-button-next:after, .myPage .addTeiki .addteikiSlide .swiper-button-prev:after {
  color: #000;
  font-size: 32px;
}
.myPage .addTeiki .sh100 {
  width: 100%;
  padding-top: 100%;
  position: relative;
}
.myPage .addTeiki .sh100 img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.myPage .addTeiki .name {
  font-size: 13px;
}
.myPage .addTeiki .addBtn {
  background: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.2em;
  font-size: 13px;
}
@media (min-width: 769px) {
  .myPage .addTeiki {
    margin: 60px 0 60px;
  }
  .myPage .addTeiki blockquote {
    margin-bottom: 14px;
  }
  .myPage .addTeiki .addteikiSlide {
    margin: 0 -40px !important;
    padding: 0 40px !important;
  }
  .myPage .addTeiki .name {
    font-size: 14px;
  }
  .myPage .addTeiki .addBtn {
    font-size: 14px;
    height: 2.5em;
    margin-top: 18px;
  }
  .myPage .addTeiki a {
    display: block;
  }
  .myPage .addTeiki a:hover {
    opacity: 0.8;
  }
}

#addTeikiDetail .product_details {
  padding-top: 0;
}
#addTeikiDetail .product_details-heading {
  margin-bottom: 1.3em;
}
#addTeikiDetail .price {
  text-align: center;
  font-size: 14px;
  margin-bottom: 1.9em;
}
#addTeikiDetail .price strong {
  font-size: 18px;
}
#addTeikiDetail .numSelect {
  display: flex;
  align-items: center;
}
#addTeikiDetail .numSelect label {
  margin-right: 1em;
  white-space: nowrap;
}
#addTeikiDetail .numSelect input, #addTeikiDetail .numSelect select {
  flex: 1;
}
#addTeikiDetail .foreverSelect {
  display: none;
}
#addTeikiDetail #btn-add {
  margin-top: 2em;
}
#addTeikiDetail .btnWrap .btn-default {
  color: #fff;
}
@media (min-width: 769px) {
  #addTeikiDetail .product_details-container {
    margin-bottom: 40px;
  }
  #addTeikiDetail .price {
    font-size: 15px;
  }
  #addTeikiDetail .price strong {
    font-size: 20px;
  }
  #addTeikiDetail #btn-add {
    margin-top: 2.6em;
  }
}

.p-gift {
  background-color: #f4f6f5;
}

.p-gift-section {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto 110px;
}
@media (max-width: 768px) {
  .p-gift-section {
    margin: 0 auto 90px;
  }
}

.p-gift__text {
  font-size: 1.125rem;
  text-align: center;
  line-height: 2.22;
  font-weight: 400;
  margin: 100px 0;
}
.p-gift__text > span {
  font-weight: 600;
}
@media (max-width: 768px) {
  .p-gift__text {
    margin: 60px 0;
    font-size: 1rem;
  }
}

.p-gift-section__ttl {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  gap: 10px 0;
}

.p-gift-section__ttl-main {
  font-size: 1.8125rem;
  padding: 0 20px;
  background-color: #f4f6f5;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 768px) {
  .p-gift-section__ttl-main {
    font-size: 1.625rem;
    padding: 0 20px;
  }
}

.p-gift-section__ttl-sub {
  font-size: 0.8125rem;
}
@media (max-width: 768px) {
  .p-gift-section__ttl-sub {
    font-size: 0.75rem;
  }
}

.p-gift-section__ttl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #4d4d4d;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 22px;
  z-index: -1;
}

@media (max-width: 768px) {
  .p-gift-section__ttl::before {
    height: 2px;
  }
}
.p-gift-recomend__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* padding: 0 0 20px; */
  max-width: 1158px;
  width: 96.5%;
  margin: 40px auto 0;
  gap: 15px;
}
@media (max-width: 1200px) {
  .p-gift-recomend__list {
    overflow-x: scroll;
  }
}
@media (max-width: 768px) {
  .p-gift-recomend__list {
    width: 86%;
    padding: 0 0 30px;
  }
}

.p-gift-recomend__item {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  padding: 14px 16px 23px;
}

.p-gift-recomend__item-img {
  margin-bottom: 15px;
}

.p-gift-recomend__item-ttl {
  font-size: 1.0625rem;
  text-align: center;
  margin-bottom: 16px;
  font-weight: 600;
  flex-grow: 1;
}
.p-gift-recomend__item-ttl a {
  color: #383838 !important;
}

.p-gift-recomend__item-sub {
  text-align: center;
  margin-bottom: 16px;
  font-size: 0.9375rem;
  flex-grow: 1;
}

.p-gift-recomend__item-name {
  font-size: 0.75rem;
  margin-bottom: 16px;
  font-weight: 500;
  flex-grow: 1;
  text-align: center;
}
@media (max-width: 768px) {
  .p-gift-recomend__item-name {
    font-size: 2.7vw;
  }
}

.p-gift-recomend__item-price {
  text-align: center;
  font-size: 1.3125rem;
  font-weight: 500;
  flex-grow: 1;
  margin-bottom: 16px;
}
.p-gift-recomend__item-price > .unit {
  font-size: 0.9375rem;
  font-weight: 400;
}
.p-gift-recomend__item-price > .tax {
  font-size: 0.6875rem;
  font-weight: 400;
}

.p-gift-recomend__item-btn {
  width: 234px;
  border-radius: 50px;
  height: 41px;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background-color: #777777;
  color: #fff;
}

.p-gift-occasions__ttl {
  margin: 0 auto 28px;
  width: 444px;
}
@media (max-width: 768px) {
  .p-gift-occasions__ttl {
    width: 80.5263157895%;
  }
}

.p-gift-occasions__link {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 17.2%;
}
@media (min-width: 1200px) {
  .p-gift-occasions__link {
    padding: 0;
  }
}
@media (max-width: 768px) {
  .p-gift-occasions__link {
    padding: 0 7.6315789474%;
  }
}

.p-gift-occasions__link-item {
  width: 48%;
  background-color: #9c9c9c;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  height: 49px;
  position: relative;
  font-weight: 600;
  font-size: 0.9376rem;
}
@media (min-width: 1200px) {
  .p-gift-occasions__link-item {
    width: 24.5%;
  }
}
@media (max-width: 768px) {
  .p-gift-occasions__link-item {
    padding-bottom: 1%;
  }
}

.p-gift-occasions__link-item::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-left: #fff 2px solid;
  border-bottom: #fff 2px solid;
  transform: rotate(-45deg);
  top: -4px;
  bottom: 0;
  margin: auto;
  right: 8%;
}

@media (max-width: 768px) {
  .p-gift-occasions__link-item::after {
    left: 0;
    right: 0;
    margin: 0 auto;
    top: unset;
    bottom: 10%;
  }
}
@media (min-width: 769px) {
  .p-gift-occasions__link-item:hover::after {
    border-color: rgb(56, 56, 56);
  }
}
.p-gift__white {
  background-color: #fff;
  padding: 40px 0;
}
.p-gift__white .p-gift-section__ttl-main {
  background-color: #fff;
}
@media (max-width: 768px) {
  .p-gift__white {
    background-color: unset;
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 768px) {
  .p-gift__white:before {
    position: absolute;
    content: "";
    width: 91%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: #fff;
    z-index: -1;
  }
}
.p-gift-wrpping__box {
  position: relative;
  padding: 9.1666666667% 43.3333333333% 15.8333333333% 9.1666666667%;
}
@media (max-width: 768px) {
  .p-gift-wrpping__box {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-bottom: 80px;
  }
}

.p-gift-wrpping__box-ttl {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.9166666667;
  font-weight: 600;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .p-gift-wrpping__box-ttl {
    order: 1;
    font-size: 1.125rem;
  }
}

.p-gift-wrpping__box-text {
  text-align: center;
  font-size: 0.875rem;
  line-height: 2;
}
.p-gift-wrpping__box-text a {
  color: rgb(56, 56, 56);
  text-decoration: underline;
}
.p-gift-wrpping__box-text a:hover {
  opacity: 0.8;
}
@media (max-width: 768px) {
  .p-gift-wrpping__box-text {
    order: 1;
    font-size: 0.6875rem;
  }
}

.p-gift-wrpping__box-img {
  position: absolute;
  top: 0;
  right: 9.5%;
  width: 36.5%;
}
@media (max-width: 768px) {
  .p-gift-wrpping__box-img {
    position: initial;
    order: 0;
    width: 66.5789473684%;
    margin: 20px auto 40px;
  }
}

.p-gift-order__img {
  display: flex;
  width: 86.8333333333%;
  max-width: 803px;
  margin: 60px auto 90px;
  gap: 0 17px;
}
@media (max-width: 768px) {
  .p-gift-order__img {
    /* display: block; */
    gap: unset;
    width: 100%;
    margin: 0;
  }
}

@media (max-width: 768px) {
  .p-gift .swiper-container {
    width: 100%;
    padding: 0 10%;
    margin-top: 20px;
  }
  .p-gift .swiper-button-next, .p-gift .swiper-button-prev {
    top: 57%;
    color: #000;
  }
  .p-gift .swiper-button-next {
    right: 20px;
  }
  .p-gift .swiper-button-prev {
    left: 20px;
  }
}
@media (max-width: 768px) {
  .p-gift-order__img-item {
    width: 100%;
  }
}

.p-gift-scene__tab {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 60px auto 0;
  padding: 0 17.2%;
}
@media (min-width: 1200px) {
  .p-gift-scene__tab {
    padding: 0;
  }
}
@media (max-width: 768px) {
  .p-gift-scene__tab {
    padding: 0 7.6315789474%;
  }
}

.p-gift-scene__tab-under {
  display: none;
}
@media (max-width: 768px) {
  .p-gift-scene__tab-under {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px auto 0;
    padding: 0 7.6315789474%;
  }
}

.p-gift-scene__tab-item {
  width: 48%;
  background-color: #9c9c9c;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  height: 49px;
  position: relative;
  font-weight: 600;
  cursor: pointer;
}
@media (min-width: 1200px) {
  .p-gift-scene__tab-item {
    width: 24.5%;
  }
}

.p-gift-scene__tab-item:hover {
  background-color: #292929;
}

.p-gift-scene__tab-item.active {
  background-color: #292929;
}

.tab-button:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

.tab-content {
  display: none;
  position: relative;
}

.tab-content.active {
  display: block;
}

@media (min-width: 1200px) {
  .tab-left {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 207px;
    left: 3%;
    transform: rotate(45deg);
    border-bottom: solid 2px #000000;
    border-left: solid 2px #000000;
    cursor: pointer;
  }
}

@media (min-width: 1200px) {
  .tab-right {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 207px;
    right: 3%;
    transform: rotate(-45deg);
    border-bottom: solid 2px #000000;
    border-right: solid 2px #000000;
    cursor: pointer;
  }
}

.p-gift-scene__list {
  display: grid;
  margin-top: 40px;
  padding: 0 17.2%;
  gap: 20px;
}
@media (min-width: 1200px) {
  .p-gift-scene__list {
    grid-template-columns: repeat(3, 1fr);
    padding: 0 110px;
    gap: 0 20px;
  }
}
@media (max-width: 768px) {
  .p-gift-scene__list {
    padding: 0 7.6315789474%;
    margin-top: 20px;
    gap: 10px 0;
  }
}

.p-gift-scene__item {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  padding: 14px 16px 23px;
}

.p-gift-scene__item-img {
  margin-bottom: 15px;
}

.p-gift-scene__item-ttl {
  font-size: 1.0625rem;
  text-align: center;
  margin-bottom: 16px;
  font-weight: 600;
  flex-grow: 1;
}
.p-gift-scene__item-ttl a {
  color: #383838 !important;
}

.p-gift-scene__item-ttl a {
  color: inherit;
}

.p-gift-scene__item-sub {
  text-align: center;
  margin-bottom: 16px;
  font-size: 0.9375rem;
  flex-grow: 1;
}
.p-gift-scene__item-sub .kome {
  font-size: 0.6875rem;
}

.p-gift-scene__item-name {
  font-size: 0.8125rem;
  margin-bottom: 16px;
  font-weight: 500;
  flex-grow: 1;
}

.p-gift-scene__item-price {
  text-align: center;
  font-size: 1.3125rem;
  font-weight: 500;
  flex-grow: 1;
  margin-bottom: 16px;
}
.p-gift-scene__item-price > .unit {
  font-size: 0.9375rem;
  font-weight: 400;
}
.p-gift-scene__item-price > .tax {
  font-size: 0.6875rem;
  font-weight: 400;
}

.p-gift-scene__item-btn {
  width: 234px;
  border-radius: 50px;
  height: 41px;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background-color: #777777;
  color: #fff;
}

.p-gift-line {
  width: 652px;
  margin: 0 auto;
  padding: 46px 0 164px;
}
.p-gift-line a {
  transition: all 0.3s;
}
.p-gift-line a:hover {
  filter: brightness(120%);
}
@media (max-width: 769px) {
  .p-gift-line {
    padding: 0 0 100px;
    width: 100%;
  }
}

@media (min-width: 769px) {
  .p-gift .swiper-button-next, .p-gift .swiper-button-prev {
    display: none;
  }
  .p-gift .swiper-slide {
    flex-shrink: unset;
    width: auto;
    height: auto;
    position: unset;
    transition-property: none;
  }
}
@media (max-width: 769px) {
  .tab-button:hover {
    color: #fff;
  }
  .tab-button:forcus {
    color: #fff;
  }
}
html {
  scroll-behavior: smooth;
}

.p-gift__ttl {
  position: relative;
}
.p-gift__ttl-inner {
  position: absolute;
  padding: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  z-index: 1;
}
.p-gift__ttl-main {
  font-size: 3rem;
  color: #fff;
}
@media (max-width: 768px) {
  .p-gift__ttl-main {
    font-size: 2rem;
    text-align: center;
  }
}
.p-gift__ttl-sub {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #fff;
  margin: 2% 0 0;
  font-weight: 400;
}
@media (max-width: 768px) {
  .p-gift__ttl-sub {
    font-size: 1rem;
    text-align: center;
    margin: 15% 0 25%;
    line-height: 2.2;
    color: #383838;
  }
}

.p-gift-Scene {
  margin-top: 5%;
}
.p-gift-Scene__block {
  display: grid;
  grid-template-columns: 31% 31% 31%;
  justify-content: space-between;
  margin-top: 5%;
}
@media (max-width: 768px) {
  .p-gift-Scene__block {
    display: block;
    width: 80%;
    margin: 10% auto 0;
  }
}
@media (max-width: 768px) {
  .p-gift-Scene__item {
    margin: 10% auto 0;
  }
}
.p-gift-Scene__item-text {
  text-align: center;
  margin: 2% 0;
  font-size: 1.4rem;
}
@media (max-width: 768px) {
  .p-gift-Scene__item-text {
    margin: 2% 0 5%;
    font-size: 1rem;
  }
}
.p-gift-Scene__comment {
  text-align: center;
  font-size: 1.4rem;
  margin: 5% 0 0;
}
@media (max-width: 768px) {
  .p-gift-Scene__comment {
    font-size: 1rem;
    line-height: 2;
    margin: 20% 0 0;
  }
}
.p-gift-Scene__comment a {
  color: #383838;
  text-decoration: underline;
}
.p-gift-Scene__acc {
  width: 60%;
  margin: 5% auto 0;
}
@media (max-width: 768px) {
  .p-gift-Scene__acc {
    width: 100%;
  }
}
.p-gift-Scene__acc-btn {
  background-color: #383838;
  color: #fff;
  text-align: center;
  padding: 1%;
  width: 60%;
  margin: 0 auto;
  cursor: pointer;
  position: relative;
}
@media (max-width: 768px) {
  .p-gift-Scene__acc-btn {
    font-size: 1rem;
    padding: 5%;
    width: 80%;
  }
}
.p-gift-Scene__acc-btn::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
}
.p-gift-Scene__acc-btn::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
  transform: rotate(90deg);
}
[open] .p-gift-Scene__acc-btn::after {
  transform: rotate(0deg);
}
.p-gift-Scene__acc-content {
  overflow: hidden;
  max-height: 0;
  border: solid 1px;
  margin-top: -17px;
}
@media (max-width: 768px) {
  .p-gift-Scene__acc-content {
    font-size: 1rem;
    padding: 5%;
    width: 90%;
    margin: -25px auto 0;
  }
}
.p-gift-Scene__acc-main {
  padding: 7% 5% 5%;
}
.p-gift-Scene__acc[open] .p-gift-Scene__acc-content {
  max-height: 500px;
}

.p-gift-Service__box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 5%;
  margin-top: 5%;
}
@media (max-width: 768px) {
  .p-gift-Service__box {
    display: block;
    margin-top: 16%;
  }
}
.p-gift-Service__item {
  border: solid 1px #000000;
  position: relative;
  padding: 10%;
  margin-top: 10%;
}
@media (max-width: 768px) {
  .p-gift-Service__item {
    margin: 16% auto 0;
    width: 90%;
  }
}
.p-gift-Service__item-img {
  position: absolute;
  width: 20%;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: -15%;
}
@media (max-width: 768px) {
  .p-gift-Service__item-img {
    top: -2rem;
  }
}
.p-gift-Service__item-ttl {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 768px) {
  .p-gift-Service__item-ttl {
    font-size: 1rem;
  }
}
.p-gift-Service__item-text {
  font-size: 1.4rem;
  margin-top: 5%;
}
@media (max-width: 768px) {
  .p-gift-Service__item-text {
    font-size: 1rem;
  }
}

.p-gift-faq {
  margin-bottom: 0;
  padding-bottom: 5%;
}
@media (max-width: 768px) {
  .p-gift-faq {
    padding-bottom: 20%;
  }
}
.p-gift-faq__ttl {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 5%;
}
@media (max-width: 768px) {
  .p-gift-faq__ttl {
    font-size: 1.2rem;
    margin-top: 15%;
  }
}
.p-gift-faq__text {
  text-align: center;
  width: 80%;
  margin: 1% auto 0;
}
@media (max-width: 768px) {
  .p-gift-faq__text {
    font-size: 0.8rem;
    margin: 5% auto 0;
    line-height: 1.8;
  }
}
.p-gift-faq__text a {
  color: #000;
  text-decoration: underline;
}/*# sourceMappingURL=style2.css.map */