/* CSS Document */
/*header*/
body[wc-view-type="tb-l"] header,
body[wc-view-type="tb"] header,
body[wc-view-type="sp"] header{
  background-color: rgba(255,255,255,0) !important;
}
body[wc-view-type="sp"] header div.header::before{
  content: "";
  mask-image:url("../img/sp_header02.svg");
  -webkit-mask-image: url("../img/sp_header02.svg");
  width: 100vw;
  height: var(--headerHeight);
  position: absolute;
  top: -1px;
  right: 0;
  left: 0;
  bottom: calc(var(--headerPadding) * -1);
  z-index: -1;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: bottom;
  -webkit-mask-position: bottom;
  mask-size: cover;
  -webkit-mask-size: cover;
  background-color: #fff;
}
body[wc-view-type="tb-l"] header div.header::before,
body[wc-view-type="tb"] header div.header::before{
  content: "";
  mask-image:url("../img/header_tb.svg");
  -webkit-mask-image: url("../img/header_tb.svg");
  width: 100vw;
  height: var(--headerHeight);
  position: absolute;
  top: -1px;
  right: 0;
  left: 0;
  bottom: calc(var(--headerPadding) * -1);
  z-index: -1;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: bottom;
  -webkit-mask-position: bottom;
  mask-size: cover;
  -webkit-mask-size: cover;
  background-color: #fff;
}
header .menubtn:not(.noneclick)::before{
  background-color: #00aa6e !important;
}
body[wc-view-type="sp"] header{
}
body[wc-view-type="tb"] header{
}
body[wc-view-type="pc"] header{
  border-radius: 0 0 50px 50px;
}
/*
body[wc-view-type="sp"] header div.header{
  height: 16.25vw !important;
}
*/
header div.header::after{
  content: "";
  position: absolute;
  border-radius: 100%;
  background-color: #fff;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  top: var(--headerPadding);
}
body[wc-view-type="sp"] header div.header::after{
  width: 20vw;
  height: 20vw;
  top: 1vw;
}
/*
body[wc-view-type="sp"] header div.header::after{
  width: 90px;
  height: 85px;
}
*/
body[wc-view-type="tb-l"] header div.header::after,
body[wc-view-type="tb"] header div.header::after{
  width: 110px;
  height: 110px;
  top: 3px;
}
body[wc-view-type="pc"] header div.header::after{
  width: 110px;
  height: 110px;
  top: 14px;
}
body[wc-view-type="pc"] div.menubtn{
  width: 0;
  height: 0;
  opacity: 0;
}
body[wc-view-type="pc"] div.pc_menu div.left_menu{
  float: left;
  display: flex;
  width: calc((1100px - 180px) / 2);
}
body[wc-view-type="pc"] div.pc_menu div.right_menu{
  float: right;
  display: flex;
  width: calc((1100px - 180px) / 2);
}
body[wc-view-type="pc"] div.pc_menu div.left_menu > div,
body[wc-view-type="pc"] div.pc_menu div.right_menu > div{
  width: calc(100% / 2);
  display: flex;
  justify-content: center;
  align-items: center;
}
body[wc-view-type="pc"] div.pc_menu div.left_menu > div a,
body[wc-view-type="pc"] div.pc_menu div.right_menu > div a{
  height: 40px;
  border-bottom: dotted 3px #00aa6e;
  color: #000;
  text-decoration: none;
  padding: 0 2rem;
  display: flex;
  justify-content: flex-end;
  align-items: end;
  padding-bottom: 0.2rem;
  box-sizing: border-box;
  font-weight: 700;
  transition: transform 0.4s;
}
body[wc-view-type="pc"] div.pc_menu div.left_menu > div a:hover,
body[wc-view-type="pc"] div.pc_menu div.right_menu > div a:hover{
  color: #00aa6e;
}
body[wc-view-type="sp"] div.pc_menu,
body[wc-view-type="tb"] div.pc_menu,
body[wc-view-type="tb-l"] div.pc_menu{
  width: 0;
  height: 0;
  opacity: 0;
}
body[wc-view-type="sp"] div.headerlogo{
  width: 18vw;
}
body[wc-view-type="sp"] div.headerlogo a{
  height: 18vw;
}
body[wc-view-type="tb-l"] div.headerlogo,
body[wc-view-type="tb"] div.headerlogo{
  width: 100px;
  margin-top: -6px;
}
body[wc-view-type="pc"] div.headerlogo{
  width: 100px;
}
body[wc-view-type="tb-l"] div.headerlogo a,
body[wc-view-type="tb"] div.headerlogo a,
body[wc-view-type="pc"] div.headerlogo a{
  height: 100px;
}
div.headerlogo a img{
  width: 100%;
  height: 100%;
}
/*メニューボタン中身*/
html:not(.waiting) .wcdrawermenu:not([menu-type="show"]) {
  display: block;
  transition: opacity 0.4s ease;
  background-color: #00aa6e;
  padding-top: 1rem;
}
.wcdrawermenu div.header{
  top: -1rem;
}
div.menu_inner{
  width: calc(100% - 2rem);
  background-color: #fff;
  margin: 0 auto;
  border-radius: 1rem;
}
.wcdrawermenu nav ul li{
  margin-bottom: 1rem;
}
.wcdrawermenu nav ul li > a, .wcdrawermenu nav ul li > div{
  background-color: rgba(0,170,110,0.3);
  border-radius: 1rem;
  border-bottom: none;
}
.wcscroll_mask_v, .wcdrawermenu .wcdrawermenuwrap > div.wcinner{
  mask-image:none;
}
.wcdrawermenu div.header div.drawerclosebtn{
  right: 20px !important;
}
.wcdrawermenu div.header div.drawerclosebtn{
  background-color: #00aa6e !important;
}
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::before{
  background-color: #fff !important;
}
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::after{
  color: #fff !important;
}
/*headerお問い合わせ*/
div.header_tel,
div.header_mail{
  width: 100%;
}
div.header_tel{
  margin-bottom: 2rem;
}
div.header_tel > h3,
div.header_mail > h3{
  font-weight: 700;
  border-bottom: solid 1px #00aa6e;
  margin: 0 auto 1rem auto;
  text-align: center;
  width: calc(100% - 2rem);
  font-size: 1.15rem;
  color: #333;
  padding-bottom: 0.2rem;
}
div.header_tel > a{
  display: table;
  color: #00aa6e;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 auto;
  text-decoration: none;
  position: relative;
  z-index: 1;
}
body[wc-view-type="tb"] div.header_tel > a{
  pointer-events: none;
}
div.header_tel > a::before{
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  left: -2.5rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: #00aa6e;
   -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
div.header_mail div.h_mail_btn{
  display: table;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  background-color: #00aa6e;
  border-radius: 2rem;
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
}
div.header_mail div.h_mail_btn a{
  display: table;
padding: 0.5rem 3rem 0.5rem 1.5rem;
color: #fff;
font-weight: 700;
font-size: 1.2rem;
text-decoration: none;
position: relative;
z-index: 2;
}
div.header_mail div.h_mail_btn span{
  display: table;
  margin: auto;
  background-color: var(--wcLogoSvg);
  background-color: #fff;
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  width: 35px;
  height: 35px;
  position: absolute;
  top: 50%;
  right: 0.5em;
  transform: translateY(-50%);
  z-index: 1;
}
/*footer*/
footer{
  background-color: #fff;
}
footer *{
  color: #543838 !important;
}
body[wc-view-type="sp"] footer div.footer{
  display: block;
}
footer div.contactarea,
footer div.contactarea div.wcbtnarea a{
  border-color: #ff5715;
}
div.footerblock.contactarea{
  border: solid 2px #543838;
  border-radius: 1rem;
}
footer div.contactarea p.businesshours span::before{
  color: #543838 !important;
}
footer div.dataarea div.infoitem.address::before,
footer div.dataarea div.infoitem.contact > [wc-icon]::before{
  background-color: #543838 !important;
}
div.dataarea div.infoitem.contact > div.line::before{
  background-color: #fff !important;
}
footer div.contactarea div.wcbtnarea a{
  background-color: #ff5715;
  color: #fff !important;
  border-radius: 1rem;
}
html[scroll-top="true"] body[wc-view-type="sp"] footer div.footer::before,
html[contents-top] body[wc-view-type="sp"] footer div.footer::before{
  background-color: #543838;
}
body[wc-view-type="pc"] div.footercontents{
  display: flex;
  align-items: flex-start;
}
body[wc-view-type="pc"] div.footercontents > div.footerblock.dataarea,
body[wc-view-type="pc"] div.footercontents > div.footerblock.contactarea{
  width: calc((100% / 2) - 1rem);
}
footer div.snsarea a{
  background-color: #543838 !important;
}
footer div.snsarea div[wc-icon="line"] a{
  background-color: #fff !important;
}
div.footerlogotype > span{
  height: auto !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  bottom: 0 !important;
  z-index: 3 !important;
}
body[wc-view-type="sp"] div.footerlogotype,
body[wc-view-type="tb"] div.footerlogotype{
  position: relative !important;
  z-index: 1 !important;
}
body[wc-view-type="sp"] div.footerlogotype > span{
  bottom: -2rem !important;
  width: 160px !important;
}
body[wc-view-type="tb"] div.footerlogotype > span{
  width: 160px !important;
  top: calc(160px + 1rem) !important;
  height: 1.5rem !important;
  bottom: auto !important;
}
body[wc-view-type="pc"] div.footerlogotype > span{
  width: 160px !important;
}