/* CSS Document */
/*画像*/
figure{
}
figure picture{
	width: 100%;
	height: 100%;
	display: block;
}
figure img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
/*こめ*/
.kome{
  display: flex;
  font-size: 0.9rem;
  align-items: baseline;
}
.kome::before{
  content: "※";
  flex: none;
  margin-right: 0.25rem;
}
/*太さ*/
.bold{
  font-weight: 700;
}
/*透明*/
.opa{
  width: 0;
  height: 0;
  opacity: 0;
  display: block;
  overflow: hidden;
}
/*下線*/
.bottom_marker{
	background: linear-gradient(transparent 70%, #d8d9ee 30%)
}
/*色辺*/
.purple{
	color: var(--accentColor);
}
/*コンテンツタイトル*/
.contents_title{
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
  position: relative;
  z-index: 1;
}
.contents_title::before{
	content: "About";
	font-weight: 700;
  letter-spacing: 1.25px;
  font-size: 0.9rem;
  font-family: "Lexend";
  color: var(--accentColor);
	display: block;
	margin-bottom: 0.2rem;
  opacity: 0.5;
	line-height: 1em;
}
.contents_title::after{
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	right: 0;
	width: 74px;
	height: 50px;
	background: #FFFFFF;
  background: linear-gradient(94deg,rgba(255, 255, 255, 0.5) 0%, rgba(104, 98, 208, 0.24) 90%, rgba(104, 98, 208, 0.1) 100%);
	-webkit-mask-image: url("/img/svg/title_deco.svg");
  mask-image: url("/img/svg/title_deco.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;
	z-index: -1;
}
body[wc-view-type="sp"] .contents_title::after{
  width: 87px;
  height: 59px;
	top: -5px;
}
body:not([wc-view-code="sp"]) .contents_title::after{
	width: 84px;
  height: 57px;
	top: -12px;
}
/*サブタイトル*/
.sub_title{
	margin-top: 1rem;
  font-size: 1.15rem;
  font-weight: 700;
	line-height: 1.65rem;
}
body[wc-view-type="sp"] .sub_title{
	font-size: 1.15rem;
	line-height: 1.75rem;
}
body[wc-view-code="pc"] .sub_title{
	font-size: 1.2rem;
  line-height: 1.75rem;
}
/*ボタン*/
.btn{
	width: fit-content;
}
.btn a{
	display: flex;
	background-color: #484554;
	color: #fff;
	font-weight: 700;
	padding: 0.5rem 0.75rem;
	text-decoration: none;
	font-size: 1.05rem;
	align-items: center;
	gap:0.25rem;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}
.btn a::after{
	content: "";
	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;
	color: #fff;
	width: 1.75rem;
	height: 1.75rem;
}
/*ボタンブロック*/
.btn_block{
	width: fit-content;
	display: flex;
	gap:0.75rem;
}
body[wc-view-code="sp"] .btn_block{
	flex-direction: column;
	gap:0.5rem;
}
.btn_block .btn{
	width: 100%;
}
body:not([wc-view-code="sp"]) .btn_block .btn{
	width: fit-content;
}
.btn_block .btn a{
	width: 100%;
}
/*ページタイトル*/
.page_title{
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	overflow: hidden;
}
body[wc-view-code="sp"] .page_title{
	height: calc(38vw + var(--headerHeight));
	padding: var(--headerHeight) 7vw 0 7vw;
}
body[wc-view-code="tb"] .page_title{
	height: calc(25vw + var(--headerHeight));
	padding: var(--headerHeight) 5vw 0 5vw;
}
body[wc-view-code="pc"] .page_title{
	height: calc(280px + var(--headerHeight));
	padding: var(--headerHeight) calc((100vw - 1100px) / 2) 0 calc((100vw - 1100px) / 2);
}
.page_title figure{
	position: absolute;
	z-index: 2;
	inset:0;
}
.page_title figure::before{
	content: "";
	inset:0;
	z-index: 3;
	background-color: rgba(104,98,208,0.45);
	position: absolute;
}
.page_title figure img{
}
body[wc-view-code="sp"] .page_title figure img{
	height: calc(38vw + var(--headerHeight));
}
body[wc-view-code="tb"] .page_title figure img{
	height: calc(25vw + var(--headerHeight));
}
body[wc-view-code="pc"] .page_title figure img{
	height: calc(280px + var(--headerHeight));
}
.page_title > h2{
	color: #fff;
	font-weight: 700;
	font-size: 1.3rem;
	position: relative;
	z-index: 3;
}
body[wc-view-code="tb"] .page_title > h2{
	font-size: 1.4rem;
}
body[wc-view-code="pc"] .page_title > h2{
	font-size: 1.5rem;
}
.page_title > h2::before{
	content: "";
	font-weight: 700;
  letter-spacing: 1.25px;
  font-size: 0.9rem;
  font-family: "Lexend";
  color: #fff;
  margin-bottom: 0.1rem;
}
.page_title > h2::after{
	content: "";
	position: absolute;
	top: 50%;
	width: 130px;
	height: 87px;
	transform: translateY(-50%);
	z-index: -1;
	background: #FFFFFF;
  background: linear-gradient(90deg,rgba(255, 255, 255, 0.2) 0%, rgba(104, 98, 208, 0.5) 100%);
  -webkit-mask-image: url("/img/svg/title_deco.svg");
  mask-image: url("/img/svg/title_deco.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;
	left: -45px;
}
body[wc-view-code="tb"] .slider .s_text > h2::after{
	width: 380px;
	height: 256px;
}
body[wc-view-code="pc"] .slider .s_text > h2::after{
	width: 400px;
	height: 270px;
	mask-size: contain;
  left: -90px;
}

/*ヘッダー*/
header#wcheader div.headerlogo[sub-type="after"] .titlearea .subtitle {
  height: auto !important;
}
header#wcheader div.headerlogo[sub-type="after"].titleinelement .titlearea {
  width: fit-content !important;
}
div.headerlogo[sub-type="after"] .titlearea .subtitle span{
	line-height: calc(1em - (1em - 1lh) / 2) !important;
}
/*ドロワーメニュー*/
.wcdrawermenu div.header div.drawerclosebtn[wc-icon] span::before{
	-webkit-mask-size: cover;
	mask-size: cover;
}
.wcdrawermenu div.header div.title{
	font-family: "Lexend";
}
.dw_contact{
	width: calc(100% - 1.5rem);
  margin: 1rem auto 2rem auto;
  padding: 1rem;
  box-sizing: border-box;
  box-shadow: 0px 0px 5px rgba(104,98,208,0.4);
}
.dw_contact > dt{
}
.dw_contact > dt .contents_title{
	font-size: 1.1rem;
	display: flex;
	flex-direction: column;
}
.dw_contact > dt .contents_title::before{
	content: "Contact";
	line-height: 1em;
	margin-bottom: -0.25rem !important;
}
.dw_contact > dt .contents_title::after{
	width: 64px !important;
  height: 37px !important;
	top: 0 !important;
}
.dw_contact > dd{
}
.dw_contact > dd > p{
	line-height: 1.5rem;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
}
.dw_contact > dd .dw_btn_block{
	display: flex;
	flex-direction: column;
	gap:0.5rem;
	width: fit-content;
}
.dw_contact > dd .dw_btn_block .dw_tel{
	text-decoration: none;
	font-family: "Lexend";
	font-size: 1.45rem;
	display: flex;
	color: var(--defcolor);
}
.dw_contact > dd .dw_btn_block .dw_tel::before{
	content: "";
  width: 1.75rem;
  height: 1.75rem;
  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;
  display: table;
  margin-top: 0.15rem;
}
body:not([wc-view-code="sp"]) .dw_contact > dd .dw_btn_block .dw_tel{
	pointer-events: none;
}
.dw_contact > dd .dw_btn_block .btn{
	width: 100%;
}
.dw_contact > dd .dw_btn_block .btn.form a{
	background-color: #f07838;
}
.dw_contact > dd .dw_btn_block .btn.line a{
	background-color: #06c755;
}
/*フッター*/
footer{
	text-align: left !important;
}
.office_info{
}
.office_info > dt{
}
.office_info > dt span{
	display: table;
  padding: 0.1rem 0.5rem 0.15rem;
  color: #FFF;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1em;
	border: solid 1px;
}
.office_info > dd{
}
.office_info > dd > dl{
  margin-top: 0.5rem;
}
footer div.footerlogo{
}
body[wc-view-code="tb"] footer div.footerlogo{
  width: 265px !important;
  margin-bottom: 0.5rem;
}
footer div.footerlogo .wclogoimg{
}
body[wc-view-code="tb"] footer div.footerlogo .logomark.wclogoimg{
  width: 60px !important;
}
footer div.footerlogo .logotype.wclogoimg{
}
body[wc-view-code="tb"] footer div.footerlogo .logotype.wclogoimg{
  width: 200px !important;
}
#wcfooter .footerflex .wc-dlbox_tel dt::before,
#wcfooter .footerflex .wc-dlbox_address dt::before{
	background-color: #fff !important;
	margin-right: 0 !important;
}
#wcfooter .footerflex .wc-dlbox_address dt::after,
#wcfooter .footerflex .wc-dlbox_tel dt::after{
	display: none !important;
}
body[wc-view-code="sp"] footer .footerflex > :not(.topauto){
	margin-top: calc(var(--avesize) * 4) !important;
}
/*フッター各事業所相互リンク*/
.office_block{
}
body[wc-view-code="tb"] .office_block{
  padding-top: calc(51px + 0.5rem);
}
body[wc-view-code="pc"] .office_block{
  padding-top: calc(45px + (var(--avesize) * 2));
}
.office_block .officelist_title{
  display: table;
  padding: 0.1rem 0.5rem 0.15rem;
  color: #FFF;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1em;
	border: solid 1px;
	margin-bottom: 0.5rem;
}
body[wc-view-code="tb"] .footeritem,
body[wc-view-code="pc"] .footeritem{
  width: calc(50% - calc(var(--avesize) * 4)) !important;
}
.office_block > dl{
  border-top: 1px solid #fff;
}
.office_block > dl:last-of-type{
  border-bottom: 1px solid #fff;
}
.office_block > dl dt{
  font-weight: 700;
  padding: 0.5rem 0.75rem;
  box-sizing:border-box; 
}
.office_block > dl dd{
}
.office_block > dl dd .fl_flex{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-top: 1px solid rgba(255,255,255,0.5);
  padding: 0.5rem 0.75rem;
  box-sizing: border-box;
  width: calc(100% - 1.5rem);
  margin: 0 auto;
}
body[wc-view-code="sp"] .office_block > dl dd .fl_flex{
	gap:0.4rem; 
}
.office_block > dl dd .fl_flex a{
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  text-decoration: none;
}
.office_block > dl dd .fl_flex a::after{
  content: "";
  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: 1.5rem;
  height: 1.5rem;
}
.office_box span.acdeco::after{
  background-color: #fff !important;
}
/*ページャー*/
.pager_wrap{
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
	gap:0.5rem;
}
body:not([wc-view-code="sp"]) .pager_wrap{
  margin: 1rem auto 0 auto;
}
.pager_wrap > div{
}
.pager_wrap > div,
.pager_wrap > div a{
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Lexend";
  font-weight: 700;
}
body[wc-view-code="sp"] .pager_wrap > div,
body[wc-view-code="sp"] .pager_wrap > div a{
	width: 33px;
	height: 33px;
}
body:not([wc-view-code="sp"]) .pager_wrap > div,
body:not([wc-view-code="sp"]) .pager_wrap > div a{
  width: 40px;
  height: 40px;
}
.pager_wrap > .prev,
.pager_wrap > .prev a,
.pager_wrap > .next,
.pager_wrap > .next a{
	width: fit-content !important;
  background-color: transparent;
  box-shadow: inherit !important;
}
.pager_wrap > .active{
  background-color: var(--accentColor);
	color: #fff;
  box-sizing: border-box;
  box-shadow: 0px 0px 5px rgba(104,98,208,0.2);
}
.pager_wrap > div a{
  box-sizing: border-box;
  text-decoration: none;
  color: #666;
  background-color: #fff;
  box-shadow: 0px 0px 5px rgba(104,98,208,0.2);
}
.pager_wrap > .prev a,
.pager_wrap > .next a{
  position: relative;
  z-index: 1;
  font-family: "Lexend";
  width: fit-content !important;
  border: none;
	font-size: 0.9rem;
	color: var(--accentColor);
}
body[wc-view-code="sp"] .pager_wrap > .prev a,
body[wc-view-code="sp"] .pager_wrap > .next a{
	font-size: 0.85rem;
}
.pager_wrap > .prev a{
	padding-left: 1rem;
	padding-right: 0.25rem;
}
body[wc-view-code="sp"] .pager_wrap > .prev a{
	padding-left: 0.75rem;
	padding-right: 0;
}
.pager_wrap > .next a{
	padding-right: 1rem;
	padding-left: 0.25rem;
}
body[wc-view-code="sp"] .pager_wrap > .next a{
	padding-right: 0.75rem;
	padding-left: 0;
}
.pager_wrap > .prev a::before,
.pager_wrap > .next a::before{
	content: "";
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 50%;
  box-sizing: border-box;
  border-top: 1px solid var(--accentColor);
}
.pager_wrap > .prev a::before{
	left: 0;
	border-left: 1px solid var(--accentColor);
	transform: translateY(-50%) rotate(-45deg);
}
.pager_wrap > .next a::before{
	right: 0;
	border-right: 1px solid var(--accentColor);
	transform: translateY(-50%) rotate(45deg);
}
body:not([wc-view-type="sp"]) .pager_wrap > .prev a::before,
body:not([wc-view-type="sp"]) .pager_wrap > .next a::before{
}
/*お問い合わせ*/
.contact{
	box-sizing: border-box;
	background-color: #fff;
	display: flex;
}
body[wc-view-code="sp"] .contact{
	padding: var(--headerHeight) 5vw;
	flex-direction: column;
}
body[wc-view-code="tb"] .contact{
	padding: var(--headerHeight) 7vw;
}
body[wc-view-code="pc"] .contact{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.contact_inner{
	background-color: #0d9488;
	box-sizing: border-box;
	padding: 1rem;
	width: 100%;
}
body[wc-view-type="tb"] .contact_inner{
	display: flex;
}
.contact_inner .contact_text{
	display: flex;
	box-sizing: border-box;
}
body[wc-view-code="sp"] .contact_inner .contact_text{
	flex-direction: column;
}
body[wc-view-type="tb"] .contact_inner .contact_text{
	width: 50%;
	padding-right: 1.5rem;
	flex-direction: column;
}
body[wc-view-code="pc"] .contact_inner .contact_text{
	width: 100%;
	padding-right: 2.5rem;
}
.contact_inner .contact_text .contents_title{
	color: #fff;
}
body[wc-view-type="tb-l"] .contact_inner .contact_text .contents_title,
body[wc-view-code="pc"] .contact_inner .contact_text .contents_title{
	width: 50%;
}
.contact_inner .contact_text .contents_title::before{
	content: "Contact";
	color: #fff;
	opacity: 1;
}
.contact_inner .contact_text .contents_title::after{
  background: linear-gradient(94deg,rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0.3) 100%) !important;
}

.contact_inner .contact_text > p{
	margin-top: 1rem;
	line-height: 1.8rem;color: #fff;
}
body[wc-view-type="tb-l"] .contact_inner .contact_text > p,
body[wc-view-code="pc"] .contact_inner .contact_text > p{
	width: 50%;
}
.contact_inner .contact_block{
	gap:1rem;
	display: flex;
	margin-top: 1rem;
}
body[wc-view-type="tb"] .contact .contact_block,
body[wc-view-code="sp"] .contact .contact_block{
	gap:0.5rem;
	flex-direction: column;
}
body[wc-view-code="sp"] .contact .contact_block{
	margin-top: 1.25rem;
}
body[wc-view-type="tb"] .contact .contact_block{
  width: 50%;
}
.contact .contact_block dl{
}
body[wc-view-type="tb-l"] .contact .contact_block dl,
body[wc-view-code="pc"] .contact .contact_block dl{
	width: calc((100% / 3) - 0.66rem);
}
.contact .contact_block dl dt{
	background-color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 0.35rem;
	color: var(--defColor);
	padding: 0.75rem 0.75rem 0.5rem 0.75rem;
	box-sizing: border-box;
	align-items: center;
}
.contact .contact_block dl dt span{
  font-weight: 700;
  display: flex;
  align-items: baseline;
  gap: 0.5rem
}
body[wc-view-type="tb-l"] .contact .contact_block dl dt span{
	font-size: 0.95rem;
}
.contact .contact_block dl dt span::before{
	content: "";
  flex: none;
  -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;
  background-color: #0d9488;
  width: 0.8rem;
  height: 0.8rem;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
.contact .contact_block dl dt::after{
	font-weight: 700;
  font-size: 0.85rem;
  font-family: "Lexend";
  color: #0d9488;
	opacity: 0.5;
}
.contact .contact_block .tel dt::after{
	content: "Telephone";
}
.contact .contact_block .mail dt::after{
	content: "Mail";
}
.contact .contact_block .line dt::after{
	content: "Line";
}
.contact .contact_block dl dd{
	background-color: #fff;
	margin-top: 1px;
	padding: 0.75rem;
	display: flex;
	align-items: center;
}
body[wc-view-type="tb-l"] .contact .contact_block dl dd,
body[wc-view-code="pc"] .contact .contact_block dl dd{
	justify-content: center;
}
.contact .contact_block dl dd .btn{
	margin: 0 auto;
}
body[wc-view-code="sp"] .contact .contact_block dl dd .btn a{
	min-width: 180px;
}
body[wc-view-type="tb"] .contact .contact_block dl dd .btn a{
	min-width: 205px;
}
.contact .contact_block .tel dd .btn a{
	font-family: "Lexend";
	font-size: 1.25rem;
	background-color: var(--accentColor);
}
.contact .contact_block .mail dd .btn a{
	background-color: #f07838;
}
.contact .contact_block .line dd .btn a{
	background-color: #06c755;
}