/* CSS Document */
@keyframes title_deco{
  0%{
    opacity:0;
    transform: translateY(100%);
  }
  100%{
    opacity:1;
    transform: translateY(0);
  }
}
@keyframes title{
  0%{
    opacity:0;
    transform: translateY(100%);
  }
  100%{
    opacity:1;
    transform: translateY(0);
  }
}
/*概要*/
@keyframes opa{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}
/*コンテンツタイトル*/
div.title.wcvisible > p span:nth-of-type(1){
  animation: title_deco 800ms ease forwards;
}
div.title.wcvisible > p span:nth-of-type(2){
  animation: title_deco 800ms ease 200ms forwards;
}
div.title.wcvisible > p span:nth-of-type(3){
  animation: title_deco 800ms ease 300ms forwards;
}
div.title.wcvisible > p span:nth-of-type(4){
  animation: title_deco 800ms ease 400ms forwards;
}
div.title.wcvisible > p span:nth-of-type(5){
  animation: title_deco 800ms ease 500ms forwards;
}
div.title.wcvisible > p span:nth-of-type(6){
  animation: title_deco 800ms ease 600ms forwards;
}
div.title.wcvisible > p span:nth-of-type(7){
  animation: title_deco 800ms ease 700ms forwards;
}
div.title.wcvisible > p span:nth-of-type(8){
  animation: title_deco 800ms ease 900ms forwards;
}
div.title.wcvisible > p span:nth-of-type(9){
  animation: title_deco 800ms ease 1100ms forwards;
}
div.title.wcvisible > p span:nth-of-type(10){
  animation: title_deco 800ms ease 1300ms forwards;
}
div.title.wcvisible > p span:nth-of-type(11){
  animation: title_deco 800ms ease 1500ms forwards;
}
div.title.wcvisible > h1{
  animation: title 800ms ease forwards;
}
/*概要アニメーション*/
div.company_info_box dl.wcvisible{
  animation: opa 800ms linear 400ms forwards;
}
div.company_info_box dl.wcvisible:nth-of-type(1){
  animation: opa 800ms linear forwards;
}



body{
  font-family: "Noto Sans JP";
}
/*タイトル*/
div.title{
  flex-direction: column-reverse;
  display: flex;
  margin-bottom: 1.5rem;
}
div.title.left{
  padding-left: 2rem;
  box-sizing: border-box;
  align-items: flex-start; 
}
div.title > h1{
  font-size: 1.2rem;
  color: #29221a;
  opacity: 0;
  text-align: center;
  font-weight: 700;
}
div.title > p{
  display: flex;
  justify-content: center;
}
section.news div.title > p{
  flex-direction: column;
  width: 2.8rem;
}
div.title > p span{
  color: #29221a;
  font-size: 2.8rem;
  line-height: 1em;
  padding-bottom: 0.5rem;
  font-family: "Gothic";
  font-weight: 700;
  opacity: 0;
}
div.title > p span.margin{
  margin-left: 1rem
}
body[wc-view-type="tb-l"] div.title > p span,
body[wc-view-type="pc"] div.title > p span{
  font-size: 3.5rem;
}

/*ページタイトル*/
section.page_title{
  position: relative;
  z-index: 1;
  background-color: #fff;
  margin-top: 0 !important;
  display: flex;
}
body[wc-view-type="sp"] section.page_title{
  flex-direction: column;
}
body[wc-view-type="sp"] section.page_title div.title{
  margin-bottom: 1rem;
  padding-top: 1.5rem;
}
body:not([wc-view-type="sp"]) section.page_title div.title{
  justify-content: center;
}
body[wc-view-type="pc"] section.page_title div.title{
  margin-left: calc((100vw - 1100px) / 2);
}
section.page_title::before{
  content: "";
  position: absolute;
  left: 0;
  background-color: #f2ece0;
  z-index: -1;
}
body[wc-view-type="sp"] section.page_title::before{
  right: 0;
  height: 50vw;
  top: 0.5rem;
  border-radius: 0 5rem 0 0;
}
body[wc-view-type="tb"] section.page_title::before{
  right: 0;
  height: 30vw;
  top: 1rem;
  border-radius: 0 5rem 0 0;
}
body[wc-view-type="tb-l"] section.page_title::before{
  right: 2rem;
  height: 25vw;
  top: 1rem;
  border-radius: 0 5rem 0 0;
}
body[wc-view-type="pc"] section.page_title::before{
  right: calc((100vw - 1100px + 4rem) / 2);
  height: 225px;
}
body[wc-view-type="sp"] section.page_title div.title.sp_left{
  padding-top: 1.5rem;
  margin-bottom: 1rem;
}
body[wc-view-type="tb-l"] section.page_title div.title.sp_left,
body[wc-view-type="tb"] section.page_title div.title.sp_left{
  justify-content: center;
}
body[wc-view-type="sp"] section.page_title figure{
  width: calc(100vw - 2rem);
  margin-left: auto;
  margin-right: 0;
  height: 50vw;
}
body[wc-view-type="tb"] section.page_title figure{
  margin-top: var(--headerHeight);
  width: 50vw;
  margin-left: auto;
}
body[wc-view-type="tb-l"] section.page_title figure{
  margin-right: 4rem;
  height: 30vw;
  width: 50vw;
  margin-left: auto;
  margin-top: var(--headerHeight);
}
body[wc-view-type="pc"] section.page_title figure{
  width: 550px;
  height: 280px;
  margin-top: var(--headerHeight);
  margin-right:  calc((100vw - 1100px) / 2);
  margin-left: auto;
}
section.page_title figure picture{
  width: 100%;
  height: 100%;
  display: block;
}
section.page_title figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 0 0 5rem;
}

/*会社概要コンテンツ*/
main{
  width: 100vw;
}
section.company{
  background-color: #fff;
  padding: var(--headerHeight) 0;
}
div.company_info_box{
  margin: 0 auto;
}
body[wc-view-type="sp"] div.company_info_box{
  width: calc(100vw - 4rem);
}
body[wc-view-type="tb"] div.company_info_box{
  width: calc(100vw - 10rem);
}
body[wc-view-type="tb-l"] div.company_info_box{
  width: calc(100vw - 12rem);
}
body[wc-view-type="pc"] div.company_info_box{
  width: 760px;
}
div.company_info_box dl{
  border-bottom: 1px solid rgba(41,34,26,0.3);
  opacity: 0;
}
body:not([wc-view-type="sp"]) div.company_info_box dl{
  display: flex;
  align-items: center;
}
div.company_info_box dl dt{
  font-weight: 700;
  color: #29221a;
  padding: 1rem;
  box-sizing: border-box;
  font-size: 0.97rem;
}
body[wc-view-type="sp"] div.company_info_box dl dt{
  padding: 0.5rem 1rem 0 1rem;
}
body:not([wc-view-type="sp"]) div.company_info_box dl dt{
  width: 150px;
}
div.company_info_box dl dd{
  color: #29221a;
  padding: 1rem;
  box-sizing: border-box;
  font-size: 0.97rem;
}
body[wc-view-type="sp"] div.company_info_box dl dd{
  padding: 0.5rem 1rem 0.5rem 1rem;
}
body:not([wc-view-type="sp"]) div.company_info_box dl dd{
  width: calc(100% - 150px);
}
div.map{
  width: 100%;
  position: relative;
  z-index: 1;
  background-color: #f1f1f1;
}
body[wc-view-type="sp"] div.map{
  height: 130vw;
}
body[wc-view-type="tb"] div.map{
  height: 65vw;
}
body[wc-view-type="tb-l"] div.map,
body[wc-view-type="pc"] div.map{
  height: 500px;
}
