@charset "UTF-8";
/* メディアクエリ
---------------------------------------- */
/* font-size 320-1060
---------------------------------------- */
/*22px*/
/*20px*/
/*18px*/
/* font-family
---------------------------------------- */
/* color
---------------------------------------- */
/* mixin
---------------------------------------- */
/*  reset.scss */
/* =====================================================
 * reset.css
 * - Edit html5doctor.com's CSS
 * - http://html5doctor.com/html-5-reset-stylesheet/
 * Last Updated:2017-03-01
====================================================== */
@import url("https://fonts.googleapis.com/css2?family=Allura&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Old+Mincho:wght@400;600;700&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea, main, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: bottom;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section, main {
  display: block; }

main {
  padding: 0;
  margin: 0 !important; }

html {
  font-size: 62.5%;
  /*overflow-x: hidden;*/ }

body {
  font-family: sans-serif;
  line-height: 1; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  background: transparent;
  outline: none; }

img {
  vertical-align: bottom; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

th, td {
  text-align: left;
  vertical-align: top; }

input, select, textarea {
  font-family: inherit; }

input[type="submit"] {
  cursor: pointer; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

* {
  box-sizing: border-box; }

/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
html {
  /*overflow: auto;*/ }

body {
  /*overflow: hidden;*/
  min-width: 320px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #5e3d27;
  font-size: 1.5rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  position: relative;
  letter-spacing: .05em; }
  @media screen and (min-width: 768px) {
    body {
      font-size: 1.6rem;
      line-height: 1.6;
      -webkit-text-size-adjust: 100%; } }

img {
  max-width: 100%;
  height: auto; }

.pc {
  display: none !important; }

.sp {
  display: block !important; }

@media screen and (min-width: 768px) {
  .pc {
    display: block !important; }

  .sp {
    display: none !important; } }
/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/
a {
  color: inherit;
  text-decoration: none; }

@media screen and (min-width: 768px) {
  a {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }

  .alpha:hover {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
/*--------------------------------------------------------------------------
   font
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   clearfix
---------------------------------------------------------------------------*/
.cf:before, .cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

/* layout.scss */
.base_inner {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .base_inner {
      max-width: 1260px;
      padding-left: 30px;
      padding-right: 30px;
      margin: 0 auto; } }

.base {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 768px) {
    .base {
      max-width: 1400px;
      padding-left: 30px;
      padding-right: 30px;
      margin: 0 auto; } }

@media screen and (min-width: 768px) {
  .base_in {
    max-width: 1260px;
    padding-left: 30px;
    padding-right: 30px;
    margin: 0 auto; } }

/*--------------------------------------------------------------------------
   Header
---------------------------------------------------------------------------*/
/*	pagetop
--------------------------------------*/
.to-top {
  position: fixed;
  width: 42px;
  height: 42px;
  background: #e5dbcd;
  color: #fff;
  right: 15px;
  bottom: 15px;
  cursor: pointer;
  border-radius: 50vh; }
  @media screen and (min-width: 768px) {
    .to-top {
      width: 52px;
      height: 52px;
      right: 30px;
      bottom: 30px; }
      .to-top:hover {
        background: #f3ede4; } }
  .to-top .arrow {
    text-indent: -9999px;
    display: block;
    height: 42px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .to-top .arrow {
        height: 52px; } }
    .to-top .arrow::after {
      position: absolute;
      top: 50%;
      right: 0;
      content: '';
      width: 10px;
      height: 10px;
      border: 0px;
      margin: -5px 14px 0 0;
      border-top: solid 4px #5e3d27;
      border-right: solid 4px #5e3d27;
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
      @media screen and (min-width: 768px) {
        .to-top .arrow::after {
          width: 12px;
          height: 12px;
          margin: -6px 18px 0 0; } }

.footer .copy {
  color: #fff;
  background: #5e3d27;
  padding: 20px 0 15px;
  font-size: 1.2rem;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .footer .copy {
      padding: 30px 0 20px; } }

/*<div class="button">
	<a href="#">ボタンのデザイン</a>
</div>*/
.button a {
  background: #5e3d27;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  border-radius: 4px;
  font-size: 1.4rem;
  padding: 1.2em; }
a .button {
  background: #5e3d27;
  position: relative;
  display: block;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  border-radius: 4px;
  font-size: 1.2rem;
  padding: 1.2em; }

.cartclum .button .ico {
    display:none;
}
  @media screen and (min-width: 768px) {
    .cartclum .button .ico {
    display:block;
}
    .button a {
      font-size: 1.6rem; } }
  .button a .ico {
    display: inline-block;
    margin-right: 4px; }
    .button a .ico img {
      width: auto;
      height: 20px; }
      @media screen and (min-width: 768px) {
        .button a .ico img {
          height: 30px; } }
  .button a .sub {
    font-size: 1.8rem;
    vertical-align: sub;
    display: inline-block;
    margin-top: -4px; }
    @media screen and (min-width: 768px) {
      .button a .sub {
        font-size: 2.6rem;
        margin-top: -5px; } }

  a .button .sub {
    font-size: 2rem;
    vertical-align: sub;
    display: inline-block;
    margin-top: -4px; }
    @media screen and (min-width: 768px) {
     a .button .sub {
        font-size: 2.6rem;
        margin-top: -5px; } }

.button a:hover {
  background: #7b9a5f;
  color: #fff; }

/* set.scss */
/*	hover img zoom
--------------------------------------*/
/* 各コンテンツの画像サイズは各自設定 */
.scale .pic {
  border-radius: 20px;
  overflow: hidden; }
  .scale .pic img {
    display: block;
    transition-duration: .3s; }

@media screen and (min-width: 768px) {
  .scale .pic {
    border-radius: 20px;
    overflow: hidden; }
    .scale .pic img {
      display: block;
      transition-duration: .3s; }
  .scale .tit, .scale .txt {
    -webkit-transition: all .2s linear;
    transition: all .2s linear; }
  .scale:hover .pic {
    overflow: hidden;
    border-radius: 20px; }
    .scale:hover .pic img {
      transform: scale(1.1);
      transition-duration: .3s; }
  .scale:hover .tit-midle, .scale:hover .txt {
    opacity: .7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
/*	tit
--------------------------------------*/
.tit-b {
  font-size: clamp(2rem, 3.67vw, 4rem);
  font-weight: 700;
  margin-bottom: 5px;
  font-family: "Zen Old Mincho", serif; }
  @media screen and (min-width: 768px) {
    .tit-b {
      line-height: 1.3;
      margin-bottom: 18px; } }

.tit-line {
  text-align: center;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .tit-line {
      margin-bottom: 25px; } }
  .tit-line .tit-sm {
    font-family: "Zen Old Mincho", serif;
    font-size: clamp(1.8rem, 3.33vw, 2.8rem);
    font-weight: 700;
    display: block; }
  .tit-line .btm-line {
    position: relative;
    display: inline-block;
    font-size: clamp(2rem, 3.67vw, 4rem);
    padding-bottom: 6px;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.3; }
    .tit-line .btm-line::after {
      position: absolute;
      bottom: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 2px;
      background-color: #5e3d27; }
  .tit-line .btm {
    display: inline-block;
    font-size: clamp(2rem, 3.67vw, 4rem);
    padding-bottom: 6px;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    line-height: 1.3; }

.tit-uline {
  margin-bottom: 15px; }
  .tit-uline .und_line {
    display: inline;
    font-size: clamp(2rem, 3.67vw, 4rem);
    padding-bottom: 3px;
    line-height: 2;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
    box-shadow: 0 2px 0 #5e3d27; }
    @media screen and (min-width: 768px) {
      .tit-uline .und_line {
        padding-bottom: 2px;
        line-height: 1.6; } }
  @media screen and (min-width: 768px) {
    .tit-uline {
      margin-bottom: 40px; } }

/*	txt
--------------------------------------*/
.txt-b {
  font-size: clamp(1.8rem, 3.33vw, 2.8rem);
  font-weight: 500;
  margin-bottom: 5px; }
  @media screen and (min-width: 768px) {
    .txt-b {
      line-height: 1.3;
      margin-bottom: 10px; } }

.marker {
  background: linear-gradient(transparent 60%, #d5e6bd 60%);
  font-weight: 600; }

/*	content
--------------------------------------*/
.ov {
  overflow: hidden; }

/*	bg
--------------------------------------*/
@media only screen and (min-width: 768px) {
  .bg_fix {
    position: relative;
    height: 400px;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }

  .pict01 {
    background-image: url("../images/matching/bg.png"); } }
/*	content padding
--------------------------------------*/
.pad {
  padding-top: 30px;
  padding-bottom: 40px; }
  @media screen and (min-width: 768px) {
    .pad {
      padding-top: 80px;
      padding-bottom: 80px; } }

.pad_top {
  padding-top: 30px; }
  @media screen and (min-width: 768px) {
    .pad_top {
      padding-top: 80px; } }

.pad_btm {
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .pad_btm {
      padding-bottom: 80px; } }

.pad_s {
  padding-top: 25px;
  padding-bottom: 25px; }
  @media screen and (min-width: 768px) {
    .pad_s {
      padding-top: 40px;
      padding-bottom: 40px; } }

.pad_s_top {
  padding-top: 25px; }
  @media screen and (min-width: 768px) {
    .pad_s_top {
      padding-top: 40px; } }

.mb {
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .mb {
      margin-bottom: 15px; } }

.mbl {
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .mbl {
      margin-bottom: 30px; } }

.mtop {
  margin-top: 30px; }

.link {
  padding-top: 55px;
  margin-top: -55px; }
  @media screen and (min-width: 768px) {
    .link {
      padding-top: 72px;
      margin-top: -72px; } }

.gmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }

.gmap iframe,
.gmap object,
.gmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*	list
--------------------------------------*/
.list .list-item {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 4px; }
  .list .list-item:last-child {
    margin-bottom: 0; }

.rd {
  border-radius: 20px;
  overflow: hidden; }

/*	set
--------------------------------------*/
@media screen and (min-width: 768px) {
  .clum2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
@media screen and (min-width: 768px) {
  .clum2 .set {
    width: -webki-calc((100% - 60px) / 2);
    width: calc((100% - 60px) / 2); } }
.clum2 .set:first-child {
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .clum2 .set:first-child {
      margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .clum2-ct {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 60px; } }
@media screen and (min-width: 768px) {
  .clum2-ct .set {
    width: -webki-calc((100% - 60px) / 2);
    width: calc((100% - 60px) / 2); } }
.clum2-ct .sm_mb15 {
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .clum2-ct .sm_mb15 {
      margin-bottom: 0; } }
@media screen and (min-width: 768px) {
  .clum2-ct .set_in {
    max-width: 570px; }
  .clum2-ct .left {
    margin-left: auto; }
  .clum2-ct .right {
    margin-right: auto; } }

@media screen and (min-width: 768px) {
  .clum3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
@media screen and (min-width: 768px) {
  .clum3 .set {
    width: -webki-calc((100% - 60px) / 3);
    width: calc((100% - 60px) / 3); } }
.clum3 .set:not(:first-child) {
  margin-top: 30px; }
  @media screen and (min-width: 768px) {
    .clum3 .set:not(:first-child) {
      margin-top: 0; } }

@media screen and (min-width: 768px) {
  .od {
    order: -1; } }

/*  DAI added
--------------------------------------*/
.cartclum {
    display:flex;
    align-items:stretch;
    gap:0.5em;
    margin-left:-20px;
    margin-right:-20px;
    }
.cartclum a {

}
.cartclum a .button {
    flex:1;
}
.cartclum .button {
    margin-bottom:0.8em;
    line-height:2em;
    display:block;
}
@media screen and (min-width: 768px) {
  .cartclum {
    display:flex;
    flex-wrap: wrap;
    gap:1em;}
    .cartclum .button{
        margin-bottom:0;
        display:block;
    }
    .cartclum .sub{
        padding:0;
    }
}
@media screen and (min-width: 400px) {
.cartclum {
    margin-left:20px;
    margin-right:20px;
    }
}



/*	ptn
--------------------------------------*/
.point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 15px; }
  @media screen and (min-width: 768px) {
    .point-list {
      flex-wrap: nowrap; } }
  .point-list .item {
    width: -webki-calc((100% - 50px) / 2);
    width: calc((100% - 50px) / 2); }
    @media screen and (min-width: 768px) {
      .point-list .item {
        width: -webki-calc((100% - 300px) / 4);
        width: calc((100% - 300px) / 4); } }

.kv {
  position: relative;
  background: url("../images/mv.webp") center center no-repeat;
  background-size: cover;
  height: 350px; }
  @media screen and (min-width: 768px) {
    .kv {
      height: 600px; } }
  .kv .kv-txt {
    position: absolute;
    width: 70%;
    max-width: 320px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    @media screen and (min-width: 768px) {
      .kv .kv-txt {
        max-width: 450px; } }

#home .sec01 .clum2-ct .set .set_in {
  padding: 0 10%; }
  @media screen and (min-width: 768px) {
    #home .sec01 .clum2-ct .set .set_in {
      padding: 0; } }
#home .sec01 .clum2-ct .set .bg {
  background: #f3ede4;
  margin: 40px 0 0 20px;
  padding: 30px 0 15px 15px;
  border-radius: 15px 0 0 15px; }
  @media screen and (min-width: 768px) {
    #home .sec01 .clum2-ct .set .bg {
      padding: 50px 0 35px 35px; } }
  #home .sec01 .clum2-ct .set .bg .sec01_tit {
    display: flex;
    gap: 0 20px; }
    #home .sec01 .clum2-ct .set .bg .sec01_tit .ico {
      width: 100px;
      margin-top: -50px; }
      @media screen and (min-width: 768px) {
        #home .sec01 .clum2-ct .set .bg .sec01_tit .ico {
          width: 200px;
          margin-top: -100px; } }
#home .sec01 .clum2-ct .set:first-child .set_in {
  text-align: center; }
  #home .sec01 .clum2-ct .set:first-child .set_in img {
    width: 96%; }
    @media screen and (min-width: 768px) {
      #home .sec01 .clum2-ct .set:first-child .set_in img {
        width: 80%; } }

#home .sec02 {
  position: relative;
  overflow: hidden; }
  #home .sec02::after {
    position: absolute;
    top: 0;
    right: 0;
    content: '';
    width: 160px;
    height: 100%;
    background-image: url("../images/body.webp");
    background-repeat: no-repeat;
    background-size: 380px auto;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      #home .sec02::after {
        right: 0;
        width: 380px;
        background-size: cover;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%); } }
  #home .sec02::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 90%;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    background-color: #eff3e4; }
  #home .sec02 .clum {
    display: flex;
    position: relative;
    z-index: 2; }
    #home .sec02 .clum .glp {
      width: -webki-calc(100% - 100px);
      width: calc(100% - 100px);
      padding: 50px 0 100px 15px; }
      @media screen and (min-width: 768px) {
        #home .sec02 .clum .glp {
          width: -webki-calc(100% - 200px);
          width: calc(100% - 200px);
          padding: 80px 0 80px 15px; } }
      #home .sec02 .clum .glp .txt-min {
        font-family: "Zen Old Mincho", serif;
        font-size: clamp(1.6rem, 3vw, 2rem);
        margin-bottom: 20px;
        text-align: center; }
        @media screen and (min-width: 768px) {
          #home .sec02 .clum .glp .txt-min {
            margin-bottom: 40px; } }
    #home .sec02 .clum .pict {
      width: 100px;
      padding-top: 200px; }
      @media screen and (min-width: 768px) {
        #home .sec02 .clum .pict {
          width: 200px;
          padding-top: 100px; } }

#home .sec03 .bg-dgreen {
  position: relative;
  background: #7b9a5f;
  padding: 30px 0 10px; }
  #home .sec03 .bg-dgreen .txt_en {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 50%;
    translate: -50% -.6em;
    rotate: -8deg;
    font-family: "Allura", cursive;
    color: #2d540a;
    text-align: center;
    font-size: 3rem; }
    @media screen and (min-width: 768px) {
      #home .sec03 .bg-dgreen .txt_en {
        font-size: 8rem;
        translate: -50% -1em; } }
  #home .sec03 .bg-dgreen .tit-line .tit-sm {
    color: #fff; }
  #home .sec03 .bg-dgreen .tit-line .btm {
    color: #fff;
    font-size: 2.2rem; }
    @media screen and (min-width: 768px) {
      #home .sec03 .bg-dgreen .tit-line .btm {
        font-size: clamp(2rem, 3.67vw, 4rem); } }
#home .sec03 .bg {
  background: #f3ede4; }
  #home .sec03 .bg .tit {
    position: relative;
    text-align: center;
    font-family: "Zen Old Mincho", serif;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      #home .sec03 .bg .tit {
        font-size: clamp(1.8rem, 3.33vw, 2.8rem); } }
    #home .sec03 .bg .tit::after {
      position: absolute;
      bottom: 0;
      left: 50%;
      content: '';
      width: 97px;
      height: 20px;
      translate: -50% 20px;
      background-image: url("../images/u_line.webp");
      background-size: 97px auto;
      background-repeat: no-repeat; }
  #home .sec03 .bg .txt {
    max-width: 700px;
    margin: auto; }
  #home .sec03 .bg .clum2 {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      #home .sec03 .bg .clum2 {
        margin-top: 50px; } }
    #home .sec03 .bg .clum2 .sec03_pict {
      text-align: center; }
      #home .sec03 .bg .clum2 .sec03_pict img {
        width: 70%; }

#home .sec04 {
  position: relative; }
  #home .sec04 .inaho {
    display: inline-block;
    position: absolute;
    z-index: -1;
    top: 200px;
    right: 0;
    aspect-ratio: 1600 / 1400;
    object-fit: cover;
    width: 50vw;
    height: 20vw; }
    @media screen and (min-width: 768px) {
      #home .sec04 .inaho {
        top: 360px; } }
  #home .sec04 .prd {
    margin-bottom: 40px; }
    @media screen and (min-width: 768px) {
      #home .sec04 .prd {
        position: absolute;
        top: 220px;
        left: 0;
        width: 50%;
        max-width: 500px;
        height: auto;
        translate: -180px 0;
        margin-bottom: 0; } }
    @media only screen and (min-width: 1100px) {
      #home .sec04 .prd {
        top: 140px;
        max-width: 600px; } }
  @media screen and (min-width: 768px) {
    #home .sec04 .base {
      padding: 0; } }
  #home .sec04 .base .clum {
    padding-right: 100px;
    position: relative; }
    #home .sec04 .base .clum .txt {
      position: absolute;
      top: 0;
      right: 0;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-family: "Zen Old Mincho", serif;
      font-size: 2rem;
      font-weight: 700;
      height: 100%;
      background: rgba(248, 242, 231, 0.9);
      padding: 30px 10px 0; }
      @media screen and (min-width: 768px) {
        #home .sec04 .base .clum .txt {
          right: 30px;
          font-size: 3rem;
          padding: 50px 20px 0; } }
      @media only screen and (min-width: 1100px) {
        #home .sec04 .base .clum .txt {
          font-size: 3.8rem;
          padding: 50px 40px 0; } }
    #home .sec04 .base .clum .tit_up {
      text-align: center;
      margin-bottom: 30px; }
      #home .sec04 .base .clum .tit_up:first-child {
        padding: 40px 0 0; }
      #home .sec04 .base .clum .tit_up .sec04_txt {
        display: inline-block;
        width: 70%; }
        @media screen and (min-width: 768px) {
          #home .sec04 .base .clum .tit_up .sec04_txt {
            max-width: 400px;
            margin-bottom: 40px; } }
      #home .sec04 .base .clum .tit_up .gen_txt {
        display: inline-block;
        width: 50%; }
        @media screen and (min-width: 768px) {
          #home .sec04 .base .clum .tit_up .gen_txt {
            max-width: 240px; } }
    #home .sec04 .base .clum .btm_txt {
      font-weight: 600; }
      @media screen and (min-width: 768px) {
        #home .sec04 .base .clum .btm_txt {
          font-size: 1.8rem;
          line-height: 1.8;
          padding: 40px 10%; } }
      @media only screen and (min-width: 1100px) {
        #home .sec04 .base .clum .btm_txt {
          padding: 40px 20%; } }

.cv .cv_tit {
  background: #5e3d27;
  color: #fff;
  text-align: center;
  font-size: clamp(2rem, 3.67vw, 4rem);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  padding: 15px 0;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .cv .cv_tit {
      margin-bottom: 40px;
      line-height: 1.3;
      padding: 30px 0; } }
.cv .clum2 .set:first-child {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .cv .clum2 .set:first-child {
      margin-bottom: 0; } }
.cv .clum2 .set .pict {
  text-align: center; }
  .cv .clum2 .set .pict img {
    width: 50%; }
    @media screen and (min-width: 768px) {
      .cv .clum2 .set .pict img {
        max-width: 250px; } }
.cv .clum2 .set .prd_name {
  text-align: center;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  margin-bottom: 10px; }
.cv .clum2 .set .price {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 10px; }
  .cv .clum2 .set .price .int {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1; }
    @media screen and (min-width: 768px) {
      .cv .clum2 .set .price .int {
        font-size: 3.4rem; } }
  .cv .clum2 .set .price .sub {
    font-size: 1.4rem;
    vertical-align: sub; }
.cv .clum2 .set .note {
  text-align: center;
  margin-bottom: 20px; }

#home .sec05 {
  margin-top: 40px; }
  @media screen and (min-width: 768px) {
    #home .sec05 {
      margin-top: 60px; } }
  #home .sec05 .sec05_kv {
    position: relative;
    height: 250px;
    background: url("../images/sec05.webp") center center no-repeat;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      #home .sec05 .sec05_kv {
        height: 420px; } }
    #home .sec05 .sec05_kv .kv-txt {
      position: absolute;
      width: 70%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); }
      @media screen and (min-width: 768px) {
        #home .sec05 .sec05_kv .kv-txt {
          width: 40%;
          max-width: 500px;
          transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%); } }
  #home .sec05 .inner {
    position: relative;
    z-index: 10;
    background: #fff;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      #home .sec05 .inner {
        width: 80%;
        translate: 0 -50px;
        max-width: 1260px;
        padding-left: 30px;
        padding-right: 30px; } }
    #home .sec05 .inner .fungus {
      margin-bottom: 30px; }
      @media screen and (min-width: 768px) {
        #home .sec05 .inner .fungus {
          margin-bottom: 50px; } }
      #home .sec05 .inner .fungus .clum {
        display: flex;
        justify-content: center;
        gap: 0 10px; }
        @media screen and (min-width: 768px) {
          #home .sec05 .inner .fungus .clum {
            gap: 0 40px; } }
        #home .sec05 .inner .fungus .clum .item {
          width: -webki-calc((100% - 20px) / 3);
          width: calc((100% - 20px) / 3); }
          @media screen and (min-width: 768px) {
            #home .sec05 .inner .fungus .clum .item {
              width: -webki-calc((100% - 200px) / 3);
              width: calc((100% - 200px) / 3); } }
    #home .sec05 .inner .eating {
      position: relative; }
      #home .sec05 .inner .eating .tit-b {
        text-align: center;
        margin-bottom: 15px; }
        @media screen and (min-width: 768px) {
          #home .sec05 .inner .eating .tit-b {
            margin-bottom: 40px; } }
      #home .sec05 .inner .eating .eat-list {
        text-align: center; }
        #home .sec05 .inner .eating .eat-list img {
          width: 76%; }
          @media screen and (min-width: 768px) {
            #home .sec05 .inner .eating .eat-list img {
              width: 60%; } }
      #home .sec05 .inner .eating .pict {
        position: absolute;
        bottom: 0;
        right: -10px;
        z-index: -1;
        width: 130px;
        height: auto; }
        @media screen and (min-width: 768px) {
          #home .sec05 .inner .eating .pict {
            right: 0;
            width: 28%; } }

#home .sec06 {
  position: relative; }
  #home .sec06::after {
    z-index: -1;
    position: absolute;
    bottom: 0;
    right: 0;
    content: '';
    width: 50%;
    height: 50%;
    translate: 0 -100%;
    background-image: url("../images/bg_sec06.webp");
    background-size: cover;
    background-repeat: no-repeat; }
    @media screen and (min-width: 768px) {
      #home .sec06::after {
        width: 50%;
        height: 100%;
        translate: 0 0;
        background-size: contain;
        background-position: top right; } }
  #home .sec06 .base_inner .point-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 15px;
    margin-right: 30%;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px) {
      #home .sec06 .base_inner .point-list {
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-bottom: 50px; } }
    #home .sec06 .base_inner .point-list .item {
      width: -webki-calc((100% - 50px) / 2);
      width: calc((100% - 50px) / 2); }
      @media screen and (min-width: 768px) {
        #home .sec06 .base_inner .point-list .item {
          width: -webki-calc((100% - 300px) / 4);
          width: calc((100% - 300px) / 4); } }
  @media screen and (min-width: 768px) {
    #home .sec06 .base_inner .clum2 {
      margin-right: 30%;
      align-items: center; } }
  #home .sec06 .base_inner .clum2 .set:first-child {
    text-align: center; }
    #home .sec06 .base_inner .clum2 .set:first-child img {
      max-width: 50%; }
      @media screen and (min-width: 768px) {
        #home .sec06 .base_inner .clum2 .set:first-child img {
          max-width: 100%; } }
  #home .sec06 .base_inner .clum2 .set .tit-b {
    text-align: center; }

#home .sec07 {
  position: relative; }
  #home .sec07::after {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 0;
    content: '';
    width: 250px;
    height: 280px;
    background-image: url("../images/sec07.webp");
    background-size: 250px auto;
    background-repeat: no-repeat;
    translate: 0 -80px; }
    @media screen and (min-width: 768px) {
      #home .sec07::after {
        width: 40vw;
        height: 45vw;
        background-size: 100% 100%;
        translate: 0 -20vw; } }
  #home .sec07 .txt-b {
    text-align: center;
    font-family: "Zen Old Mincho", serif;
    margin-bottom: 20px; }
    @media screen and (min-width: 768px) {
      #home .sec07 .txt-b {
        margin-bottom: 40px; } }
  #home .sec07 .list {
    position: relative;
    	/*&::after {
    		position: absolute;
    		z-index: -1;
    		top: 50%;
    		left: 0;
    		content: '';
    		width: 250px;
    		height: 280px;
    		background-image: url("../images/sec07.webp");
    		background-size: 250px auto;
    		background-repeat: no-repeat;
    		translate: -30px -100px;
    		@media screen and ($sp-first){
    			width: 30vw;
    			height: 45vw;
    			background-size: 100% 100%;
    			translate: -500px -300px;
    		}
    }*/ }
    @media screen and (min-width: 768px) {
      #home .sec07 .list {
        margin-left: 30%; } }
    #home .sec07 .list .set:not(:first-child) {
      margin-top: 20px; }
    #home .sec07 .list .set:nth-child(2), #home .sec07 .list .set:nth-child(4) {
      margin-left: 20px; }
    #home .sec07 .list .set:nth-child(3) {
      margin-left: 150px; }
    #home .sec07 .list .set .theme {
      display: inline-block;
      background: #5e3d27;
      color: #fff;
      line-height: 1;
      padding: 6px 15px;
      border-radius: 4px;
      margin-bottom: 4px; }
      @media screen and (min-width: 768px) {
        #home .sec07 .list .set .theme {
          font-size: 1.7rem; } }
    #home .sec07 .list .set .subject {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) {
        #home .sec07 .list .set .subject {
          font-size: 3rem; } }
      #home .sec07 .list .set .subject .pnk {
        font-size: 2rem;
        font-weight: 700;
        color: #fe45ba; }
        @media screen and (min-width: 768px) {
          #home .sec07 .list .set .subject .pnk {
            font-size: 3rem; } }

#home .sec08 {
  background: url("../images/sec08_bg.webp") bottom right no-repeat #eff3e4;
  background-size: contain; }
  @media screen and (min-width: 768px) {
    #home .sec08 {
      background-size: auto 400px; } }
  #home .sec08 .voice_pict {
    text-align: center;
    margin-bottom: 20px; }
    #home .sec08 .voice_pict .sec08_pict {
      width: 300px; }
  #home .sec08 .voice_wrap {
    position: relative; }
    @media screen and (min-width: 768px) {
      #home .sec08 .voice_wrap {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        /*align-items: baseline;*/ } }
    #home .sec08 .voice_wrap .voice {
      width: 90%; }
      @media screen and (min-width: 768px) {
        #home .sec08 .voice_wrap .voice {
          width: 45%; } }
      #home .sec08 .voice_wrap .voice:nth-child(1) {
        margin: 0 0 15px; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice:nth-child(1) {
            margin: 50px 0 0; } }
      #home .sec08 .voice_wrap .voice:nth-child(2) {
        margin: 0 0 15px 9%; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice:nth-child(2) {
            margin: 0; } }
      #home .sec08 .voice_wrap .voice:nth-child(3) {
        margin: 0 0 15px; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice:nth-child(3) {
            margin: 360px 0 0; } }
      #home .sec08 .voice_wrap .voice:nth-child(4) {
        margin: 0 0 15px 9%; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice:nth-child(4) {
            margin: 300px 0 0; } }
      #home .sec08 .voice_wrap .voice .in {
        padding: 15px 15px;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 10px; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice .in {
            padding: 20px 40px 20px; } }
      #home .sec08 .voice_wrap .voice .voice_tit {
        display: inline-block;
        font-size: clamp(1.8rem, 3.33vw, 2.8rem);
        font-weight: 600;
        border-bottom: 3px dotted #5e3d27;
        margin-bottom: 10px; }
      #home .sec08 .voice_wrap .voice .bio {
        font-size: 1.6rem;
        font-weight: 600; }
        @media screen and (min-width: 768px) {
          #home .sec08 .voice_wrap .voice .bio {
            font-size: 1.8rem; } }
    @media screen and (min-width: 768px) {
      #home .sec08 .voice_wrap::after {
        position: absolute;
        top: 50%;
        left: 50%;
        content: '';
        width: 600px;
        height: 360px;
        translate: -50% -50%;
        background-image: url("../images/sec08.webp");
        background-size: 600px auto;
        background-repeat: no-repeat; } }

#home .sec09 {
  background-color: #f3ede4; }
  @media screen and (min-width: 768px) {
    #home .sec09 .wrap {
      display: flex;
      gap: 0 50px; } }
  #home .sec09 .wrap .pict {
    width: 95vw;
    height: 200px;
    margin-left: -5vw; }
    @media screen and (min-width: 768px) {
      #home .sec09 .wrap .pict {
        width: 50vw;
        height: 100%;
        margin-left: -15vw; } }
    #home .sec09 .wrap .pict img {
      border-radius: 0 50vw 50vw 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 900 / 700; }
  #home .sec09 .wrap .area {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      #home .sec09 .wrap .area {
        width: 50vw; } }
    #home .sec09 .wrap .area .tit_area {
      margin-bottom: 15px; }
      @media screen and (min-width: 768px) {
        #home .sec09 .wrap .area .tit_area {
          margin-bottom: 40px; } }
    #home .sec09 .wrap .area .list {
      background: #e5dbcd;
      padding: 15px 20px;
      border-radius: 10px;
      margin-top: 15px; }
      @media screen and (min-width: 768px) {
        #home .sec09 .wrap .area .list {
          padding: 25px 40px;
          margin-top: 25px; } }
      #home .sec09 .wrap .area .list .item {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 1.6rem; }
        @media screen and (min-width: 768px) {
          #home .sec09 .wrap .area .list .item {
            font-size: 1.7rem; } }

.cart .cart_tit {
  text-align: center;
  font-size: clamp(2rem, 3.67vw, 4rem);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .cart .cart_tit {
      margin-bottom: 40px;
      line-height: 1.3; } }
.cart .clum2 .set:first-child {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .cart .clum2 .set:first-child {
      margin-bottom: 0; } }
.cart .clum2 .set .pict {
  text-align: center; }
  .cart .clum2 .set .pict img {
    width: 50%; }
    @media screen and (min-width: 768px) {
      .cart .clum2 .set .pict img {
        width: 70%;
        max-width: 450px; } }
.cart .clum2 .set .prd_name {
  text-align: center;
  font-size: 2.4rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .cart .clum2 .set .prd_name {
      font-size: 3.4rem;
      margin-bottom: 20px; } }
.cart .clum2 .set .price {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 10px; }
  .cart .clum2 .set .price .int {
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1; }
    @media screen and (min-width: 768px) {
      .cart .clum2 .set .price .int {
        font-size: 4rem; } }
  .cart .clum2 .set .price .sub {
    font-size: 1.4rem;
    vertical-align: sub; }
.cart .clum2 .set .note {
  text-align: center;
  margin-bottom: 20px; }
.cart .clum2 .set .component {
  background: #f3ede4;
  padding: 15px 20px;
  border-radius: 4px;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .cart .clum2 .set .component {
      padding: 20px 40px; } }
  .cart .clum2 .set .component .cp_tit {
    font-weight: 600;
    margin-bottom: 10px; }
  .cart .clum2 .set .component .cart_list {
    font-size: 1.4rem; }
    @media screen and (min-width: 768px) {
      .cart .clum2 .set .component .cart_list {
        display: flex;
        flex-wrap: wrap; } }
    .cart .clum2 .set .component .cart_list .item {
      width: 50%; }
.cart .specs {
  background: #f3ede4;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  padding: 15px 15px;
  margin-top: 15px; }
  @media screen and (min-width: 768px) {
    .cart .specs {
      padding: 20px 40px;
      margin-top: 25px; } }
  .cart .specs .glp {
    font-size: 1.1rem; }
    @media screen and (min-width: 768px) {
      .cart .specs .glp {
        font-size: 1.3rem;
        padding: 0 10px; }
        .cart .specs .glp:not(:first-child) {
          border-left: 1px dashed #e5dbcd;
          /*position: relative;*/
          /*&::after {
          	position: absolute;
          	top: 50%;
          	left: 0;
          	content: '';
          	width: 1px;
          	height: 40px;
          	border-left: 1px dashed $dbg;
          }*/ } }
    .cart .specs .glp:nth-child(1), .cart .specs .glp:nth-child(2), .cart .specs .glp:nth-child(3) {
      width: -webki-calc(100% / 3);
      width: calc(100% / 3); }
      @media screen and (min-width: 768px) {
        .cart .specs .glp:nth-child(1), .cart .specs .glp:nth-child(2), .cart .specs .glp:nth-child(3) {
          width: 120px; } }
    .cart .specs .glp:nth-child(2) {
      width: -webki-calc(100% / 3);
      width: calc(100% / 3); }
      @media screen and (min-width: 768px) {
        .cart .specs .glp:nth-child(2) {
          width: 120px; } }
    .cart .specs .glp:nth-child(3) {
      width: -webki-calc(100% / 3);
      width: calc(100% / 3); }
      @media screen and (min-width: 768px) {
        .cart .specs .glp:nth-child(3) {
          width: 100px; } }
    .cart .specs .glp:nth-child(4) {
      margin: 10px 0; }
      @media screen and (min-width: 768px) {
        .cart .specs .glp:nth-child(4) {
          margin: 0; } }
    .cart .specs .glp:nth-child(4), .cart .specs .glp:nth-child(5) {
      width: 100%; }
      @media screen and (min-width: 768px) {
        .cart .specs .glp:nth-child(4), .cart .specs .glp:nth-child(5) {
          width: -webki-calc((100% - 340px) / 2);
          width: calc((100% - 340px) / 2); } }
    .cart .specs .glp .specs_tit {
      font-weight: 600; }

#home .sec10 {
  background-color: #f3ede4; }
  @media screen and (min-width: 768px) {
    #home .sec10 .wrap {
      display: flex;
      gap: 0 50px; } }
  #home .sec10 .wrap .pict {
    width: 95vw;
    height: 200px;
    margin-left: -5vw; }
    @media screen and (min-width: 768px) {
      #home .sec10 .wrap .pict {
        width: 50vw;
        height: 100%;
        margin-left: -15vw; } }
    #home .sec10 .wrap .pict img {
      border-radius: 0 50vw 50vw 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 900 / 700; }
  #home .sec10 .wrap .area {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      #home .sec10 .wrap .area {
        width: 50vw; } }
    #home .sec10 .wrap .area .tit_area {
      margin-bottom: 15px; }
      @media screen and (min-width: 768px) {
        #home .sec10 .wrap .area .tit_area {
          margin-bottom: 40px; } }
