@charset "UTF-8";
/* 
font-family: "Zen Maru Gothic", serif;
font-family: "Noto Sans JP", sans-serif;
*/
body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #6e5d4c;
  min-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.fixed {
  position: fixed;
  z-index: 10;
  bottom: 2%;
  right: 2%;
}

/*--------------------cmn--------------------*/
.cmn_btn {
  width: 100%;
  background: #8a4350;
  border-radius: 999px;
  padding: 25px 30px 29px;
  border: 2px solid #8a4350;
  transition: 0.3s;
  text-align: center;
}
.cmn_btn:hover {
  background: #fff;
  opacity: 1;
}
.cmn_btn:hover p {
  color: #8a4350;
}
.cmn_btn p {
  transition: 0.3s;
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  color: #fff;
  position: relative;
  z-index: 1;
}
.cmn_btn p::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.9090909091em;
  height: 0.9090909091em;
  background: url(/img/common/btnarw01.png) no-repeat center center/contain;
}

.cmn_tel p {
  font-size: 35px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  padding-left: 1.2857142857em;
}
.cmn_tel p::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 1.0571428571em;
  height: 0.8285714286em;
  background: url(/img/common/tel_icon.png) no-repeat center center/contain;
}
.cmn_tel img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cmn_txt {
  font-size: 17px;
  line-height: 2.0588235294em;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.cmn_ttl {
  text-align: center;
  margin-bottom: 60px;
}
.cmn_ttl_sub {
  font-size: 27px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  color: #8a4350;
  position: relative;
  z-index: 1;
  padding-left: 2.037037037em;
  padding-right: 2.037037037em;
  display: inline-block;
}
.cmn_ttl_sub::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 1.3333333333em;
  height: 0.1481481481em;
  background: url(/img/common/linettl.png) no-repeat center center/contain;
}
.cmn_ttl_sub::after {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 1.3333333333em;
  height: 0.1481481481em;
  background: url(/img/common/linettl.png) no-repeat center center/contain;
}
.cmn_ttl_main {
  display: block;
  font-size: 50px;
  line-height: 1.3em;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  margin-top: 10px;
}

/*--------------------cmn--------------------*/
/*--------------------header--------------------*/
.header {
  width: 100%;
  background: #fff;
  padding: 30px 70px 25px 100px;
}
@media screen and (max-width: 1500px) {
  .header {
    padding: 30px 30px 25px 30px;
  }
}
.header_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
.header_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
  margin-bottom: 25px;
}
.header_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
}
@media screen and (max-width: 1500px) {
  .header_nav_list {
    gap: 25px;
  }
}
.header_nav_item {
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
}
.header_nav_item:not(:last-child)::before {
  content: "";
  display: block;
  width: 0.2727272727em;
  height: 0.2727272727em;
  background: #8a4350;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(270%, -50%);
}
.header_nav_item .current {
  color: #8a4350;
}
.header_nav_item .hover_hover {
  transition: 0.3s;
}
.header_nav_item .hover_hover:hover {
  color: #8a4350;
  opacity: 1;
}

.line_btn {
  width: 345px;
  background: #8a4350;
  box-shadow: 0 0 10px #8a4350;
  padding: 21px 20px 21px 25px;
  border-radius: 999px;
}
.line_btn p {
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  color: #fff;
  position: relative;
  z-index: 1;
  text-align: center;
}
.line_btn p::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 1.7647058824em;
  height: 1.7647058824em;
  background: url(/img/common/lineicon.png) no-repeat center center/contain;
}
.line_btn p::after {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.9411764706em;
  height: 0.9411764706em;
  background: url(/img/common/btnarw01.png) no-repeat center center/contain;
}

/*--------------------header--------------------*/
/*--------------------footer--------------------*/
.footer {
  width: 100%;
  background: url(/img/top/deconamif.png) no-repeat bottom left/auto;
  border-top: 7px solid #8a4350;
  padding-top: 100px;
  padding-bottom: 100px;
}
.footer_logo {
  width: 450px;
  background: #faf7f0;
  margin: 0 auto 70px;
  text-align: center;
  padding: 15px;
}
.footer_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 75px;
}
.footer_dl {
  width: 465px;
}
.footer_dl_box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.3;
}
.footer_dl_box:nth-child(2) dt {
  min-width: 110px;
}
.footer_dl_box dt {
  flex-shrink: 1;
  color: #8a4350;
}
.footer_dl_box dd {
  flex-shrink: 1;
}
.footer_sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.footer_sns li {
  width: 40px;
  height: 40px;
}
.footer_sns li img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer_nav {
  margin-top: 50px;
  margin-bottom: 70px;
  padding: 25px 65px;
  border-top: 4px dotted #f5eddd;
  border-bottom: 4px dotted #f5eddd;
}
.footer_nav_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 34px;
}
.footer_nav_item {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}

.off_btn {
  width: 350px;
  padding: 25px;
  background: #f5eddd;
  border-radius: 999px;
}
.off_btn p {
  font-size: 21px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  position: relative;
  z-index: 1;
  text-align: center;
}
.off_btn p::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.8571428571em;
  height: 0.8571428571em;
  background: url(/img/common/arwbtn03.png) no-repeat center center/contain;
}

.copy_right {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 500;
  display: block;
  text-align: center;
}

/*--------------------footer--------------------*/
/*--------------------mv--------------------*/
.mv {
  width: 100%;
  margin-bottom: 85px;
  height: clamp(490px, 38.2857142857vw, 670px);
  position: relative;
  z-index: 1;
}
.mv::before {
  content: "";
  display: block;
  width: 100%;
  background: #faf7f0;
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -85px;
  transform: translate(-50%, 0%);
  height: 14.8571428571vw;
}
.mv_img {
  width: 65.1041666667%;
  height: 100%;
  border-radius: 45px;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  right: 70px;
  top: 50%;
  transform: translate(0%, -50%);
}
@media screen and (max-width: 1500px) {
  .mv_img {
    right: 30px;
  }
}
.mv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv_catch {
  width: 47.4285714286%;
  position: absolute;
  z-index: -1;
  left: 100px;
  top: 50%;
  transform: translate(0%, -50%);
}
@media screen and (max-width: 1500px) {
  .mv_catch {
    left: 30px;
  }
}

/*--------------------mv--------------------*/
/*--------------------sv--------------------*/
.sv {
  width: 100%;
  position: relative;
  z-index: 1;
  height: 530px;
}
.sv::before {
  content: "";
  display: block;
  width: 100%;
  height: 125px;
  background: #faf7f0;
  position: absolute;
  z-index: -5;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 0%);
}
.sv::after {
  position: absolute;
  z-index: -1;
  left: 95px;
  bottom: 0%;
  transform: translate(0%, -40%);
  content: "";
  display: block;
  width: 226px;
  height: 109px;
  background: url(/img/sv/svdeco.png) no-repeat center center/contain;
}
.sv_img {
  width: 65.1041666667%;
  height: 100%;
  position: absolute;
  z-index: -3;
  right: 70px;
  top: 50%;
  transform: translate(0%, -50%);
  border-radius: 45px;
  overflow: hidden;
}
@media screen and (max-width: 1500px) {
  .sv_img {
    right: 30px;
  }
}
.sv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sv_catch {
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  background: #f5eddd;
  color: #8a4350;
  width: 730px;
  text-align: center;
  padding: 32px;
  position: absolute;
  z-index: -1;
  left: 100px;
  top: 50%;
  transform: translate(0%, -50%);
  border-radius: 13px;
}
@media screen and (max-width: 1500px) {
  .sv_catch {
    left: 30px;
  }
}
.sv_sub {
  position: absolute;
  z-index: -2;
  left: 100px;
  top: 30%;
  transform: translate(0%, -50%);
}

.sv_contact::before,
.sv_complete::before,
.sv_site::before,
.sv_privacy::before,
.sv_not_found::before,
.sv_news::before {
  display: none;
}

.sub_ttl {
  display: block;
  font-size: 50px;
  line-height: 1.3em;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
}

/*--------------------sv--------------------*/
/*--------------------company--------------------*/
.mood {
  width: 100%;
  background: #faf7f0;
}
.mood_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 60px;
  position: relative;
  z-index: 1;
}
.mood_flex::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 0%;
  transform: translate(50%, -50%);
  content: "";
  display: block;
  width: 406px;
  height: 396px;
  background: url(/img/company/heart.png) no-repeat center center/contain;
}
@media screen and (max-width: 1570px) {
  .mood_flex::before {
    width: 256px;
    height: 196px;
    z-index: -1;
    right: 5%;
    top: 0%;
  }
}
.mood_img {
  width: 480px;
  height: 575px;
  overflow: hidden;
  border-radius: 20px;
}
.mood_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mood_txt {
  width: calc(100% - 540px);
}
.mood_txt p:not(:last-child) {
  margin-bottom: 30px;
}

.company {
  width: 100%;
}
.company_inner {
  position: relative;
  z-index: 1;
}
.company_inner::before {
  position: absolute;
  z-index: -1;
  left: -99px;
  bottom: 0%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 70px;
  height: 100px;
  background: url(/img/company/supoon.png) no-repeat center center/contain;
}
.company_dl {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  border: 3px solid #f5eddd;
  margin-bottom: 60px;
}
.company_dl_box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.company_dl_box:not(:last-child) dt {
  border-bottom: 3px solid #fff;
}
.company_dl_box:not(:last-child) dd {
  border-bottom: 3px solid #f5eddd;
}
.company_dl_box dt {
  width: 350px;
  background: #f5eddd;
  padding: 25px 30px 25px 50px;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.company_dl_box dd {
  width: calc(100% - 350px);
  padding: 25px 30px 25px 50px;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.company_dl_box dd img {
  display: block;
  margin-left: 10px;
}

.googlemap {
  width: 100%;
  height: 360px;
  border-radius: 25px;
  overflow: hidden;
}
.googlemap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: none;
}

/*--------------------company--------------------*/
/*--------------------use--------------------*/
.rent {
  width: 100%;
  background: #faf7f0;
}
.rent_box {
  width: 100%;
  padding: 70px 0;
  border-radius: 25px;
  border: 2px dashed #8a4350;
  background: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
.rent_box_txt {
  font-size: 20px;
  line-height: 2.2em;
}
.rent_box::before {
  position: absolute;
  z-index: -1;
  left: -100px;
  top: 0%;
  transform: translate(0%, -10%);
  content: "";
  display: block;
  width: 250px;
  height: 250px;
  background: url(/img/use/rentimg01.png) no-repeat center center/contain;
}
.rent_box::after {
  position: absolute;
  z-index: -1;
  right: -90px;
  bottom: 0%;
  transform: translate(0%, 10%);
  content: "";
  display: block;
  width: 220px;
  height: 220px;
  background: url(/img/use/rentimg02.png) no-repeat center center/contain;
}

.scene {
  width: 100%;
}
.scene_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 100px 70px;
  position: relative;
  z-index: 1;
}
.scene_list::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  bottom: 0%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 136px;
  height: 115px;
  background: url(/img/use/pot.png) no-repeat center center/contain;
}
.scene_list::after {
  position: absolute;
  z-index: -1;
  right: 0%;
  bottom: 0%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 165px;
  height: 103px;
  background: url(/img/use/purin.png) no-repeat center center/contain;
}
.scene_item {
  width: 505px;
  position: relative;
  z-index: 1;
}
.scene_item_ttl {
  font-size: 28px;
  line-height: 1.3571428571em;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #8a4350;
  text-align: center;
  margin-bottom: 15px;
}
.scene_img {
  width: 100%;
  height: 350px;
  margin-bottom: 35px;
  border-radius: 25px;
  overflow: hidden;
}
.scene_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.scene_txt {
  font-size: 20px;
}
.scene_num {
  position: absolute;
  left: 50%;
  top: 0%;
  transform: translate(-50%, -50%);
}

/*--------------------use--------------------*/
/*--------------------charm--------------------*/
.charm {
  background: url(/img/charm/deco_bgright.png) no-repeat right bottom 55%/auto, #faf7f0;
}
.charm_wrap {
  width: 100%;
}
.charm_flex {
  width: 1130px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 90px;
}
.charm_flex:not(:last-child) {
  margin-bottom: 100px;
}
.charm_flex:nth-child(odd) {
  flex-direction: row-reverse;
}
.charm_flex:nth-child(even) {
  margin-left: auto;
}
.charm_flex:nth-child(2) {
  position: relative;
  z-index: 1;
}
.charm_flex:nth-child(2)::before {
  position: absolute;
  z-index: -1;
  right: 25%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 116px;
  height: 111px;
  background: url(/img/charm/decopot.png) no-repeat center center/contain;
}
.charm_flex:nth-child(3) {
  position: relative;
  z-index: 1;
}
.charm_flex:nth-child(3)::before {
  position: absolute;
  z-index: -1;
  left: 25%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 165px;
  height: 103px;
  background: url(/img/charm/decopurin.png) no-repeat center center/contain;
}
.charm_img {
  width: 580px;
  height: 400px;
  border-radius: 25px;
  overflow: hidden;
}
.charm_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.charm_box {
  width: 450px;
}
.charm_box_ttl {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #8a4350;
  background: #fff;
  padding: 15px 10px;
  text-align: center;
  margin-bottom: 25px;
}
.charm_box_txt {
  font-size: 18px;
}

.mcharm {
  background: url(/img/charm/deco_bgleft.png) no-repeat left bottom 35%/auto;
}
.mcharm_wrap {
  width: 100%;
}
.mcharm_flex {
  width: 1130px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 90px;
}
.mcharm_flex:not(:last-child) {
  margin-bottom: 100px;
}
.mcharm_flex:nth-child(odd) {
  margin-left: auto;
}
.mcharm_flex:nth-child(even) {
  flex-direction: row-reverse;
}
.mcharm_flex:nth-child(1) {
  position: relative;
  z-index: 1;
}
.mcharm_flex:nth-child(1)::before {
  position: absolute;
  z-index: -1;
  left: -95px;
  top: 0%;
  transform: translate(-30%, -50%);
  content: "";
  display: block;
  width: 177px;
  height: 123px;
  background: url(/img/charm/hamill.png) no-repeat center center/contain;
}
.mcharm_flex:nth-child(4) {
  position: relative;
  z-index: 1;
}
.mcharm_flex:nth-child(4)::before {
  position: absolute;
  z-index: -1;
  right: -95px;
  top: 0%;
  transform: translate(20%, -50%);
  content: "";
  display: block;
  width: 193px;
  height: 102px;
  background: url(/img/charm/omuill.png) no-repeat center center/contain;
}
.mcharm_img {
  width: 580px;
  height: 400px;
  border-radius: 25px;
  overflow: hidden;
}
.mcharm_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mcharm_box {
  width: 450px;
}
.mcharm_box_ttl {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #8a4350;
  background: #f5eddd;
  padding: 15px 10px;
  text-align: center;
  margin-bottom: 25px;
}
.mcharm_box_txt {
  font-size: 18px;
}

.scharm {
  background: url(/img/charm/deco_bgright.png) no-repeat right top 30%/auto, #faf7f0;
}
.scharm_wrap {
  width: 100%;
}
.scharm_flex {
  width: 1130px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 90px;
}
.scharm_flex:not(:last-child) {
  margin-bottom: 100px;
}
.scharm_flex:nth-child(odd) {
  flex-direction: row-reverse;
}
.scharm_flex:nth-child(even) {
  margin-left: auto;
}
.scharm_flex:nth-child(1) {
  position: relative;
  z-index: 1;
}
.scharm_flex:nth-child(1)::before {
  position: absolute;
  z-index: -1;
  right: -95px;
  bottom: 0%;
  transform: translate(50%, 0%);
  content: "";
  display: block;
  width: 92px;
  height: 132px;
  background: url(/img/charm/supoon.png) no-repeat center center/contain;
}
.scharm_flex:nth-child(2) {
  position: relative;
  z-index: 1;
}
.scharm_flex:nth-child(2)::before {
  position: absolute;
  z-index: -1;
  left: -95px;
  bottom: 0%;
  transform: translate(-50%, 0%);
  content: "";
  display: block;
  width: 97px;
  height: 112px;
  background: url(/img/charm/cake.png) no-repeat center center/contain;
}
.scharm_img {
  width: 580px;
  height: 400px;
  border-radius: 25px;
  overflow: hidden;
}
.scharm_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.scharm_box {
  width: 450px;
}
.scharm_box_ttl {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #8a4350;
  background: #fff;
  padding: 15px 10px;
  text-align: center;
  margin-bottom: 25px;
}
.scharm_box_txt {
  font-size: 18px;
}

/*--------------------charm--------------------*/
/*--------------------menu--------------------*/
.reco {
  width: 100%;
  background: url(/img/menu/deconamir.png) no-repeat bottom right/auto, #faf7f0;
}
.reco_ttl {
  position: relative;
  z-index: 1;
}
.reco_ttl::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(65%, -100%);
  content: "";
  display: block;
  width: 206px;
  height: 49px;
  background: url(/img/menu/menuttldeco.png) no-repeat center center/contain;
}
.reco_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 45px;
}
.reco_box {
  width: 330px;
}
.reco_box_ttl {
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-weight: 600;
  position: relative;
  z-index: 1;
  padding-left: 0.6818181818em;
}
.reco_box_ttl::before {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.1818181818em;
  height: 1em;
  background: #8a4350;
  border-radius: 999px;
}
.reco_img {
  width: 100%;
  height: 300px;
  overflow: hidden;
  border-radius: 15px;
  margin-bottom: 15px;
}
.reco_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.menu {
  width: 100%;
}
.menu_wrap {
  width: 100%;
  padding: 60px 80px;
  background: #faf7f0;
  border-radius: 35px;
}
.menu_wrap_ttl {
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #fff;
  background: #8a4350;
  border-radius: 10px;
  text-align: center;
  padding: 27px;
  margin-bottom: 50px;
}
.menu_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
  background: #fff;
  border-radius: 15px;
  padding: 35px 45px;
}
.menu_box:not(:last-child) {
  margin-bottom: 30px;
}
.menu_box_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 2px dashed #8a4350;
  padding-bottom: 14px;
  margin-bottom: 10px;
}
.menu_txt {
  font-size: 16px;
  line-height: 1.3;
  color: #8a4350;
}
.menu_price {
  font-size: 15px;
  line-height: 1.3;
}
.menu_sub {
  font-size: 15px;
}
.menu_img {
  width: 240px;
  height: 200px;
  border-radius: 12px;
  overflow: hidden;
}
.menu_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.menu_inbox {
  width: calc(100% - 270px);
}
.menu_rev {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column-reverse;
  gap: 80px;
}

.w-100 {
  width: 100%;
}

/*--------------------menu--------------------*/
/*--------------------top--------------------*/
.top_wel {
  width: 100%;
  background: #faf7f0;
}
.top_wel_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: 50px;
  position: relative;
  z-index: 1;
}
.top_wel_flex::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(100%, -30%);
  content: "";
  display: block;
  width: 92px;
  height: 132px;
  background: url(/img/top/deco_right.png) no-repeat center center/contain;
}
@media screen and (max-width: 1500px) {
  .top_wel_flex::before {
    right: 0%;
    top: 70%;
    transform: translate(-20%, 0%);
  }
}
.top_wel_ibox {
  width: 620px;
  height: 800px;
  position: relative;
  z-index: 1;
}
.top_wel_ibox::after {
  position: absolute;
  z-index: -1;
  left: 20%;
  bottom: 15%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 92px;
  height: 132px;
  background: url(/img/top/deco_right.png) no-repeat center center/contain;
}
.top_wel_ibox::before {
  z-index: -3;
  position: absolute;
  left: -10%;
  top: 17%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 557px;
  height: 484px;
  background: url(/img/top/deco_lefttt.png) no-repeat center center/contain;
}
.top_wel_img01 {
  position: absolute;
  z-index: -1;
  left: 15%;
  top: 0%;
  transform: translate(0%, 0%);
  width: 430px;
  height: 300px;
  overflow: hidden;
  border-radius: 20px;
}
.top_wel_img01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_wel_img02 {
  position: absolute;
  z-index: -2;
  right: 0%;
  bottom: 0%;
  transform: translate(0%, 0%);
  width: 270px;
  height: 439px;
}
.top_wel_img02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_wel_box {
  padding-right: 50px;
  width: calc(100% - 670px);
}
.top_wel_txt {
  margin-bottom: 50px;
}
.top_wel_txt p {
  font-size: 18px;
}
.top_wel_txt p:not(:last-child) {
  margin-bottom: 30px;
}

.top_menu {
  width: 100%;
  overflow: hidden;
}
.top_menu_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.top_menu_flex:nth-child(1) {
  gap: 10px;
}
.top_menu_flex:nth-child(1) .top_menu_img {
  width: 650px;
  height: 600px;
}
.top_menu_flex:nth-child(1) .top_menu_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.top_menu_flex:nth-child(1) .top_menu_box {
  width: calc(100% - 750px);
  position: relative;
  z-index: 1;
}
.top_menu_flex:nth-child(1) .top_menu_box::after {
  position: absolute;
  left: 0%;
  bottom: 0%;
  transform: translate(0%, 120%);
  content: "";
  display: block;
  width: 208px;
  height: 132px;
  background: url(/img/top/deco_left01.png) no-repeat center center/contain;
}
.top_menu_flex:nth-child(2) {
  gap: 90px;
}
.top_menu_flex:nth-child(2) .top_menu_img {
  width: 715px;
  height: 600px;
}
.top_menu_flex:nth-child(2) .top_menu_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.top_menu_flex:nth-child(2) .top_menu_box {
  width: calc(100% - 880px);
  position: relative;
  z-index: 1;
}
.top_menu_flex:nth-child(2) .top_menu_box::after {
  position: absolute;
  left: 0%;
  bottom: 0%;
  transform: translate(0%, 120%);
  content: "";
  display: block;
  width: 193px;
  height: 102px;
  background: url(/img/top/deco_leftl02.png) no-repeat center center/contain;
}
.top_menu_flex:nth-child(3) .top_menu_img {
  width: 840px;
  height: 450px;
  margin-left: -150px;
  margin-top: 180px;
}
.top_menu_flex:nth-child(3) .top_menu_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.top_menu_flex:nth-child(3) .top_menu_box {
  width: 500px;
  padding-left: 20px;
  position: relative;
  z-index: 1;
}
.top_menu_flex:nth-child(3) .top_menu_box::after {
  position: absolute;
  left: 0%;
  bottom: 0%;
  transform: translate(0%, 100%);
  content: "";
  display: block;
  width: 161px;
  height: 132px;
  background: url(/img/top/deco_leftl03.png) no-repeat center center/contain;
}
.top_menu_flex:nth-child(even) {
  justify-content: flex-end;
  flex-direction: row-reverse;
}
.top_menu_flex:nth-child(even) .top_menu_box {
  position: relative;
  z-index: -1;
}
.top_menu_flex:nth-child(even) .top_menu_box::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -45%);
  content: "";
  display: block;
  width: 850px;
  height: 675px;
  background: url(/img/top/bgl02.png) no-repeat center center/contain;
}
.top_menu_flex:nth-child(odd) {
  justify-content: flex-end;
}
.top_menu_flex:nth-child(odd) .top_menu_box {
  position: relative;
  z-index: -1;
}
.top_menu_flex:nth-child(odd) .top_menu_box::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -40%);
  content: "";
  display: block;
  width: 850px;
  height: 675px;
  background: url(/img/top/bgl01.png) no-repeat center center/contain;
}
.top_menu_flex:not(:last-child) {
  margin-bottom: 160px;
}
.top_menu_box {
  position: relative;
  z-index: 1;
}
.top_menu_box_ttl {
  font-size: 45px;
  line-height: 1.4444444444em;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  color: #8a4350;
  margin-bottom: 40px;
}
.top_menu_num {
  position: absolute;
  z-index: -1;
  left: 0%;
  top: 0%;
  transform: translate(-50%, -150%);
}
.top_menu_sub {
  font-size: 30px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  background: #fff;
  border-radius: 7px;
  text-align: center;
  padding: 18px 22px;
  margin-bottom: 30px;
  display: inline-block;
}
.top_menu_txt {
  font-size: 22px;
  line-height: 1.8181818182em;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.top_info {
  width: 100%;
  background: #faf7f0;
  position: relative;
  z-index: 1;
}
.top_info::before {
  content: "";
  display: block;
  width: 100%;
  height: 200px;
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 100%);
  background: #faf7f0;
}
.top_info_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 70px;
}
.top_info_txt {
  color: #fff;
  text-align: center;
}
.top_info_ttl {
  margin-bottom: 30px;
}
.top_info_ttl_sub {
  color: #fff;
}
.top_info_ttl_sub::before {
  background: url(/img/common/linettlw.png) no-repeat center center/contain;
}
.top_info_ttl_sub::after {
  background: url(/img/common/linettlw.png) no-repeat center center/contain;
}
.top_info_ttl_main {
  color: #fff;
}
.top_info_item {
  position: relative;
  z-index: 1;
  width: 605px;
  background: #8a4350;
  border-radius: 999px;
  padding: 60px 10px 80px;
}
.top_info_item::before {
  position: absolute;
  z-index: -1;
  right: 10%;
  bottom: -5%;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 85px;
  height: 85px;
  background: url(/img/common/btnarw02.png) no-repeat center center/contain;
}

.top_voice {
  width: 100%;
}
.top_voice_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 45px;
  position: relative;
  z-index: 1;
}
.top_voice_flex::before {
  position: absolute;
  left: 0%;
  bottom: 0%;
  transform: translate(-90%, 0%);
  content: "";
  display: block;
  width: 136px;
  height: 115px;
  background: url(/img/top/deco_cafe.png) no-repeat center center/contain;
}
.top_voice_flex::after {
  position: absolute;
  right: 0%;
  bottom: 0%;
  transform: translate(70%, 0%);
  content: "";
  display: block;
  width: 120px;
  height: 80px;
  background: url(/img/top/deco_purin.png) no-repeat center center/contain;
}
.top_voice_item {
  width: 330px;
  padding: 30px;
  background: #f5eddd;
  border-radius: 18px;
}
.top_voice_icon {
  width: 180px;
  height: 180px;
  margin: 0 auto 20px;
}
.top_voice_txt {
  font-size: 18px;
}

.top_sns {
  background: url(/img/top/pat01.png) repeat center center/auto;
}
.top_sns_box {
  padding: 70px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.top_sns_box::before {
  content: "";
  display: block;
  width: 420px;
  height: 100%;
  background: #faf7f0;
  border-top-left-radius: 200px;
  border-bottom-left-radius: 200px;
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
}
.top_sns_ttl {
  text-align: left;
  margin-bottom: 0;
}
.top_sns_ttl_sub::after {
  display: none;
}
.top_sns_txt {
  font-size: 27px;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-family: "Zen Maru Gothic", serif;
  color: #8a4350;
  position: relative;
  z-index: 1;
  padding-right: 1.4814814815em;
}
.top_sns_txt::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  top: 50%;
  transform: translate(0%, -50%);
  content: "";
  display: block;
  width: 0.9259259259em;
  height: 0.8888888889em;
  background: url(/img/common/arwbyn02.png) no-repeat center center/contain;
}
.top_sns_icon {
  text-align: center;
  margin-bottom: 20px;
}

.top_news {
  width: 100%;
  background: url(/img/top/bgnami.png) no-repeat bottom right/auto;
}
.top_news_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 80px;
}
.top_news_ttl {
  text-align: left;
  margin-bottom: 0;
}
.top_news_ttl_sub::after {
  display: none;
}
.top_news_btn {
  width: 330px;
}
.top_news_post {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 45px;
}

.top_con {
  background: #faf7f0;
}
.top_con_inner {
  position: relative;
  z-index: 1;
}
.top_con_inner::before {
  position: absolute;
  z-index: -1;
  left: 10%;
  top: -100px;
  transform: translate(0%, 0%);
  content: "";
  display: block;
  width: 57px;
  height: 186px;
  background: url(/img/top/deco_syou.png) no-repeat center center/contain;
}
.top_con_txt {
  font-size: 20px;
  margin-bottom: 30px;
  text-align: center;
}
.top_con_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 65px;
  padding: 40px;
  width: 100%;
  background: #fff;
  border-radius: 15px;
  border: 3px solid #f5eddd;
  position: relative;
  z-index: 1;
}
.top_con_flex::before {
  position: absolute;
  z-index: -1;
  right: 0%;
  bottom: 0%;
  transform: translate(50%, 20%);
  content: "";
  display: block;
  width: 63px;
  height: 115px;
  background: url(/img/top/decocoffee.png) no-repeat center center/contain;
}
.top_con_btn {
  padding: 30px 20px;
  width: 400px;
}
.top_con_btn p {
  font-size: 20px;
}
.top_con_tel p {
  font-size: 55px;
}
.top_con_tel img {
  width: 70%;
  margin: 10px auto 0;
  display: block;
}

/*--------------------swiper--------------------*/
.top_cook_swiper {
  height: max(253.33px, 19.7916666667vw);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.top_cook_swiper .swiper-slide {
  width: 20.8333333333%;
  height: max(253.33px, 19.7916666667vw);
  border-radius: 16px;
  overflow: hidden;
}
.top_cook_swiper .swiper-slide figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next {
  height: 180px;
  width: 80px;
  top: 50%;
  transform: translate(0%, -35%);
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 180px;
  margin: auto;
  width: 80px;
}

/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url(/img/top/leftarw.png) no-repeat center center/contain !important;
}

/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url(/img/top/rightarw.png) no-repeat center center/contain;
}

/*--------------------swiper--------------------*/
/*--------------------top--------------------*//*# sourceMappingURL=style.css.map */