body {
  margin: 0;
  padding: 0;
}

/*==========================================
  0.reset
========================================== */
header div, header span, header object, header iframe, header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre, header abbr, header address, header cite, header code, header del, header dfn, header em, header img, header ins, header kbd, header q, header samp, header small, header strong, header sub, header sup, header var, header b, header i, header dl, header dt, header dd, header ol, header ul, header li, header fieldset, header form, header label, header legend, header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td, header article, header aside, header canvas, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header summary, header time, header mark, header audio, header video, .nav div, .nav span, .nav object, .nav iframe, .nav h1, .nav h2, .nav h3, .nav h4, .nav h5, .nav h6, .nav p, .nav blockquote, .nav pre, .nav abbr, .nav address, .nav cite, .nav code, .nav del, .nav dfn, .nav em, .nav img, .nav ins, .nav kbd, .nav q, .nav samp, .nav small, .nav strong, .nav sub, .nav sup, .nav var, .nav b, .nav i, .nav dl, .nav dt, .nav dd, .nav ol, .nav ul, .nav li, .nav fieldset, .nav form, .nav label, .nav legend, .nav table, .nav caption, .nav tbody, .nav tfoot, .nav thead, .nav tr, .nav th, .nav td, .nav article, .nav aside, .nav canvas, .nav details, .nav figcaption, .nav figure, .nav footer, .nav header, .nav hgroup, .nav menu, .nav nav, .nav section, .nav summary, .nav time, .nav mark, .nav audio, .nav video, main div, main span, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main abbr, main address, main cite, main code, main del, main dfn, main em, main img, main ins, main kbd, main q, main samp, main small, main strong, main sub, main sup, main var, main b, main i, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main canvas, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main summary, main time, main mark, main audio, main video, footer div, footer span, footer object, footer iframe, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer blockquote, footer pre, footer abbr, footer address, footer cite, footer code, footer del, footer dfn, footer em, footer img, footer ins, footer kbd, footer q, footer samp, footer small, footer strong, footer sub, footer sup, footer var, footer b, footer i, footer dl, footer dt, footer dd, footer ol, footer ul, footer li, footer fieldset, footer form, footer label, footer legend, footer table, footer caption, footer tbody, footer tfoot, footer thead, footer tr, footer th, footer td, footer article, footer aside, footer canvas, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer summary, footer time, footer mark, footer audio, footer video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent;
}
header *,
header *::before,
header *::after, .nav *,
.nav *::before,
.nav *::after, main *,
main *::before,
main *::after, footer *,
footer *::before,
footer *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}
header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header main, .nav article, .nav aside, .nav details, .nav figcaption, .nav figure, .nav footer, .nav header, .nav hgroup, .nav menu, .nav nav, .nav section, .nav main, main article, main aside, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main main, footer article, footer aside, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer main {
  display: block;
}
header ul, header li, .nav ul, .nav li, main ul, main li, footer ul, footer li {
  list-style: none;
}
header blockquote, header q, .nav blockquote, .nav q, main blockquote, main q, footer blockquote, footer q {
  quotes: none;
}
header blockquote::before, header blockquote::after, header q::before, header q::after, .nav blockquote::before, .nav blockquote::after, .nav q::before, .nav q::after, main blockquote::before, main blockquote::after, main q::before, main q::after, footer blockquote::before, footer blockquote::after, footer q::before, footer q::after {
  content: "";
  content: none;
}
header a, .nav a, main a, footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
}
header address, .nav address, main address, footer address {
  font-style: normal;
}
header ins, .nav ins, main ins, footer ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
header mark, .nav mark, main mark, footer mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
header del, .nav del, main del, footer del {
  text-decoration: line-through;
}
header table, .nav table, main table, footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
header hr, .nav hr, main hr, footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
header input, header select, .nav input, .nav select, main input, main select, footer input, footer select {
  vertical-align: middle;
}
header button, .nav button, main button, footer button {
  margin: 0;
}
header a,
header a:link,
header a:visited, .nav a,
.nav a:link,
.nav a:visited, main a,
main a:link,
main a:visited, footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
header img, .nav img, main img, footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*==========================================
  1.Common (PC)
========================================== */
header, .nav, main, footer {
  overflow: hidden;
}
header .-tb,
header .-sp, .nav .-tb,
.nav .-sp, main .-tb,
main .-sp, footer .-tb,
footer .-sp {
  display: none !important;
}
header .-pc, .nav .-pc, main .-pc, footer .-pc {
  display: block !important;
}
header .wrap, .nav .wrap, main .wrap, footer .wrap {
  max-width: 1198px;
  margin: auto;
  padding: 0 20px;
  position: relative;
}
header .cont_wrap, .nav .cont_wrap, main .cont_wrap, footer .cont_wrap {
  max-width: 964px;
  margin: auto;
}
header .btn_wrap, .nav .btn_wrap, main .btn_wrap, .footer .btn_wrap {
  text-align: center;
}
header a, .nav a, main a, footer a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
header a:hover, .nav a:hover, main a:hover, footer a:hover {
  opacity: 0.7;
}
header .btn, .nav .btn, main .btn, .footer .btn {
  min-width: 326px;
  height: 64px;
  display: inline-block;
}
header .btn a, .nav .btn a, main .btn a, footer .btn a {
  width: 100%;
  height: 100%;
  border-radius: 32px;
  border: 1px solid #000;
  padding: 0 60px 0 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
header .btn a::before, header .btn a::after, .nav .btn a::before, .nav .btn a::after, main .btn a::before, main .btn a::after, .footer .btn a::before, .footer .btn a::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
header .btn a::before, .nav .btn a::before, main .btn a::before, .footer .btn a::before {
  width: 18px;
  height: 1px;
  background: #000;
}
header .btn a::after, .nav .btn a::after, main .btn a::after, .footer .btn a::after {
  width: 16px;
  height: 16px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
header .btn a span, .nav .btn a span, main .btn a span, .footer .btn a span {
  font-size: 10px;
  display: block;
}
header .btn-brown a, .nav .btn-brown a, main .btn-brown a, footer .btn-brown a {
  background: #BEAD81;
  border: 1px solid #BEAD81;
  color: #fff;
}
header .btn-brown a::before, .nav .btn-brown a::before, main .btn-brown a::before, footer .btn-brown a::before {
  background: #fff;
}
header .btn-brown a::after, .nav .btn-brown a::after, main .btn-brown a::after, footer .btn-brown a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
header h2, .nav h2, main h2, footer h2 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  font-style: italic;
  font-size: 62px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  color: #000;
}
header .heading p, .nav .heading p, main .heading p, footer .heading p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 23px;
  text-align: left;
  color: #000;
}
header .sub_ttl, .nav .sub_ttl, main .sub_ttl, footer .sub_ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  color: #000;
  background: #E4C58B;
}

main {
  padding-top: 63px;
  position: relative;
  z-index: 1;
}
main .wrap-min {
  max-width: 1004px;
  margin: auto;
  padding: 0 20px;
}
main .breadcrumb {
  display: none;
}
main nav .breadcrumb {
	padding: 0.8em 1.3em;
	display: flex;
	flex-wrap: wrap;
	font-size: 85%;
	font-weight: 300;
}
main nav .breadcrumb li::before {
	display: none;
}
main nav .breadcrumb li,
main nav .breadcrumb li a {
	color: #000;
}
main nav .breadcrumb li a::after {
	display: inline-block;
	content: ">";
	margin: 0 0.8em;
}
@media screen and (max-width: 767px) {
	main nav .breadcrumb {
		padding: 0.5em 1.0em;
		font-size: 75%;
	}
}
main .ttl_wrap {
  margin: 104px 0 52px;
}
main .ttl_wrap + * {
  margin-top: 0;
}
main .main_ttl,
main h2.main_ttl {
  /*font-family: "Josefin Sans", sans-serif;*/
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 100;
  font-style: normal;
  font-size: 40px;
	line-height: 1.3;
	letter-spacing: inherit;
}
main .main_ttl span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: left;
  font-style: normal;
  color: #000;
  display: block;
	margin-top: 0.5em;
}
main .news {
  padding: 104px 0;
}
main .news .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
  position: relative;
  z-index: 0;
}
main .news .wrap::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 20px 0 0 20px;
  z-index: -1;
}
main .news .heading {
  padding-left: 8.4628670121%;
}
main .news .heading h2, main .news .heading p {
  color: #fff;
}
main .news_list {
  width: 57.8583765112%;
}
main .news_list li {
  padding: 21px 0 23px;
  border-bottom: 1px solid #555;
}
main .news_list li:last-of-type {
  border: none;
}
main .news_list dt,
main .news_list dd {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 26px;
  text-align: left;
  color: #fff;
}

main .sns {
  padding: 104px 0;
}
main .sns .cont_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 9.3360995851%;
}
main .sns ul li {
  margin: 0 8px;
}

header {
  background: #000;
  width: 100%;
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 100;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  overflow: inherit;
}
header .header_inner {
  padding: 21px 15px 18px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
header .logo,
header .product_logo {
  position: relative;
  z-index: 1;
}

.nav {
  width: 740px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: inherit;
}
.nav .nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}
.nav .nav_item {
  height: 100%;
}
.nav .nav_item:last-of-type .nav_link::before {
  content: none;
}
.nav .nav_item .nav_link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: -0.06em;
  line-height: 10.8px;
  text-align: center;
  color: #fff;
  padding: 6px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
}
.nav .nav_item .nav_link::before {
  content: "";
  width: 1px;
  height: 46.0317460317%;
  background: transparent;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.nav .nav_item .nav_link span {
  margin-right: 10px;
}
.nav .nav_item .mega {
  cursor: pointer;
}
.nav .nav_item .mega:hover + .feature_banner {
  opacity: 1;
  visibility: inherit;
  pointer-events: auto;
}
.nav .feature_banner {
  width: 100vw;
  max-height: calc(100dvh - 60px);
  position: absolute;
  left: 50%;
  top: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #BEAD81;
  padding: 60px 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow: auto;
}
.nav .feature_banner:hover {
  opacity: 1;
  visibility: inherit;
  pointer-events: auto;
}
.nav .feature_banner ul {
  max-width: 1004px;
  padding: 0 20px;
  margin: auto;
  display: flex;
  flex-flow: row wrap;
  gap: 18px;
}
.nav .feature_banner li {
  width: calc((100% - (18px * 3)) / 4);
}
.nav .feature_banner a {
  padding: 0;
}

header.UpMove {
  -webkit-animation: HeaderUpAnime 0.5s forwards;
          animation: HeaderUpAnime 0.5s forwards;
}

header.DownMove {
  -webkit-animation: HeaderDownAnime 0.5s forwards;
          animation: HeaderDownAnime 0.5s forwards;
}
@-webkit-keyframes HeaderUpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@keyframes HeaderUpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@-webkit-keyframes HeaderDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@keyframes HeaderDownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@-webkit-keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
footer {
  background: #000;
  padding: 60px 0;
  text-align: center;
}
footer .copyright_link_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
footer .copyright_link_list a {
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  padding: 0 5px;
  position: relative;
  border-right: solid 1px #fff;
  line-height: 1;
}
footer .copyright_link_list a:last-of-type {
  border: none;
}
footer .copyright {
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  margin-top: 10px;
}

/*==========================================
  1.MV (PC)
========================================== */
#top .mv {
  background: #FBF7F0;
  padding: 104px 0 60px;
}
#top .mv_wrap {
  max-width: 1440px;
  margin: auto;
  position: relative;
}
#top .mv_wrap::before {
  content: "";
  background: url("../img/top/scroll_icon.png") center center/contain no-repeat;
  width: 16.25%;
  min-width: 180px;
  height: 234px;
  position: absolute;
  top: 375px;
  right: -25px;
  z-index: 1;
}
#top .mv h1 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 121px;
  line-height: 1;
  text-align: left;
  color: #E4C58B;
  position: relative;
  z-index: 1;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}
#top .mv h1 span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 300;
}
#top .mv h1.active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
#top .mv h1 .sr-only {
	display: block;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	font-size: 0;
}
#top .mv .slide {
  width: 100%;
  padding-top: 37.0466321%;
  position: relative;
  bottom: 45px;
  z-index: 0;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transform: translateY(100px) scale(0.8);
          transform: translateY(100px) scale(0.8);
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}
#top .mv .slide.active {
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
  opacity: 1;
}
#top .mv .slide .slide-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-animation: slider 24s linear infinite;
          animation: slider 24s linear infinite;
}
#top .mv .slide .slide-image:nth-child(1) {
  background-image: url("../img/top/mv_img01.png");
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}
#top .mv .slide .slide-image:nth-child(2) {
  background-image: url("../img/top/mv_img02.png");
  -webkit-animation-delay: 6s;
          animation-delay: 6s;
}
#top .mv .slide .slide-image:nth-child(3) {
  background-image: url("../img/top/mv_img03.png");
  -webkit-animation-delay: 14s;
          animation-delay: 14s;
}
#top .mv_body {
  text-align: right;
  position: absolute;
  top: 28px;
  right: 20px;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}
#top .mv_body.active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
#top .mv_body .mv_body_bg {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  font-style: italic;
  font-size: 106px;
  line-height: 0.9;
  color: #ddd4bf;
}
#top .mv_body .mv_body_txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 27px;
  color: #000;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@-webkit-keyframes slider {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 0;
  }
}
@keyframes slider {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  4.16% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  41.66% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 0;
  }
}
/*==========================================
  2.ABOUT (PC)
========================================== */
#top .about {
  background: #FBF7F0;
  padding-bottom: 160px;
  position: relative;
  z-index: 0;
}
#top .about .cont_wrap {
  padding: 104px 0 48px;
  position: relative;
}
#top .about .cont_wrap::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: #E4C58B;
  position: absolute;
  top: 0;
  right: 294px;
  border-radius: 0 20px 20px 0;
  z-index: -1;
}
#top .about h2 {
  color: #FFE5B5;
}
#top .about dl {
  width: 372px;
  position: relative;
  bottom: 45px;
}
#top .about dt {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 47px;
  letter-spacing: 0.05em;
  line-height: 84px;
  text-align: left;
  color: #000;
}
#top .about dd {
  margin-top: 10px;
}
#top .about dd p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 30px;
  text-align: left;
  color: #000;
}
#top .about figure {
  width: 572px;
  position: absolute;
  bottom: -40px;
  right: 0;
}
#top .about figure .simpleParallax {
  border-radius: 20px;
}
/*==========================================
  3.MOVE TEXT (PC)
========================================== */
#top .move_txt {
  background: #FBF7F0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  z-index: 1;
}
#top .move_txt ul {
  -webkit-animation: flowing 20s linear infinite;
          animation: flowing 20s linear infinite;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  margin: 0;
  padding: 0;
}
#top .move_txt ul li {
  display: inline-block;
  padding-right: 10px;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 100;
  font-size: 131px;
  line-height: 1;
  text-align: left;
  color: #d0b481;
  position: relative;
  top: 25px;
}
@-webkit-keyframes flowing {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes flowing {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

/*==========================================
  5.SPECIAL (PC)
========================================== */
#top .special {
  background: #DA7F77;
  padding: 104px 0;
}
#top .special .special_swiper {
  position: relative;
  max-width: 1030px;
  margin: auto;
  padding: 0 2.7633851468%;
}
#top .special .swiper {
  margin-top: 60px;
  padding-bottom: 60px;
  width: 100%;
}
#top .special .swiper img {
  width: 100%;
}
#top .special .swiper p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  text-align: left;
  color: #000;
  margin-top: 20px;
}
#top .special .swiper-wrapper {
  width: 100%;
}
#top .special .swiper-scrollbar {
  border-bottom: solid 1px #000;
}
#top .special .swiper-scrollbar-drag {
  height: 7px;
  border-radius: 3.5px;
  background: #fbf7f0;
  border: 1px solid #000;
  cursor: pointer;
}
#top .special .swiper-button-next,
#top .special .swiper-button-prev {
  width: 58px;
  height: 58px;
  background: #fff;
  border: solid 1px #000;
  border-radius: 50%;
  position: absolute;
  top: 38%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#top .special .swiper-button-next::before, #top .special .swiper-button-next::after,
#top .special .swiper-button-prev::before,
#top .special .swiper-button-prev::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#top .special .swiper-button-next::before,
#top .special .swiper-button-prev::before {
  width: 18px;
  height: 1px;
  background: #000;
}
#top .special .swiper-button-next::after,
#top .special .swiper-button-prev::after {
  width: 16px;
  height: 16px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
#top .special .swiper-button-next {
  right: 0;
}
#top .special .swiper-button-prev {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
#top .special .btn_wrap {
  margin-top: 24px;
}

/*==========================================
  6.MOVIE (PC)
========================================== */
#top .movie {
  padding: 104px 0;
}
#top .movie .wrap::before {
  content: "";
  width: 296px;
  height: 296px;
  background: url("../img/top/movie_icon.png") center center/contain no-repeat;
  position: absolute;
  top: -82px;
  right: 0;
  z-index: -1;
}
#top .movie_list {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top .movie_list li {
  width: 30.4979253112%;
}
#top .movie_list::after {
  content: "";
  width: 30.4979253112%;
  display: block;
}
#top .movie_list p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  text-align: left;
  color: #000;
  margin-top: 16px;
}
#top .movie .btn {
  margin-top: 60px;
}

/*==========================================
  7.LINE UP (PC)
========================================== */
#top .lineup {
  position: relative;
}
#top .lineup_bg {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#top .lineup_bg img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 317px;
}
#top .lineup_heading .heading {
  height: 317px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#top .lineup_heading .heading h2, #top .lineup_heading .heading p {
  color: #fff;
}
#top .lineup_product {
  background: #448E91;
  padding: 60px 0;
}
#top .lineup_product dl {
  margin-top: 24px;
  border-radius: 3px;
  background: #fff;
}
#top .lineup_product dl:first-of-type {
  margin: 0;
}
#top .lineup_product .accordion-open {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
  text-align: left;
  color: #000;
  padding: 16px 42px 16px 14px;
  position: relative;
  cursor: pointer;
}
#top .lineup_product .accordion-open::before, #top .lineup_product .accordion-open::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  width: 18px;
  height: 1.5px;
  background-color: #000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
}
#top .lineup_product .accordion-open::before {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
#top .lineup_product .accordion-open.active::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  opacity: 0;
}
#top .lineup_product .accordion-open.active::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
#top .lineup_product dd {
  display: none;
  padding: 0 0 28px;
  position: relative;
}
#top .lineup_product dd::before {
  content: "";
  width: calc(100% - 20px);
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#top .lineup_product dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
#top .lineup_product dd ul::after {
  content: "";
  width: 32.2614107884%;
  display: block;
}
#top .lineup_product dd li {
  width: 32.2614107884%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 32px;
}
#top .lineup_product dd .accordion_body {
  padding: 0 10px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
#top .lineup_product dd .product_name {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.2;
  text-align: left;
  color: #000;
}
#top .lineup_product dd .product_detail {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  color: #000;
  margin-top: 8px;
}
#top .lineup_product dd figure {
  margin-top: 14px;
}

#lineup .lineup_cont .lineup_inner {
  background: #FBF7F0;
  border-radius: 20px;
}
#lineup .lineup_cont .lineup_inner + .lineup_inner {
  margin-top: 104px;
}
#lineup .lineup_cont .heading {
  width: 100%;
  height: 286px;
  border-radius: 20px 20px 0 0;
}
#lineup .lineup_cont .lineup_inner01 .heading {
  background: url("../img/lineup/lineup_bg01.png") center center/cover no-repeat;
}
#lineup .lineup_cont .lineup_inner02 .heading {
  background: url("../img/lineup/lineup_bg02.png") center center/cover no-repeat;
}
#lineup .lineup_cont .lineup_inner03 .heading {
  background: url("../img/lineup/lineup_bg03.png") center center/cover no-repeat;
}
#lineup .lineup_cont .lineup_inner04 .heading {
  background: url("../img/lineup/lineup_bg04.png") center center/cover no-repeat;
}
#lineup .lineup_cont .lineup_inner05 .heading {
  background: url("../img/lineup/lineup_bg05.png") center center/cover no-repeat;
}
#lineup .lineup_cont h2 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-style: italic;
  font-size: 36px;
  color: #fff;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 810px;
  padding: 0 20px;
  margin: auto;
}
#lineup .lineup_cont h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.1em;
  display: block;
}
#lineup .lineup_cont .lineup_body {
  max-width: 810px;
  padding: 52px 20px;
  margin: auto;
}
#lineup .lineup_cont .lineup_body p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
}
#lineup .lineup_cont .lineup_body .lineup_list {
  margin-top: 52px;
}
#lineup .lineup_cont .lineup_body a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  padding: 20px 32px 18px 10px;
  display: block;
  border-top: solid 1px #D8D0BC;
  position: relative;
}
#lineup .lineup_cont .lineup_body a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: absolute;
  width: 11px;
  height: 1px;
  background: currentColor;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#lineup .lineup_cont .lineup_body a::after {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#lineup .lineup_cont .lineup_body li:last-of-type {
  border-bottom: solid 1px #D8D0BC;
}

#details .product_detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 60px;
}
#details .product_detail .heading {
  width: calc(100% - 366px);
  padding-right: 10px;
}
#details .product_detail .heading h3 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 28px;
}
#details .product_detail .heading p {
  font-size: 18px;
  font-weight: 500;
  margin-top: 10px;
}
#details .product_detail .detail_wrap .sup {
  font-size: 12px;
  font-weight: 400;
  color: #717171;
  margin-top: 10px;
}
#details .product_detail .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px 0;
  border-top: solid 1px #AFAFAF;
  border-bottom: solid 1px #AFAFAF;
}
#details .product_detail .detail dl {
  margin-right: 28px;
  min-width: 92px;
}
#details .product_detail .detail dl:last-of-type {
  margin: 0;
}
#details .product_detail .detail dt, #details .product_detail .detail dd {
  width: 100%;
  text-align: center;
}
#details .product_detail .detail dt {
  font-size: 14px;
  font-weight: 400;
  padding-bottom: 12px;
  border-bottom: dotted 1px #AFAFAF;
}
#details .product_detail .detail dd {
  font-size: 18px;
  font-weight: 700;
  padding-top: 10px;
}
#details .product_detail .detail .sup_icon {
  font-size: 10px;
  vertical-align: super;
}
#details .product_detail + p {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 300;
  margin-top: 60px;
}
#details .product_detail .detail_wrap2 {
  border-top: solid 1px #AFAFAF;
  border-bottom: solid 1px #AFAFAF;
  padding: 15px 0px;
  line-height: 1.8;
  flex: 1;
}
#details .product_detail .detail_wrap2 em {
  font-size: 18px;
  font-style: normal;
  font-weight: bold;
}
#details .product_detail .detail_wrap2 .sup {
  font-size: 12px;
  font-weight: 400;
  color: #717171;
}
#details .recommend {
  margin-top: 60px;
}
#details .recommend_heading {
  background: #AACCE7;
  border-radius: 10px;
  padding: 63px 4.979253112% 34px;
  position: relative;
}
#details .recommend h4 {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 700;
  position: absolute;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#details .recommend .pop {
  color: #333;
  text-align: center;
  background: #FFF;
  border: 1px solid #000;
  padding: 10px 65px;
  min-width: 350px;
  display: inline-block;
  position: relative;
  border-radius: 24px;
}
#details .recommend .pop::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 16px;
  height: 16px;
  background: #FFF;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: translate(-50%, 55%) rotate(45deg);
          transform: translate(-50%, 55%) rotate(45deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
#details .recommend p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
#details .recommend .btn_wrap {
  margin-top: 48px;
}
#details .spec {
  margin-top: 63px;
}
#details .spec figure {
  margin-top: 60px;
}
#details .spec_detail {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#details .spec h3 {
  font-size: 28px;
  font-weight: 300;
  margin-top: 60px;
}
#details .spec h3 + .spec_detail {
  margin-top: 20px;
}
#details .spec_detail dl {
  width: 49.1701244813%;
  background: #FBF7F0;
  border-radius: 10px;
  padding: 24px 22px;
  margin-top: 20px;
}
#details .spec_detail dl:nth-of-type(1),
#details .spec_detail dl:nth-of-type(2) {
  margin: 0;
}
#details .spec_detail dt {
  font-family: "Josefin Sans", sans-serif;
  font-size: 23px;
  font-weight: 300;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 12px;
}
#details .spec_detail dt span {
  font-size: 19px;
}
#details .spec_detail dd {
  margin-top: 15px;
}
#details .spec_detail dd .strong {
  font-size: 18px;
  font-weight: 700;
}
#details .spec_detail dd p {
  font-size: 16px;
  font-weight: 300;
}
#details .spec_detail dd p + p {
  margin-top: 10px;
}
#details .brand .brand_list {
  margin: auto;
  max-width: 768px;
}
#details .brand .brand_list a {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 14px;
  padding: 20px 32px 18px 10px;
  display: block;
  border-top: solid 1px #D8D0BC;
  position: relative;
}
#details .brand .brand_list a[tabindex="-1"] {
  color: #B1B1B1;
}
#details .brand .brand_list a[tabindex="-1"]:hover {
  opacity: 1;
}
#details .brand .brand_list a[tabindex="-1"]::before {
  color: #B1B1B1;
}
#details .brand .brand_list a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: absolute;
  width: 11px;
  height: 1px;
  background: currentColor;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#details .brand .brand_list a::after {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#details .brand .brand_list li:last-of-type {
  border-bottom: solid 1px #D8D0BC;
}
#details .brand .btn_wrap {
  margin-top: 60px;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 1198px) {
  main .news .wrap::before {
    left: 3.4542314335%;
  }
}
@media screen and (max-width: 1010px) {
  main .news .wrap::before {
    left: 10px;
  }
  main .news .heading {
    padding-left: 10px;
  }
}
@media screen and (max-width: 1180px) {
  header .header_inner {
    padding: 19px 10px 16px 20px;
  }
  header .product_logo {
    width: 20.8%;
  }
  header .nav .nav_item .nav_link {
    padding: 6px 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header .nav .nav_item .nav_link span {
    margin: 0 0 8px;
  }
}
@media screen and (max-width: 1100px) {
  #top .mv h1 {
    font-size: 12.1vw;
  }
  #top .mv figure {
    bottom: 4.5vw;
  }
  #top .mv_body {
    margin-top: 9.0909090909vw;
  }
  #top .mv_body .mv_body_bg {
    font-size: 9vw;
  }
  #top .mv_body .mv_body_txt {
    font-size: 12px;
  }
}
@media screen and (max-width: 1158px) {
  #top .about figure {
    width: 44.6875%;
    position: absolute;
    bottom: -40px;
    right: 0;
  }
}
@media screen and (max-width: 964px) {
  #top .about .cont_wrap::before {
    right: 194px;
  }
}
@media screen and (max-width: 767px) {
  /*==========================================
    1.Common (SP)
  ========================================== */
  header, .nav, main, footer {
    max-width: 100%;
    margin: auto;
  }
  header .-pc,
  header .-tb, .nav .-pc,
  .nav .-tb, main .-pc,
  main .-tb, footer .-pc,
  footer .-tb {
    display: none !important;
  }
  header .-sp, .nav .-sp, main .-sp, footer .-sp {
    display: block !important;
  }
  header img, .nav img, main img, footer img {
    width: 100%;
    height: auto;
  }
  header .wrap, .nav .wrap, main .wrap, footer .wrap {
    max-width: 100%;
    padding: 0;
  }
  header .cont_wrap, .nav .cont_wrap, main .cont_wrap, footer .cont_wrap {
    max-width: 86.9333333333vw;
  }
  header a:hover, .nav a:hover, main a:hover, footer a:hover {
    opacity: 1;
  }
  header .btn, .nav .btn, main .btn, .footer .btn {
    min-width: 86.9333333333vw;
    height: 17.0666666667vw;
  }
  header .btn a, .nav .btn a, main .btn a, footer .btn a {
    border-radius: 8.5333333333vw;
    padding: 0 16vw 0 5.8666666667vw;
    font-size: 3.7333333333vw;
  }
  header .btn a::before, header .btn a::after, .nav .btn a::before, .nav .btn a::after, main .btn a::before, main .btn a::after, .footer .btn a::before, .footer .btn a::after {
    right: 6.4vw;
  }
  header .btn a::before, .nav .btn a::before, main .btn a::before, .footer .btn a::before {
    width: 4.8vw;
  }
  header .btn a::after, .nav .btn a::after, main .btn a::after, .footer .btn a::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  header .btn a span, .nav .btn a span, main .btn a span, .footer .btn a span {
    font-size: 2.6666666667vw;
  }
  header h2, .nav h2, main h2, footer h2 {
    font-size: 13.6vw;
  }
  header .heading p, .nav .heading p, main .heading p, footer .heading p {
    font-size: 3.7333333333vw;
    line-height: 6.1333333333vw;
  }
  header .sub_ttl, .nav .sub_ttl, main .sub_ttl, footer .sub_ttl {
    font-size: 3.2vw;
    line-height: 6.4vw;
  }
  main {
    padding-top: 14.6666666667vw;
  }
  main .wrap-min {
    max-width: 100%;
    margin: auto;
    padding: 0 4.2666666667vw;
  }
  main .breadcrumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3.1884057971vw;
    padding: 0 0 0 4.2666666667vw;
  }
  main .breadcrumb li, main .breadcrumb a {
    font-size: 12px;
    font-weight: 300;
    color: #808080;
  }
  main .breadcrumb li {
    margin-right: 12px;
    position: relative;
  }
  main .breadcrumb li::before {
    content: "/";
    position: absolute;
    left: -8px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .breadcrumb li:first-of-type::before {
    content: none;
  }
  main .ttl_wrap {
    margin: 10.6666666667vw 0;
  }
  main .main_ttl,
	main h2.main_ttl {
    font-size: 8vw;
		line-height: 1.2;
  }
  main .main_ttl span {
		display: inline-block;
    font-size: 3.7333333333vw;
		margin-top: 0.5em;
  }
  main .news {
    padding: 10.6666666667vw 0;
  }
  main .news .wrap {
    display: block;
    width: 86.9333333333vw;
    margin: auto;
    padding-top: 12vw;
    padding-bottom: 10.6666666667vw;
  }
  main .news .wrap::before {
    left: 0;
    border-radius: 5.3333333333vw 0 0 5.3333333333vw;
  }
  main .news .heading {
    padding-left: 6.6666666667vw;
    width: 100%;
  }
  main .news_list {
    margin-top: 2.1333333333vw;
    padding-left: 6.6666666667vw;
    width: 100%;
  }
  main .news_list li {
    padding: 4.2666666667vw 0;
  }
  main .news_list li:last-of-type {
    border-bottom: 1px solid #555;
  }
  main .news_list dt,
  main .news_list dd {
    font-size: 3.2vw;
    line-height: 6.9333333333vw;
  }
  main .sns {
    padding: 10.6666666667vw 0;
  }
  main .sns .cont_wrap {
    display: block;
  }
  main .sns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 0;
    margin-top: 10.6666666667vw;
  }
  main .sns ul li {
    width: 11.4666666667vw;
    margin: 0 1.8666666667vw;
  }
  header .header_inner {
    padding: 4vw 4.5333333333vw 4.2666666667vw 3.7333333333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  header .header_inner .logo {
    width: 16vw;
  }
  header .header_inner .product_logo {
    width: 42.1333333333vw;
  }
  .nav {
    background: #BEAD81;
    width: 100%;
    height: 12.8vw;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 100;
  }
  .nav .nav_list {
    width: 100%;
  }
  .nav .nav_item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .nav .nav_item .nav_link {
    display: block;
    font-size: 2.4vw;
    line-height: 2.88vw;
    padding: 1.8666666667vw 0;
    border-right: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .nav .nav_item .nav_link::before {
    width: 0.5px;
    height: 100%;
    background: transparent;
  }
  .nav .nav_item .nav_link span {
    margin: 0 0 1.0666666667vw;
    height: 5.3333333333vw;
  }
  .nav .nav_item .nav_link span img {
    width: auto;
    height: 100%;
  }
  .nav .feature_banner {
    top: auto;
    bottom: 100%;
    max-height: calc(100dvh - 12.8vw);
    padding: 0;
    border-bottom: solid 0.5px #fff;
  }
  .nav .feature_banner ul {
    max-width: 100%;
    padding: 6.4vw 5.3333333333vw;
  }
  .nav .feature_banner li {
    width: calc((100% - 18px) / 2);
  }
  .nav .feature_banner li img {
    border-radius: 1.3333333333vw;
  }
  footer {
    padding: 8.5333333333vw 0 24.8vw;
  }
  footer .copyright_link_list {
    margin-top: 6.4vw;
  }
  footer .copyright_link_list a {
    font-size: 3.2vw;
    padding: 0 1.3333333333vw;
  }
  footer .copyright {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
  /*==========================================
    1.MV (SP)
  ========================================== */
  #top .mv {
    padding: 13.8666666667vw 0 12.8vw;
  }
  #top .mv_wrap {
    max-width: 86.9333333333vw;
  }
  #top .mv_wrap::before {
    background: url("../img/top/scroll_icon-sp.png") center center/contain no-repeat;
    width: 34.1333333333vw;
    min-width: auto;
    height: 34.1333333333vw;
    top: 116.2666666667vw;
    right: -2.4vw;
  }
  #top .mv h1 {
    font-size: 17.3333333333vw;
    line-height: 0.9;
  }
  #top .mv .slide {
    padding-top: 104.9079754601%;
    bottom: 6.4vw;
    border-radius: 8vw;
  }
  #top .mv .slide .slide-image:nth-child(1) {
    background-image: url("../img/top/mv_img01-sp.png");
  }
  #top .mv .slide .slide-image:nth-child(2) {
    background-image: url("../img/top/mv_img02-sp.png");
  }
  #top .mv .slide .slide-image:nth-child(3) {
    background-image: url("../img/top/mv_img03-sp.png");
  }
  #top .mv_body {
    width: 67.7333333333vw;
    margin: 12.8vw auto 0;
    text-align: left;
    position: relative;
    top: 0;
    right: 0;
  }
  #top .mv_body .mv_body_bg {
    font-size: 18.6666666667vw;
    line-height: 0.9;
  }
  #top .mv_body .mv_body_txt {
    width: 100%;
    font-size: 3.7333333333vw;
    line-height: 7.2vw;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    right: auto;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  /*==========================================
    2.ABOUT (SP)
  ========================================== */
  #top .about {
    padding-bottom: 38.4vw;
  }
  #top .about .cont_wrap {
    padding: 10.6666666667vw 0 40vw;
  }
  #top .about .cont_wrap::before {
    right: 0;
    border-radius: 0 5.3333333333vw 5.3333333333vw 0;
  }
  #top .about h2 {
    font-size: 9.8666666667vw;
  }
  #top .about dl {
    width: 80.8vw;
    bottom: 4vw;
  }
  #top .about dt {
    font-size: 7.4666666667vw;
    line-height: 1;
  }
  #top .about dd {
    margin-top: 6.4vw;
  }
  #top .about dd p {
    font-size: 3.2vw;
    line-height: 6.9333333333vw;
  }
  #top .about figure {
    width: 84.8vw;
    bottom: -28vw;
    right: -13.3333333333vw;
  }
  #top .about figure .simpleParallax {
    border-radius: 5.3333333333vw;
  }
  /*==========================================
    3.MOVE TEXT (SP)
  ========================================== */
  #top .move_txt ul li {
    padding-right: 2.6666666667vw;
    font-size: 14.1333333333vw;
    top: 2.1333333333vw;
  }
  /*==========================================
    5.SPECIAL (SP)
  ========================================== */
  #top .special {
    padding: 12vw 0 10.6666666667vw;
  }
  #top .special .special_swiper {
    position: relative;
    max-width: 100%;
    margin: auto;
    padding: 0;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  #top .special .swiper {
    margin-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
  #top .special .swiper p {
    font-size: 3.7333333333vw;
    line-height: 6.4vw;
    margin-top: 4.2666666667vw;
  }
  #top .special .swiper-scrollbar {
    background: none;
    width: 73.3333333333vw;
    left: 50% !important;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #top .special .swiper-scrollbar-drag {
    height: 1.8666666667vw;
    border-radius: 0.9333333333vw;
  }
  #top .special .swiper-button-next,
  #top .special .swiper-button-prev {
    width: 15.4666666667vw;
    height: 15.4666666667vw;
    top: 43%;
  }
  #top .special .swiper-button-next::before, #top .special .swiper-button-next::after,
  #top .special .swiper-button-prev::before,
  #top .special .swiper-button-prev::after {
    right: 5.3333333333vw;
  }
  #top .special .swiper-button-next::before,
  #top .special .swiper-button-prev::before {
    width: 4.8vw;
  }
  #top .special .swiper-button-next::after,
  #top .special .swiper-button-prev::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  #top .special .swiper-button-next {
    right: 5.3333333333vw;
  }
  #top .special .swiper-button-prev {
    left: 5.3333333333vw;
  }
  #top .special .btn_wrap {
    margin-top: 6.4vw;
  }
  /*==========================================
    6.MOVIE (SP)
  ========================================== */
  #top .movie {
    padding: 12vw 0 10.6666666667vw;
  }
  #top .movie .wrap::before {
    width: 38.4vw;
    height: 38.4vw;
    top: 0;
    right: -4.2666666667vw;
  }
  #top .movie_list {
    margin-top: 10.6666666667vw;
    display: block;
  }
  #top .movie_list li {
    width: 100%;
    margin-top: 6.4vw;
  }
  #top .movie_list li:first-of-type {
    margin: 0;
  }
  #top .movie_list::after {
    content: none;
  }
  #top .movie_list p {
    font-size: 3.7333333333vw;
    line-height: 6.4vw;
    margin-top: 4.2666666667vw;
  }
  #top .movie .btn {
    margin-top: 8vw;
  }
  /*==========================================
    7.LINE UP (SP)
  ========================================== */
  #top .lineup_bg img {
    height: 42.4vw;
  }
  #top .lineup_heading .heading {
    height: 42.4vw;
  }
  #top .lineup_product {
    padding: 6.4vw 0;
  }
  #top .lineup_product dl {
    margin-top: 6.4vw;
  }
  #top .lineup_product .accordion-open {
    font-size: 5.8666666667vw;
    padding: 4.5333333333vw 9.3333333333vw 4vw 3.4666666667vw;
  }
  #top .lineup_product .accordion-open::before, #top .lineup_product .accordion-open::after {
    right: 3.2vw;
    width: 4.8vw;
  }
  #top .lineup_product dd {
    padding: 8.5333333333vw 0 8.5333333333vw;
  }
  #top .lineup_product dd ul {
    display: block;
  }
  #top .lineup_product dd ul::after {
    content: none;
  }
  #top .lineup_product dd li {
    width: 100%;
    display: block;
    margin-top: 10.7033639144vw;
  }
  #top .lineup_product dd li:first-of-type {
    margin: 0;
  }
  #top .lineup_product dd .accordion_body {
    padding: 0 3.2vw;
  }
  #top .lineup_product dd .product_name {
    font-size: 5.0666666667vw;
  }
  #top .lineup_product dd .product_detail {
    font-size: 3.7333333333vw;
    margin-top: 2.1333333333vw;
  }
  #top .lineup_product dd figure {
    margin-top: 4.2666666667vw;
  }
  #lineup .lineup_cont .lineup_inner {
    border-radius: 8vw;
  }
  #lineup .lineup_cont .lineup_inner + .lineup_inner {
    margin-top: 6.4vw;
  }
  #lineup .lineup_cont .heading {
    height: 52.8vw;
    border-radius: 8vw 8vw 0 0;
  }
  #lineup .lineup_cont .lineup_inner01 .heading {
    background: url("../img/lineup/lineup_bg01-sp.png") center center/cover no-repeat;
  }
  #lineup .lineup_cont .lineup_inner02 .heading {
    background: url("../img/lineup/lineup_bg02-sp.png") center center/cover no-repeat;
  }
  #lineup .lineup_cont .lineup_inner03 .heading {
    background: url("../img/lineup/lineup_bg03-sp.png") center center/cover no-repeat;
  }
  #lineup .lineup_cont .lineup_inner04 .heading {
    background: url("../img/lineup/lineup_bg04-sp.png") center center/cover no-repeat;
  }
  #lineup .lineup_cont .lineup_inner05 .heading {
    background: url("../img/lineup/lineup_bg05-sp.png") center center/cover no-repeat;
  }
  #lineup .lineup_cont h2 {
    font-size: 7.4666666667vw;
    max-width: 100%;
    padding: 0 5.3333333333vw;
  }
  #lineup .lineup_cont h2 span {
    font-size: 3.7333333333vw;
  }
  #lineup .lineup_cont .lineup_body {
    max-width: 100%;
    padding: 8.5333333333vw 5.3333333333vw;
  }
  #lineup .lineup_cont .lineup_body p {
    font-size: 3.2vw;
    line-height: 2;
  }
  #lineup .lineup_cont .lineup_body .lineup_list {
    margin-top: 8.5333333333vw;
  }
  #lineup .lineup_cont .lineup_body a {
    font-size: 3.7333333333vw;
    line-height: 1.78;
    padding: 4vw 8.5333333333vw 3.4666666667vw 2.6666666667vw;
  }
  #lineup .lineup_cont .lineup_body a::before {
    width: 2.9333333333vw;
    right: 3.2vw;
  }
  #lineup .lineup_cont .lineup_body a::after {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    right: 3.2vw;
  }
  #details .wrap-min {
    padding: 0 6.4vw;
  }
  #details .product figure {
    border-radius: 2.6666666667vw;
  }
  #details .product_detail {
    display: block;
    margin-top: 6.4vw;
  }
  #details .product_detail .heading {
    width: 100%;
  }
  #details .product_detail .heading h3 {
    font-size: 6.4vw;
  }
  #details .product_detail .heading p {
    font-size: 3.7333333333vw;
    margin-top: 0.5333333333vw;
  }
  #details .product_detail .detail_wrap .sup {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
  #details .product_detail .detail {
    margin-top: 6.4vw;
    padding: 4.5333333333vw 0;
  }
  #details .product_detail .detail dl {
    margin-right: 6.6666666667vw;
    min-width: 21.3333333333vw;
  }
  #details .product_detail .detail dt {
    font-size: 3.2vw;
    padding-bottom: 2.6666666667vw;
  }
  #details .product_detail .detail dd {
    font-size: 4.2666666667vw;
    padding-top: 2.1333333333vw;
  }
  #details .product_detail .detail .sup_icon {
    font-size: 2.6666666667vw;
  }
  #details .product_detail + p {
    font-size: 3.2vw;
    margin-top: 6.4vw;
  }
  #details .product_detail .detail_wrap2 {
    margin-top: 6.4vw;
    font-size: 3.2vw;
    line-height: 1.8;
  }
  #details .product_detail .detail_wrap2 em {
    font-size: 4.2666666667vw;
  }
  #details .recommend {
    margin-top: 6.4vw;
  }
  #details .recommend_heading {
    width: 100vw;
    margin: 11.2vw calc(50% - 50vw) 0;
    border-radius: 0;
    padding: 13.3333333333vw 6.4vw 9.6vw;
  }
  #details .recommend h4 {
    font-size: 3.7333333333vw;
    top: -4.8vw;
  }
  #details .recommend .pop {
    min-width: 81.6vw;
    padding: 2.1333333333vw 5.3333333333vw;
    border-radius: 24px;
  }
  #details .recommend .pop::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  #details .recommend p {
    font-size: 3.2vw;
    line-height: 2;
    text-align: left;
  }
  #details .recommend .btn_wrap {
    margin-top: 10.6666666667vw;
  }
  #details .spec {
    margin-top: 10.6666666667vw;
  }
  #details .spec figure {
    width: 100vw;
    margin: 6.4vw calc(50% - 50vw) 0;
  }
  #details .spec_detail {
    display: block;
    margin-top: 6.4vw;
  }
  #details .spec h3 {
    font-size: 5.333333333333334vw;
    margin-top: 6.4vw;
  }
  #details .spec h3 + .spec_detail {
    margin-top: 4.4vw;
  }
  #details .spec_detail dl {
    border-radius: 2.6666666667vw;
    padding: 6.1333333333vw 5.8666666667vw;
    width: 100%;
  }
  #details .spec_detail dt {
    font-size: 4.2666666667vw;
    padding-bottom: 3.2vw;
  }
  #details .spec_detail dt span {
    font-size: 3.2vw;
  }
  #details .spec_detail dd {
    margin-top: 4vw;
  }
  #details .spec_detail dd strong {
    font-size: 3.7333333333vw;
  }
  #details .spec_detail dd p {
    font-size: 3.2vw;
  }
  #details .spec_detail dd p + p {
    margin-top: 2.6666666667vw;
  }
  #details .spec_detail dl:nth-of-type(2) {
    margin-top: 4.2666666667vw;
  }
  #details .spec_detail dl + dl {
    margin-top: 4.2666666667vw;
  }
  #details .brand .brand_list {
    max-width: 100%;
  }
  #details .brand .brand_list a {
    font-size: 3.7333333333vw;
    line-height: 1.78;
    padding: 4vw 8.5333333333vw 3.4666666667vw 2.6666666667vw;
  }
  #details .brand .brand_list a::before {
    width: 2.9333333333vw;
    right: 3.2vw;
  }
  #details .brand .brand_list a::after {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    right: 3.2vw;
  }
  #details .brand .btn_wrap {
    margin-top: 10.6666666667vw;
  }
}

.footer_btn_wrap {text-align:center; margin-bottom:30px;}
.truetemper-copy-section {padding:40px 0;}
.truetemper-copy-section .en {font-size:36px; font-weight:bold; text-align:center; color:#ee0101;}
.truetemper-copy-section .logo {text-align:center;}
.truetemper-copy-section h2 {font-size:14px; text-align:center; color:#000; padding:2px 0 8px; line-height:1; margin:0 auto 10px;}
.truetemper-copy-section h3 {text-align:center; font-size:28px; font-weight:bold; margin-bottom:10px; line-height:1.3;}
.truetemper-copy-section p {font-size:16px; line-height:2; letter-spacing:0.05em;}
.truetemper-copy-section.matrix {background:radial-gradient(circle,#444,#333); text-align:center;}
.truetemper-copy-section.brand_menu {background:#222;}
.brand_menu_list {display:flex; justify-content:center; gap:0 10px;}
.shaft_img {margin-top:20px;}
@media screen and (max-width: 767px) {
  .truetemper-copy-section {padding:20px 0;}
  .truetemper-copy-section .en {font-size:25px; font-weight:bold; text-align:center; color:#ee0101;}
  .truetemper-copy-section .logo {text-align:center;}
  .truetemper-copy-section h2 {font-size:14px; text-align:center; color:#000; padding:2px 0 8px; line-height:1; margin:0 auto 10px;}
  .truetemper-copy-section h3 {font-size:18px;}
  .truetemper-copy-section p {font-size:14px}
  .truetemper-copy-section.matrix {background:radial-gradient(circle,#444,#333); text-align:center;}
  .truetemper-copy-section.brand_menu {background:#222;}
  .brand_menu_list {display:flex; justify-content:center; gap:0 10px;}
  .shaft_img {margin-top:20px;}
}
