@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 1rem;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  background-color: rgb(255, 254, 245);
}

html, body {
  height: 100%;
}

*, *::before, *::after {
  box-sizing: inherit;
}

* {
  box-sizing: border-box;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

p {
  line-height: 1.9rem;
}

.wrapper {
  padding: 0 5%;
  max-width: 1000px;
  margin: 0 auto;
}

section {
  padding: 100px 0 100px;
}

.sectionTitle {
  font-family: "Josefin Slab", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 64px;
  text-align: center;
  margin-top: 100px;
}
@media screen and (max-width: 600px) {
  .sectionTitle {
    font-size: 2.4rem;
  }
}

.sectionTitle__subtitle {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  display: block;
  text-align: center;
  margin-top: 20px;
}

#page-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 60px;
  z-index: 99;
}
@media screen and (max-width: 530px) {
  #page-top {
    width: 50px;
    bottom: 16px;
    right: 16px;
  }
}
#page-top img {
  width: 100%;
  transition: all 0.3 ease;
}
#page-top img:hover {
  opacity: 0.7;
}

.titleAnime {
  opacity: 0;
}

.blur {
  -webkit-animation-name: blurAnime;
          animation-name: blurAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes blurAnime {
  from {
    opacity: 0;
    filter: blur(30px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes blurAnime {
  from {
    opacity: 0;
    filter: blur(30px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
.box {
  opacity: 0;
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.delay-time02 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.delay-time04 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.content {
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 100%;
  min-height: calc(100vh - 100px);
}

#topPage {
  position: relative;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  padding: 0 5%;
  z-index: 9999;
}
header::before {
  content: "";
  display: block;
  width: 100%;
  height: 150%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
  background-color: #FBB848;
  -webkit-clip-path: polygon(0% 0%, 0 65%, 17% 88%, 35% 55%, 55% 84%, 64% 51%, 83% 86%, 100% 59%, 100% 0%);
          clip-path: polygon(0% 0%, 0 65%, 17% 88%, 35% 55%, 55% 84%, 64% 51%, 83% 86%, 100% 59%, 100% 0%);
}
header.change::before {
  opacity: 1;
}
header .header__logo {
  position: absolute;
  top: 10px;
  left: 5%;
}
header .header__logo:hover {
  opacity: 0.7;
}

/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  right: -600px;
  bottom: 0;
  width: 350px;
  background: #842E4C;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  opacity: 1;
  z-index: 30;
}

.open nav {
  right: 0;
  opacity: 1;
}

nav .inner {
  padding: 25px;
}
nav .inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav .inner ul li {
  margin: 0;
  position: relative;
}
nav .inner ul li:last-child a {
  margin-top: 40px;
  color: #FBB848;
}
nav .inner ul li a {
  padding: 1.2rem;
  display: block;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  color: #ee90cf;
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 2%;
  right: 5%;
  width: 30px;
  height: 30px;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #842E4C;
  border-radius: 4px;
  transition: all 0.5s;
}

.toggle_btn span:nth-child(1) {
  top: 4px;
}

.toggle_btn span:nth-child(2) {
  top: 14px;
}

.toggle_btn span:nth-child(3) {
  bottom: 4px;
}

.open .toggle_btn span {
  background-color: #fff;
  z-index: 5;
}

.open .toggle_btn span:nth-child(1) {
  transform: translateY(10px) rotate(-315deg);
}

.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}

.open .toggle_btn span:nth-child(3) {
  transform: translateY(-10px) rotate(315deg);
}

/*============
#mask
=============*/
#mask {
  display: block;
  transition: all 0.5s;
}

.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 254, 245);
  opacity: 0.8;
  z-index: 20;
  cursor: pointer;
}

.mail-page {
  background-color: #FBB848;
}

#footer {
  position: relative;
  width: 100%;
  color: white;
  font-size: 12px;
}
#footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 90px;
  position: absolute;
  top: 100px;
  left: 0;
  bottom: 0;
  transform: translateY(-99%);
  background-color: #FBB848;
  -webkit-clip-path: polygon(0 60%, 10% 30%, 25% 45%, 45% 0%, 60% 40%, 85% 10%, 100% 50%, 100% 100%, 0 100%);
          clip-path: polygon(0 60%, 10% 30%, 25% 45%, 45% 0%, 60% 40%, 85% 10%, 100% 50%, 100% 100%, 0 100%);
}
#footer .footer__text a {
  color: white;
}
#footer .footer__text-copyRight, #footer .footer__text-privacyPolicy {
  padding-bottom: 8px;
  position: absolute;
  bottom: -100px;
}
#footer .footer__text-copyRight {
  left: 5%;
}
#footer .footer__text-privacyPolicy {
  right: 5%;
}

#topPage {
  background-color: rgb(255, 254, 245);
}

.mainVisual {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  position: relative;
  background-color: #FBB848;
  background-image: url(../img/mainVisual/mv_bg1.png);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
}
@media screen and (max-width: 1000px) {
  .mainVisual {
    height: 75dvh;
  }
}
.mainVisual__logo img {
  width: 30%;
  position: absolute;
  margin-left: 20px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  z-index: 10;
}
@media screen and (max-width: 600px) {
  .mainVisual__logo img {
    width: 40%;
  }
}
.mainVisual__pictures-imoImg img {
  width: 30%;
  position: absolute;
  left: 0%;
  bottom: -2%;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .mainVisual__pictures-imoImg img {
    width: 38%;
  }
}
@media screen and (max-width: 600px) {
  .mainVisual__pictures-imoImg img {
    bottom: 2%;
  }
}
@media screen and (max-width: 530px) {
  .mainVisual__pictures-imoImg img {
    bottom: 5%;
  }
}
.mainVisual__pictures-tsuboImg img {
  position: absolute;
  width: 27%;
  right: -3%;
  bottom: 0;
}
@media screen and (max-width: 800px) {
  .mainVisual__pictures-tsuboImg img {
    width: 33%;
  }
}
@media screen and (max-width: 600px) {
  .mainVisual__pictures-tsuboImg img {
    bottom: 4%;
  }
}
@media screen and (max-width: 530px) {
  .mainVisual__pictures-tsuboImg img {
    bottom: 6%;
  }
}

.feature {
  position: relative;
  background-image: url(../img/feature/feature_bg.jpg);
  background-size: contain;
  background-repeat: repeat;
  background-position: top;
  z-index: 2;
}
.feature::before {
  content: "";
  display: block;
  width: 100%;
  height: 120px;
  position: absolute;
  top: -2px;
  left: 0;
  transform: translateY(-98%);
  background-color: rgb(255, 254, 245);
  -webkit-clip-path: polygon(0 100%, 0 26%, 23% 80%, 41% 34%, 58% 79%, 75% 22%, 100% 100%, 100% 100%);
          clip-path: polygon(0 100%, 0 26%, 23% 80%, 41% 34%, 58% 79%, 75% 22%, 100% 100%, 100% 100%);
}
.feature__top h2 {
  margin-top: 40px;
}
@media screen and (max-width: 600px) {
  .feature__top h2 {
    margin-top: 0;
  }
}
.feature__topText {
  margin-top: 60px;
  font-size: 2rem;
  text-align: center;
  line-height: 4rem;
}
@media screen and (max-width: 600px) {
  .feature__topText {
    font-size: 1.3rem;
    line-height: 2.6rem;
  }
}
.feature__contents {
  max-width: 1000px;
  margin: 0 auto;
}
.feature__contents ul {
  margin-top: 100px;
  counter-reset: item;
}
@media screen and (max-width: 600px) {
  .feature__contents ul {
    margin-top: 50px;
  }
}
.feature__contents li {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .feature__contents li {
    flex-direction: column;
  }
}
.feature__contents li:nth-child(2) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 800px) {
  .feature__contents li:nth-child(2) {
    flex-direction: column;
  }
}
@media screen and (max-width: 800px) {
  .feature__image {
    margin: -90px 0 0 auto;
  }
}
.feature__image img {
  width: 320px;
}
.feature__textParts {
  margin: 110px 5% 80px;
  width: 60%;
}
@media screen and (max-width: 530px) {
  .feature__textParts {
    width: 80%;
  }
}
.feature__textParts--title {
  margin-bottom: 8px;
  font-size: 2rem;
  position: relative;
}
@media screen and (max-width: 600px) {
  .feature__textParts--title {
    font-size: 1.3rem;
  }
}
.feature__textParts--title::before {
  content: counter(item, decimal-leading-zero);
  counter-increment: item;
  position: absolute;
  top: -7.5rem;
  left: 0;
  font-size: 3rem;
  color: #EBBEB9;
  font-family: "Dosis", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 6.5rem;
}
@media screen and (max-width: 600px) {
  .feature__textParts--title::before {
    font-size: 5rem;
    top: -6rem;
  }
}
.feature__textParts--title--text {
  line-height: 1.8rem;
}

#menu {
  padding-top: 0;
  background-color: #FBB848;
  position: relative;
}
#menu h2 {
  margin-top: 200px;
}
#menu::before {
  content: "";
  display: block;
  width: 100%;
  height: 180px;
  position: absolute;
  top: 0px;
  left: 0;
  transform: translateY(-99%);
  background-color: #FBB848;
  -webkit-clip-path: polygon(0% 50%, 19% 1%, 39% 28%, 60% 2%, 74% 54%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 50%, 19% 1%, 39% 28%, 60% 2%, 74% 54%, 100% 0%, 100% 100%, 0% 100%);
}
#menu::after {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(99%);
  background-color: #FBB848;
  -webkit-clip-path: polygon(0 0, 0 84%, 15% 33%, 31% 84%, 59% 38%, 79% 100%, 100% 59%, 100% 0);
          clip-path: polygon(0 0, 0 84%, 15% 33%, 31% 84%, 59% 38%, 79% 100%, 100% 59%, 100% 0);
}

.menu {
  max-width: 1000px;
  margin: 0 auto;
  padding-inline: 3%;
}
.menu__listContainer {
  padding-block: 80px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 16px;
  grid-row-gap: 40px;
}
@media screen and (max-width: 800px) {
  .menu__listContainer {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 530px) {
  .menu__listContainer {
    grid-template-columns: repeat(1, 1fr);
  }
}
.menu__list {
  background-color: rgb(255, 254, 245);
  border-radius: 8px;
}
.menu__image {
  background-image: url(../img/menu/menu_bgImo.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 8px 8px 0 0;
}
.menu__image img {
  margin: 0 auto;
  padding: 5%;
  width: 80%;
  display: flex;
  justify-content: center;
}
.menu__text {
  padding: 8%;
}
.menu__name {
  font-size: 18px;
  font-weight: bold;
}
.menu__price {
  margin-top: 8px;
  font-family: "Trispace", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-size: 16px;
}
.menu__price-smallFont {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.menu__explanation {
  margin-top: 8px;
  font-size: 14px;
}
.menu__explanation .online {
  color: #CC5D5E;
}
.menu__explanation .online:hover {
  opacity: 0.7;
}
.menu__button {
  display: flex;
  justify-content: center;
  gap: 5%;
}
@media screen and (max-width: 530px) {
  .menu__button {
    flex-direction: column;
    gap: 20px;
  }
}
.menu__button--allMenu, .menu__button--onlineShop {
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
  line-height: 45px;
  z-index: 10;
}
.menu__button--allMenu {
  position: relative;
  border: 3px solid #CC5D5E;
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: rgb(255, 254, 245);
  overflow: hidden;
  cursor: pointer;
  color: #CC5D5E;
}
.menu__button--allMenu::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed #CC5D5E;
  border-radius: 100px;
  transition: border 0.3s ease;
}
.menu__button--allMenu:hover::before {
  border: 3px solid #CC5D5E;
}
.menu__button--allMenu:active::before {
  border: 3px solid #CC5D5E;
  transition: border 0.3s ease;
}
.menu__button--onlineShop {
  position: relative;
  border: 3px solid rgb(255, 254, 245);
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: #CC5D5E;
  overflow: hidden;
  cursor: pointer;
  color: rgb(255, 254, 245);
}
.menu__button--onlineShop::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed rgb(255, 254, 245);
  border-radius: 100px;
  transition: border 0.3s ease;
}
.menu__button--onlineShop:hover::before {
  border: 3px solid rgb(255, 254, 245);
}
.menu__button--onlineShop:active::before {
  border: 3px solid rgb(255, 254, 245);
  transition: border 0.3s ease;
}

#blogOfficialContact {
  padding: 60px 5% 160px;
  background-image: url(../img/blog_official_contact/blogOfficialContact_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#blogOfficialContact .blogOfficialContact__contents {
  padding: 10px 3% 100px;
  margin-top: 160px;
  max-width: 800px;
  background-color: rgba(255, 254, 245, 0.9);
}
#blogOfficialContact .blogOfficialContact__text {
  margin: 40px 8%;
  text-align: center;
}
@media screen and (max-width: 800px) {
  #blogOfficialContact .blogOfficialContact__text .tab-mode {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  #blogOfficialContact .blogOfficialContact__text {
    text-align: left;
  }
}
#blogOfficialContact .blogOfficialContact__button, #blogOfficialContact .blogOfficialContact__contactButtonTop, #blogOfficialContact .blogOfficialContact__contactButtonBottom {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 10%;
}
@media screen and (max-width: 530px) {
  #blogOfficialContact .blogOfficialContact__button, #blogOfficialContact .blogOfficialContact__contactButtonTop, #blogOfficialContact .blogOfficialContact__contactButtonBottom {
    flex-direction: column;
    gap: 20px;
  }
}
#blogOfficialContact .blogOfficialContact__button--blog, #blogOfficialContact .blogOfficialContact__button--instagram, #blogOfficialContact .blogOfficialContact__button--x, #blogOfficialContact .blogOfficialContact__button--tel, #blogOfficialContact .blogOfficialContact__button--line, #blogOfficialContact .blogOfficialContact__button--mail, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram, #blogOfficialContact .blogOfficialContact__contactButtonTop--x, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel, #blogOfficialContact .blogOfficialContact__contactButtonTop--line, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 530px) {
  #blogOfficialContact .blogOfficialContact__button--blog, #blogOfficialContact .blogOfficialContact__button--instagram, #blogOfficialContact .blogOfficialContact__button--x, #blogOfficialContact .blogOfficialContact__button--tel, #blogOfficialContact .blogOfficialContact__button--line, #blogOfficialContact .blogOfficialContact__button--mail, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram, #blogOfficialContact .blogOfficialContact__contactButtonTop--x, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel, #blogOfficialContact .blogOfficialContact__contactButtonTop--line, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail {
    margin: 0 auto;
  }
}
#blogOfficialContact .blogOfficialContact__button--blog a, #blogOfficialContact .blogOfficialContact__button--instagram a, #blogOfficialContact .blogOfficialContact__button--x a, #blogOfficialContact .blogOfficialContact__button--tel a, #blogOfficialContact .blogOfficialContact__button--line a, #blogOfficialContact .blogOfficialContact__button--mail a, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog a, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram a, #blogOfficialContact .blogOfficialContact__contactButtonTop--x a, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel a, #blogOfficialContact .blogOfficialContact__contactButtonTop--line a, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line a, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail a {
  display: block;
}
#blogOfficialContact .blogOfficialContact__button--blog p, #blogOfficialContact .blogOfficialContact__button--instagram p, #blogOfficialContact .blogOfficialContact__button--x p, #blogOfficialContact .blogOfficialContact__button--tel p, #blogOfficialContact .blogOfficialContact__button--line p, #blogOfficialContact .blogOfficialContact__button--mail p, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog p, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram p, #blogOfficialContact .blogOfficialContact__contactButtonTop--x p, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel p, #blogOfficialContact .blogOfficialContact__contactButtonTop--line p, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail p {
  font-weight: bold;
}
#blogOfficialContact .blogOfficialContact__button--blog img, #blogOfficialContact .blogOfficialContact__button--instagram img, #blogOfficialContact .blogOfficialContact__button--x img, #blogOfficialContact .blogOfficialContact__button--tel img, #blogOfficialContact .blogOfficialContact__button--line img, #blogOfficialContact .blogOfficialContact__button--mail img, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog img, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram img, #blogOfficialContact .blogOfficialContact__contactButtonTop--x img, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel img, #blogOfficialContact .blogOfficialContact__contactButtonTop--line img, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail img {
  margin-right: 40px;
}
#blogOfficialContact .blogOfficialContact__button--blog, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog {
  position: relative;
  border: 3px solid #842E4C;
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: rgb(255, 254, 245);
  overflow: hidden;
  cursor: pointer;
  color: #842E4C;
}
#blogOfficialContact .blogOfficialContact__button--blog::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed #842E4C;
  border-radius: 100px;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--blog:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog:hover::before {
  border: 3px solid #842E4C;
}
#blogOfficialContact .blogOfficialContact__button--blog:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog:active::before {
  border: 3px solid #842E4C;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--blog p, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog p {
  color: #842E4C;
}
#blogOfficialContact .blogOfficialContact__button--blog img, #blogOfficialContact .blogOfficialContact__contactButtonTop--blog img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--blog img {
  width: 30%;
  margin-right: 24px;
}
#blogOfficialContact .blogOfficialContact__button--instagram, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram {
  position: relative;
  border: 3px solid #EA35A3;
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: rgb(255, 254, 245);
  overflow: hidden;
  cursor: pointer;
}
#blogOfficialContact .blogOfficialContact__button--instagram::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed #EA35A3;
  border-radius: 100px;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--instagram:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram:hover::before {
  border: 3px solid #EA35A3;
}
#blogOfficialContact .blogOfficialContact__button--instagram:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram:active::before {
  border: 3px solid #EA35A3;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--instagram p, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram p {
  color: #EA35A3;
}
#blogOfficialContact .blogOfficialContact__button--instagram img, #blogOfficialContact .blogOfficialContact__contactButtonTop--instagram img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--instagram img {
  width: 29px;
}
#blogOfficialContact .blogOfficialContact__button--x, #blogOfficialContact .blogOfficialContact__contactButtonTop--x, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x {
  position: relative;
  border: 3px solid #000;
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: rgb(255, 254, 245);
  overflow: hidden;
  cursor: pointer;
}
#blogOfficialContact .blogOfficialContact__button--x::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--x::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed #000;
  border-radius: 100px;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--x:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--x:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x:hover::before {
  border: 3px solid #000;
}
#blogOfficialContact .blogOfficialContact__button--x:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--x:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x:active::before {
  border: 3px solid #000;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--x p, #blogOfficialContact .blogOfficialContact__contactButtonTop--x p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x p {
  color: #000;
}
#blogOfficialContact .blogOfficialContact__button--x img, #blogOfficialContact .blogOfficialContact__contactButtonTop--x img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--x img {
  width: 28px;
}
#blogOfficialContact .blogOfficialContact__button--tel, #blogOfficialContact .blogOfficialContact__button--line, #blogOfficialContact .blogOfficialContact__button--mail, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel, #blogOfficialContact .blogOfficialContact__contactButtonTop--line, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail {
  position: relative;
  border: 3px solid #CC5D5E;
  width: 280px;
  height: 50px;
  border-radius: 100px;
  background-color: rgb(255, 254, 245);
  overflow: hidden;
  cursor: pointer;
}
#blogOfficialContact .blogOfficialContact__button--tel::before, #blogOfficialContact .blogOfficialContact__button--line::before, #blogOfficialContact .blogOfficialContact__button--mail::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--line::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  border: 3px dashed #CC5D5E;
  border-radius: 100px;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--tel:hover::before, #blogOfficialContact .blogOfficialContact__button--line:hover::before, #blogOfficialContact .blogOfficialContact__button--mail:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--line:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line:hover::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail:hover::before {
  border: 3px solid #CC5D5E;
}
#blogOfficialContact .blogOfficialContact__button--tel:active::before, #blogOfficialContact .blogOfficialContact__button--line:active::before, #blogOfficialContact .blogOfficialContact__button--mail:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--line:active::before, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line:active::before, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail:active::before {
  border: 3px solid #CC5D5E;
  transition: border 0.3s ease;
}
#blogOfficialContact .blogOfficialContact__button--tel p, #blogOfficialContact .blogOfficialContact__button--line p, #blogOfficialContact .blogOfficialContact__button--mail p, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel p, #blogOfficialContact .blogOfficialContact__contactButtonTop--line p, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail p {
  color: #CC5D5E;
}
#blogOfficialContact .blogOfficialContact__button--tel img, #blogOfficialContact .blogOfficialContact__button--line img, #blogOfficialContact .blogOfficialContact__button--mail img, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel img, #blogOfficialContact .blogOfficialContact__contactButtonTop--line img, #blogOfficialContact .blogOfficialContact__contactButtonTop--mail img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--line img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--mail img {
  margin-right: 40px;
  width: 28px;
}
#blogOfficialContact .blogOfficialContact__button--tel, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel {
  margin-bottom: 20px;
}
#blogOfficialContact .blogOfficialContact__button--tel p, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel p, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel p {
  font-size: 20px;
}
#blogOfficialContact .blogOfficialContact__button--tel img, #blogOfficialContact .blogOfficialContact__contactButtonTop--tel img, #blogOfficialContact .blogOfficialContact__contactButtonBottom--tel img {
  margin-right: 32px;
}

#shop {
  margin-top: 140px;
}

.shopBasicInfo {
  padding: 40px 5% 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3%;
}
@media screen and (max-width: 600px) {
  .shopBasicInfo {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 600px) {
  .shopBasicInfo__text {
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .shopBasicInfo__map {
    margin: 0 auto;
  }
}
@media screen and (max-width: 530px) {
  .shopBasicInfo__map {
    width: 100%;
  }
}
.shopBasicInfo__text dl {
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 1fr 4fr;
}
.shopBasicInfo dd {
  margin-bottom: 20px;
}
.shopBasicInfo dt {
  display: flex;
}
.shopBasicInfo .shopIcon img {
  width: 36px;
  margin-top: 8px;
}
.shopBasicInfo dt img {
  width: 30px;
  align-self: flex-start;
}
.shopBasicInfo__map img {
  width: 100%;
}
.shopBasicInfo td {
  padding-right: 16px;
  text-align: right;
}
@media screen and (max-width: 800px) {
  .shopBasicInfo td {
    padding-right: 8px;
  }
}
.shopBasicInfo td:last-child {
  text-align: left;
}
.shopBasicInfo__tel {
  font-size: 20px;
}
.shopBasicInfo__tel a {
  color: #333;
}
.shopBasicInfo__tel a:hover {
  color: #842E4C;
}

.shopAdditionalInfo {
  padding: 0 5% 140px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3%;
}
@media screen and (max-width: 600px) {
  .shopAdditionalInfo {
    margin: 0 auto;
    width: 82%;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 530px) {
  .shopAdditionalInfo {
    width: 100%;
  }
}
.shopAdditionalInfo__kitchenCar, .shopAdditionalInfo__parking {
  padding: 16px;
  background-color: #fff;
  border-radius: 8px;
  text-align: center;
}
.shopAdditionalInfo img {
  width: 25%;
}
.shopAdditionalInfo__kitchenCar--topText, .shopAdditionalInfo__parking--topText {
  margin-bottom: 16px;
  font-size: 20px;
}
.shopAdditionalInfo__kitchenCar--bottomText, .shopAdditionalInfo__parking--bottomText {
  text-align: left;
}
.shopAdditionalInfo__parking--textMap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 530px) {
  .shopAdditionalInfo__parking--textMap {
    grid-template-columns: 1fr;
  }
}
.shopAdditionalInfo__parking--textMap img {
  width: 100%;
  justify-self: end;
}
@media screen and (max-width: 530px) {
  .shopAdditionalInfo__parking--textMap img {
    width: 70%;
  }
}

#menu__singlePage {
  background-color: rgb(255, 254, 245);
}
#menu__singlePage h2 {
  margin-top: 90px;
}
@media screen and (max-width: 600px) {
  #menu__singlePage h2 {
    margin-top: 80px;
  }
}

.menu__listContainer--singlePage {
  padding: 80px 0 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 32px;
}
@media screen and (max-width: 800px) {
  .menu__listContainer--singlePage {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 530px) {
  .menu__listContainer--singlePage {
    padding-bottom: 80px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.menu__listContainer--singlePage li {
  list-style: none;
  flex: 1 1 30%;
  max-width: 30%;
  background-color: white;
}
@media screen and (max-width: 800px) {
  .menu__listContainer--singlePage li {
    max-width: 100%;
  }
}
.menu__list {
  background-color: rgb(255, 254, 245);
  border-radius: 8px;
}
.menu__image {
  background-image: url(../img/menu/menu_bgImo.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 8px 8px 0 0;
}
.menu__image img {
  margin: 0 auto;
  padding: 5%;
  width: 80%;
  display: flex;
  justify-content: center;
}
.menu__text {
  padding: 8%;
}
.menu__name {
  font-size: 18px;
  font-weight: bold;
}
.menu__price {
  font-size: 1.2rem;
  font-family: "Trispace", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  margin-top: 8px;
}
.menu__price-smallFont {
  font-size: 0.9rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.menu__withoutImoList-wrapper {
  padding: 0 5% 120px;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 530px) {
  .menu__withoutImoList-wrapper {
    padding: 0 5% 80px;
  }
}

.menu__withoutImoList {
  display: flex;
  gap: 16px;
  justify-content: center;
}
@media screen and (max-width: 800px) {
  .menu__withoutImoList {
    flex-direction: column;
    gap: 32px;
  }
}
.menu__withoutImoList--softCream, .menu__withoutImoList--shaveIce {
  width: 50%;
  background-color: #ffffff;
  padding: 4%;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .menu__withoutImoList--softCream, .menu__withoutImoList--shaveIce {
    width: 80%;
  }
}
@media screen and (max-width: 530px) {
  .menu__withoutImoList--softCream, .menu__withoutImoList--shaveIce {
    width: 100%;
  }
}
.menu__withoutImoList--softCream {
  background-image: url(../img/menu/menu_bgSoftCream.png);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
  border-radius: 8px;
}
.menu__withoutImoList--shaveIce {
  background-image: url(../img/menu/menu_bgShaveIce.png);
  background-size: contain;
  background-repeat: repeat;
  background-position: top;
  border-radius: 8px;
  height: 60%;
}
.menu__withoutImoList--line {
  display: grid;
  grid-template-columns: 80% 1fr;
}
.menu__withoutImoList--line h4 {
  margin-bottom: 16px;
}
.menu__withoutImoList--line p {
  display: flex;
  margin: 0;
  align-self: flex-start;
  text-align: right;
}

#collaboration {
  background-color: #FBB848;
  position: relative;
}
#collaboration h2 {
  margin-top: 0;
}
@media screen and (max-width: 800px) {
  #collaboration {
    padding: 100px 0 80px;
  }
}
#collaboration::before {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-99%);
  background-color: #FBB848;
  -webkit-clip-path: polygon(0% 100%, 16% 16%, 33% 79%, 50% 14%, 74% 83%, 100% 0, 100% 100%);
          clip-path: polygon(0% 100%, 16% 16%, 33% 79%, 50% 14%, 74% 83%, 100% 0, 100% 100%);
}
#collaboration::after {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(99%);
  -webkit-clip-path: polygon(0 0, 0 84%, 15% 33%, 31% 84%, 59% 38%, 79% 100%, 100% 59%, 100% 0);
          clip-path: polygon(0 0, 0 84%, 15% 33%, 31% 84%, 59% 38%, 79% 100%, 100% 59%, 100% 0);
  background-color: #FBB848;
}

.slider-wrapper {
  width: 100%;
  overflow: hidden;
}

.collaboration__text {
  margin: 60px 8% 40px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .collaboration__text {
    text-align: left;
  }
}
.collaboration__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
}
.collaboration__list .slick-slide {
  margin: 0 16px;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.collaboration__list .slick-current {
  opacity: 1;
}
.collaboration__list .slick-list {
  overflow: visible;
}
.collaboration__item {
  width: 400px;
  padding: 40px 32px;
  background-color: white;
  border-radius: 8px;
}
@media screen and (max-width: 600px) {
  .collaboration__item {
    width: 350px;
  }
}
@media screen and (max-width: 530px) {
  .collaboration__item {
    padding: 32px 22px;
  }
}
.collaboration__item--fuwakomeBg {
  background-image: url(../img/menu/collaboration_muffin.png);
}
.collaboration__item--lilBg {
  background-image: url(../img/menu/collaboration_crepe.png);
}
.collaboration__item--pugBagelWorksBg {
  background-image: url(../img/menu/collaboration_bagel.png);
}
.collaboration__item--fuwakomeBg, .collaboration__item--lilBg, .collaboration__item--pugBagelWorksBg {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
  width: 100%;
  height: 100%;
}
.collaboration__shopName {
  background-color: #CC5D5E;
  padding: 4px;
  color: #fff;
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  border-radius: 8px;
}
.collaboration__shopName span {
  display: block;
  font-size: 0.9rem;
  text-align: center;
  font-weight: normal;
}
.collaboration__productName {
  margin-bottom: 16px;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 600px) {
  .collaboration__productName {
    margin-bottom: 8px;
  }
}
.collaboration__productExplanation {
  line-height: 2rem;
}
@media screen and (max-width: 600px) {
  .collaboration__productExplanation {
    line-height: 1.8rem;
  }
}

#others {
  background-image: url(../img/menu/others_bg.png);
  background-size: cover;
  background-repeat: repeat;
  background-position: bottom center;
  padding-bottom: 160px;
}
@media screen and (max-width: 530px) {
  #others {
    background-size: cover;
    background-repeat: repeat;
    background-position: bottom left;
  }
}
#others h2 {
  margin-top: 110px;
}
@media screen and (max-width: 530px) {
  #others h2 {
    margin-top: 80px;
  }
}

.others__text {
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
.others__text p {
  margin-inline: 8%;
  max-width: 800px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .others__text p {
    text-align: left;
  }
}
.others__text p .tab-mode {
  display: block;
}
@media screen and (max-width: 800px) {
  .others__text p .tab-mode {
    display: none;
  }
}

#mailPage {
  width: 100vw;
  background-image: url(../img/contact_bg.png);
  background-size: cover;
  background-repeat: repeat-Y;
  background-position: top 80px;
  background-color: #FBB848;
}

.mail__text--explanation {
  margin: 0 auto;
  max-width: 600px;
  text-align: center;
}
.mail__text--explanation p {
  margin-top: 60px;
}
@media screen and (max-width: 530px) {
  .mail__text--explanation p {
    margin-top: 20px;
    text-align: left;
  }
}

@media screen and (max-width: 530px) {
  .sp-mode {
    display: none;
  }
}

/* contact-page */
.contact-page {
  background-image: url(../img/contact_bg.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.contact-page h2 {
  padding: 150px 0 40px;
}

section.contact-form {
  padding-top: 30px;
}

.contact-container {
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (max-width: 545px) {
  .contact-container {
    padding: 0 4%;
  }
}
.contact-contents_text {
  font-weight: bold;
  padding-inline: 4px;
}

form {
  margin: 0 auto;
  width: calc(100% - 10px);
}

label {
  margin-left: 4px;
}

form .form-label {
  padding-bottom: 4px;
  font-weight: bold;
  /* height: 30px; */
  line-height: 30px;
}

form .form-label span {
  background-color: #FF1A00;
  color: #ffffff;
  border-radius: 4px;
  font-size: 0.7rem;
  padding: 4px;
  vertical-align: top;
}

form .form-label a {
  color: #FF1A00;
}

form .form-label a:hover {
  color: #FC6B60;
}

.form-row {
  padding-block: 16px;
}

input,
textarea,
select {
  width: 100%;
  background-color: #fff;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
}

.checkbox-area input {
  width: auto;
}

input ::-moz-placeholder, textarea ::-moz-placeholder, select ::-moz-placeholder {
  color: #888888;
  font-size: 14px;
}

input ::placeholder,
textarea ::placeholder,
select ::placeholder {
  color: #888888;
  font-size: 14px;
}

/* checkbox デザイン無効 */
input[type=checkbox] {
  /* border-radius: 0; */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 12px 12px;
}

input[type=checkbox] {
  position: relative;
  width: 16px;
  height: 16px;
  /* border: 1px solid #000; */
  vertical-align: middle;
}

input[type=checkbox]:checked:before {
  position: absolute;
  top: 2px;
  left: 7px;
  transform: rotate(50deg);
  width: 10px;
  height: 14px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  content: "";
}

select {
  width: auto;
}

/* ///////////  */
.wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-list-item-label {
  font-size: 0.9rem;
}

.wpcf7-list-item-label a {
  color: #FF1A00;
}

.wpcf7-list-item-label a:hover {
  color: #FC6B60;
}

/* ///////////////// */
.wpcf7 form .wpcf7-response-output {
  margin: 0 auto;
  max-width: 600px;
}

/* ////////////// */
/* 送信ボタン */
.submit-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* ボタン有効時のスタイル */
  letter-spacing: 3px;
  color: #fff;
  padding: 15px 45px;
  background-color: #FF1A00;
  border-radius: 8px;
  cursor: pointer;
  /* ポインターカーソルを表示 */
}

.submit-btn:hover {
  background-color: #FC6B60;
}

/* ボタン無効時のスタイル */
.submit-btn[disabled] {
  background-color: #ccc;
  cursor: not-allowed;
  /* クリック不可のカーソルを表示 */
}

@media screen and (max-width: 545px) {
  .contact-page h2 {
    padding: 100px 0 40px;
  }
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #842E4C;
}

.archive {
  background-image: url(../img/feature/feature_bg.jpg);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
  padding: 80px 0 100px;
}
.archive h2 {
  margin: 100px 0 60px;
}
.archive__text {
  margin: 0 auto 40px;
  max-width: 900px;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .archive__text {
    text-align: left;
  }
}

.tab-mode {
  display: block;
}
@media screen and (max-width: 800px) {
  .tab-mode {
    display: none;
  }
}

.archiveList {
  margin: 40px auto;
  padding: 32px;
  max-width: 800px;
  background-color: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 530px) {
  .archiveList {
    padding: 32px 24px;
  }
}
.archiveList li {
  border-bottom: 1px solid #afafaf;
}
.archiveList li:first-child {
  border-top: 1px solid #afafaf;
}
.archiveList__item {
  padding: 12px;
  display: flex;
  color: #333;
  align-self: center;
}
@media screen and (max-width: 530px) {
  .archiveList__item {
    flex-direction: column;
  }
}
.archiveList__item:hover {
  color: #842E4C;
}
.archiveList__item--date {
  padding-right: 8px;
  line-height: 0.8rem;
  align-self: center;
  font-size: 0.8rem;
}
@media screen and (max-width: 530px) {
  .archiveList__item--date {
    padding-bottom: 8px;
    align-self: flex-start;
  }
}
.archiveList__item--title {
  font-size: 0.9rem;
  font-weight: normal;
}

.pnavi {
  text-align: center;
  margin: 60px 0;
  font-size: 0.8rem;
}

.pnavi a, .pnavi span {
  display: inline-block;
  padding: 6px 10px;
  margin: 0 2px;
  text-decoration: none;
  border: 1px solid #ddd;
  color: #333;
}

.pnavi a:hover {
  background-color: #333;
  color: #fff;
}

.pnavi .current {
  background-color: #333;
  color: #fff;
  border: 1px solid #333;
}

.singleBlog {
  background-image: url(../img/feature/feature_bg.jpg);
  background-size: contain;
  background-repeat: repeat;
  background-position: left bottom;
  padding: 80px 0 100px;
}
.singleBlog h2 {
  margin: 100px 0 60px;
}
.singleBlog__text {
  margin: 0 auto 40px;
  max-width: 560px;
}
.singleBlog__contents {
  margin: 0 auto;
  max-width: 800px;
  padding: 0;
}
.singleBlog__contents--top {
  padding: 32px;
}
.singleBlog__contents--date {
  margin-right: 8px;
  line-height: 2rem;
}
.singleBlog__contents--title {
  margin-bottom: 16px;
  font-size: 1.3rem;
  font-weight: bold;
}
.singleBlog__contents--bottom {
  padding: 32px;
  background-color: #fff;
  border-radius: 16px;
}
@media screen and (max-width: 530px) {
  .singleBlog__contents--bottom {
    padding: 3%;
  }
}
.singleBlog__contents--subTitle {
  padding: 4px;
  background: rgba(204, 93, 94, 0.3);
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: normal;
}
.singleBlog__contents--text {
  margin-bottom: 56px;
}
.singleBlog__contents--img {
  width: 40%;
}

.post-navigation {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 80px;
  font-size: 0.8rem;
}

.post-navigation__links {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 600px;
}

.prev-post, .next-post {
  flex: 1;
  text-align: center;
}

.prev-post a, .next-post a {
  color: #333;
}

.prev-post a:hover,
.next-post a:hover {
  color: #842E4C;
}

.back-to-archive a {
  display: inline-block;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
}

.back-to-archive a:hover {
  color: #842E4C;
}

#privacyPolicy {
  margin: 150px 0 160px;
}

.privacyPolicy__explanation {
  display: flex;
  justify-content: center;
}
.privacyPolicy__explanation p {
  max-width: 600px;
  margin: 80px 0 16px;
}
@media screen and (max-width: 600px) {
  .privacyPolicy__explanation p {
    margin: 60px 0 16px;
  }
}
.privacyPolicy__textParts {
  margin-block: 24px;
}
.privacyPolicy__textParts li {
  margin-top: 24px;
}
.privacyPolicy__companyName {
  margin-bottom: 100px;
}
/*# sourceMappingURL=main.css.map */