/* CSS Document */
/*ロードの時*/
body::before {
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%,-50%) !important;
	transition: opacity 30s ease !important;
}
html:not(.wcpagereturn) body:not([page-img])::before{
  background-color: transparent !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  -webkit-mask-position: inherit !important;
  mask-position: inherit !important;
  -webkit-mask-repeat: inherit !important;
  mask-repeat: inherit !important;
  -webkit-mask-size: inherit !important;
  mask-size: inherit !important;
  background-image: url("/img/favicon/safari-pinned-tab.png") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 1 !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%,-50%) !important;
}
/*main*/
main{
	margin-top: calc(var(--headerHeight) * -1);
}
/*透明*/
.opa{
	width: 0;
	height: 0;
	opacity: 0;
	display: block;
	overflow: hidden;
}
/*太文字*/
.bold{
	font-weight: 700;
}
/*色変更*/
.blue{
	color: var(--supportColor);
}
/*画像*/
figure{
}
figure picture{
	width: 100%;
	height: auto;
	display: block;
}
figure img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
/*ページタイトル*/
.page_title{
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: var(--headerHeight);
	box-sizing: border-box;
}
body[wc-view-code="sp"] .page_title{
	height: 230px;
}
body[wc-view-type="tb"] .page_title{
	height: 250px;
}
body[wc-view-type="tb-l"] .page_title{
	height: 300px;
}
body[wc-view-code="pc"] .page_title{
	height: 320px;
}
.page_title > h2{
	font-size: 1.75rem;
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 5;
  opacity: 1;
}
body[wc-view-code="sp"] .page_title > h2{
	font-size: 1.5rem;
}
.page_title figure{
	position: absolute;
	inset:0;
	z-index: 1;
}
.page_title figure img{
}
body[wc-view-code="sp"] .page_title figure img{
	height: 230px;
}
body[wc-view-type="tb"] .page_title figure img{
	height: 250px;
}
body[wc-view-type="tb-l"] .page_title figure img{
	height: 300px;
}
body[wc-view-code="pc"] .page_title figure img{
	height: 320px;
}
.page_title figure::before{
	content: "";
	position: absolute;
	z-index: 2;
	background-color: rgba(25,40,66,0.5);
	inset:0;
}
/*タイトル*/
.contents_title{
	text-align: center;
	font-weight: 700;
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	opacity: 0;
	transform: translateY(1.5rem);
	transition: opacity 650ms ease,transform 650ms ease;
	position: relative;
	z-index: 3;
}
.contents_title.wcvisible{
	opacity: 1;
	transform: translateY(0);
}
.contents_title.white{
	color: #fff;
}
/*ボタン*/
.btn{
	width: fit-content;
}
.btn a{
	text-decoration: none;
  color: var(--defColor);
  border: solid 1px var(--defColor);
	font-size: 1.25rem;
	font-weight: 700;
	padding: 0.75rem 2.35rem 0.75rem 0.75rem;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: block;
	background-color: #fff;
}
.btn a::after{
	content: "";
	width: 2rem;
	height: 2rem;
	background-color: var(--defColor);
	-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;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	right: 0.3rem;
}
.btn.line_btn a{
	background-color: #4cc764;
	border: none;
	color: #fff;
}
.btn.line_btn a::after{
	background-color: #fff;
}
/*ボタンブロック*/
.btn_block{
	width: fit-content;
	margin: 0 auto;
	display: flex;
	gap:0.75rem;
	transition: opacity 600ms ease;
	opacity: 0;
}
.btn_block.wcvisible{
	opacity: 1;
}
body[wc-view-code="sp"] .btn_block{
	flex-direction: column;
	gap:0.5rem;
}
.btn_block .btn{
}
body[wc-view-code="sp"] .btn_block .btn{
	width: 100%;
}
/*ドロワーメニュー*/
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::before{
	mask-size:cover !important;
	-webkit-mask-size:cover !important;
}
.line_dw{
	display: flex;
  background-color: #4cc764;
  padding: 1.5rem;
  position: relative;
  z-index: 1;
  width: 280px;
  margin: 1.5rem auto 0 auto;
	align-items: center;
	gap:0.75rem;
	justify-content: center;
	text-decoration: none;
	box-sizing: border-box;
}
.line_dw::before{
	content: "";
	position: absolute;
	inset:0.5rem;
	border: solid 1px #fff;
}
.line_dw .line_icon{
	width: 40px;
	height: 40px;
	background-color: #fff;
	-webkit-mask-image: url("/img/svg/line.svg");
  mask-image: url("/img/svg/line.svg");
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
}
.line_dw > p{
	font-weight: 700;
	color: #fff;
	font-size: 1.5rem;
}
/*footer*/
footer{
	text-align: left !important;
}
footer div.footer{
	justify-content: inherit !important;
} 
footer div.footerlogo .logomark{
	width: 0 !important;
}
/*PCメニュー*/
.pc_menu_wrap{
  display: flex;
  width: fit-content;
  float: right;
  margin-right: 0.75rem;
}
body[wc-view-type="pc"] .menubtn{
  display: none !important;
}
body:not([wc-view-type="pc"]) .pc_menu_wrap{
  display: none;
}
.pc_menu_wrap ul.pc_menu{
  display: flex;
  list-style: none;
  list-style-position: outside;
}
.pc_menu_wrap .pc_menu .h_menu_list{
  margin: 0 0.75rem 0 0;
}
.pc_menu_wrap .pc_menu .h_menu_list > a,
.pc_menu_wrap .pc_menu .h_menu_list > div{
  display: flex;
  padding: 0 0.25rem;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  color: var(--defColor);
  overflow: hidden;
  transition: all 0.5s linear;
  font-weight: 700;
  align-items: center;
}
.pc_menu_wrap .pc_menu .h_menu_list > a:hover,
.pc_menu_wrap .pc_menu .h_menu_list > div:hover{
  color: var(--supportColor);
}
.pc_menu_wrap .pc_menu .h_menu_list > a span.icon,
.pc_menu_wrap .pc_menu .h_menu_list > div span.icon{
  position: relative;
  flex: none;
  margin-left: 0.5rem;
  transition: all 0.5s linear;
  background-color: var(--supportColor);
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
.pc_menu_wrap .pc_menu .h_menu_list > a:hover span.icon,
.pc_menu_wrap .pc_menu .h_menu_list > div:hover span.icon{
  transform: rotate(45deg);
}
.pc_menu_wrap .pc_menu .h_menu_list > a span.icon::before,
.pc_menu_wrap .pc_menu .h_menu_list > a span.icon::after,
.pc_menu_wrap .pc_menu .h_menu_list > div span.icon::before,
.pc_menu_wrap .pc_menu .h_menu_list > div span.icon::after{
  content: "";
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.pc_menu_wrap .pc_menu .h_menu_list > a:hover span.icon::before,
.pc_menu_wrap .pc_menu .h_menu_list > a:hover span.icon::after,
.pc_menu_wrap .pc_menu .h_menu_list > div:hover span.icon::before,
.pc_menu_wrap .pc_menu .h_menu_list > div:hover span.icon::after{
  background-color: #fff;
}

.pc_menu_wrap .pc_menu .h_menu_list > a span.icon::before,
.pc_menu_wrap .pc_menu .h_menu_list > div span.icon::before{
  width: 13px;
  height: 2px;
}
.pc_menu_wrap .pc_menu .h_menu_list > a span.icon::after,
.pc_menu_wrap .pc_menu .h_menu_list > div span.icon::after{
  width: 2px;
  height: 13px;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open{
  cursor: pointer;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open .pc_menu_inlist{
  display: none;
  position: absolute;
  transition: all 0.5s linear;
  border-radius: 1rem;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open:hover .pc_menu_inlist{
  display: block;
  background-color: #fff;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open .pc_menu_inlist li > a{
  display: block;
  padding: 0.25rem 0.75rem 0.25rem.75rem;
  position: relative;
  z-index: 1;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  color: var(--defColor);
  transition: all 0.5s ease;
  font-weight: 700;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open .pc_menu_inlist li > a:hover{
  color: var(--accentColor);
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open .pc_menu_inlist{
  list-style: none;
  list-style-position: outside;
}
.pc_menu_wrap .pc_menu .h_menu_list.h_in_open .pc_menu_inlist li > a span.icon{
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  -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:19px;
  height: 19px;
  background-color: var(--defColor);
}
.pc_menu_wrap .h_insta{
  width: 40px;
  height: 40px;
}
.pc_menu_wrap .h_insta a{
  display: block;
  background-color: var(--defColor);
  height: 40px;
  width: 40px;
  border-radius: 50%;
  position: relative;
  z-index: 1;
  transition: all 0.5s ease;
}
.pc_menu_wrap .h_insta a:hover{
  background-color: var(--supportColor);
}
.pc_menu_wrap .h_insta a::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform:translate(-50%,-50%);
  z-index: 1;
  -webkit-mask-image: url("/img/svg/h_insta.svg");
  mask-image: url("/img/svg/h_insta.svg");
  -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:40px;
  height: 40px;
  background-color: #fff;
}
.pc_menu_wrap .pc_line{
	padding: 0 0.75rem;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #4cc764;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}
/*footer お問い合わせ*/
.f_contact{
	box-sizing: border-box;
}
body[wc-view-code="sp"] .f_contact,
body[wc-view-code="tb"] .f_contact{
	padding: var(--headerHeight) calc(var(--avesize) * 4) calc(var(--avesize) * 2);
}
body[wc-view-code="pc"] .f_contact{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2) calc(var(--avesize) * 2);
}
.f_contact .contents_title{
	opacity: 1;
	transform: translateY(0);
}
.fc_inner{
	background-color: #fff;
	padding: 1rem;
	box-sizing: border-box;
}
body:not([wc-view-code="sp"]) .fc_inner{
	padding: 1.5rem;
}
.fc_inner *{
	color: var(--defColor);	
}
.fc_inner .fc_text{
	line-height: 1.8rem;
	margin-bottom: 0.5rem;
}
body[wc-view-type="tb-l"] .fc_inner .fc_text,
body[wc-view-code="pc"] .fc_inner .fc_text{
	text-align: center;
}
.fc_inner .b_time_block{
	display: flex;
  justify-content: center;
  gap: 1rem;
}
.fc_inner .b_time_block .b_time{
}
body[wc-view-code="pc"] .fc_inner .b_time_block .b_time{
	display: flex;
	gap:0.5rem;
}
.fc_inner .b_time_block .b_time dt{
}
.fc_inner .b_time_block .b_time dt span{
	color: var(--defColor);
  font-size: 0.85rem;
  display: table;
  line-height: 1em;
  padding: 0.2rem 0.35rem;
  margin: 0 auto;
  border: solid 1px var(--defColor);
}
.fc_inner .b_time_block .b_time dd{
	text-align: center;
}
.fc_inner .fc_block{
	display: flex;
	align-items: center;
}
body[wc-view-code="sp"] .fc_inner .fc_block{
	flex-direction: column;
	width: fit-content;
	margin: 0 auto;
}
body[wc-view-type="tb"] .fc_inner .fc_block{
	flex-wrap: wrap;
  width: 500px;
  margin: 0.75rem auto 0;
  gap: 0 1.5rem;
  justify-content: center;
}
body[wc-view-type="tb-l"] .fc_inner .fc_block,
body[wc-view-code="pc"] .fc_inner .fc_block{
  margin-top: 1rem;
	gap:1.5rem;
	justify-content: center;
}
.fc_inner .fc_block .fc_tel{
	display: flex;
  width: fit-content;
  font-family: "Number";
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
	align-items: center;
}
body:not([wc-view-code="sp"]) .fc_inner .fc_block .fc_tel{
	pointer-events: none;
}

.fc_inner .fc_block .fc_tel::before{
	content: "";
	width: 2.5rem;
	height: 2.5rem;
	-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;
	background-color: var(--defColor);
}
.fc_inner .fc_block .btn{
}
body[wc-view-code="sp"] .fc_inner .fc_block .btn{
	width: 100%;
}
body[wc-view-code="sp"] .fc_inner .fc_block .btn:nth-of-type(1){
	margin-top: 0.15rem;
}
body[wc-view-code="sp"] .fc_inner .fc_block .btn:nth-of-type(n+2){
	margin-top: 0.75rem;
}
body[wc-view-type="tb"] .fc_inner .fc_block .btn{
	width: calc(250px - 0.75rem);
}
body[wc-view-code="sp"] .fc_inner .fc_block .btn a{
}
/*footer下側　会社名など*/
footer div.footerlogo{
	width: auto !important;
	margin-left: calc(var(--avesize) * 2) !important;
}
footer .namedataarea[flex-flow]{
	justify-content: inherit !important;
}
footer .namedataarea .jpname{
	width: 0 !important;
}
footer .footerflex > :not(.topauto){
	margin-top: 0 !important;
}
footer div.footer .footeritem {
  margin-top: calc(var(--avesize) * 2) !important;
}
body[touch-pos="left"] footer div.footer::before, body[touch-pos="right"] footer div.footer::after{
	opacity: 0 !important;
}
body[touch-pos] footer div.footer{
	border-bottom: none !important;
}
footer div.footerlogo .wclogoimg.logotype{
}
body[wc-view-code="sp"] footer div.footerlogo .wclogoimg.logotype{
	width: 200px !important;
}
body[wc-view-code="tb"] footer div.footerlogo .wclogoimg.logotype{
	width: 250px !important;
}
footer div.footer .footeritem.logolineitem{
}
body[wc-view-code="tb"] footer div.footer .footeritem.logolineitem{
	width: 300px !important;
}
/*ページャー*/
.pager_wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
	margin: 2rem 0 0 0;
	gap:0.25rem;
	width: 100%;
}
.pager_wrap > div{
	width: 40px;
  height: 40px;
  border: 1px solid #bbb;
}
.pager_wrap > div:last-of-type{
	border-right: 1px solid #bbb;
}
body[wc-view-code="sp"] .pager_wrap > div{
	width: 36px;
	height: 36px;
}
.pager_wrap > .active,
.pager_wrap > div a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Number";
	width: 40px;
	height: 40px;
	font-weight: 700;
}
body[wc-view-code="sp"] .pager_wrap > .active,
body[wc-view-code="sp"] .pager_wrap > div a{
	width: 36px;
	height: 36px;
}
.pager_wrap > .active{
	color: #fff;
  background-color: var(--defColor);
}
.pager_wrap > div a{
	color:#bbb;
	text-decoration: none;
	background-color: #fff;
}
.pager_wrap > .prev a,
.pager_wrap > .next a{
	position: relative;
	z-index: 1;
}
.pager_wrap > .prev a::before,
.pager_wrap > .next a::before{
	content: "";
  width: 40px;
  height: 40px;
  background-color: #bbb;
  -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;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 2;
}
.pager_wrap > .prev a{
}
.pager_wrap > .next a{
}
/*スティッキー*/
.sticky_block{
	flex: none;
	position: relative;
	z-index: 8800;
	box-sizing: border-box;
}

body[wc-view-code="sp"] .sticky_block{
	padding: 0 7vw;
}
body[wc-view-code="tb"] .sticky_block{
	width: 320px;
	padding-right: 2.5rem;
}
body[wc-view-code="pc"] .sticky_block{
	width: 320px;
}
.sticky_block .in_sticky{
	position: sticky;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	gap:0.75rem;
}
.sticky_block .in_sticky > dl{
	box-shadow: 0px 0px 5px rgba(25,40,66,0.2);
	padding-top: 0.25rem;
}
.sticky_block .in_sticky > dl dt{
}
.sticky_block .in_sticky > dl dt span{
	color:var(--defColor);
	font-weight: 700;
	height: 35px;
	display: flex;
	align-items: center;
	width: fit-content;
	position: relative;
	z-index: 1;
	padding: 0 0.75rem;
}
.sticky_block .in_sticky > dl dd{
	padding: 0 0.75rem 0.75rem 0.75rem;
	box-sizing: border-box;
}
.sticky_block .in_sticky > dl dd a{
	display: block;
	padding-right: 1.5rem;
	padding-left: 0.5rem;
	position: relative;
	z-index: 1;
	text-decoration: none;
	border-bottom: solid 1px #dcdee1;
	box-sizing: border-box;
	padding-bottom: 0.5rem;
	padding-top: 0.5rem;
	color: var(--defColor);
	overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.sticky_block .in_sticky > dl dd a::after{
	content: "";
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--defColor);
  -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;
  position: absolute;
  top: calc(50% + 0.28rem);
  right: 0;
  transform: translateY(-50%);
  z-index: 2;
}
/*スワイプメニュー*/
[swipemenu][menu-type="tab"]{
	--lefttab: inhert !important;
  --righttab: inhert !important;
}
[swipemenu][menu-type="tab"] .swipemenuinner[inner-type="btn"] [swipemenu-target]::before, [swipemenu][menu-type="tab"] .swipemenuinner[inner-type="btn"] [swipemenu-target]::after{
	display: none !important;
}
[swipemenu] .swipemenuinner[inner-type="btn"]{
	gap:0.5rem !important;
}
[swipemenu] .swipemenuinner[inner-type="btn"] [swipemenu-target]{
	font-size: 1rem !important;
}
[swipemenu][menu-type="tab"] .swipemenuinner[inner-type="btn"] [swipemenu-target]{
	border-radius: 0 !important;
	padding: 0 1.25rem!important;
}