/*********************
HEADER
*********************/
.header {
   position: relative;
   width: 191px;
   z-index: 100;
}

.header-inner {
   padding: 32px;
   position: absolute;
}

.header-logo {
   align-items: stretch;
   display: flex;
   height: 100%;
   margin-bottom: 24px;
}

.header-logo img {
   height: 100%;
   width: 100%;
}

.header-nav-list {
   align-items: center;
   display: flex;
   flex-direction: column;
   gap: 24px;
   justify-content: start;
   width: 100%;
}

.header-nav-item {
   display: inline-block;
}

.header-nav-link {
   color: var(--black-main);
   font-family: var(--font-en);
   font-size: 15px;
   letter-spacing: 0.08em;
   line-height: 1;
}

.header-nav-link--cv {
   color: var(--pink-main);
}

.hamburger {
   display: none;
   width: 30px;
   height: 30px;
   background: none;
   border: none;
   cursor: pointer;
   z-index: 1001;
}

.hamburger span {
   display: block;
   width: 30px;
   height: 1px;
   background: var(--black-main);
   margin: 5px 0;
   transition: 0.3s;
}

@media (hover: hover) {}

@media only screen and (max-width: 1440px) {
   .header {
      width: 13.26vw;
   }

   .header-inner {
      padding: 2.22vw;
   }

   .header-logo {
      margin-bottom: 1.66vw;
   }

   .header-nav-list {
      gap: 1.66vw;
   }

   .header-nav-link {
      font-size: 1.04vw;
   }
}

@media only screen and (max-width: 760px) {
   .header {
      position: relative;
      width: 100%;
      z-index: 100;
   }

   .header-inner {
      align-items: center;
      display: flex;
      justify-content: space-between;
      padding: 3.2vw;
      width: 100%;
   }

   .header-logo {
      height: 13.33vw;
      margin: 0;
      width: 13.33vw;
   }

   .header-logo img {
      height: 100%;
      width: 100%;
   }

   .hamburger {
      display: block;
      position: fixed;
      right: 3.2vw;
      top: 5.2vw;
   }

   .header-nav-list {
      justify-content: center;
      height: 100%;
   }

   .header-nav {
      position: fixed;
      top: 0;
      right: -100%;
      width: 100%;
      height: 100%;
      background: var(--pink-sub);
      list-style: none;
      padding: 10vw 15vw;
      opacity: 0;
      visibility: hidden;
      transition: 0.3s;
   }

   .header-nav.active {
      right: 0;
      opacity: 1;
      visibility: visible;
   }

   .header-nav-item {
      margin: 20px 0;
   }

   .header-nav-link {
      color: #fff;
      font-size: 18px;
      text-decoration: none;
   }

   /* ハンバーガー開閉時のアニメーション */
   .hamburger.active span:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
   }

   .hamburger.active span:nth-child(2) {
      opacity: 0;
   }

   .hamburger.active span:nth-child(3) {
      transform: translateY(-6px) rotate(-45deg);
   }
}


/* fv --------------------- */
#fv {
   position: relative;
}

.fv-imgarea img {
   height: 100%;
   object-fit: cover;
   width: 100%;
}

.fv-copy {
   position: absolute;
   top: 140px;
   left: 50%;
}

.fv-copy__main {
   font-size: 64px;
   letter-spacing: .08em;
   line-height: 1.5;
   margin-bottom: 6px;
}

.fv-copy__sub-en {
   color: rgba(209, 126, 111, .6);
   font-size: 39.6px;
   letter-spacing: .08em;
   line-height: 1;
   margin-bottom: 56px;
}

.fv-copy__sub {
   font-size: 20px;
   line-height: 1.4;
   margin-bottom: 32px;
}

@media only screen and (max-width: 1440px) {
   .fv-copy {
      top: 9.72vw;
      left: unset;
      right: 5.55vw;
   }

   .fv-copy__main {
      font-size: 4.44vw;
      margin-bottom: .41vw;
   }

   .fv-copy__sub-en {
      font-size: 2.75vw;
      margin-bottom: 3.88vw;
   }

   .fv-copy__sub {
      font-size: 1.38vw;
      margin-bottom: 2.22vw;
   }
}

@media only screen and (max-width: 760px) {
   #fv {
      height: 100vh;
   }

   .fv-imgarea img {
      object-position: top;
   }

   .fv-copy {
      top: 14%;
      left: 10%;
   }

   .fv-copy__main {
      font-size: 7.46vw;
      margin-bottom: 1.6vw;
   }

   .fv-copy__sub-en {
      font-size: 4.53vw;
      margin-bottom: 9.6vw;
   }

   .fv-copy__sub {
      font-size: 3.2vw;
      margin-bottom: 3.2vw;
   }
}


/* message --------------------- */
#message {
   position: relative;
}

#message::after {
   background-image: url(../img/message-bg.webp);
   background-size: cover;
   background-repeat: no-repeat;
   bottom: -88px;
   content: "";
   display: block;
   height: 802px;
   position: absolute;
   width: 651px;
   z-index: -3;
}

#message .container {
   margin: 0;
   padding: 0;
}

.message-text {
   font-size: 24px;
   line-height: 2.6;
   padding: 205px 0;
   text-align: center;
}

.message-img {
   position: absolute;
}

.message-img-01 {
   top: 377px;
   left: 114px;
   width: 296px;
   z-index: 2;
}

.message-img-02 {
   top: 572px;
   left: 0;
   width: 309px;
   z-index: 3;
}

.message-img-03 {
   top: 79px;
   right: 0;
   width: 389px;
   z-index: 2;
}

.message-img-04 {
   top: 465px;
   right: 65px;
   width: 223px;
   z-index: 2;
}

.message-shape {
   background-color: #FBF5F0;
   position: absolute;
   z-index: -1;
}

.message-shape-01 {
   height: 156px;
   top: 256px;
   left: 32px;
   width: 225px;
}

.message-shape-02 {
   height: 233px;
   top: 294px;
   right: 175px;
   width: 276px;
}


@media only screen and (max-width: 1440px) {
   #message::after {
      bottom: -6.11vw;
      height: 55.69vw;
      width: 45.20vw;
   }

   .message-text {
      font-size: 1.66vw;
      padding: 14.23vw 0;
   }

   .message-img-01 {
      top: 26.18vw;
      left: 7.91vw;
      width: 20.55vw;
   }

   .message-img-02 {
      top: 39.72vw;
      left: 0;
      width: 21.45vw;
   }

   .message-img-03 {
      top: 5.48vw;
      right: 0;
      width: 27.01vw;
   }

   .message-img-04 {
      top: 32.39vw;
      right: 4.51vw;
      width: 15.48vw;
   }

   .message-shape-01 {
      height: 10.83vw;
      top: 17.77vw;
      left: 2.22vw;
      width: 15.62vw;
   }

   .message-shape-02 {
      height: 16.18vw;
      top: 20.41vw;
      right: 12.15vw;
      width: 19.16vw;
   }
}

@media only screen and (max-width: 760px) {
   #message {
      overflow: hidden;
      padding: 45vw 0 50vw;
   }

   #message::after {
      bottom: 0vw;
      height: 87vw;
      width: 80vw;
   }

   .message-text {
      font-size: 3.73vw;
   }

   .message-img-01 {
      left: 31%;
      top: 97%;
      width: 31%;
   }

   .message-img-02 {
      top: 102%;
      left: 0%;
      width: 34%;
   }

   .message-img-03 {
      top: -38%;
      right: -3%;
      width: 45%;
   }

   .message-img-04 {
      top: -17%;
      right: 58%;
      width: 28%;
   }

   .message-shape-01 {
      height: 27vw;
      top: -20vw;
      left: 37vw;
      width: 32vw;
   }

   .message-shape-02 {
      height: 21vw;
      top: 112vw;
      right: 21vw;
      width: 25vw;
   }

}


/* about --------------------- */
#about {
   position: relative;
   padding: 200px 0;
}

#about::before {
   background: var(--pink-base);
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 78.40vw;
   z-index: -2;
}

.about-header {
   display: flex;
   gap: 56px;
   margin-right: calc(50% - 50vw);
   margin-bottom: 200px;
}

.about-text-main {
   align-items: start;
   display: flex;
   flex-direction: column;
}

#abou .heading__wrap {
   margin-bottom: 64px;
}

.about-maintext {
   font-size: 16px;
   line-height: 2.4;
}

.about-header-img {
   width: 49.16vw;
}

.about-inner {
   display: flex;
   flex-direction: column;
   gap: 120px;
}

.about-item {
   display: flex;
   justify-content: center;
   gap: 56px;
}

.about-item:nth-child(2n) {
   flex-direction: row-reverse;
}

.about-imgarea {
   height: 356px;
   position: relative;
   width: 570px;
}

.about-imgarea img {
   height: 100%;
   object-fit: cover;
   position: absolute;
   right: 0;
   top: 0;
   width: 100%;
}

.about-imgarea::after {
   bottom: -20px;
   content: "";
   display: block;
   height: 100%;
   right: 20px;
   position: absolute;
   width: 100%;
   z-index: -1;
}

.about-item:nth-child(2n+1) .about-imgarea::after {
   background-color: var(--pink-sub);
}

.about-item:nth-child(2n) .about-imgarea::after {
   background-color: #AED6D6;
}

.about-img-text {
   bottom: -74px;
   font-size: 96px;
   letter-spacing: .08EM;
   position: absolute;
}

.about-item:nth-child(2n+1) .about-img-text {
   color: rgba(235, 171, 152, .4);
   left: -40px;
}

.about-item:nth-child(2n) .about-img-text {
   color: rgba(192, 218, 224, .4);
   right: -40px;
}

.about-textarea {
   width: 540px;
}

.about-title {
   font-size: 32px;
   font-weight: var(--semi);
   letter-spacing: .04em;
   line-height: 1;
   margin-bottom: 40px;
}

.about-title span {
   font-size: 14px;
}

.about-text {
   font-size: 16px;
   line-height: 2;
}

@media only screen and (max-width: 1440px) {
   #about {
      padding: 13.88vw 0;
   }

   .about-header {
      gap: 3.88vw;
      margin-bottom: 13.88vw;
   }

   #abou .heading__wrap {
      margin-bottom: 4.444vw;
   }

   .about-maintext {
      font-size: 1.111vw;
   }

   .about-inner {
      gap: 8.33vw;
   }

   .about-item {
      gap: 3.88vw;
   }

   .about-imgarea {
      height: 24.72vw;
      width: 39.58vw;
   }

   .about-img-text {
      bottom: -5.13vw;
      font-size: 6.66vw;
   }

   .about-item:nth-child(2n+1) .about-img-text {
      left: -2.77vw;
   }

   .about-item:nth-child(2n) .about-img-text {
      right: -2.77vw;
   }

   .about-textarea {
      width: 37.5vw;
   }

   .about-title {
      font-size: 2.22vw;
      margin-bottom: 2.77vw
   }

   .about-title span {
      font-size: .97vw;
   }

   .about-text {
      font-size: 1.11vw;
   }
}

@media only screen and (max-width: 760px) {
   #about {
      padding: 15vw 0 30vw;
   }

   #about::before {
      width: 100%;
   }

   .about-header {
      flex-direction: column-reverse;
      gap: 8.53vw;
      width: 100%;
   }

   .about-maintext {
      font-size: 3.2vw;
      line-height: 1.8;
   }

   .about-header-img {
      width: 100%;
   }

   .about-item {
      gap: 10.66vw;
   }

   .about-inner {
      gap: 16vw;
   }

   .about-item,
   .about-item:nth-child(2n) {
      flex-direction: column;
   }

   .about-imgarea {
      height: 56.00vw;
      width: 100%;
   }

   .about-imgarea::after {
      bottom: -10px;
      right: 10px;
   }

   .about-img-text {
      bottom: -11vw;
      font-size: 11vw;
      text-align: end;
      right: 0 !important;
   }

   .about-textarea {
      width: 100%;
   }

   .about-subtitle {
      font-size: 8.53vw;
   }

   .about-title {
      font-size: 5.33vw;
      line-height: 1.4;
      margin-bottom: 3.73vw;
   }

   .about-title span {
      font-size: 3.2vw;
   }

   .about-text {
      font-size: 3.2vw;
      line-height: 1.8;
   }
}

/* /about --------------------- */


/* menu --------------------- */
#menu {
   position: relative;
   padding: 160px 0 0;
}

.tab-group {
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
}

.tab-button-group {
   background: #fff;
   border-bottom: 1px solid rgba(97, 97, 97, .5);
   border-top: 1px solid rgba(97, 97, 97, .5);
   position: relative;
   transition: all 0.3s ease;
}


.tab-button-list {
   align-items: flex-end;
   height: 80px;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   margin: 0 auto;
   width: 1168px;
}

.tab-button {
   align-items: center;
   cursor: pointer;
   display: flex;
   font-size: 16px;
   gap: 24px;
   height: 100%;
   justify-content: center;
   position: relative;
   transition: all .3s ease;
   width: 20%;
}

.tab-button::after {
   background-color: var(--pink-main);
   bottom: 0;
   content: "";
   height: 2px;
   opacity: 0;
   position: absolute;
   transition: all .3s ease;
   visibility: hidden;
   width: 100%;
}

.tab-button:nth-child(2n)::after {
   background-color: var(--blue-sub);
}

.tab-button.is-active {
   cursor: unset;
   color: #fff;
}

.tab-button svg {
   stroke: var(--black-main);
}

.tab-button.is-active svg {
   stroke: #fff;
}

.tab-button:nth-child(2n+1).is-active {
   background-color: var(--pink-main);
}

.tab-button:nth-child(2n).is-active {
   background-color: var(--blue-sub);
}

.tab-content {
   height: 0;
   opacity: 0;
   overflow: hidden;
   transition: all .3s ease;
   visibility: hidden;
   position: relative;
   z-index: -2;
}

.tab-content.is-display {
   height: auto;
   opacity: 1;
   visibility: visible;
}

.tab-content:nth-child(2n+1) {
   background-color: var(--pink-base);
}

.tab-content:nth-child(2n) {
   background-color: var(--blue-base);
}

.tab-inner {
   margin: 0 auto;
   width: 1168px;
}

.tab-main-contents {
   padding: 60px 0;
}

.tab-main-content {
   display: grid;
   grid-template-columns: 572px 1fr;
}

.tab-main-content:nth-child(2) {
   margin-top: 64px;
}

.tab-img {
   height: 100%;
   object-fit: cover;
   width: 100%;
}


.tab-description {
   padding: 40px 0 40px 64px;
   position: relative;
}

.tab-title {
   font-size: 24px;
   margin-bottom: 24px;
}

.tab-text {
   font-size: 14px;
   line-height: 2;
}

.tab-title-en {
   bottom: -12px;
   font-size: 105px;
   letter-spacing: .08em;
   position: absolute;
   right: 0;
}

.tab-content:nth-child(2n+1) .tab-title-en {
   color: rgba(209, 126, 111, .2);
}

.tab-content:nth-child(2n) .tab-title-en {
   color: rgba(88, 169, 188, .2);
}

.tab-menu {
   padding: 20px 0 20px 64px;
   position: relative;
}

.tab-menu::after {
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100vw;
   z-index: -1;
}

.tab-content:nth-child(2n+1) .tab-menu::after {
   background-color: rgba(231, 162, 149, .15);
}

.tab-content:nth-child(2n) .tab-menu::after {
   background-color: rgba(174, 214, 214, .15);
}

.tab-menu-item {
   align-items: center;
   display: grid;
   grid-template-columns: 2fr 1fr;
   grid-template-rows: 1fr 1fr;
   row-gap: 16px;
   padding: 32px 0;
}

.tab-content:nth-child(2n+1) .tab-menu-item {
   border-bottom: 1px solid var(--pink-main);
}

.tab-content:nth-child(2n) .tab-menu-item {
   border-bottom: 1px solid var(--blue-sub);
}

.tab-content:nth-child(4) .tab-menu-item {
   grid-template-rows: 1fr;
}

.tab-content:nth-child(5) .tab-menu-item {
   grid-template-columns: 1fr;
   grid-template-rows: 1fr 1fr auto;
   row-gap: 0;
}

.tab-menu-item:last-child {
   border-bottom: none !important;
}

.tab-content:nth-child(5) .tab-menu-description {
   grid-column: unset;
}

.tab-menu-title {
   font-size: 16px;
   line-height: 1.2;
}

.tab-content:nth-child(5) .tab-menu-title {
   margin-bottom: 8px;
}

.tab-content:nth-child(5) .tab-menu-price {
   margin-bottom: 16px;
}

.tab-menu-title span {
   font-size: 11px;
}

.tab-menu-price {
   font-size: 16px;
   display: flex;
   justify-content: flex-end;
   gap: 16px;
}

.tab-menu-price span {
   font-size: 12px;
}

.tab-menu-pricetag {
   background-color: #FBF5F0;
   color: var(--pink-main);
   margin-right: 4px;
   padding: 2px 5px;
}

.tab-menu-description {
   font-size: 12px;
   grid-column: 1 / 3;
   line-height: 1.2;
}

.tab-sub-content {
   background-color: #fff;
   display: grid;
   grid-template-columns: 207px auto;
   margin-bottom: 60px;
   padding: 25px;
}

.tab-item-title {
   align-items: center;
   border-right: 1px solid var(--pink-main);
   color: var(--pink-main);
   display: flex;
   font-size: 24px;
   justify-content: center;
   letter-spacing: .08em;
   line-height: 1.6;
   text-align: center;
}

.tab-item-list {
   display: flex;
   gap: 60px;
   padding: 16px 52px;
}

.tab-brand-name {
   background-color: #FBF5F0;
   color: var(--pink-main);
   display: inline-block;
   font-size: 16px;
   margin-bottom: 16px;
   padding: 4px 12px;
}

.tab-item-name {
   font-size: 16px;
   line-height: 2;
}

.tab-item-namelist-2 {
   padding-top: 39px;
}

@media (hover: hover) {
   .tab-button:hover::after {
      opacity: 1;
      visibility: visible;
   }
}

@media only screen and (max-width: 1440px) {
   #menu {
      padding: 11.11vw 0 0;
   }

   .tab-button-list {
      height: 5.55vw;
      width: 81.11vw;
   }

   .tab-button {
      font-size: 1.11vw;
      gap: 1.66vw;
   }

   .tab-inner {
      width: 81.11vw;
   }

   .tab-main-contents {
      padding: 4.16vw 0;
   }

   .tab-main-content {
      grid-template-columns: 39.72vw 1fr;
   }

   .tab-main-content:nth-child(2) {
      margin-top: 4.44vw;
   }

   .tab-description {
      padding: 2.77vw 0 2.77vw 4.44vw;
   }

   .tab-title {
      font-size: 1.66vw;
      margin-bottom: 1.66vw;
   }

   .tab-text {
      font-size: .97vw;
   }

   .tab-title-en {
      bottom: -.83vw;
      font-size: 7.29vw;
   }

   .tab-menu {
      padding: 1.38vw 0 1.38vw 4.44vw;
   }

   .tab-menu-item {
      row-gap: 1.11vw;
      padding: 2.22vw 0;
   }

   .tab-menu-title {
      font-size: 1.11vw;
   }

   .tab-content:nth-child(5) .tab-menu-title {
      margin-bottom: .55vw;
   }

   .tab-content:nth-child(5) .tab-menu-price {
      margin-bottom: 1.11vw;
   }

   .tab-menu-title span {
      font-size: .76vw;
   }

   .tab-menu-price {
      font-size: 1.11vw;
      gap: 1.11vw;
   }

   .tab-menu-price span {
      font-size: .83vw;
   }

   .tab-menu-pricetag {
      margin-right: .27vw;
      padding: .13vw .34vw;
   }

   .tab-menu-description {
      font-size: .83vw;
   }

   .tab-sub-content {
      grid-template-columns: 14.37vw auto;
      margin-bottom: 4.16vw;
      padding: 1.73vw;
   }

   .tab-item-title {
      font-size: 1.66vw;
   }

   .tab-item-list {
      gap: 4.16vw;
      padding: 1.11vw 3.61vw;
   }

   .tab-brand-name {
      font-size: 1.11vw;
      margin-bottom: 1.11vw;
      padding: .27vw .83vw;
   }

   .tab-item-name {
      font-size: 1.11vw;
   }

   .tab-item-namelist-2 {
      padding-top: 2.70vw;
   }
}

@media only screen and (max-width: 760px) {
   #menu {
      padding: 16vw 0 10.66vw 0;
   }

   .tab-button-group {
      border: none;
   }

   .tab-button-list {
      height: auto;
      gap: 1.06vw;
      width: 85%;
   }

   .tab-button {
      border: .5px solid rgba(97, 97, 97, .5);
      font-size: 3.2vw;
      height: 9.6vw;
      gap: 4.26vw;
      width: 49%;
   }

   .tab-contents {
      padding: 5.33vw 0;
   }

   .tab-inner {
      width: 85%;
   }

   .tab-main-contents {
      padding: 5.33vw 0;
   }

   .tab-main-content {
      grid-template-columns: 1fr;
   }

   .tab-main-content:nth-child(2) {
      margin-top: 5.33vw;
   }

   .tab-img {
      height: 53.33vw;
      object-fit: cover;
      width: 100%;
   }

   .tab-description {
      padding: 4.26vw 0;
   }

   .tab-title {
      font-size: 4.8vw;
      line-height: 1.4;
      margin-bottom: 4.26vw;
   }

   .tab-text {
      font-size: 3.2vw;
      line-height: 1.8;
   }

   .tab-title-en {
      bottom: 0;
      font-size: 8.53vw;
   }

   .tab-menu {
      padding: 4.26vw 5.33vw;
   }

   .tab-menu-item {
      row-gap: 0;
      padding: 5.33vw 0;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr 1fr auto;
   }

   .tab-menu-title {
      font-size: 3.73vw;
      line-height: 1.4;
      margin-bottom: 2.13vw !important;
   }

   .tab-menu-title span {
      font-size: 2.66vw;
   }

   .tab-menu-price {
      font-size: 3.2vw;
      flex-wrap: wrap;
      gap: 2.13vw;
      justify-content: start;
      row-gap: 3.2vw;
      margin-bottom: 5.33vw !important;
   }

   .tab-menu-price span {
      font-size: 2.66vw;
   }

   .tab-menu-pricetag {
      margin-right: 1.06vw;
      padding: .53vw 1.06vw;
   }

   .tab-menu-description {
      font-size: 3.2vw;
      grid-column: unset;
      line-height: 1.8;
   }

   .tab-sub-content {
      grid-template-columns: 1fr;
      margin-bottom: 5.33vw;
      padding: 4.26vw;
   }

   .tab-item-title {
      border: none;
      font-size: 4.26vw;
   }

   .tab-item-list {
      flex-direction: column;
      gap: 3.2vw;
      padding: 4.26vw 0;
   }

   .tab-content:nth-child(5) .tab-item-list {
      gap: 0;
   }

   .tab-brand-name {
      font-size: 3.2vw;
      margin-bottom: 2.13vw;
      padding: 1.06vw 2.13vw;
   }

   .tab-item-name {
      font-size: 3.2vw;
      line-height: 1.8;
   }

   .tab-item-namelist-2 {
      padding-top: 0;
   }
}

/* /menu --------------------- */


/* shop --------------------- */
#shop {
   padding: 120px 0 80px;
   position: relative;
}

#shop::after {
   background-image: url(../img/shop-bg.webp);
   background-size: cover;
   background-repeat: no-repeat;
   content: "";
   display: block;
   height: 802px;
   position: absolute;
   right: 0;
   top: -220px;
   width: 651px;
   z-index: -3;
}

.shop-inner {
   display: flex;
   gap: 0;
}

.shop-map {
   aspect-ratio: 570 / 307;
   width: 570px;
}

.shop-map iframe {
   height: 100%;
   width: 100%;
}

.shop-textarea {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 56px;
}

.shop-name {
   font-size: 20px;
   letter-spacing: .08em;
   line-height: 1.35;
   margin-bottom: 16px;
}

.shop-address {
   font-size: 16px;
   letter-spacing: .08em;
   line-height: 1.35;
   margin-bottom: 24px;
}

.shop-info td {
   font-size: 14px;
   line-height: 2;
}

.shop-info td:first-child {
   width: 80px;
}

@media only screen and (max-width: 1440px) {
   #shop {
      padding: 8.33vw 0 5.55vw;
   }

   #shop::after {
      height: 55.69vw;
      top: -15.27vw;
      width: 45.20vw;
   }

   .shop-map {
      width: 39.58vw;
   }

   .shop-textarea {
      padding: 3.88vw;
   }

   .shop-name {
      font-size: 1.38vw;
      margin-bottom: 1.11vw;
   }

   .shop-address {
      font-size: 1.11vw;
      margin-bottom: 1.66vw;
   }

   .shop-info td {
      font-size: .97vw;
   }

   .shop-info td:first-child {
      width: 5.55vw;
   }
}

@media only screen and (max-width: 760px) {
   #shop {
      padding: 16vw 0;
   }

   #shop::after {
      height: 56.00vw;
      top: 0;
      width: 50%;
   }

   .shop-inner {
      flex-direction: column;
   }

   .shop-map {
      width: 100%;
   }

   .shop-textarea {
      padding: 5.33vw 0 0;
   }

   .shop-name {
      font-size: 4.26vw;
      margin-bottom: 3.2vw;
   }

   .shop-address {
      font-size: 3.2vw;
      margin-bottom: 3.2vw;
   }

   .shop-info td {
      font-size: 3.2vw;
   }

   .shop-info td span {
      font-size: .8em;
   }

   .shop-info td:first-child {
      width: 17.33vw;
   }
}

/* /shop --------------------- */


/* instagram --------------------- */
#instagram {
   position: relative;
}

#instagram::before {
   background: var(--blue-base);
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 78.40vw;
   z-index: -2;
}

#instagram .container {
   display: flex;
   gap: 56px;
   padding-top: 80px;
   padding-bottom: 80px;
}

.instagram-textarea {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 373px;
}

.instagram-text {
   font-size: 15px;
   line-height: 2;
}

.instagram-inner {
   height: 492px;
   width: 492px;
}

.instagram-inner img {
   height: 100%;
   width: 100%;
}

@media only screen and (max-width: 1440px) {

   #instagram .container {
      gap: 3.88vw;
      padding-top: 5.55vw;
      padding-bottom: 5.55vw;
   }

   .instagram-textarea {
      width: 25.90vw;
   }

   .instagram-text {
      font-size: 1.04vw;
   }

   .instagram-inner {
      height: 34.16vw;
      width: 34.16vw;
   }
}

@media only screen and (max-width: 760px) {

   #instagram::before {
      width: 100%;
   }

   #instagram .container {
      flex-direction: column;
      gap: 10.66vw;
      padding-top: 16vw;
      padding-bottom: 16vw;
   }

   .instagram-textarea {
      width: 100%;
   }

   .instagram-text {
      font-size: 3.2vw;
   }

   .instagram-inner {
      height: auto;
      width: 100%;
   }
}

/* /instagram --------------------- */

/* blog --------------------- */
#blog {
   padding: 80px 0 60px;
   position: relative;
}

#blog::before {
   background: var(--pink-base);
   content: "";
   display: block;
   height: calc(100% - 140px);
   position: absolute;
   right: 0;
   top: 80px;
   width: 78.40vw;
   z-index: -2;
}

#blog .container {
   display: flex;
   gap: 56px;
   justify-content: flex-end;
   padding-top: 80px;
   padding-bottom: 80px;
}

.blog-textarea {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 373px;
}

.blog-text {
   font-size: 15px;
   line-height: 2;
}

.blog-imgarea {
   height: 492px;
   width: 492px;
}

.blog-imgarea img {
   height: 100%;
   width: 100%;
}

@media only screen and (max-width: 1440px) {
   #blog {
      padding: 5.55vw 0 4.16vw;
   }

   #blog::before {
      height: calc(100% - 9.72vw);
      top: 5.55vw;
   }

   #blog .container {
      gap: 3.88vw;
      padding-top: 5.55vw;
      padding-bottom: 5.55vw;
   }

   .blog-textarea {
      width: 25.90vw;
   }

   .blog-text {
      font-size: 1.04vw;
   }

   .blog-imgarea {
      height: 34.16vw;
      width: 34.16vw;
   }
}

@media only screen and (max-width: 760px) {
   #blog {
      padding: 0;
   }

   #blog::before {
      height: 100%;
      top: 0;
      width: 100%;
   }

   #blog .container {
      flex-direction: column;
      gap: 10.66vw;
      padding-top: 16vw;
      padding-bottom: 16vw;
   }

   .blog-textarea {
      width: 100%;
   }

   .blog-text {
      font-size: 3.2vw;
   }

   .blog-imgarea {
      height: auto;
      width: 100%;
   }

   .blog-imgarea img {
      height: 53.33vw;
      object-fit: cover;
   }
}

/* /blog --------------------- */


/* recruit --------------------- */
#recruit {
   padding: 60px 0 100px;
}

#recruit::after {
   background-image: url(../img/shop-bg.webp);
   background-size: cover;
   background-repeat: no-repeat;
   content: "";
   display: block;
   height: 802px;
   position: absolute;
   left: 0;
   top: -569px;
   transform: rotate(180deg);
   width: 651px;
   z-index: -3;
}

#recruit .container {
   display: flex;
   gap: 56px;
   justify-content: center;
}

.recruit-img {
   display: block;
   height: 620px;
   position: relative;
   width: 540px;
}

.recruit-img img {
   height: 100%;
}

.recruit-img::after {
   background-color: #AED6D6;
   bottom: -20px;
   content: "";
   display: block;
   height: 620px;
   left: -20px;
   position: absolute;
   width: 540px;
   z-index: -1;
}

.recruit-textarea {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 570px;
}

.recruit-text {
   font-size: 15px;
   line-height: 2;
}

@media only screen and (max-width: 1440px) {
   #recruit {
      padding: 4.16vw 0 6.94vw;
   }

   #recruit .container {
      gap: 3.88vw;
   }

   .recruit-imgarea {
      height: 43.05vw;
   }

   .recruit-img {
      height: 43.05vw;
      width: 37.5vw;
   }

   .recruit-img::after {
      bottom: -1.38vw;
      height: 43.05vw;
      left: -1.38vw;
      width: 37.5vw;
   }

   .recruit-textarea {
      width: 39.58vw;
   }

   .recruit-text {
      font-size: 1.04vw;
   }
}

@media only screen and (max-width: 760px) {
   #recruit {
      padding: 16vw 0;
   }

   #recruit .container {
      flex-direction: column-reverse;
      gap: 10.66vw;
   }

   .recruit-imgarea {
      height: 53.33vw;
   }

   .recruit-img {
      height: 53.33vw;
      width: 100%;
   }

   .recruit-img img {
      object-fit: cover;
      width: 100%;
   }

   .recruit-img::after {
      bottom: -2.13vw;
      height: 53.33vw;
      left: -2.13vw;
      width: 100%;
   }

   .recruit-textarea {
      gap: 6.4vw;
      width: 100%;
   }

   .recruit-text {
      font-size: 3.2vw;
   }

   #recruit::after {
      height: 60.8vw;
      left: unset;
      right: 0;
      top: 0;
      transform: rotate(0deg);
      width: 60.8vw;
   }
}

/* /recruit --------------------- */


/* contact --------------------- */
#contact {
   background-image: url(../img/contact-bg_pc.webp);
   background-size: cover;
   background-color: rgba(255, 255, 255, 0.8);
   background-blend-mode: lighten;
   padding: 120px 0 249px;
   position: relative;
}

.contact-text {
   font-size: 15px;
   line-height: 2;
   text-align: center;
}

.contact-inner {
   background-color: #FBF5F0;
   display: flex;
   justify-content: space-between;
   margin: 0 auto;
   padding: 93px 136px 74px;
   position: absolute;
   right: calc((100% - 1168px) / 2);
   top: 338px;
   width: 1168px;
}

.contact-inner::before {
   background-color: var(--pink-main);
   content: "";
   display: block;
   height: 80px;
   position: absolute;
   right: 50%;
   top: -40px;
   width: 1px;
}

.contact-btnarea {
   width: 373px;
}

.contact-btn-title {
   color: var(--pink-main);
   font-size: 24px;
   margin-bottom: 30px;
}

@media only screen and (max-width: 1440px) {
   #contact {
      padding: 8.33vw 0 17.29vw;
   }

   .contact-text {
      font-size: 1.04vw;
   }

   .contact-inner {
      padding: 6.45vw 9.44vw 5.13vw;
      right: calc((100% - 81.11vw) / 2);
      top: 23.47vw;
      width: 81.11vw;
   }

   .contact-inner::before {
      height: 5.55vw;
      top: -2.77vw;
      width: 1px;
   }

   .contact-btnarea {
      width: 25.90vw;
   }

   .contact-btn-title {
      font-size: 1.66vw;
      margin-bottom: 2.08vw;
   }
}

@media only screen and (max-width: 760px) {
   #contact {
      background-image: url(../img/contact-bg_sp.webp);
      padding: 16vw 0 85.33vw;
   }

   .contact-text {
      font-size: 3.2vw;
      text-align: start;
   }

   .contact-inner {
      flex-direction: column;
      gap: 10.66vw;
      padding: 10.66vw 6.4vw;
      right: calc(15% / 2);
      top: 66.66vw;
      width: 85%;
   }

   .contact-inner::before {
      height: 6.4vw;
      top: -3.2vw;
      width: 1px;
   }

   .contact-btnarea {
      width: 100%;
   }

   .contact-btn-title {
      font-size: 4.26vw;
      margin-bottom: 6.4vw;
      text-align: center;
   }
}

/* /contact --------------------- */