@charset "UTF-8";
/*リセットcss*/
*,
*::before,
*::after {
  box-sizing: border-box;
  line-height: inherit;
  font-weight: inherit;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6{
  font-weight: normal;
  line-height: 145%;
}
h2{
  font-size: 1.6em;
}
p{
    margin-block-start: 0em;
    margin-block-end: 0em;
}
li{
	list-style-type:none;
}
button,
input,
select {
  margin: 0;
}
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
	font: inherit;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
html{
	font-size:62.5%;
}
body{
	margin: 0 auto;
	font-family: YakuHanJP,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif,sans-serif;
	font-size:1.6em;
	line-height:175%;
	position:relative;
	background-color:#fff;
	color:#333333;
  word-break: break-all;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media screen and (max-width:600px) {
  body{
  font-size: 1.6em;
}
}
/*共通*/
img{
	width:100%;
	height: auto;
	margin:0 auto 0px auto;
	display:block;
}
input[type="text"]:focus {
  outline: 0;
}
a,input{
	text-decoration:none;
  color: #333333;
}

/* フォント */
.gothic,.pankz{
  font-family:YakuHanJP, 'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic','Avenir','Helvetica Neue','Helvetica','Arial';
}
.yaku_no{
	font-family:"" 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ＭＳ Ｐ明朝','MS PMincho','Baskerville','Times New Roman',sans-serif;
}
.shingo {
  font-family:YakuHanJP, "UD Shin Go Conde90 L",'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic','Avenir','Helvetica Neue','Helvetica','Arial';
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.4em;
}
.nm-shingo,
.pcmenu a,
.pcmenu h1{
  font-family: YakuHanJP, "UD Shin Go Conde90 L", 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial';
}
h2,h3,h4{
  text-align: center;
  font-family: YakuHanJP, "UD Shin Go Conde90 L", 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial';
}
.shingom {
  font-family: YakuHanJP, "UD Shin Go Conde90 m", 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial';
  font-size: 1.75rem;
  line-height: 1.25;
}
section .erikonoe,
footer .erikonoe,
header .erikonoe {
  font-family: "Maru Folk Regular", 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial';
}
.basecolor,.bscolor{
  color: #a81f2e;
}
.subcolor01{
  color: #8827a0;
}
.subcolor02{
  color: #e23961;
}
.maxwid {
  max-width: 1000px;
  width: 85%;
  margin: auto;
}
.arbtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all .3s;
}
.arbtn::after {
  /* 擬似要素で矢印アイコンをつくる */
  content: '';
  border: 0;
  border-top: solid 2px #aaa199;
  border-right: solid 2px #aaa199;
  display: flex;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(45deg);
  /* rotate(45deg)で矢印を回転（向きを変更）させる */
}
.arbtn.wt::after {
  content: '';
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.arbtn.btnbtm::after{
    transform: translateY(-50%) rotate(135deg);
}
.arbtn.wt {
  transition: all .3s;
  border: 1px solid #685f58;
  background-color: #685f58;
}


@media (any-hover: hover) {
.arbtn.wt:hover {
    border: 1px solid #aaa199;
    border-radius: 4px;
    color: #685f58;
    background-color: #fff;
  }
.arbtn.wt:hover::after {
  border-top: solid 2px #aaa199;
  border-right: solid 2px #aaa199;
}
  .arbtn.ani:hover::after,
a:hover .arbtn.ani::after {
    border-top: solid 2px #aaa199;
    border-right: solid 2px #aaa199;
  }

.arbtn.ani:hover,
a:hover .arbtn.ani{
    border: 1px solid #685f58;
    border-radius: 40px;
    color: #fff;
    background-color: #685f58;
  }

a.txbtn:hover {
    text-decoration: none;
  }
}
a.txbtn {
  text-decoration: underline;
}
a.txbtn.smtx{
  font-size: 85%;
}
.error{
  text-align: center;
  margin: 120px auto;
}
.error h3{
  margin: 0 auto 40px;
}
/*===============================================
装飾
===============================================*/
.effusion {
  position: relative;
  display: inline-block;
  padding: 0 10px;
  margin-bottom: 10px;
}

.effusion:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 1px;
  height: 100%;
  background: #aaa199;
  border-radius: 3px;
  transform: rotate(-25deg);
}

.effusion:after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #aaa199;
  border-radius: 3px;
  transform: rotate(25deg);
}
.splide{
 margin: 0 0 40px 0;  
}
.splide__pagination{
  bottom:-30px;
}
.splide__pagination__page.is-active{
  background: #685f58;
}
.splide__pagination__page{
  background:#aaa199;
}
.splide__arrow svg{
  fill: #685f58;
}
.splide__arrow--prev{
  left: -1em;
}
.splide__arrow--next{
  right: -1em;
}
.splide__arrow{
  background-color: #fff;
}
/*===============================================
ヘッダー
===============================================*/
header {
  position: relative;
}
header.is-fixed{
  top: 0px;
}
.header_inner{
	display: flex;
	margin:0 auto;
	width: 100%;
	padding: 6px 0 12px;
}
header .logo a{
	display: block;
}
header .logo img{
	max-width:150px;
}
header a{
  color:#644b3d;
}
@media screen and (min-width: 961px) {
.pcmenu {
    position: fixed;
    display: flex;
    justify-content: center;
    top: 16px;
    width: 100%;
    z-index: 10;
    left: 0;
  }
.pcmenu h1{
  color: #644b3d;
  font-size: 1.2em;
  margin-right: 20px;
}
.pcmenu .pcmenu-wp{
  transition: all .3s;
  background-color: rgba(255, 255, 255, 0.0);
  padding: 10px 10px;
  margin: 0 auto;
  border-radius: 40px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 800px;
  align-items: center;
}
.pcmenu.fixed .pcmenu-wp{
  background-color: rgba(255, 255, 255, 0.9);
}
  .pcmenu ul {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: auto;
  }
  .pcmenu ul li {
    padding: 8px;
  }
.pcmenu a{
  font-size: 14px;
  transition: all .3s;
  position: relative;
  padding-bottom: 5px;
}
.pcmenu a::before {
  background: #644b3d;
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.pcmenu a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.hd_fixed{
  display: none;
}
}
@media screen and (max-width: 960px) {
.pcmenu{
  display: none;
}
.hd_fixed{
    position: fixed;
      right: 0;
      /*
      top: 30px;
      */
      top: 0;
      z-index: 999;
      padding: 0px 0 0px;
      opacity: 0.9;
      transition: all 500ms;
}
/*===============================================
SPmenu
===============================================*/
/* メニューデザイン */
.drower-menu {
  z-index: 998;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 0 10px;
  box-sizing: border-box;
  background-color: #fff;
  color: #fff;
	opacity: 1;
  transform: all 1s ease-out;
  transform: translateX(100%);
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.drower-menu-list{
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow-y: auto;
  height: 100%;
  width: 100%;
	padding: 60px 5vw 50px;
}
.gnav-wrapper{
  max-width: 500px;
  margin: auto;
}
.gnav-wrapper .sns .flex{
  margin:auto ;
}
.gnav-wrapper .sns .flex .snsic{
  margin:  0 10px 0 0;
}
.gnav-wrapper .logotop{
  position: absolute;
  z-index: 999;
  height: 30px;
  left: 5vw;
  top: 20px;
}
.gnav-wrapper .logotop img{
  max-height: 30px;
}
.drower-menu a {
  display: flex;
	align-items: center;
	justify-content: flex-start;
  color: #644b3d;
  font-size: 1.2em;
  text-decoration: inherit;
  transition: all .6s;
  font-family: YakuHanJP, "UD Shin Go Conde90 L", 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial';
}
.drower-menu a:hover {
  opacity: 0.5;
}
.drower-menu li a{
	height: 70px;
}
#nav-tgl:checked ~ .close {
  pointer-events: auto;
  background: rgba(0, 0, 0, 0);
}
#nav-tgl:checked ~ .drower-menu {
  transform: none;
}
#nav-tgl {
  display: none;
}
.hd_fixed{
	display: flex;
  justify-content: space-between;
  transition: .5s;
  width: 70px;
	min-height: 60px;
	margin-left: auto;
  background-color: #685f58;
  border-radius: 0 0px 0 20px;
  opacity: 0.95;
}
.hd_fixed a{
	font-weight: normal;
}
.hd_nav{
	max-width: 60px;
	min-width: 60px;
	position: relative;
}
.nav-tgl-btn {
  cursor: pointer;
  position: absolute;
  bottom: 6px;
	right: -6px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
    justify-content: center;
      align-items: center;
}
.open {
  z-index: 999;
  width: 60px;
  height: 60px;
  background: transparent;
  transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before,
.open::after {
  content: "";
}
.nav-tgl-btn .menutx{
  font-size: 13px;
  color: #fff;
}
.nav-tgl-btn .menutx::before{
  content: "メニュー";
}
.open .mn-line {
  display: flex;
  width: 60%;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin:15px auto 0;
}
.open .mn-line span{
  height: 2px;
  background-color: #f4e9dd;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	z-index: 999;
}
.open .mn-line span{
  width: 100%;
  margin-bottom: 4px;
}
.close {
  z-index: 900;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: all .6s;
}
.hd_nav input:checked + label .menutx::before {
  content: "閉じる";
  color: #685f58;
}
/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
}
#nav-open span.menu_line:before {
  bottom: -8px;
}
#nav-open span.menu_line:after {
  bottom: -16px;
}
@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
}
.line{
  color: #505050;
  margin: 0px auto 0;
  font-weight: normal;
  font-size: 16px;
  line-height: 2.0em;
  padding: 0em 0.5em 0.2em 0.5em;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, #ffff 50%, #ffff 50%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #999 97%, #999 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2;
}
/*===============================================
footer
===============================================*/
footer{
  background-color: #fff5ec;
  color: #505050;
  width: 100%;
  padding: 0vw 0vw 2vw;
  line-height: 135%;
  text-align: center;
}
footer .flex{
  margin: 0;
  width: auto;
  flex-wrap: nowrap;
}
footer .caution{
  background-color: #fff;
  padding: 3vw 0 5px;
}
footer .snswp{
  padding: 2vw 0 2vw ;
}
footer .snswp > ul li{
  margin: 0 5px;
}
footer .snswp > h2{
  border-right: 1px solid #aaa199;
  padding: 15px 10px 15px 0;
  margin-right: 10px;
}
.snsic{
  max-width: 50px;
}
.yt-ic{
  max-width: 130px;
}
footer .smtxt,
.copy{
  color: #828282;
  font-size: 80%;
}
footer .smtxt{
  text-decoration: none;
  margin: 0px 0 5px;
  display: inline-block;
  font-size: 12px;
}
footer .smtxt:hover{
  text-decoration: underline;
}
@media screen and (max-width: 590px) {
.arbtn.wt:active {
    border: 1px solid #aaa199;
    border-radius: 4px;
    color: #685f58;
    background-color: #fff;
  }
.arbtn.wt:active::after {
  border-top: solid 2px #aaa199;
  border-right: solid 2px #aaa199;
}
  .arbtn.ani:active::after,
a:active .arbtn.ani::after {
    border-top: solid 2px #aaa199;
    border-right: solid 2px #aaa199;
  }
.arbtn.ani:active,
a:active .arbtn.ani{
    border: 1px solid #685f58;
    border-radius: 40px;
    color: #fff;
    background-color: #685f58;
  }
}
@media screen and (max-width: 450px) {
.snswp > h2{
  font-size: 1.2em;
}
  .snsic {
    max-width: 40px;
  }
.yt-ic {
    max-width: 90px;
  }
}
@media screen and (min-width: 768px) {
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
  .swiper-wrapper {
    display: flex;
    gap: 24px;
  }
  .swiper-slide {
    width: calc(33.333% - 16px);
  }
footer .snswp {
  padding: 15px 0 5px;
}
footer{
  padding-bottom: 10px;
}
}