/* CSS Document */
/*キャッチコピー*/
#wccatchcopy{
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
  border-bottom: 0 !important;
}
#wccatchcopy div.wcinner > * {
  padding: 0 !important;
  white-space: inherit !important;
  line-height: 0 !important;
  font-size: 0 !important;
  height: 0  !important;
}
/*透明*/
.opa{
	width: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
	display: block;
}
/*画像*/
figure{
}
figure picture{
	width: 100%;
	height: 100%;
	display: block;
}
figure img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
/*コンテンツタイトル*/
.contents_title{
	text-align: center;
	font-size: 1.3rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
	transition: opacity 800ms ease,filter 800ms ease;
	opacity: 0;
	filter: blur(10px);
}
.contents_title.wcvisible{
	opacity: 1;
	filter: blur(0);
}
.contents_title::before{
	content: "About";
  font-size: 1.75rem;
  letter-spacing: 2px;
  font-family: "Roboto";
}
.contents_title.white{
	color: #fff;
}
/*こめ*/
.kome{
	display: flex;
	font-size: 0.9rem;
}
.kome::before{
	content: "※";
	flex: none;
	margin-right: 0.25rem;
	font-size: 0.9rem;
}
/*ボタン*/
.btn{
	width: fit-content;
}
.btn a{
	display: flex;
	gap:2px;
	text-decoration: none;
}
.btn a span{
	background-color: var(--defColor);
}
.btn a .bt_text{
	color: #fff;
  height: 40px;
  border-radius: 4px 0 0 4px;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  font-size: 1.05rem;
  font-weight: 500;
}
.btn a .bt_icon{
	position: relative;
	z-index: 1;
	width: 40px;
	height: 40px;
	border-radius: 0 4px 4px 0;
	display: table;
}
.btn a .bt_icon::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
	width: 35px;
	height: 35px;
	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;
}
.btn.white{
}
.btn.white a span{
	background-color: #fff;
}
.btn.white a .bt_text{
	background-color: #fff;
	color: var(--defColor);
}
.btn.white a .bt_icon::before{
	background-color: var(--defColor);
}
/*ボタンブロック*/
.btn_block{
	display: flex;
	gap:1rem;
}
body[wc-view-code="sp"] .btn_block{
	flex-direction:column;
	align-items: center;
  width: fit-content;
	margin: 0 auto;
	gap:0.5rem;
}
body:not([wc-view-code="sp"]) .btn_block{
	justify-content: center;
}
.btn_block .btn{
}
body[wc-view-code="sp"] .btn_block .btn{
	width: 100%;
}
.btn_block .btn a{
}
body[wc-view-code="sp"] .btn_block .btn a{
	width: 100%;
}
body[wc-view-code="sp"] .btn_block .btn a .bt_text {
  width: calc(100% - 40px);
}
/*ページタイトル*/
.pagetitle{
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: var(--headerHeight);
	box-sizing: border-box;
	padding-bottom: 26.3px;
}
body[wc-view-code="sp"] .pagetitle{
	height: 200px;
}
body[wc-view-type="tb"] .pagetitle{
	height: 280px;
}
body[wc-view-type="tb-l"] .pagetitle{
	height: 300px;
}
body[wc-view-code="pc"] .pagetitle{
	height: 320px;
	padding-bottom: 2rem;
}
.pagetitle .contents_title{
	position: relative;
	z-index: 4;
	margin-bottom: 0;
}
.pagetitle .page_position{
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	display: flex;
  justify-content: space-between;
}
body[wc-view-code="sp"] .pagetitle .page_position{
	padding: 0 1rem 0.45rem;
}
body[wc-view-code="tb"] .pagetitle .page_position{
	padding: 0 7vw 0.45rem;
}
body[wc-view-code="pc"] .pagetitle .page_position{
	padding: 0 calc((100vw - 1100px) / 2) 0.45rem;
}
.pagetitle .page_position > a{
	color: #fff;
	padding-left: 0.8rem;
	position: relative;
	z-index: 1;
	text-decoration: none;
}
.pagetitle .page_position > a::before{
	content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 55%;
  transform: translateY(-50%) rotate(-45deg);
  z-index: 2;
  left: 2px;
  box-sizing: border-box;
}
.pagetitle .page_position > p{
	color: #fff;
}
.pagetitle figure{
	position: absolute;
	z-index: 1;
	inset:0;
}
.pagetitle figure::before{
	content: "";
	position: absolute;
	inset:0;
	background-color: rgba(0,0,0,0.28);
}
body[wc-view-code="sp"] .pagetitle figure img{
	height: 200px;
}
body[wc-view-type="tb"] .pagetitle figure img{
	height: 280px;
}
body[wc-view-type="tb-l"] .pagetitle figure img{
	height: 300px;
}
body[wc-view-code="pc"] .pagetitle figure img{
	height: 320px;
}
/*main*/
main{
	margin-top: calc(var(--headerHeight) * -1);
}
/*header*/
header#wcheader{
	background-color: rgba(255,255,255,0) !important;
}
html.wctop header#wcheader div.headerlogo[logo-type="maskdirect"] h2{
	background-color: #fff !important;
}
html.wcscroll header#wcheader div.headerlogo[logo-type="maskdirect"] h2{
	background-color: var(--defColor) !important;
}
html.wctop header#wcheader .menubtn[wc-icon]:not(.wcshowmenuwrap)::before{
	background-color: #fff !important;
}
html.wcscroll header#wcheader .menubtn[wc-icon]:not(.wcshowmenuwrap)::before{
	background-color: var(--defColor) !important;
}
html.wctop header#wcheader .menubtn[wc-icon][name]:not([item-pos*="show"])::after{
	color: #fff !important;
}
html.wcscroll header#wcheader .menubtn[wc-icon][name]:not([item-pos*="show"])::after{
	color: var(--defColor) !important;
}
/*ドロワーメニュー*/
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::before{
	mask-size:cover !important;
}
.wcdrawermenu nav ul li > a, .wcdrawermenu nav ul li > div{
	font-weight: 500 !important;
}
/*footer　共通*/
footer .namedataarea[flex-flow]{
  justify-content: flex-start !important;
}
footer .namedataarea{
}
footer div.footer .footeritem.logolineitem {
  width: fit-content !important;
  margin: 0 !important;
}
footer .namedataarea{
  width: auto !important;
}
body[wc-view-code="pc"] footer div.footer .footeritem.logolineitem{
  margin-left: 1.5rem !important;
}
footer .footerflex {
  flex-direction: column !important;
  align-items: baseline !important;
}
body[wc-view-code="tb"] footer div.footer,
body[wc-view-code="pc"] footer div.footer{
  justify-content: flex-start !important;
}
body[wc-view-code="tb"] footer .footerflex > :not(.topauto),
body[wc-view-code="pc"] footer .footerflex > :not(.topauto){
  margin-top: 0 !important;
}
.footersnsarea > div{
  background-color: transparent !important;
}
.footersnsarea > div[svg-color="true"] a {
  background-color: #fff !important;
}
/*footer変更部分*/
footer div.footer{
	padding-top: calc(var(--avesize) * 10) !important;
}