/* CSS Document */
/*ページタイトル*/
.page_title > h2::after{
	content: "COMPANY";
}
main{
  position: relative;
  z-index: 1;
}
main::before{
  content: "";
  display: block;
  top: 0;
  left: 0;
  z-index: -1;
  background-image: url(./img/example.jpg);
  position: fixed;
  background-image: url("/img/company/back_logo.webp");
  width: 100vw;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.05;
}
body[wc-view-code="sp"] main::before{
  background-size: 80vw 68vw;
}
body[wc-view-code="tb"] main::before{
  background-size: 450px 364px;
}
body[wc-view-code="pc"] main::before{
  background-size:450px 356px;
  background-position: center 370px;
}
 /*
main{
background-image:url("/img/company/back_logo.webp");
  background-size: 95vw 82vw;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-color: rgba(255,255,255,1);
  background-blend-mode: lighten;
	transition: background-color 800ms 200ms linear;
	background-size: 0;
}

html.wcscroll main{
  background-color: rgba(255,255,255,0.97);
}
html.wcscroll body[wc-view-code="sp"] main{
	background-size: 95vw 82vw;
}
html.wcscroll body[wc-view-code="tb"] main{
	background-size: 600px 514px;
}
html.wcscroll body[wc-view-code="pc"] main{
	background-size: 650px 556px;
}*/
/*
body[wc-view-code="sp"] main{
	background-position: center 65vw;
	background-size: 95vw 82vw;
}
main{
	background-position: center 65vw;
}
body[wc-view-code="pc"] main{
	background-size: 650px 556px;
  background-position: center 344px;
}*/
/*挨拶*/
.greeting{
	box-sizing: border-box;
}
body[wc-view-code="sp"] .greeting{
	padding: var(--headerHeight) 7vw;
}
body[wc-view-code="tb"] .greeting{
	padding: var(--headerHeight) 5vw;
}
body[wc-view-code="pc"] .greeting{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.greeting .contents_title{
	margin-bottom: 1.5rem;
}
.greeting .contents_title::before{
	content: "GREETING";
}
.greeting .m_title{
	text-align: center;
	font-weight: 700;
	font-size: 1.3rem;
	margin-bottom: 1.5rem;
	line-height: 2rem;
	opacity: 0;
  transform: translateY(1rem);
  transition: opacity 600ms ease,transform 600ms ease;
}
.greeting .m_title.wcvisible{
	opacity: 1;
	transform: translateY(0);
}
.greeting .g_text_block{
}
.greeting .g_text_block > p{
	line-height: 2.25rem;
	opacity: 0;
  transform: translateY(1rem);
  transition: opacity 600ms ease,transform 600ms ease;
}
.greeting .g_text_block > p.wcvisible{
	opacity: 1;
	transform: translateY(0);
}
body:not([wc-view-code="sp"]) .greeting .g_text_block > p{
	text-align: center;
}
.greeting .g_text_block > p:not(:first-of-type){
	margin-top: 1rem;
}
.greeting .g_text_block > .name{
	display: flex;
	width: fit-content;
	margin: 1rem auto 0 auto;
	align-items:center;
	gap:0.25rem;
}
.greeting .g_text_block > .name span{
	font-weight: 700;
}
.greeting .g_text_block > .name .position{
	font-size: 0.9rem;
}
.greeting .g_text_block > .name .name_box{
	font-size: 1.15rem;
}
/*理念*/
.philosophy{
	box-sizing: border-box;
	background-color: rgba(240,248,255,0.3);
}
body[wc-view-code="sp"] .philosophy{
	padding: var(--headerHeight) 7vw;
}
body[wc-view-code="tb"] .philosophy{
	padding: var(--headerHeight) 5vw;
}
body[wc-view-code="pc"] .philosophy{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.philosophy .contents_title{
	margin-bottom: 1.5rem;
}
.philosophy .contents_title::before{
	content: "PHILOSOPHY";
}
.philosophy .philosophy_block{
	display: flex;
	flex-wrap: wrap;
}
body[wc-view-code="sp"] .philosophy .philosophy_block{
	flex-direction: column;
	gap:1rem;
}
body:not([wc-view-code="sp"]) .philosophy .philosophy_block{
	justify-content: center;
	gap: 1.5rem;
}
.philosophy .philosophy_block .philosophy_box{
	backdrop-filter: blur(10px);
	background-color: rgba(255,255,255,0.4);
	box-shadow: 0px 0px 5px rgba(30,76,124,0.2);
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
	box-sizing: border-box;
	opacity: 0;
  transform: translateY(1rem);
  transition: opacity 600ms ease,transform 600ms ease;
}
.philosophy .philosophy_block .philosophy_box.wcvisible{
	opacity: 1;
	transform: translateY(0);
}
body[wc-view-code="sp"] .philosophy .philosophy_block .philosophy_box{
	justify-content: center;
}
body[wc-view-type="tb"] .philosophy .philosophy_block .philosophy_box{
	width: calc(50% - 0.75rem);
}
body:not([wc-view-code="sp"]) .philosophy .philosophy_block .philosophy_box{
	min-height: 130px;
}
.philosophy .philosophy_block .philosophy_box .ph_num{
	font-family: "Montserrat";
  color: var(--accentColor);
  font-size: 0.8rem;
  line-height: calc(1rem + (1em - 1lh) / 2);
  display: block;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--accentColor);
  padding-bottom: 0.75rem;
	text-align: center;
}
.philosophy .philosophy_block .philosophy_box p{
	font-weight: 700;
  text-align: center;
  line-height: 1.8rem;
}
/*会社概要*/
.company_info{
	box-sizing: border-box;
}
body[wc-view-code="sp"] .company_info{
	padding: var(--headerHeight) 7vw;
}
body[wc-view-type="tb"] .company_info{
	padding: var(--headerHeight) 5vw;
}
body[wc-view-type="tb-l"] .company_info{
	padding: var(--headerHeight) 15vw;
}
body[wc-view-code="pc"] .company_info{
	padding: var(--headerHeight) calc((100vw - 750px) / 2);
}
.company_info .contents_title{
	margin-bottom: 1.5rem;
}
.company_info .contents_title::before{
	content: "COMPANY INFORMATION";
}
.company_info > dl{
	display: flex;
	border-top: 1px solid #bbb;
	opacity: 0;
  transform: translateY(1rem);
  transition: opacity 600ms ease,transform 600ms ease;
}
.company_info > dl.wcvisible{
	opacity: 1;
	transform: translateY(0);
}
.company_info > dl:last-of-type{
	border-bottom: 1px solid #bbb;
}
body[wc-view-code="sp"] .company_info > dl{
	flex-direction: column;
}
.company_info > dl > dt,
.company_info > dl > dd{
	box-sizing: border-box;
}
.company_info > dl > dt{
	font-weight: 700;
	padding: 0.75rem 1rem 0.25rem 0.75rem;
	color: var(--accentColor);
}
body:not([wc-view-code="sp"]) .company_info > dl > dt{
	width: 200px;
	padding: 1rem 0 1rem 1.5rem;
}
.company_info > dl > dd{
	padding: 0.25rem 1rem 0.75rem 0.5rem;
}
body:not([wc-view-code="sp"]) .company_info > dl > dd{
	width: calc(100% - 200px);
	padding: 1rem 1.5rem 1rem 0;
}
.company_info > dl > dd p{
}
.company_info > dl > dd ul{
	list-style-position: outside;
	padding-left: 1rem;
}
.company_info > dl > dd ul li{	
}
.company_info > dl > dd ul li:not(:first-of-type){
	margin-top: 0.5rem;
}
.company_info > dl > dd a{
	color: #333;
	display: flex;
	align-items: center;
}
.company_info > dl > dd a::after{
	content: "";
	width: 1.5rem;
  height: 1.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;
  mask-size: cover;
  background-color: #333;
}
/*事業所一覧*/
.office{
	box-sizing: border-box;
	background-color: rgba(240,248,255,0.3);
}
body[wc-view-code="sp"] .office{
	padding: var(--headerHeight) 7vw;
}
body[wc-view-code="tb"] .office{
	padding: var(--headerHeight) 5vw;
}
body[wc-view-code="pc"] .office{
	padding: var(--headerHeight) calc((100vw - 1100px) / 2);
}
.office .contents_title{
	margin-bottom: 1.5rem;
}
.office .contents_title::before{
	content: "OFFICE LIST";
}
.office .office_list{
	position: relative;
	z-index: 1;
}
.office .office_list > figure{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	opacity: 0;
  transition: opacity 600ms 450ms linear;
}
.office .office_list.wcvisible > figure{
	opacity: 0.25;
}
body[wc-view-code="sp"] .office .office_list > figure{
	width: 86vw;
}
body[wc-view-type="tb"] .office .office_list > figure{
	width: 353px;
  top: 40%;
}
body[wc-view-code="pc"] .office .office_list > figure{
	width: 480px;
	transform: translate(-50%,0);
  top: -140px;
}
.office .office_list .o_text{
}
body[wc-view-code="pc"] .office .office_list .o_text{
	width: 650px;
	margin: 0 auto;
}
.office .office_list .o_text p{
	line-height: 1.8rem;
	opacity: 0;
  transform: translateY(1rem);
  transition: opacity 600ms ease,transform 600ms ease;
}

.office .office_list.wcvisible .o_text p{
	opacity: 1;
	transform: translateY(0);
}
body[wc-view-code="sp"] .office .office_list .o_text p br.none{
	display: none;
}
body:not([wc-view-code="sp"]) .office .office_list .o_text p{
	text-align: center;
}
.office .office_list .o_text .btn{
	margin: 1.5rem auto 0 auto;
}