/* 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 up01{
  0%{
    opacity:0;
    transform: translateY(3rem);
  }
  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 > h1{
  animation: title 800ms ease forwards;
}
/*コンテンツ*/
div.news_list div.news_list_inner article.wcvisible{
  animation: up01 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;
}

/*お知らせコンテンツ*/
div.news_list{
  width: 100vw;
  background-color: #fff;
  padding: var(--headerHeight) 0;
}
div.news_list div.news_list_inner{
  margin: 0 auto;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner{
  width: calc(100vw - 4rem);
}
body[wc-view-type="tb"] div.news_list div.news_list_inner{
  width: calc(100vw - 10rem);
}
body[wc-view-type="tb-l"] div.news_list div.news_list_inner{
  width: calc(100vw - 12rem);
}
body[wc-view-type="tb-l"] div.news_list div.news_list_inner,
body[wc-view-type="pc"] div.news_list div.news_list_inner{
  display: flex;
  flex-wrap: wrap;
}
body[wc-view-type="pc"] div.news_list div.news_list_inner{
  width: 1100px;
  margin: 0 auto;
}
div.news_list div.news_list_inner article{
  background-color: #f2ece0;
  border-radius: 2rem;
  box-sizing:border-box;
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
  display: flex;
  padding-right: 1rem;
  flex-direction: row-reverse;
  align-items: center;
  opacity: 0;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article{
  margin-bottom: 1rem;
  padding-right: 0.75rem;
  border-radius: 1.5rem;
}
body[wc-view-type="tb-l"] div.news_list div.news_list_inner article,
body[wc-view-type="pc"] div.news_list div.news_list_inner article{
  width: calc((100% / 2) - 1rem);
  margin: 0 0.5rem 1rem 0.5rem;
}
div.news_list div.news_list_inner article > a{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: block;
}
div.news_list div.news_list_inner article > a span{
  display: block;
  width: 0;
  height: 0;
  opacity: 0;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article figure{
  width: 80px;
  height: 80px;
}
body[wc-view-type="tb"] div.news_list div.news_list_inner article figure{
  width: 120px;
  height: 120px;
}
body[wc-view-type="tb-l"] div.news_list div.news_list_inner article figure{
  width: 120px;
  height: 120px;
}
body[wc-view-type="pc"] div.news_list div.news_list_inner article figure{
  width: 140px;
  height: 140px;
}
div.news_list div.news_list_inner article figure picture{
  width: 100%;
  height: 100%;
  display: block;
}
div.news_list div.news_list_inner article figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2rem;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article figure img{
  border-radius: 1.5rem;
}
div.news_list div.news_list_inner article div.news_text{
  display: flex;
  flex-direction:column-reverse;
  padding: 0 0 0 1rem;
  box-sizing: border-box;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article div.news_text{
  width: calc(100% - 80px);
}
body[wc-view-type="tb"] div.news_list div.news_list_inner article div.news_text{
  width: calc(100% - 120px);
}
body[wc-view-type="tb-l"] div.news_list div.news_list_inner article div.news_text{
  width: calc(100% - 120px);
}
body[wc-view-type="pc"] div.news_list div.news_list_inner article div.news_text{
  width: calc(534px - (2px + 140px));
}
div.news_list div.news_list_inner article div.news_text h1{
  font-weight: 700;
  color: #29221a;
  padding-right: 3rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article div.news_text h1{
  padding-right: 1rem;
}
body[wc-view-type="tb"] div.news_list div.news_list_inner article div.news_text h1{
  padding-right: 1.8rem;
}
div.news_list div.news_list_inner article div.news_text h1::after{
  content: "";
  position: absolute;
  right:0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url("/img/arrow/link_arrow_right.svg");
  mask-image: url("/img/arrow/link_arrow_right.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;
  background-color: #29221a;
  width: 2.5rem;
  height: 2.5rem;
}
body[wc-view-type="sp"] div.news_list div.news_list_inner article div.news_text h1::after{
  width: 1.5rem;
  right: -0.2rem;
}
div.news_list div.news_list_inner article div.news_text time{
  text-align: right;
  margin-bottom: 0.5rem;
  color: #29221a;
  font-weight: 700;
  font-family: "Number";
}