@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
main {
  overflow: hidden;
  max-width: 780px;
  margin: 0 auto;
  font-size: clamp(12px, 2.0512820513vw, 16px); }
  main .header .inner--logo {
    background-color: #ff679e;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.2em; }
    main .header .inner--logo h2 {
      width: 57.6923076923vw;
      max-width: 450px; }
  main .footer .inner--over {
    width: 90%;
    margin: 0 auto;
    text-align: center; }
    main .footer .inner--over--wrap {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      main .footer .inner--over--wrap--category {
        width: 45.5%; }
        main .footer .inner--over--wrap--category p {
          font-size: clamp(12px, 3.0769230769vw, 24px);
          font-weight: bold;
          margin-top: 2em; }
        main .footer .inner--over--wrap--category .btn {
          margin-top: .8em; }
    main .footer .inner--over--contact {
      margin-top: 3.5em; }
      main .footer .inner--over--contact .figure {
        width: 58.0769230769vw;
        max-width: 453px;
        margin: 0 auto; }
      main .footer .inner--over--contact p {
        font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
        margin-top: 1em; }
  main .footer .inner--under {
    color: #fff;
    background-color: #ff679e;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0;
    margin-top: 2em; }
    main .footer .inner--under .copyright {
      font-size: clamp(12px, 1.7948717949vw, 14px); }

#pagetop {
  width: 5.7692307692vw;
  height: 5.7692307692vw;
  max-width: 45px;
  max-height: 45px;
  position: fixed;
  right: 3.8461538462vw;
  bottom: 3.8461538462vw;
  z-index: 200; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    transition: all .3s ease; }
    #pagetop a:before, #pagetop a:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    #pagetop a:before {
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      background-color: #ff679e;
      border: 1px solid #fff;
      border-radius: 50%; }
    #pagetop a:after {
      width: 25%;
      height: 25%;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(-45deg) translate(-20%, -50%); }
    #pagetop a:hover {
      opacity: 1;
      transform: scale(1.04); }

@media screen and (max-width: 767px) {
  main {
    font-size: clamp(8px, 2.4vw, 9px); }
    main .header .inner--logo h2 {
      width: 57.8666666667vw; }
    main .footer .inner--over--wrap--category p {
      font-size: clamp(9px, 3.2vw, 12px); }
    main .footer .inner--over--contact .figure {
      width: 60vw; }
    main .footer .inner--under .copyright {
      font-size: clamp(9px, 2.4vw, 14px); }

  #pagetop {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    right: 1.3333333333vw;
    bottom: 5.3333333333vw !important; } }
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }
    ul li img {
      line-height: 0;
      font-size: 0;
      vertical-align: top; }

img {
  border: none;
  vertical-align: bottom; }

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

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング 全体の設定
========================================================= */
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all;
  /*CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。*/ }

html, body {
  font-size: 62.5%;
  overflow: auto; }

body {
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  font: inherit;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  font-feature-settings: "palt";
  /*日本語フォントの文字間隔（カーニング）全角スペースを詰める調整、句読点や括弧などの約物を含めた文字間をしっかり詰めてくれます。*/
  color: #646464;
  background: #fff; }

main {
  display: block; }

/*リンクテキスト全般の設定*/
a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #000;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  transition: all 0.3s ease; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    transform: scale(1.04); }

.disabled {
  pointer-events: none; }

.soon {
  pointer-events: none;
  opacity: .5; }

.hide,
.hidden {
  visibility: hidden; }

/*テキスト周りのタグ*/
p {
  line-break: strict; }

/*画像全般の設定*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: none; }

/*videoタグ*/
video {
  max-width: 100%; }

/*iframeタグ*/
iframe {
  width: 100%; }

/*レスポンシブ切り替え表示の設定*/
.pc {
  display: block; }

.sp {
  display: none; }

/* =========================================================
 * modal
========================================================= */
.mfp-bg {
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-close {
  text-indent: -9999px;
  font-family: serif;
  font-size: 64px;
  right: -10px !important;
  padding-right: 0 !important;
  top: -50px !important; }

/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: 0.8; }

/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-wrap .modal-content {
  transform: translateY(-30px);
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

/* content animate it */
.mfp-wrap.mfp-ready .modal-content {
  transform: translateY(0);
  opacity: 1; }

/* content animate out */
.mfp-wrap.mfp-removing .modal-content {
  transform: translateY(30px);
  opacity: 0; }

.mfp-iframe-holder .mfp-content {
  width: 125vmin !important;
  max-width: 90% !important; }

@media screen and (max-width: 767px) {
  /*.mfp-container{
  	padding: 0;
  }
  .modal-content{
  	max-width: 94%;
  	margin: 15vw auto;
  	.popup-modal-close{
  		cursor: pointer;
  		position: absolute;
  		right: 0;
  		top: -41px;
  		span{
  			img{
  				max-width: 31px;
  			}
  		}
  	}
  	&--inner{
  		background-color: #fff;
  		padding: 15px 5% 30px 5%;
  		.team{
  			p{
  				@include fz_vw(11);
  			}
  		}
  		.content{
  			margin-top: 20px;
  			h2{
  				letter-spacing: .04em;
  				@include fz_vw(16);
  			}
  			p{
  				margin-top: 20px;
  				@include fz_vw(12);
  			}
  		}
  		.contact{
  			margin-top: 30px;
  			p{
  				@include fz_vw(12);
  				a{
  					&.tel{
  						pointer-events: visible;
  						text-decoration: underline;
  					}
  				}
  			}
  		}
  	}
  }*/ }
@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  /*リンクテキスト全般の設定*/
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  /*画像全般の設定*/
  img {
    width: 100%; }

  /*テキスト周りのタグ*/
  .att {
    font-size: 3vw !important;
    font-weight: 400;
    line-height: 1 !important;
    margin-bottom: 1em; }

  /*レスポンシブ切り替え表示の設定*/
  .pc {
    display: none; }

  .sp {
    display: block; } }
@media all and (-ms-high-contrast: none) {
  .noise {
    display: none; } }
/* =========================================================
 * font
========================================================= */
/*Zen Maru Gothic*/
/*Lato*/
/*Roboto Condensed & Roboto*/
/*Noto Sans Japanese*/
.zen-maru-gothic {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal; }

.lato {
  font-family: "Lato", sans-serif;
  font-optical-sizing: auto; }

.roboto-condensed {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto; }

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening,
.fadein-popup {
  position: relative;
  opacity: 0;
  transition: opacity 0.875s ease-in-out , transform 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fadein-popup {
  translate: none;
  rotate: none;
  scale: none;
  transform: translateY(20px) scale(0.8) !important;
  transition: opacity 0.5s ease-in-out , transform 0.5s ease-in-out; }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

.fadein-popup.scrollin {
  transform: translate(0, 0) scale(1) !important;
  animation: popup 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
@keyframes topleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(250%, 250%); } }
@keyframes topright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-100%, 200%); } }
@keyframes bottomleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(150%, -250%); } }
@keyframes bottomright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-150%, 250%); } }
@keyframes popup {
  0% {
    opacity: 0; }
  80%, 100% {
    opacity: 1; } }
.fadein-topleft {
  animation: topleft 10s infinite linear 1s both; }

.fadein-topright {
  animation: topright 6.3s infinite linear 1s both; }

.fadein-topright02 {
  animation: topright 9.5s infinite linear 1s both; }

.fadein-bottomleft {
  animation: bottomleft 5.5s infinite linear 1s both; }

.fadein-bottomright {
  animation: bottomright 5.5s infinite linear 1s both; }

/* =========================================================
 * scrollbar　　   /*フスクロールバー
========================================================= */
::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
  -webkit-appearance: none;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */ }

/*垂直方向のスクロールバーに適用*/
/*::-webkit-scrollbar:horizontal {
    display: none;
    -webkit-appearance: none;
}*/
/*水平方向のスクロールバーに適用*/
/*::-webkit-scrollbar:vertical {
    display: none;
    -webkit-appearance: none;
}*/
/* =========================================================
 * CSS Animation　　   /*CSS アニメション
========================================================= */
/*メインビジュのSCROLL*/
@keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@-webkit-keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@keyframes animationZoom {
  100% {
    transform: scale(1.1); } }
@keyframes slideshow {
  0% {
    opacity: 0;
    transform: scale(1.2, 1.2); }
  10% {
    opacity: 1;
    transform: scale(1, 1); }
  28% {
    opacity: 1;
    transform: scale(1, 1); }
  38% {
    opacity: 0;
    transform: scale(1, 1); }
  100% {
    opacity: 0;
    transform: scale(1, 1); } }
/* =========================================================
 * cursor event　　   /*cursorイベント
========================================================= */
/*<!--mouse-->
<div id="cursor" class="cursor"></div>*/
#cursor {
  pointer-events: none;
  position: fixed;
  top: -8px;
  left: -8px;
  width: 16px;
  height: 16px;
  background: rgba(0, 115, 255, 0.2);
  border-radius: 50%;
  transition: transform 0.2s, top, 0.5s, left 0.5s, width .5s, height .5s, background-color .5s;
  transition-timing-function: ease-out;
  z-index: 10005; }
  #cursor.hov_ {
    top: -32px;
    left: -32px;
    width: 28px;
    height: 28px;
    transition: .5s;
    background: rgba(0, 115, 255, 0.5); }

@media screen and (max-width: 767px) {
  #cursor {
    display: none; } }
/* =========================================================
 * js Animation　　   /*jS アニメーション
========================================================= */
/*1文字ずつ出現させるためのCSS*/
.eachTextAnime span {
  opacity: 0; }

.eachTextAnime.appeartext span {
  animation: text_anime_on .1s ease-out forwards; }

@keyframes text_anime_on {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
.top article .inner {
  width: 92.5%;
  margin: 0 auto; }
.top article .main {
  background: url("../images/top/main_bg.webp") no-repeat center top/cover;
  padding: 6.5em 0 11.6em; }
  .top article .main .inner p {
    width: 38.0769230769vw;
    max-width: 297px; }
  .top article .main .inner--wrap {
    position: relative; }
    .top article .main .inner--wrap h1 {
      width: 64.1025641026vw;
      max-width: 500px;
      margin-top: 4.9em; }
    .top article .main .inner--wrap .btn {
      width: 47.8205128205vw;
      max-width: 373px;
      position: absolute;
      top: 0;
      right: -5%; }
.top article .container .block01 {
  background: url("../images/top/img_bg01.webp") no-repeat center top/cover;
  padding: 4.6em 0 3em; }
  .top article .container .block01 .inner h2 {
    width: 102.5641025641vw;
    max-width: 800px;
    margin-left: -10%; }
  .top article .container .block01 .inner p {
    font-size: clamp(12px, 4.2307692308vw, 33px);
    font-weight: bold;
    line-height: 2;
    text-align: center;
    margin-top: 1em; }
    .top article .container .block01 .inner p span {
      font-size: clamp(12px, 5.1282051282vw, 40px);
      color: #ff679e;
      background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #ffff59 50%, #ffff59 100%); }
  .top article .container .block01 .inner .comment {
    width: 77.1794871795vw;
    max-width: 602px;
    margin: 0 auto; }
  .top article .container .block01 .inner .figure {
    margin-top: 3em; }
    .top article .container .block01 .inner .figure:nth-of-type(even) {
      margin-top: 0; }
.top article .container .block02 {
  background: url("../images/top/img_bg02.webp") no-repeat center center/cover;
  padding: 2.3em 0;
  margin-top: 4em; }
  .top article .container .block02 .inner h2 {
    width: 88.7179487179vw;
    max-width: 692px;
    margin: 0 auto; }
  .top article .container .block02 .inner p {
    width: 81.6666666667vw;
    max-width: 637px;
    margin: -2em auto 0; }
  .top article .container .block02 .inner .figure {
    width: 100vw;
    max-width: 780px;
    margin: 2em auto 0 -3%; }
.top article .container .block03 {
  background: url("../images/top/img_bg03.webp") no-repeat center top/100%;
  border-radius: 3.0rem;
  padding: 1.5em 0 3em;
  margin-top: -1.8em; }
  .top article .container .block03 .inner h2 {
    width: 75.2564102564vw;
    max-width: 587px;
    margin: 0 auto; }
  .top article .container .block03 .inner .figure {
    width: 100vw;
    max-width: 780px;
    margin: -1em auto 0; }
  .top article .container .block03 .inner p {
    width: 47.9487179487vw;
    max-width: 374px;
    margin: 1em auto 0; }
.top article .container .block04 {
  background: url("../images/top/img_bg04.webp") no-repeat center 9em/100%;
  border-radius: 3.0rem;
  padding: 0 0 7em;
  margin-top: 6em; }
  .top article .container .block04 .inner h2 {
    width: 88.4615384615vw;
    max-width: 690px;
    margin: 0 auto; }
  .top article .container .block04 .inner .figure {
    margin: 0 auto; }
    .top article .container .block04 .inner .figure.f01 {
      width: 91.6666666667vw;
      max-width: 715px;
      margin-top: .5em; }
    .top article .container .block04 .inner .figure.f02 {
      width: 104.2307692308vw;
      max-width: 813px;
      margin-top: 5em; }
  .top article .container .block04 .inner h3 {
    width: 76.4102564103vw;
    max-width: 596px;
    margin: 1em auto 0; }
  .top article .container .block04 .inner .image {
    margin-top: -3em; }
  .top article .container .block04 .inner p {
    font-size: clamp(12px, 3.8461538462vw, 30px);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    color: #ff679e;
    margin-top: 1.5em; }
.top article .container .block05 {
  background: url("../images/top/img_bg05.webp") no-repeat center top/cover;
  padding: 0 0 8.6em;
  margin-top: 4.2em; }
  .top article .container .block05 .inner h3 {
    width: 83.4615384615vw;
    max-width: 651px;
    margin: 0 auto; }
  .top article .container .block05 .inner h2 {
    width: 48.4615384615vw;
    max-width: 378px;
    margin: 0 auto; }
  .top article .container .block05 .inner .figure {
    margin: 0 auto; }
    .top article .container .block05 .inner .figure.f01 {
      width: 91.0256410256vw;
      max-width: 710px;
      margin: 4em auto 0 -2.5%; }
    .top article .container .block05 .inner .figure.f02 {
      width: 108.4615384615vw;
      max-width: 846px;
      margin: 5.5em auto 0 -9%; }
  .top article .container .block05 .inner .image {
    margin: 0 auto; }
    .top article .container .block05 .inner .image.i01 {
      width: 79.8717948718vw;
      max-width: 623px;
      margin-left: 2.5%; }
    .top article .container .block05 .inner .image.i02 {
      width: 42.3076923077vw;
      max-width: 330px;
      margin-left: -6%; }
    .top article .container .block05 .inner .image.i03 {
      width: 52.8205128205vw;
      max-width: 412px;
      margin-left: -18%; }
  .top article .container .block05 .inner .txt {
    font-size: clamp(12px, 3.5897435897vw, 28px);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    color: #ff679e;
    margin-top: 1em; }
  .top article .container .block05 .inner .price {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: clamp(12px, 3.8461538462vw, 30px);
    font-weight: bold;
    margin-top: .5em; }
    .top article .container .block05 .inner .price dt {
      margin-right: .5em; }
    .top article .container .block05 .inner .price dd em {
      font-size: clamp(12px, 5.5128205128vw, 43px);
      font-weight: bold; }
  .top article .container .block05 .inner .btn {
    display: table;
    font-size: clamp(12px, 4.6153846154vw, 36px);
    font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: bold;
    text-align: center;
    margin: 1em auto 0; }
    .top article .container .block05 .inner .btn a {
      color: #fff;
      background-color: #ff679e;
      padding: .5em 2em .5em 1.5em;
      border-radius: 5.0rem;
      position: relative; }
      .top article .container .block05 .inner .btn a:after {
        content: '';
        display: block;
        position: absolute;
        width: .6em;
        height: .8em;
        background: url("../images/common/btn_arrow.webp") no-repeat center center/contain;
        top: 50%;
        right: .8em;
        transform: translateY(-50%); }
    .top article .container .block05 .inner .btn.purple a {
      background-color: #9787c4; }
    .top article .container .block05 .inner .btn.blue a {
      background-color: #4bbae0; }
  .top article .container .block05 .inner .comment {
    font-size: clamp(12px, 1.7948717949vw, 14px);
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1;
    text-align: center;
    margin-top: 1em; }
  .top article .container .block05 .inner--wrap.wrap02 {
    font-family: "Noto Sans JP", sans-serif; }
    .top article .container .block05 .inner--wrap.wrap02 h4 {
      font-size: clamp(12px, 4.8717948718vw, 38px);
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: bold;
      text-align: center;
      margin-top: -1em; }
      .top article .container .block05 .inner--wrap.wrap02 h4 em {
        font-size: clamp(12px, 6.5384615385vw, 51px);
        font-weight: bold;
        color: #ff679e; }
    .top article .container .block05 .inner--wrap.wrap02 h5 {
      font-size: clamp(12px, 3.8461538462vw, 30px);
      text-align: center;
      margin-top: -.5em; }
    .top article .container .block05 .inner--wrap.wrap02 .price {
      display: flex;
      justify-content: center;
      align-items: baseline;
      font-size: clamp(12px, 2.5641025641vw, 20px);
      font-weight: bold;
      margin-top: 1em; }
      .top article .container .block05 .inner--wrap.wrap02 .price em {
        font-size: clamp(12px, 3.9743589744vw, 31px);
        font-weight: bold; }
    .top article .container .block05 .inner--wrap.wrap02 .label {
      font-size: clamp(12px, 2.3076923077vw, 18px);
      line-height: 1;
      text-align: center;
      margin-top: .5em; }
      .top article .container .block05 .inner--wrap.wrap02 .label span {
        display: inline-block;
        background-color: #fff;
        border: 1px solid #595757;
        padding: .5em; }
    .top article .container .block05 .inner--wrap.wrap02 .btn {
      font-size: clamp(12px, 3.4615384615vw, 27px);
      margin-top: .8em; }
    .top article .container .block05 .inner--wrap.wrap02 .inner--wrap--category {
      display: flex;
      justify-content: space-between; }
      .top article .container .block05 .inner--wrap.wrap02 .inner--wrap--category--product {
        width: 50%; }
        .top article .container .block05 .inner--wrap.wrap02 .inner--wrap--category--product .image {
          margin-top: 2em; }
.top article .container .block06 {
  margin-top: 5em; }
  .top article .container .block06 .inner h2 {
    width: 106.0256410256vw;
    max-width: 827px;
    margin: 0 auto 0 -8%; }
.top article .container .block07 {
  background: url("../images/top/img_bg07.webp") no-repeat center 13em/cover;
  border-radius: 1rem;
  padding: 0 0 3.5em;
  margin-top: 6em; }
  .top article .container .block07 .inner .image {
    width: 94.4871794872vw;
    max-width: 737px;
    margin-left: -1.5%; }
  .top article .container .block07 .inner h2 {
    font-size: clamp(12px, 5.1282051282vw, 40px);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin-top: -5em; }
    .top article .container .block07 .inner h2 span {
      display: block;
      font-size: clamp(12px, 10.641025641vw, 83px);
      font-weight: 500;
      letter-spacing: .03em; }
  .top article .container .block07 .inner p {
    font-size: clamp(12px, 3.2051282051vw, 25px);
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    margin-top: 1em; }
  .top article .container .block07 .inner--wrap .drawer-item {
    font-size: clamp(12px, 2.9487179487vw, 23px);
    font-weight: bold;
    background-color: #fff;
    border-radius: .7rem;
    margin-top: 2em; }
    .top article .container .block07 .inner--wrap .drawer-item:nth-of-type(n+2) {
      margin-top: 1em; }
    .top article .container .block07 .inner--wrap .drawer-item dl {
      display: flex;
      align-items: flex-start;
      padding: .5em 1em; }
      .top article .container .block07 .inner--wrap .drawer-item dl dt {
        width: 1.8em;
        height: 1.8em;
        font-size: clamp(12px, 4.1025641026vw, 32px);
        font-weight: 500;
        line-height: 1;
        text-align: center;
        color: #fff;
        background-color: #ff679e;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-bottom: .15em;
        margin-right: .5em; }
      .top article .container .block07 .inner--wrap .drawer-item dl dd {
        width: 80%; }
        .top article .container .block07 .inner--wrap .drawer-item dl dd span {
          font-size: clamp(12px, 2.0512820513vw, 16px); }
        .top article .container .block07 .inner--wrap .drawer-item dl dd a {
          display: inline-block;
          width: auto;
          height: inherit; }
    .top article .container .block07 .inner--wrap .drawer-item .title {
      align-items: center;
      position: relative;
      cursor: pointer;
      transition: all .3s ease; }
      .top article .container .block07 .inner--wrap .drawer-item .title:before, .top article .container .block07 .inner--wrap .drawer-item .title:after {
        content: '';
        display: block;
        position: absolute;
        background-color: #b7917e;
        top: 50%;
        right: 1em;
        transform: translateY(-50%);
        transition: all .3s ease; }
      .top article .container .block07 .inner--wrap .drawer-item .title:before {
        width: 2em;
        height: .15em; }
      .top article .container .block07 .inner--wrap .drawer-item .title:after {
        width: .15em;
        height: 2em;
        right: 1.9em; }
      .top article .container .block07 .inner--wrap .drawer-item .title:hover {
        transform: scale(1.02); }
      .top article .container .block07 .inner--wrap .drawer-item .title.close:after {
        display: none; }
      .top article .container .block07 .inner--wrap .drawer-item .title dt {
        background-color: #b7917e; }
      .top article .container .block07 .inner--wrap .drawer-item .title dd {
        color: #b7917e; }
    .top article .container .block07 .inner--wrap .drawer-item .more {
      display: none;
      border-top: 1px solid #d7cfc7;
      margin: 0 .8em; }
      .top article .container .block07 .inner--wrap .drawer-item .more dl {
        padding: 1em .2em; }
        .top article .container .block07 .inner--wrap .drawer-item .more dl dd {
          padding-bottom: .5em; }
          .top article .container .block07 .inner--wrap .drawer-item .more dl dd span {
            display: block;
            margin-top: 1em;
            font-weight: 400; }

@media screen and (max-width: 767px) {
  .top article .main .inner p {
    width: 38.1333333333vw; }
  .top article .main .inner--wrap h1 {
    width: 64.2666666667vw; }
  .top article .main .inner--wrap .btn {
    width: 47.7333333333vw; }
  .top article .container .block01 .inner h2 {
    width: 102.6666666667vw;
    margin-left: -7.5%; }
  .top article .container .block01 .inner p {
    font-size: clamp(12px, 4.2666666667vw, 33px); }
    .top article .container .block01 .inner p span {
      font-size: clamp(12px, 5.0666666667vw, 40px); }
  .top article .container .block01 .inner .comment {
    width: 77.3333333333vw; }
  .top article .container .block02 .inner h2 {
    width: 88.8vw; }
  .top article .container .block02 .inner p {
    width: 81.6vw; }
  .top article .container .block02 .inner .figure {
    width: 100vw; }
  .top article .container .block03 .inner h2 {
    width: 75.2vw; }
  .top article .container .block03 .inner .figure {
    width: 100.2666666667vw; }
  .top article .container .block03 .inner p {
    width: 48vw; }
  .top article .container .block04 .inner h2 {
    width: 88.5333333333vw; }
  .top article .container .block04 .inner .figure.f01 {
    width: 91.7333333333vw; }
  .top article .container .block04 .inner .figure.f02 {
    width: 104.2666666667vw; }
  .top article .container .block04 .inner h3 {
    width: 76.5333333333vw; }
  .top article .container .block04 .inner p {
    font-size: clamp(12px, 3.7333333333vw, 30px); }
  .top article .container .block05 .inner h3 {
    width: 83.4666666667vw; }
  .top article .container .block05 .inner h2 {
    width: 48.5333333333vw; }
  .top article .container .block05 .inner .figure.f01 {
    width: 91.2vw; }
  .top article .container .block05 .inner .figure.f02 {
    width: 108.5333333333vw; }
  .top article .container .block05 .inner .image.i01 {
    width: 80vw; }
  .top article .container .block05 .inner .image.i02 {
    width: 42.4vw; }
  .top article .container .block05 .inner .image.i03 {
    width: 52.8vw; }
  .top article .container .block05 .inner .txt {
    font-size: clamp(12px, 3.7333333333vw, 28px); }
  .top article .container .block05 .inner .price {
    font-size: clamp(12px, 4vw, 30px); }
    .top article .container .block05 .inner .price dd em {
      font-size: clamp(12px, 5.6vw, 43px); }
  .top article .container .block05 .inner .btn {
    font-size: clamp(12px, 4.8vw, 36px); }
  .top article .container .block05 .inner .comment {
    font-size: clamp(10px, 2.6666666667vw, 14px); }
  .top article .container .block05 .inner--wrap.wrap02 h4 {
    font-size: clamp(12px, 5.0666666667vw, 38px); }
    .top article .container .block05 .inner--wrap.wrap02 h4 em {
      font-size: clamp(12px, 6.9333333333vw, 51px); }
  .top article .container .block05 .inner--wrap.wrap02 h5 {
    font-size: clamp(12px, 4vw, 30px); }
  .top article .container .block05 .inner--wrap.wrap02 .price {
    font-size: clamp(12px, 2.6666666667vw, 20px); }
    .top article .container .block05 .inner--wrap.wrap02 .price em {
      font-size: clamp(12px, 4.2666666667vw, 31px); }
  .top article .container .block05 .inner--wrap.wrap02 .label {
    font-size: clamp(12px, 2.4vw, 18px); }
  .top article .container .block05 .inner--wrap.wrap02 .btn {
    font-size: clamp(12px, 3.7333333333vw, 27px);
    margin-top: .8em; }
  .top article .container .block06 .inner h2 {
    width: 106.1333333333vw; }
  .top article .container .block07 .inner .image {
    width: 94.6666666667vw; }
  .top article .container .block07 .inner h2 {
    font-size: clamp(12px, 5.3333333333vw, 40px); }
    .top article .container .block07 .inner h2 span {
      font-size: clamp(12px, 11.2vw, 83px); }
  .top article .container .block07 .inner p {
    font-size: clamp(12px, 3.4666666667vw, 25px); }
  .top article .container .block07 .inner--wrap .drawer-item {
    font-size: clamp(12px, 3.2vw, 23px); }
    .top article .container .block07 .inner--wrap .drawer-item dl dt {
      font-size: clamp(12px, 4.2666666667vw, 32px); }
    .top article .container .block07 .inner--wrap .drawer-item dl dd span {
      font-size: clamp(11px, 2.9333333333vw, 16px); } }
