/* Layout
------------------------------------------*/
.main {
  padding: 0 5%;
}

/* header
------------------------------------------*/
.header {
  display: none;
}
.sp-header {
  display: block;
}

/* footer
------------------------------------------*/
.footer {
  display: none;
}
.sp-footer {
  display: block;
}

/* home
------------------------------------------*/

/* page
------------------------------------------*/

.breadcrumb {
  padding: 0 5%;
}

.ec-productListRole {
  display: block;
}
.ec-productListRole__main {
  width: 100%;
}
.ec-productListRole__side {
  display: none;
}

/* blog list */
.ec-blogListRole,
.ec-blogDetailRole {
  display: block;
}
.ec-blogListRole__main,
.ec-blogDetailRole__main {
  width: 100%;
}
.ec-blogListRole__side,
.ec-blogDetailRole__side {
  width: 100%;
}

.news-inner{
  display: block;
}
.news-title-wrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.news-inner ul li{
  flex-wrap: wrap;
  gap: 5px 15px;
  margin-bottom: 0px;
}
.news-inner > ul > li{
  margin-bottom: 20px;
}
.news-inner ul li h3{
  max-width: 435px; /* 省略せずに表示するサイズを指定 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.concept-inner{
  padding: 0 20px;
}
.concept-inner ul li,
.concept-inner ul li:nth-child(2n){
  flex-direction: column;
}

.guide{
  padding: 40px 0;
}

.newblog ul{
  grid-template-columns: repeat(1, 1fr);
}

.newblog .text-wrap{
  width: 50vw;
}
.newblog .text-wrap p {
  -webkit-line-clamp: 3;
}

.information-inner{
  flex-direction: column-reverse;
}

.sns-banner{
  padding: 40px 20px;
}
.sns-banner ul{
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}

.footer-about{
  text-align: center;
}
.footer-credit-list{
  justify-content: center;
}
.footer-pay-list{
  justify-content: center;
  margin-bottom: 20px;
}
.footer-nav-grandchild::before{
  content: '';
  margin: 0;
  color: #fff;
}
.sp-footer-nav .footer-nav-grandchild a::before{
  content: '-';
  margin: 0;
  color: #fff;
}
.footer-nav-child:before{
  content: "";
  margin: 0;
}
.sp-footer-nav-list{
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-bottom: 30px;
}
.footer-nav1 > li{
  padding: 0 0 0 5px;
}
.footer-nav-child{
  padding: 0 0 0 5px;
}
.footer-nav-grandchild{
  padding: 0 0 0 10px;
}
.footer-nav1 > li > a{
  font-weight: normal;
}

.page-title{
  padding: 80px 0;
}
.page-title-inner h1, .page-title-inner p{
  font-size: 2.2rem;
}

.information-inner{
  text-align: center;
}
.information-left{
  margin: 25px auto 0;
}
.information-left p{
  text-align: left;
}

.sns-banner{
  text-align: center;
}