/* 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);
  }
}
/*コンテンツタイトル*/
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 > p span:nth-of-type(12){
  animation: title_deco 800ms ease 1700ms forwards;
}
div.title.wcvisible > p span:nth-of-type(13){
  animation: title_deco 800ms ease 1900ms forwards;
}
div.title.wcvisible > h1{
  animation: title 800ms ease 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;
}

body{
  font-family: "Noto Sans JP";
}
/*コンテンツ*/
main{
  width: 100vw;
}
div.promise{
  padding: var(--headerHeight) 0;
  background-color: #fff;
}
div.promise > p{
  margin: 0 auto 1rem auto;
}
body[wc-view-type="sp"] div.promise > p{
  width: calc(100vw - 2rem);
}
body[wc-view-type="tb"] div.promise > p{
  width: calc(100vw - 10rem);
}
body[wc-view-type="tb-l"] div.promise > p{
  width: calc(100vw - 12rem);
}
body[wc-view-type="pc"] div.promise > p{
  width: 1100px;
}
div.promise dl{
  margin: 0 auto;
  margin-bottom: calc(var(--headerHeight) / 2);
}
body[wc-view-type="sp"] div.promise dl{
  width: calc(100vw - 2rem);
}
body[wc-view-type="tb"] div.promise dl{
  width: calc(100vw - 10rem);
}
body[wc-view-type="tb-l"] div.promise dl{
  width: calc(100vw - 12rem);
}
body[wc-view-type="pc"] div.promise dl{
  width: 1100px;
}
div.promise dl dt{
  border-bottom: 1px solid #29221a;
  color: #29221a;
  font-weight: 700;
  padding: 0 1rem 0.5rem 1rem;
  box-sizing: border-box;
}
div.promise dl dd{
  color: #29221a;
  line-height: 1.8rem;
  font-size: 0.97rem;
  padding: 1rem;
  box-sizing: border-box;
}
div.promise dl dd ul.list{
  list-style-position: outside;
  padding-left: 1rem;
  margin-top: 1rem;
}
div.promise dl dd ul.number{
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 1rem;
  margin-top: 1rem;
}
div.promise dl dd ul li{
  margin-bottom: 0.5rem;
  font-size: 0.97rem;
  color: #29221a;
}
div.promise dl dd div.tel{
}
div.promise dl dd div.tel a,
div.promise dl dd div.mail a{
  padding: 0 0 0 2rem;
  position: relative;
  z-index: 1;
  color: #29221a;
  display: block;
}
div.promise dl dd div.tel a::before,
div.promise dl dd div.mail a::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  z-index: 2;
  background-color: #29221a;
  -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;
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
}
