p {
  color: #4F2C1D;
}
body{
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #4F2C1D !important;
  background: none !important;
  letter-spacing: 0.1rem;
  height:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

button, input, optgroup, select, textarea{
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.topicul{
  width:1149px;
}
.topicli{
  border-bottom:1px solid #ccc;
  list-style:none;
}
a{
  text-decoration:none;
  display: inline-block;
  padding: 10px 0;
}
.topicspan{
    color: #737373;
    vertical-align: middle;
    display: inline-block;
    margin-right: 10px;
}
.topicp{
    color: #131313;
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}

.btn-icon {
  display: inline-block;
  max-width: 500px;
  text-align: left;
  background-color: #9ec34b;
  border: 1rem solid;
  border-color: #FFF;
  font-size: 16px;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 16px 8px 32px;
  border-radius: 4px;
  position: relative;
}

.btn-icon:before {
  font-family: "FontAwesome";
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  margin-top: -8px;
}

.btn-icon:hover {
  opacity: 0.8;
}

.flex{
    display: flex;
    flex-wrap: wrap;
}


.ec-itemNav__nav li a{
  padding: 13px;
}
#page_homepage .ec-layoutRole__footer{
  overflow: hidden;
}
@media only screen and (min-width: 768px){
  .ec-footerRole .ec-role li.mb30 p{
    padding: 10px 0;
  }
  .ec-role.pc_only{
    display: flex !important;
    justify-content: space-between;
    width: 100%;
  }
}
.ec-cartNaviWrap{
  padding: 10px 0;
}

/* メインビジュアル */
.main_visual .slick-slide a{
  padding: 0 !important;
}
@media only screen and (min-width: 768px) {
  #page_homepage .ec-sliderRole {
    display: flex;
    justify-content: center;
  }
  .main_visual {
    width: 80%;
    max-width: 900px;
  }
  #page_homepage .ec-sliderRole .slick-slide a:hover{
    opacity: 1;
  }
}

/* TOP */
@media screen and (max-width: 767px) {
  .ec-headerTitle img{
    max-width: 70%;
  }

  /* SPレイアウト調整 */
  .ec-headerRole .ec-headerTitle__title a{
    padding: 0;
  }
  .slick-slider{
    margin-bottom:auto;
  }
  .ec-layoutRole__footer{
    margin-top: 5rem;
  }
  .campaign_container{
    padding: 40px 0 0 0;
  }
  .campaign_container a , .ec-newsRole__newsItem a{
    padding: 0;
  }
  .campaign_container .ec-categoryRole__listItem{
    margin-bottom: 0;
  }
  .categoryContainer {
    padding: 40px 0 0;
  }
  .ec-newsRole .ec-newsRole__newsTitle{
    margin-bottom: 5px;
  }
  .ec-newsRole .ec-newsRole__newsDate{
    margin: 10px 0 5px;
  }
  .contents_access_text p {
    font-size:13px;
  }
  .contents_access_text .h2{
    font-size:20px;
  }
  .access_image img{
    max-height: 30rem;
    object-fit: contain;
    margin-bottom: 3rem;
  }
  #page_homepage .ec-footerRole{
    padding-top: 0;
    margin-top: 0;
  }

}
@media only screen and (min-width: 768px) {
  .ec-footerRole .ec-role ul{
    width: 25%;
  }
}

.ec-inlineBtn--top{
  width: 320px;
  margin: 2rem auto 0;
  display: block;
  border: 1px solid #4F2C1D;
  color: #fff !important;
  background-color: #4F2C1D;
  border-radius: 5px;
  padding: 15px 0;
}
.ec-inlineBtn--top:hover{
  opacity: 0.7;
  text-decoration: none;
  background-color: #4F2C1D;
  border-color: #4F2C1D;
}

/* アクセスブロック */
    .container_access_img {
      margin-top: 8rem;
    }
    .container_access_img img{
        width: 100vw;
        max-height: 35rem;
        object-fit: cover;
    }
    .container_access_img.img02{
      padding: 2rem;
      display: flex;
      justify-content: space-between;
      margin: auto;
    }
    .container_access_img.img02 img{
      width: calc(50% - 1rem);
    }
  .ec-layoutRole__footer{
      background-color: #F6F5ED;
  }
  .contents_access_btn{
      padding-top: 2rem;
  }
  .container_access{
      display: flex;
      flex-direction: column;
      gap: 2rem;
  }
  .boader_box{
      margin: auto;
      background: #FFF;
  }
  .contents_access_text .ttl{
      font-weight: bold;
  }
  .contents_access_text p{
      margin: 10px 0 10px;
  }
  .access__information_box img{
    object-fit: cover;
    max-height: 18rem;
  }

  @media screen and (min-width: 767px) {
      .container_access {
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          padding: 6rem 0 3rem;
      }
      .contents_access_textbox{
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 2rem;
      }
      .contents_access_textbox{
        /* width: 70%; */
      }
      .access_image{
        width: 40%;
      }
      .access_image img{
        object-fit: cover;
        max-height: 35rem;
      }
      .contents_access_map{
        width: 100%;
      }
      .front_page .ec-footerRole{
        padding-top: 0px;
        margin-top: 7rem;
      }
      .front_page .boader_box{
        margin: auto;
      }
      .access__information_box img{
        max-width: 48%;
        max-height: none;
      }
  }




/* アバウトブロック */
.about_ttl_contents{
  padding-bottom: 2rem;
}
.about_text_contents p{
  padding-bottom: 1rem;
}
.about_text_contents, .aboutarea_ttl_contents , .aboutarea_text_contents , .about_ttl_contents h2{
  line-height: 1.4;
}
#page_homepage .container_aboutarea_image{
  padding: 5rem;
}

.zoom{
  overflow: hidden;
}
.zoom img {
  width: 100%;
  height: auto;
  animation: animationZoom1 5s ease-in-out forwards;
  transform: scale(1.1);
}
  @keyframes animationZoom1 {
  100% { transform: scale(1.0)}
  }

@media only screen and (min-width: 768px) {
  .container_about_textbox{
    margin: 4rem 0;
  }
  .container_aboutarea_text{
    margin: 3rem 0;
  }
  .container_aboutarea{
      display: flex;
      align-items: center;
      width: 100%;
      gap: 3rem;
      padding-bottom: 5rem;
  }
  .container_aboutarea_image{
    width: 50%;
  }
  .container_aboutarea_text{
      width: 50%;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
  }
  .image-wrap img{
      object-fit: cover;
      aspect-ratio: 1 / 1;
  }
  .ec-about_container{
      /* padding: 3rem 0; */
  }
  .container_aboutarea_image{
    padding: 0;
  }
}

/* カテゴリーブロック */
@media only screen and (max-width: 768px) {
  .categoryContainer .ec-categoryRole__list{
    width: 100%;
    gap: 1rem;
  }
  .categoryContainer .ec-categoryRole__listItem{
    width: calc(50% - 0.5rem);
  }
}
/* 新着情報ブロック */
@media only screen and (min-width: 768px) {
  .ec-newsRole .ec-newsRole__newsItem{
    padding: 12px 0;
  }
}

/* 商品画像 */
.ec-shelfGrid .ec-shelfGrid__item-image{
  height: auto;
}


/* 商品詳細 */
.l-pankz ul li{
  display: flex;
  align-items: center;
}
.ec-productRole .ec-productRole__category ul li{
  display: flex;
  align-items: center;
}
.l-pankz div.container{
  overflow-x: auto;
}
.font_red{
  color: #b41741;
}
.weight2{
  margin-top: 2rem;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .ec-layoutRole__contentTop .l-pankz ul{
    width: max-content;
  }
}

/* 商品詳細 表デザイン */
.ec-productRole table tr {
  border-bottom: solid 2px #F6F5ED; 
}
.ec-productRole table th {
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #534B00;
  color: white;
  text-align: center;
  padding: 10px 5px; 
}
.ec-productRole table th:after {
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top: calc(50% - 10px);
  right: -10px;
  border-left: 10px solid #534B00;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent; 
}
.ec-productRole table td {
  text-align: left;
  width: 70%;
  text-align: left;
  background-color: #FFF;
  padding: 10px 20px; 
}
.ec-productRole .title-tape4 {
  position: absolute;
  top: -15px;
  left: 30px;
  padding: 4px 20px;
  color: #555555;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.1);
  border-left: 2px dotted rgba(0, 0, 0, 0.1);
  border-right: 2px dotted rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 5px #4F2C1D;
  transform: rotate(-3deg); 
}
.ec-productRole .kakomi-tape4 {
  position: relative;
  padding: 35px 20px 20px;
  margin: 2.5em auto;
  width: 90%;
  color: #555555;
  background-color: #F6F5ED;
  box-shadow: 0 2px 5px #999; 
}
@media screen and (max-width: 767px) {
  .ec-productRole .kakomi-tape4{
    width: 100%;
  }
}

  /* あなたにおすすめの商品 */
  #RelatedProduct-product_area{
    border-top: 1px solid #E8E8E8;
    padding: 20px 0px;
  }
  #RelatedProduct-product_area h4{
    background: #F6F5ED;
    padding: 8px 12px;
    font-size: 20px;
    font-weight: bold;
  }
  #RelatedProduct-product_area .ec-shelfGrid__item p{
    font-weight: bold;
    margin-bottom: 5px;
    color: #4F2C1D;
  }
  div#RelatedProduct-product_area{
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.4;
    color: #4F2C1D;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1130px;
    margin-top: 40px;
    padding-top: 40px;
  }

  /* 商品詳細_おすすめポイント */
  .container-recommend_box{
    /* margin-top: 5rem; */
    display: flex;
    gap: 6rem;
    flex-direction: column;
  }
  .container-recommend_point:nth-child(even){
  display: flex;
  flex-direction: row-reverse; /*左右入れ替え*/
  }
  .container-recommend_point {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }
  .container-point_text{
    width: 38%;
  }
  .container-recommend_image{
    width: 60%;
  }
  .container-point_text{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .container-recommend_image img{
    height: auto;
    aspect-ratio: 5 / 3;
    object-fit: cover;
  }
  .container-recommend_title{
    font-size: x-large;
    padding-bottom: 0.5rem;
  }
  @media only screen and (max-width: 767px) {
    .container-recommend_point:nth-child(even){
      display: block;
      }
    .container-point_text ,.container-recommend_image {
      width: 100%;
    }
    .container-recommend_image img{
      aspect-ratio: 5 / 2.5;
    }
    .container-recommend_box{
      gap: 3rem;
    }
  }
/* ガイド系列 */
  .font1-center {
    font-size: 36px;
    text-align: center;
    color: #333333; }
  .font2-center {
    font-size: 20px;
    text-align: center;
    color: #333333; }
  .font3-center {
    text-align: center;
    font-size: 16px;
    color: #333333; }
  .font4-center {
    font-size: 12px;
    text-align: center;
    color: #333333; }
  .font4-center-bk {
    font-size: 12px;
    text-align: center;
    color: #333333; }
  .font1-left {
    font-size: 36px;
    text-align: left;
    color: #333333; }
  .font2-left {
    font-size: 20px;
    text-align: left;
    color: #333333; }
  .font3-left {
    text-align: left;
    font-size: 16px;
    color: #333333; }
  .font4-left {
    font-size: 12px;
    text-align: left;
    color: #333333;
  }
  .font1-right {
    font-size: 36px;
    text-align: right;
    color: #333333;
  }
  .font2-right {
    font-size: 20px;
    text-align: right;
    color: #333333; 
  }
  .font3-right {
    text-align: right;
    font-size: 16px;
    color: #333333;
  }
  .font4-right {
    font-size: 12px;
    text-align: right;
    color: #333333;
  }
  .heading2 {
    border-left: 10px solid #4F2C1D;
    text-align: left;
    color: #333333;
    border-bottom: 1px dashed #4F2C1D;
    padding: 0.3rem 0.7rem;
  }
    .boader_box{
      border: 2px solid #EAEDED;
      border-radius: 0.5rem;
      margin: 0 0 4rem 0;
      padding: 2rem;
      position: relative;
    }
    #page_user_data .container,#page_help_guide .container{
      width: 100%;
      padding: 0;
  }
  .col-sm-12.col-lg-12.col-md-12.item-img{
    padding: 0;
  }
  img.img-responsive{
    max-width: 300px;
  }
  #page_help_guide .col-lg-2{
    width: auto;
  }
  #page_help_guide .row{
    display: flex;
  }


  /* アコーディオンCSS */
  .accordion_box:not([open]) {
      margin-bottom: 7px;
  }

  .accordion_box .font2-left {
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      padding: 1em 0em;
      font-weight: 600;
      cursor: pointer;
      margin: 0.5rem 0;
  }

  .accordion_box .font2-left::-webkit-details-marker {
        display: none;
    }

    .accordion_box .font2-left::after {
        transform: translateY(-25%) rotate(45deg);
        width: 7px;
        height: 7px;
        margin-left: 10px;
        border-bottom: 3px solid #c2c2c2;
        border-right: 3px solid #c2c2c2;
        content: '';
        transition: transform .3s;
    }

    .accordion_box[open] .font2-left::after {
        transform: rotate(225deg);
    }

    .accordion_box .boader_box {
      opacity: 1;
      max-height: auto;
      margin: 0;
      padding: 1em 2em;
  }

  .accordion_box[open] .boader_box {
      transform: none;
      opacity: 1;
      max-height: 100%;
      padding: 2em 2em;
      margin-bottom: 3rem;
  }
  .accordion_box{
    border-bottom: 1px solid #ccc;
  }
    @media only screen and (max-width: 767px) {
      .font2-left{
        font-size: 16px;
      }
      .container-fluid {
        padding-left: none;
        padding-right: none; }
      .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
      position: relative;
      min-height: 1px;
      padding-right: 8px;
      padding-left: 8px; }
        .info dd {
          font-size: 16px; } 
      }

  /* フラノデリスの想い */
  @media only screen and (min-width: 767px) {
      .container_aboutarea:nth-child(even){
        flex-direction: row-reverse;
      }
    }

/* 店舗情報 */
  .grid {
    margin: 0 auto;
    }
  .box26 {
      position: relative;
      margin: 2em 0;
      padding: 0.5em 1em;
      border: solid 3px #FF8C00;
      border-radius: 8px;
      }
  .box26 .box-title {
      position: absolute;
      display: inline-block;
      top: -13px;
      left: 10px;
      padding: 0 9px;
      line-height: 1;
      font-size: 19px;
      background: #FFF;
      color: #FF8C00;
      font-weight: bold;
      }
  .box26 p {
      margin: 0;
      padding: 0;
      }
  .under {
      background: linear-gradient(transparent 50%, #a8eaff 50%);
      }

  iframe{
      width: 100%;
      min-height: 30rem;
  }
  dt{
      padding: 1rem 0;
      font-size: large;
  }
  .pricetext{
      text-align: end;
  }
  .access__information{
      padding-top: 3rem;
  }
  ul , li{
      list-style: none;
  }
  .time{
      display: flex;
      align-items: flex-start;
  }
  .menu_contents{
      padding-top: 2rem;
  }
  .menu_container_box{
      display: flex;
      gap: 2rem;
      padding-top: 2rem;
  }
  .menu_set_container_box{
      margin-bottom: 3rem;
  }
  #cafemenu hr , .container hr{
    margin: 4rem 0;
  }
  .ec-searchnavRole img{
    width: 100%;
    max-height: 32rem;
    object-fit: cover;
  }
  .access__information_box .contents_banner img {
    max-width: none;
    width: 100%;
  }
  #page_product_list .ec-searchnavRole img{
    max-height: 30rem;
  }
  #page_product_list .container_aboutarea_image img{
    padding: 4rem;
  }
  @media only screen and (min-width: 767px) {
  #page_product_list .container_aboutarea_image img{
    padding: 0rem;
  }
}

  /* 店舗情報カレンダー */
  .calendar_text{
    padding: 2rem 0;
    line-height: 1.8;
  }
  .calendar_text span{
      font-size: x-large;
  }
  .calendar_container{
      display: flex;
      flex-direction: column;
      gap: 2rem;
      padding-bottom: 2rem;
      width: 100%;
  }
  .ec-layoutRole__mainBottom{
    margin-top: auto;
  }
  .ec-layoutRole__mainBottom #businessday_calendar{
    padding: initial;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    max-width: 1130px;
    margin-bottom: 8rem;
  }
  #businessday_calendar .calendar_title{
    display: none;
  }
  #businessday_calendar td, #businessday_calendar th{
    padding: 1.3rem;
  }
  *:focus , .slick-slide , a:focus {
    outline: none;
    }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type){
    outline:none;
  }
  .ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type){
      -webkit-tap-highlight-color:rgba(0,0,0,0);
      cursor:pointer;
    }
  .menupdf{
    width: 100%;
    max-height: 100rem;
    min-height: 30rem;
    display: block;
    object-fit: cover;
  }
  .access_maptext{
    font-weight: bold;
    text-decoration-line: underline;
  }

  @media only screen and (min-width: 767px) {
      .calendar_contents{
          /* margin-top: 4rem; */
      }
      .ec-layoutRole__mainBottom #businessday_calendar{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
      }
      .ec-layoutRole__mainBottom #businessday_calendar .note{
        width: 100%;
      }
      .ec-layoutRole__mainBottom #businessday_calendar table{
        width: 49%;
      }
      .ec-layoutRole__main .contents_access_textbox, .ec-layoutRole__main .contents_access_map{
          width: auto;
      }
      .access__information_box{
        display: flex;
        justify-content: space-between;
      }
      .access__information{
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          width: 48%;
          padding-top: 0;
      }
      .access__information dl{
        width: 100%;
      }
      .access__information dt{
          border-bottom: 1px dashed #4F2C1D;
          margin-bottom: 1rem;
      }
      .menu_inner_container{
          display: flex;
          gap: 3rem;
      }
      .menu_container{
          width: 50%;
      }
      .twocolumn{
          gap: 6rem;
      }
      .menu_card_image{
          min-height: 33rem;
          display: flex;
          align-items: center;
      }
      .font4-center{
          font-size: 16px;
      }
      .specialmenu{
          display: flex;
          align-items: center;
          gap: 3rem;
          width: 100%;
      }
      .specialmenu_image{
          width: 33%;
      }
      .specialmenu_image img{
          max-height: 40rem;
          object-fit: cover;
      }
      #cafemenu{
        margin-bottom: 8rem;
      }
      .menu_box_contents{
          width: calc(100% / 3);
      }
      .menupdf{
        display: block;
        width: 100%;
        max-height: 100rem;
        min-height: 60rem;
      }

  }

  .recruitbanner{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  img.recruitbanner_img{
    max-width: 100%;
  }
  @media only screen and (min-width: 767px) {
  img.recruitbanner_img{
    max-width: 40vw;
  }
}


  .ec-newItemRole.ec-rankingRole .ec-newItemRole__list {
    overflow: hidden; /* スライダー内の余分な表示を防ぐ */
    padding: 0; /* Slickはパディング不要 */
    display: block; /* Flexを解除 */
}
.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem {
    width: 100%; /* Slickが幅を管理するため */
    box-sizing: border-box;
}
.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:nth-child(odd){
  margin-top: 1.4%;s
}
.ec-newItemRole.ec-rankingRole .ec-newItemRole__listItem:not(:last-of-type) {
    margin-right: 0; /* Slickが間隔を制御するため */
    margin-top: 1.4%;
}

.ec-newItemRole .ec-newItemRole__listItem{
  margin-bottom: 0 !important;
}

.slick-slide {
    display: flex; /* アイテムを中央揃えに */
    justify-content: center;
}
.slick-dots {
    bottom: 10px; /* ドットの位置調整 */
}
.slick-arrow {
    z-index: 10; /* 矢印が他要素より前面に */
}


/* 共通のボタンデザイン */
.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10; /* 前面に表示 */
    background-color: #333; /* ボタン背景色 */
    color: #fff; /* ボタンのテキスト色 */
    border: none; /* 枠線を消す */
    border-radius: 50%; /* 丸いボタンにする場合 */
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s;
}

.slick-prev:hover,
.slick-next:hover {
    opacity: 1; /* ホバー時の透明度 */
}

/* 左右の位置調整 */
.slick-prev {
    left: 0; /* スライドの外側に配置 */
}

.slick-next {
    right: 0;
}

/* 矢印を文字ではなくアイコンにする */
.slick-prev::before,
.slick-next::before {
    font-family: 'slick'; /* Slickのアイコンフォント */
    font-size: 20px; /* 矢印のサイズ */
    color: #fff; /* 矢印の色 */
}

.slick-prev::before {
    content: '←'; /* 左矢印のアイコン */
}

.slick-next::before {
    content: '→'; /* 右矢印のアイコン */
}

.slick-prev,
.slick-next {
    font-size: 0; /* テキストを非表示に */
}

@media only screen and (min-width: 768px) {
/* スライドアイテムの調整 */
.ec-newItemRole__listItem.slick-slide.slick-current.slick-active , .ec-newItemRole__listItem.slick-slide.slick-active{
  min-width: calc(84% / 5);
}
}


/* プラグインニュース */
.tabacms_post img{
  width: 100%;
  height: auto;
}
.container .tabacms_post {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
#page_plugin_tabacms_list_1 .ec-newsRole{
  padding-top: 20px;
}
#page_homepage .ec-newsRole__news .ec-newsRole{
  padding-top: 0px;
}
.tabacms_post_list{
  padding-inline-start: inherit;
  height: 100%;
  display: grid;
}
#page_homepage .ec-role > .ec-newsRole{
  padding-bottom: 3rem;
}


/* ふるさと納税ページ */


.hometowntax ul.link_box{
  padding: 0;
}
.hometowntax .boader_box{
  margin: 0 0 1rem 0;
  padding: 0;
}
.hometowntax a.font-link{
  text-align: center;
  width: 100%;
  display: block;
  height: 100%;
  width: 100%;
  padding: 1.2rem;
}
.hometowntax a.font-link:hover{
  text-decoration: underline;
}
.hometowntax .boader_box:hover{
  background-color: #F6F5ED;
}
.hometowntax .link_ttl{
  text-align: center;
  font-size: 2rem;
  padding: 2rem 0;
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .hometowntax .link_container{
      display: flex;
      gap: 4rem;
  }
  .hometowntax ul.link_box{
      width: 50%;
  }
  .hometowntax a.font-link{
      padding: 1.7rem;
  }
}

.news-timeline {
  display: flex;
  width: 100%;
  justify-content: space-between;

}

.news-timeline .ec-newsRole {
  width: 64%;
  margin: 15px;
}

.news-timeline .twitter-timeline-container {
  width: 36%;
  max-height: 42vh;
  overflow-y: scroll;
  border: 0px solid black;
  border-radius: 12px;
}

@media screen and (max-width: 480px) {
  .news-timeline {
    display: flex;
    flex-direction: column;
  }

  .news-timeline .ec-newsRole {
    width: 100%;
  }

  .news-timeline .twitter-timeline-container {
    width: 100% !important;
  }
}

//for cusotmized calender for apgCalender
#businessday_calendar_apg_calender .note span {
  display: inline-block;
  width: 2.5em;
  background: #ee6666;
  height: 1em;
  margin-right: 5px;
}

@media only screen and (min-width: 767px) {
  .ec-layoutRole__mainBottom #businessday_calendar_apg_calender .note {
      width: 100%;
  }
}

@media only screen and (min-width: 767px) {
  .ec-layoutRole__mainBottom #businessday_calendar_apg_calender table {
      width: 49%;
  }
}
@media only screen and (min-width: 767px) {
#businessday_calendar_apg_calender {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .ec-layoutRole__mainBottom #businessday_calendar_apg_calender {
   margin-bottom: 3rem !important;
  }
}

.ec-layoutRole__mainBottom #businessday_calendar_apg_calender{
  padding: initial;
  margin: 0 auto;
  padding-left:15px;
  padding-right:15px;
  width: 100%;
  max-width: 1130px;
  margin-bottom: 8rem;
  font-size:14px;
}

#businessday_calendar_apg_calender {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 60px 0;
}

#businessday_calendar_apg_calender .calendar_title {
    text-align: center;
    font-size: 24px;
    background: #f8f8f8;
    color: #525263;
    line-height: 3.3;
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
}
#businessday_calendar_apg_calender .note {
    margin-bottom: 30px;
}
#businessday_calendar_apg_calender .note span {
  display: inline-block;
  width: 2.5em;
  background: #ee6666;
  height: 1em;
  margin-right: 5px;
}
#businessday_calendar_apg_calender .note span + span {
  background: #fff;
  border: 2px solid #000;
}
#businessday_calendar_apg_calender table {
    width: 100%;
    margin-bottom: 20px;
    padding: 0;
    empty-cells: show;
}
#businessday_calendar_apg_calender table caption {
  margin-bottom: 10px;
  font-size: 2.2rem;
}
#businessday_calendar_apg_calender th {
    text-align: center;
    background: #f8f8f8;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

#businessday_calendar_apg_calender td {
    text-align: center;
    border-bottom: 1px dotted #ccc;
    background: #fff;
    color: #333;
}

#businessday_calendar_apg_calender th.apg_sc_sunday_header {
  color: #ff3300;
}

#businessday_calendar_apg_calender th.apg_sc_saturday_header {
  color: #3366cc;
}

#businessday_calendar_apg_calender .apg_sc_holiday {
  background: #ee6666 !important;
  color: #ffffff !important;
}
#businessday_calendar_apg_calender .apg_sc_today {
  background: #fff;
  color: #000;
  font-weight: bold;
  border: 2px solid #000;
}

#businessday_calendar_apg_calender td, #businessday_calendar_apg_calender th {
  padding: 1.3rem;
}