@charset "utf-8";
:root {
  /*カスタムプロパティ*/
  --gradient-color: linear-gradient(#c19fd7 0%, #eda6d8 100%);
}
html { 
  font-size: 62.5%; 
  scroll-behavior: smooth;
}
body { 
  font-size: 1.6rem;
  background-color: #fff;
  font-family: "Noto Sans JP", serif;
  color: #707070; 
}

h2 { 
  font-size: 2.8rem; 
}
p{
  font-size: 16px;
}
.page-wrap p{
  margin: revert;
}
.page-wrap{
  ul, ol {
    margin: revert;
    list-style: revert;
    padding: revert;
  }
    ul, ol {
    margin: revert;
    list-style: revert;
    padding: revert;
  }
  h1 {
    font-size: 3.6rem;
    font-weight: 600;
    margin-bottom: 12px;
  }
  h2{
    font-size: 2.4rem;
    background-color: #E892DB;
    padding: 1rem 2rem;
    color: #fff;
    font-weight: 500;
    margin: 3rem 0;
  }
  h3{
    font-size: 2rem;
    font-weight: 500;
    margin: 2.4rem 0;
  }
  h4{
    font-size: 1.8rem;
    font-weight: 500;
    margin: 2rem 0;
  }
}
a{
  transition: .5s;
}
a:hover{
  opacity: 0.7;
}
.en{
  font-family: "Cinzel", serif;
  text-transform: uppercase;
}
body.admin-bar .fixed-header {
  margin-top: 32px; /* 管理バーの高さ */
}
.button-wrap a{
  width: 40rem;
  font-size: 2.4rem;
  padding: 1rem 2rem;
  text-align: center;
  border: 1px solid #707070;
  display: block;
  position: relative;
  margin: 4rem auto;
  background-color: #fff;
  &:hover{
    color:#E892DB;
  }
  &:after{
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    background-image: url(../img/topics/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 5%;
    top: 46%;
    transition: .5s;
  }
}


.date-title h1{
	margin-left:28px;
}
.category.article-area a{
margin-left:30px;
  .pager{
    display:flex;
    justify-content:space-between;
    width:90%;
  }
}

.article-area{
	margin-bottom:20px;
}
.image1 img{
	width:300px;
}

.blog-main1 {
  width: 100%;
  margin-bottom: 6rem;
  img{
    max-width: 100%;
  }
}

.pc-only{
  display: block;
}
.sp-only{
  display: none;
}
.full-width {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

main {
  margin:auto ;
  max-width: 1200px;
}
.base-container{
  max-width: 960px;
  margin: auto;
}

.bg-beige{
  background-color:  #F4F3EF;
}

/*ヘッダー*/
.fixed-header{
  width: 100vw;
  height: auto;
  position: fixed;
  top: 0;
  z-index: 111;
}
.header-pc-main img{
  width: 100%;
}
.header-top-bar{
  color: white;
  font-size: 14px;
  text-align: center;
  padding: 10px;
  height: 36px;
  background: var(--gradient-color);
}


.header-nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  padding: 0 40px;
}
.header-nav-menu{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-weight: 600;
  font-size: 16px;

  ul li{
    padding-left: 24px;
    display: flex;
    align-items: center;
  }
  
}
a.site-logo {
  padding: 10px 30px;
  img{
    width: 14vw;
    max-width: 200px;

  }
}
nav ul {
  display: flex;
  list-style-type: none;
  a{
    padding: 40px 0;
    display: flex;
    align-items: center;
  }
}
ul.sub-menu {
  position: absolute;
    bottom: 0;
    left: 0;
    width: 40vw;
    display: none;
    padding: 20px 10px;
    background-color: #fffe;
    color: initial;
    transform: translate(0, 100%);
    border-top: 4px solid #E892DB;
}

.menu-item-has-children{
  position: relative;
  &::after{
    font-family: "Font Awesome 6 Free"; 
    content: "\f0d7";
    margin-left: 2px;
    color: #E892DB;

  }
}
.menu-item-has-children:hover > ul.sub-menu,
.menu-item-has-children:focus > ul.sub-menu {
  display: flex;
  flex-wrap: wrap;
  li{
    flex-basis: 50%;
  }
}

ul.sub-menu a {
  padding: 5px;
  transition: color .15s;
  color: #707070;
  font-size: 14px;
}
.header-nav-menu ul li a::before{
  content: "";
  width: 16px;
  height: 16px;
  background: var(--gradient-color);
  display: inline-block;
  border-radius: 50%;
  left: 0;
  margin-right: 2px;
}

.header-cta{
  background: var(--gradient-color);
  color: #fff;
  padding: 12px 24px;
  margin-left: 24px;
  transition: .5s;
  display: flex;
  align-items: center;
  &:before{
    content: "";
    width: 20px;
    height: 20px;
    background: url(../img/mail_icon.png) no-repeat center center / contain;  
    display: inline-block;
    margin-right: 4px;
  }
  &:hover{
    opacity: 0.8;
  }

}
.container{
  max-width: 1200px;
  margin: auto;
}

/*-----------------------
トップページ
  -----------------------*/
/*新着記事*/
section.new-article.full-width {
  margin-bottom: 0;
}
.new-article {
  background-color: #F4F3EF;
  article{
    display: flex;
    align-items:center;
  }
  .new-article-img{
    flex-basis: 60%;
	  img{
		  aspect-ratio: 300 /170;
	  }
  }
  .new-article-title{
    flex-basis: 40%;
    padding: 2rem;
    max-width: 600px;
    margin: auto;
    .en{
      font-size: 56px;
      text-align: center;
      margin-bottom: 60px;
    }
    .title-txt{
      font-size: 28px;
    }
    .title-line{
      width: 100%;
      height: 1px;
      background-color: #707070;
      margin: 26px 0;
    }
  }
}


.article-data-flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  gap:1rem;
}
.categories{
  display: flex;
  flex-wrap: wrap;
  margin-bottom:12px;
  gap: .5rem;
  a{
    padding: 2px 4px;
    display: block;
    width: fit-content;
    border: 1px solid #707070;
  }
}

span.author-icon img {
  border-radius: 50%;
}

section.article-list {
  margin: 2rem 0 8rem;
}
section{
  margin: 48px auto 80px;
}

/*タブのスタイル*/
.tabs {
  display: flex;
  margin-bottom: 40px;
  justify-content: center;
  gap: 2px;
}
.tab-link {
  width: 300px;
  text-align: center;
  padding: 10px 20px;
  cursor: pointer;
  font-weight: 500;
  font-size: 2.4rem;
  color: #707070;
  background: #ddd;
  border-radius: none!important;
}
button.tab-link.active{
  background: var(--gradient-color);
  color: #fff;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
li.tab-link.current{
  background: var(--gradient-color);
  color: #fff;
}
/* ページネーションのスタイル */
ul#jquery-tab-pager-navi {
  width: fit-content;
  margin: 0 auto 2rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
  li{
    width: 30px;
    height: 30px;
    background-color: #D8D6D6;
    color: #707070;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    a{
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .current{
      background-color:#E892DB;
      color: #fff;
    }
    &:first-child,
    &:last-child{
      background-color: transparent;
      color: #E892DB;
    }
    .disable{
      color: #D8D6D6;
    }
  }
}

a.page-numbers{
width: 20px;
display: inline-block;
height: 20px;
background-color: #D8D6D6;
color: #707070;
}
span.page-numbers.current{
background-color: #E892DB;
color: #fff;
}
.single-thumbnail img {
width: 100%;
height: auto;
}
/*見出し*/
.section-title{
  text-align: center;
  margin-bottom: 4.2rem;
  h2.en {
    text-align: center;
    font-size: 56px;
  }
  p {
    font-weight: 500;    
  }
}

/*トピックス*/
.topics {
  position: relative;
  padding: 10rem 0 6rem;
}
.topics .section-title{
  position: absolute;
}
.topics .section-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
}
ul.topics-list {
  display: flex;
  flex-wrap: wrap;
}
li.topic-item {
  background: #fff;
  flex-basis: calc(20% - 10px);
  position: relative;
  margin: 5px;
}
li.topic-item a {
  padding: 1rem .5rem 2rem;
  span{
    text-align: center;
    height: 4rem;
    display: flex;
    align-items: center;
  }
}

.topic-item a::after{
  content: "";
  width: 30px;
  height: 20px;
  display: block;
  background-image: url(../img/topics/arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 5%;
  bottom: 5%;
  transition: .5s;
}
li.topic-item img{
  width: 50%;
}
.topic-item a{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: clamp(14px, 1.3vw,17px); /* 最小値1rem、理想値1.3vw、最大値2rem */
  font-weight: 600;
  transition: .5s;
}
.topic-item a:hover {
  color: #c19fd7;
}
.topic-item a:hover::after {
  right: 4%;
}

/*検索セクション*/
.search-container {
  border: 2px solid #707070;
  padding: 2rem;
}
.search-bar {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.6rem;
  align-items: center;
  justify-content: space-between;
  input,
  textarea {
  outline:none;
}
}
.search-bar h3{
  font-size: 22px;
  font-weight: 600;
  flex-basis: 55%;
}
.search-bar form{
  flex-basis: 35%;
  display: flex;
  align-items: center;
}
.search-bar input.search-field {
  width: 100%;
}
input.search-field:focus {
  color: #333333;
}
.search-bar label{ 
  width: 80%;
  margin-right: 1rem;
}
.search-bar label input {
  border: 2px solid #707070;
  border-radius: 50px;
  padding: .6rem 1rem;
  display: flex;
  font-size: 12px;
  color: #BFBFBF;
}

.hashtags a {
  font-size: 18px;
  border: 1px solid #707070;
  padding: 2px 1rem;
  font-weight: 500;
  &:hover{
    border: 1px solid #E892DB;
    background-color: #E892DB;
    color: #fff;
  }
}
.hashtags {
  margin-bottom: 2.4rem;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.popular-writers h3{
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.popular-writers h3::after{
  content: "";
  width: 65%;
  height: 1px;
  display: block;
  background-color: #707070;
}
a.writer {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 12.5%;
  text-align: center;
}
.popular-writers-list {
  display: flex;
  justify-content: flex-start;
}

.popular-writers-list img{
  border-radius: 50%;
}
/*--ライター紹介セクション--*/
section.writer {
  padding: 10rem 0 8rem;
  position: relative;
  margin-bottom: 0;
}

.writer .section-title{
  position: absolute;
}
.writer .section-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
}

.writer-slide {
  max-width: 1200px;
  margin: auto;
}

.writer-slide .author-avatar {
  max-width: 100%;
  height: auto;
  margin-bottom: 5px;
  font-weight: 500;
}
.writer-item-group{
  display: block;
  margin: 0 auto 5px;
  width: fit-content;
  background: var(--gradient-color);
  color: #fff;
  font-size: 12px;
  padding: 2px 4px;
}
.writer-item-department{
  font-size: 12px;
}
.writer-item-name{
  font-size: 1.6rem;
  color: #E892DB;
}
.writer-slide .slick-slide {
  margin: 0 5px;
  img{
    width: 100%;
    height: auto;
  }
}
.writer-item {
  width: 20%;
  background: #fff;
  padding: 1rem;
  text-align: center;
  img{
    width: 100%;
    height: auto;
    margin-bottom: .5rem;
  }
}
.writer-dots {
  display: flex;
  align-items: center;
  .slick-dots {
    display: flex;
    position: static;
    align-items: center;
  }
}
.arrows-wrap {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 1rem;
}
.prev-arrow.disabled,.prev.disabled,
.next-arrow.disabled,.next.disabled{
    opacity: 0.6; /* 無効なときの不透明度 */
    pointer-events: none; /* クリックを無効にする */
}
.slick-dots li button:before {
  font-size: 12px!important;
}
.slick-dots li{
  margin: 0 1px!important;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #E892DB!important;
}
.slick-dots li button:before {
  opacity: 1;
  color: #707070!important;
}
/*--ランキングセクション--*/
.access-ranking {
  padding: 4rem 2rem;
  border-top: 1rem solid #F4F3EF;
  box-shadow: inset 0 4px 0 #777;
  position: relative;
  margin-bottom:10rem;
  &:before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #707070;
    display: block;
  }
  .tab-contents{
    max-width: 840px;
    margin: auto;
  }
  
  .ranking-wrap{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 5rem; 
  }
    article{
      position: relative;
      &:before {
        content: '';
        position: absolute;
        top: -12px;
        left: -50px;
        width: 100px;
        height: 100px;
        z-index: 11;
        background-image: url('../img/ranking.png');
        background-size: cover;
        background-position: center;
        animation: rotateBackground 8s linear infinite; /* アニメーション */
      }
    }
    article:nth-child(1) { 
      grid-area: 1 / 1 / 2 / 3;
      &:after{
        content: '1';
        position: absolute;
        top: 20px;
        left: -8px;
        font-size: 2.8rem;
        font-weight: 500;
      }
    }
    article:nth-child(2)  {
      grid-area: 2 / 1 / 3 / 3; 
      &:after{
        content: '2';
        position: absolute;
        top: 20px;
        left: -8px;
        font-size: 2.8rem;
        font-weight: 500;
      }
    }
    article:nth-child(3)  { 
      grid-area: 3 / 1 / 4 / 3; 
      &:after{
        content: '3';
        position: absolute;
        top: 20px;
        left: -8px;
        font-size: 2.8rem;
        font-weight: 500;
      }
    }
    article:nth-child(4) { 
      grid-area: 4 / 1 / 5 / 2; 
      &:after{
        content: '4';
        position: absolute;
        top: 20px;
        left: -8px;
        font-size: 2.8rem;
        font-weight: 500;
      }
    }
    article:nth-child(5) { 
      grid-area: 4 / 2 / 5 / 3; 
      &:after{
        content: '5';
        position: absolute;
        top: 20px;
        left: -8px;
        font-size: 2.8rem;
        font-weight: 500;
      }
    }
    .ranking-left{
      width: 50%;
    }
    .ranking-right{
      width: 50%;
    }
    article{
      background-color: #fff;
      padding: 1.6rem!important;
      &:not(:nth-child(n+4)){
        display: flex;
        gap: 1.6rem;
        align-items:center;
      }
      .hover-box{
        margin-bottom: 0;
      }
    }
    article:nth-child(5) .ranking-right, article:nth-child(4) .ranking-right{
      width: 100%;
    }
    .article-post-title {
      position: relative;
      margin-top: 2rem;
      &:after {
        display: block;
        width: 100%;
        height: 1px;
        content: "";
        background-color: #707070;
        margin-top: 2rem;
      }
      &:nth-of-type(n+4):after {
        display: none; /* 4個目以降のタイトルには線を表示しない */
      }
    }
}
      /* アニメーションの定義 */
      @keyframes rotateBackground {
        0% {
          transform: rotate(0deg); /* 初期位置 */
        }
        100% {
          transform: rotate(360deg); /* 最終位置 (1回転) */
        }
      }


/*--イベントセクション--*/
section.event-section.full-width{
  margin-top: 0;
  padding: 48px 0 80px;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #FFF2FC calc(100% - 1px)),
              linear-gradient(90deg, transparent calc(100% - 1px), #FFF2FC calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  background-color: #fff;
  border: 1px solid #FFF2FC;

}
.top-event-list li {
  border: 1px solid #707070;
  background: #fff;
  padding: 1rem;
  margin-bottom: 1rem;
  position: relative;

  &:after{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 21px;
    height: 21px;
    background: linear-gradient(#c19fd7 0%, #eda6d8 100%);
    clip-path: polygon(100% 0,0 100%, 0 0);
  }
  a{
    display: flex;
    align-items: center;
    gap: 1rem;
  
  }
  .hover-box{
    width: 240px;
    height: auto;
    margin-bottom: 0;
  }
  .post-thumbnail img {
    margin-bottom: 0;
  }
  .attachment-thumbnail{
    width: 100%;
  }
  a:hover{
    color: #E892DB;
  }
  h3{
    font-size: 24px;
    font-weight: 500;
    flex-basis: 60%;
  }
  span.event-days {
    width: 16%;
    text-align: center;
  }
  .event-year{
    display: block;
    font-size: 20px;
    color: #9C75A9;
    text-align: center;
    font-weight: 500;
  
  }
  .event-month, .event-day{
    font-size: 42px;
    font-weight: 500;
  }
  .event-sla{
    color: #E892DB;
    font-size: 42px;
    margin: 0.1rem;
    font-weight: 500;
  }
}
/*--コンセプトセクション--*/
section.concept-section {
  .concept-flex-wrap {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
    .concept-logo{
      margin-bottom: 2rem;
    }
    p{
      font-size: 2rem;
      line-height: 1.4;
    }
}
}

/*-----------------------
共有パーツ
  -----------------------*/

/*------- 記事リスト---------*/




/* 各記事のカード */
.article-list-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 0;
}
article.article-container {
  flex-basis: 25%;
  padding: 0 .5rem;
}
/* サムネイル画像 */
img.article-thumbnail {
  width: 100%;
  height: auto;
  transition: .5s;
  overflow: hidden;
  aspect-ratio: 300 /170;
}
.hover-box {
  overflow: hidden;
  margin-bottom: 1rem;
	aspect-ratio: 300 / 170;
}
.article-list-container a img:hover {
  transform: scale(1.1); /* ホバー時に拡大 */
}
/* タイトル */
.article-post-title{
  font-size: 20px;
  margin-bottom: 1rem;
}

/*------- トピックスページ---------*/

.topic-header-image{
  height: fit-content;
  max-height: 340px;
  overflow: hidden;
  object-position: center;
}
.topic-header-image img {
  width: 100vw;
  height: auto;
}
.archive-header{
  border-bottom: 13px solid #E892DB;
  position: relative;
  margin-bottom: 12rem;
}
.archive-title {
  position: absolute;
  background-color: #fff;
  padding: 1.5rem 1rem;
  bottom: -24%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 680px;
  text-align: center;
  font-weight: 500;
}
.archive-title .en{
  font-size: 5.6rem;
}
.archive-title .h1{
  font-size: 2.2rem;
}
.archive-page-wrap{
  max-width: 84rem;
  padding: 0 2rem;
  margin-top: 0;
  h2{
    font-size: 2.2rem;
    color: #E892DB;
    margin-bottom: 1rem;
  }
  .article-list-container {
    margin-bottom: 4rem;
    gap: 1rem;
    article.article-container{
      flex-basis: 49%;
      padding: 1rem;
      background: #fff;
    }
  }
}
.archive .hashtags a{
  font-size: 14px;
  border: none;
  background-color: #fff;
  font-weight: normal;
  &:hover{
    background-color: #E892DB;
    color: #fff;
  }
}
.archive .hashtags a:hover{
  opacity: 0.7;
}

.sidebar-on {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  margin-bottom: 10rem;
  gap: 1rem;
  aside#sidebar{
    width: 30%;
    .side-title-wrap{
      text-align: center;
      margin-bottom: 3rem;
      h2{
        color: #707070;
        font-size: 2.4rem;
        font-weight: 500;
      }
      div{
        height: 4px;
        width: 100%;
        background-color: #707070;
        position: relative;
        &:after{
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          top: 1rem;
          background-color: #707070;
          position: absolute;
        }
      }

    }
    .ranking-wrap{
      padding: 0 1rem 2rem;
      font-size: 1.4rem;
      li{
        padding: 1rem 0;
        border-bottom: 1px solid #707070;
        &:first-child{
          padding-top: 0;
        }
        &:last-child{
          border-bottom:none;
        }
        a{
          display: flex;
          align-items: center;
          gap: 1rem;
        }
        img{
          width: 13rem;
          height: auto;
        }
      }
    }
    .side-topics-wrap{
      padding: 0 1rem 2rem;
      font-size: 1.6rem;
      li{
        margin-bottom: .5rem;
        position: relative;

        a{
          display: block;
          background-color: #fff;
          padding: 1rem 1.6rem;
          font-weight: 500;
          &:hover{
            color: #E892DB;
          }
        }
        &:after {
          content: "";
          width: 20px;
          height: 10px;
          display: block;
          background-image: url(../img/topics/arrow.png);
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          right: 5%;
          top: 40%;
          transition: .5s;
      }
      }
    }
  }
}



footer{
  background: var(--gradient-color);
  padding:60px 40px 20px;
  color: #fff;
  .footer-container1{
    max-width: 1200px;
    margin: 0 auto 2rem;
    display: flex;
    gap: 4rem;
    .footer2-area {
      width: 60%;
      .address{
        font-size: 12px;
      }
    }
    .footer3-area p{
      line-height: 1.6em;
      letter-spacing: 0.1em;
    }
  }
  .footer-container2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 2rem;
    .header-cta{
      background: #fff;
      color: #E892DB;
      &:before {
        content: "";
        width: 20px;
        height: 20px;
        background: url(../img/f-mail_icon.png) no-repeat center center / contain;
        display: inline-block;
        margin-right: 4px;
    }
    }
  }
  small{
    text-align: center;
    font-size: 10px;
    margin:  auto;
    display: block;
  }
}





/* 投稿リストのスタイル */
.archive-posts article {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
    width: 30%;
}

.post-thumbnail img {
	width: 100%;
    height: auto; /* 高さは自動調整 */
    margin-bottom: 10px; /* 画像下のマージン */
}

.post-title {
    font-size: 20px; /* 投稿タイトルのフォントサイズ */
    margin-bottom: 5px; /* タイトル下のマージン */
}

.post-meta {
    font-size: 14px; /* メタ情報のフォントサイズ */
    color: #888; /* メタ情報の色 */
}

.post-excerpt {
    font-size: 16px; /* 抜粋のフォントサイズ */
    line-height: 1.5; /* 行の高さ */
    color: #555; /* 抜粋の色 */
}


/*パンくず*/
.breadcrumb {
  max-width: 100%;
  margin: auto;
  background-color: #D8D6D6;
  font-size: 14px;
  padding: .5rem 1rem;
  color: #707070;
  .container {
    max-width: 1200px;
  }
}
/*ページタイトル*/
.page-title-wrap{
  background-color: #E892DB;
  margin-bottom: 4rem;
  h1{
    display: block;
          color: #fff;
          max-width: 1200px;
          margin: auto;
          font-size: 3rem;
          padding: 1.4rem 0;
  }
}
/*ライター紹介ページ*/
.writer-list-wrap{
  .title-wrap{
    background-color: #E892DB;
    h1{
      display: block;
            color: #fff;
            max-width: 1200px;
            margin: auto;
            font-size: 3rem;
            padding: 1.4rem 0;
    }
  }
  .writer-page-contents{
    padding: 6rem 2rem 10rem;
    .tabs{
      margin-bottom: 10rem;
    }
    .writer-list-container {
      display: flex;
      flex-wrap: wrap;
      gap: 8rem 1.3rem;
      margin: 2rem auto 4rem;
  
      .user-info {
          width: calc(25% - 1rem);
          text-align: center;
          position: relative;
          background-color: #F4F3EF;
          padding: 8rem 2rem 2rem;
          border-top: 5px solid #E892DB;
  
          h2 {
              font-size: 2.2rem;
              color: #E892DB;
              margin-bottom: 1rem;
          }
  
          .button-wrap a {
              width: 80%;
              font-size: 1.6rem;
              margin: auto;
              background-color: #fff;
          }
  
          img {
              border-radius: 50%;
              position: absolute;
              top: -50px;
              left: 50%;
              transform: translateX(-50%);
              width: 120px;
              height: auto;
          }
          .writer-bio{
            text-align: left;
            font-size: 14px;
            margin-bottom: 2rem;
          }
          .writer-item-group{
            display: block;
            margin: 0 auto 5px;
            width: fit-content;
            background: var(--gradient-color);
            color: #fff;
            font-size: 12px;
            padding: 2px 4px;
          }
          .writer-department{
            font-size: 12px;
            margin: 0 auto 5px;
          }
      }
  }
}
}


/*ライター個別ページ*/
.writer-archive-wrap{
  .title-wrap{
    background-color: #E892DB;
    h1{
      display: block;
            color: #fff;
            max-width: 1200px;
            margin: auto;
            font-size: 3.6rem;
            padding: 1.4rem 0;
    }
  }
  .writer-archive-contents{
    padding: 4rem 2rem 10rem;
    .tabs{
      margin-bottom: 4rem;
      li{
        width: 100%;
      }
    }
    .article-list-container{
      gap: 2rem 2.2rem;
      margin-bottom: 4rem;
      article.article-container{
        flex-basis: 32%;
        background: #fff;
        padding: 1rem;
      }
    }
  }
  .author-tags{
    margin: 4rem auto;
    h2 {
      font-size: 2.2rem;
      color: #E892DB;
      margin-bottom: 2rem;
    }
    .hashtags {
      gap: 2rem 1rem;
      a{
        border: 1px solid #707070;
        &:hover{
          border: 1px solid #E892DB;
          background-color: #E892DB;
          color: #fff;
        }
      }
    }
  }
  .template-writer-wrap{
    background-color: #fff;
    padding: 2rem;
    h2{
      font-size: 2.2rem;
      text-align: center;
    }
    .template-writer-list {
      display: flex;
      margin: 2rem auto;
    }
    .button-wrap a{
      display: block;
      margin: 0 auto 2rem;
    }
  }
  }
  .writer-page-profile {
      text-align: center;
      position: relative;
      margin-bottom: 4rem;
      cursor: pointer;
      height: fit-content;
      img{
        border-radius: 50%;
        margin-bottom: -3rem;
		height:160px;
		width:160px;
      }
      p.writer-item-group,
      p.author__alma-mater{
        font-size: 12px;
        margin-bottom: .5rem;
        background: none;
        color: #707070;
      }
      span.author__name {
        font-size: 3.6rem;
        font-weight: 500;
        color: #E892DB;
        margin-bottom: 1rem;
        display: block;
      }
      p.author__bio,.author__ura-bio{
        text-align: left;
        margin: 2rem 0 1rem;
      }
      .author-contents {
        background-color: #fff;
        padding: 4rem 2rem;
        min-height: 230px;
        position: relative;
        z-index: -1;
      &:before{
        position: absolute;
        font-family: "Font Awesome 6 Free"; 
        content: "\f138";
        font-weight: 900;
        bottom: 2%;
        right: 2%;
        font-size: 24px;
        color: #E892DB;
    }
      }
      
    }

    .author-omote,
    .author-ura{
      transition: all 0.6s;
      height: 100%;
      width: 100%;
      backface-visibility: hidden;

    }

    .author-ura{
      transform: rotateY(-180deg);
      position: absolute;
      left: 0;
      top: 0;
    }
    .author-omote{
      transform: rotateY(180deg);
    }
    
    .author-omote.flipped {
      transform: rotateY(0); /* flipped状態 */
    }
    
    .author-ura.flipped {
      transform: rotateY(0); /* flipped状態 */
    }
}








/*ブログページ*/
.blog-main{
  margin-bottom: 10rem;
}
.blog-main1{
  margin-top: 5rem;
  background-color: white;
  padding: 2rem 5rem 4rem;
  .single-thumbnail{
    margin-bottom: 3rem;
  }
  p.categories{
    width: fit-content;
    a{
      padding: 2px 4px;
    }
  }
  p{
    margin: revert;
  }
  ul, ol {
    margin: revert;
    list-style: revert;
    padding: revert;
  }
  h1 {
    font-size: 3.6rem;
    font-weight: 600;
    margin-bottom: 12px;
  }
  h2{
    font-size: 2.4rem;
    background-color: #E892DB;
    padding: 1rem 2rem;
    color: #fff;
    font-weight: 500;
    margin: 3rem 0;
  }
  h3{
    font-size: 2rem;
    font-weight: 500;
    margin: 2.4rem 0;
  }
  h4{
    font-size: 1.8rem;
    font-weight: 500;
    margin: 2rem 0;
  }
  .wpulike.wpulike-heart {
    margin: 2rem 0;
  }
  p {
	  width: 100%;
      line-height: 2;
      margin: 3rem 0;
  }
  .tags{
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
  }
  .tags a{
    font-size: 1.4rem;
    border: 1px solid #707070;
    background-color: #fff;
    font-weight: normal;
    padding: 2px 1rem;
  }
}

.blog-ttl-container {
  display: flex;
  gap: 1rem;
  margin-bottom: 6rem;
  .blog-ttl-area {
    width: 80%;
  }
  .meta-info {
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}


.meta-info img {
  border-radius: 50%;
  display: block;
  margin:0 auto .5rem;
}
.meta-info span {
  display: block;
  text-align: center;
}

.date-title{
  display: flex;
  border-bottom: 1px solid;
  padding-bottom: 10px;
  margin-bottom: 20px;
  width: 90%;
}
.image1{
  width: 300px;
}
.date-title p{
  font-size: 14px;
}
.date-title h3{
  font-size: 18px;
}
/*記事下エリア*/
.article-bottom{
  margin:4rem auto;
  h2 {
    font-size: 3.6rem;
    font-weight: normal;
  }
  .title-wrap {
    text-align: center;
    margin-bottom: 3rem;
  }
  .bottom-list-title {
    color: #fff;
    background-color: #E892DB;
    font-size: 2.4rem;
    padding: 1rem 2rem;
    position: relative;
  }
    .article-list-container{
      background: #fff;
      padding: 1rem .5rem 3rem;
    }
  }


/*シェアボタン*/
ul.share-btn-list {
  display: flex;
  justify-content: center;
  gap: 1rem;
  a{
    padding: 1rem;
    background-color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 1rem;
    border: 1px solid #707070;
    width: 200px;
    height: 50px;
    cursor : pointer;
  }
  i{
    font-size: 3rem;
  }
}

/*この記事を書いた人*/
.blog-writer-box {
  background-color: #fff;
  padding: 3.2rem 4.8rem;
  display: flex;
  gap: 4rem;
  align-items: center;
  flex-wrap: nowrap;
  .author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 30%;
  }
  .author-contents{
    width: 70%;
    .writer-item-group{
      margin: 0;
      background: none;
      color: #707070;
      padding: 0
    }
  }
  img {
    border-radius: 50%;
  }
  .author__name{
    font-size: 2.4rem;
    font-weight: 500;
  }
  p {
    margin-bottom: 0.6rem;
  }
  .author__alma-mater, .author__department,.writer-item-group{
    font-size: 1.4rem;
  }
  p.author__bio {
    clear: both;
    overflow-wrap: break-word;
  }
}

/*前後の記事リンク*/
.post-navigation {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  justify-content: space-between;
  > div{
    width: 45%;
    }
    .post-thumbnail {
      width: 35%;
      img {
        margin-bottom: 0;
    }
  }
  .post-meta {
    width: 65%;
  }
  .post-title{
    font-size: 14px;
    margin-bottom: 10px;
  }
  .categories{
    margin-bottom: 4px;
  }
}

.post-arrow {
  color: #fff;
  background-color: #E892DB;
  font-size: 1.4rem;
  padding: 1rem;
  text-align: center;
  position:relative;
}
.previous-post .post-arrow i {
  position: absolute;
  left: 20px;
}
.next-post .post-arrow i {
  position: absolute;
  right: 20px;
}
.prev-post-wrap,.next-post-wrap{
  background-color: #fff;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.category-wrapper{
  margin-top: 20px;
}

/* Primary カラー */
.has-primary-color {
  color: #E892DB !important;
}
.has-primary-background-color {
  background-color: #707070' !important;
}
/*-------ハッシュタグページ---------*/
.tag {
  .archive-header {
    border:none;
    position: relative;
    margin-bottom: 6rem;
}
  .tag-title{
  background-color: #E892DB;
  h1 {
    display: block;
    color: #fff;
    max-width: 1200px;
    margin: auto;
    font-size: 3rem;
    padding: 1.4rem 0;
}
}
}
/*-------固定ページ---------*/
.page-wrap{
  margin: 0 auto 100px;
}


@media screen and (max-width:1200px) {
  html {
    font-size: 50%;
}
}

@media screen and (max-width:670px) {
footer .container{
  display: block;
  text-align: center;
  padding-top: 30px;
}
.footer1-area img{
  width: 50%;
}
.footer2-area li{
  font-size: 13px;
}
.footer3-area p{
  font-size: 13px;
}
.header-pc-main img{
  display: none;
}
header ul{
  display: none;
}
#menu-trigger{
  display: block !important;
}
}



@media screen and (max-width:670px){

    /*ヘッダー*/
    body.admin-bar .fixed-header {
      margin-top: 46px; /* 管理バーの高さ */
    }
    .globalMenuSp {
      padding: 4px;
      background-color: #fff;
    }
    .globalMenuSp .site-logo{
      display: block;
      text-align: center;
      img{
        width: 120px;
      }
    }
    .header-top-bar {
		font-size: 12px;
		padding: 8px 2px;
      height: auto;
    }
    /*ハンバーガーメニュー*/
    .hamburger{
      display: block;
      position: absolute;
      right: 12px;
      top: 64px;
      z-index: 111;
    }
    .hamburger span{
      display: block;
      width: 33px;
      height: 4px;
      border-radius: 30px;
      margin:auto;
      transition: all 0.3s ease; /* アニメーション */    }
    .hamburger span:nth-child(1){
      background-color: #E892DB;
    }
    .hamburger span:nth-child(2){
      background-color: #c19fd7; 
      margin:10px auto 0;
    }
    
    .hamburger p{        
      font-size: 10px;
      color: #c19fd7;
      font-weight: bolder;
      margin-top: 5px;
      text-align: center;
      letter-spacing: 1.1px;
  }
    .hamburger.active .bar1 {
        transform: rotate(45deg) translate(5px, 5px); /* 1つ目のバーを45度回転 */
    }

    .hamburger.active .bar2 {
        transform: rotate(-45deg) translate(5px, -5px); /* 2つ目のバーを-45度回転 */
    }
    
      /*SPメニュー*/
      div#menuContent {
        background: #fffe;
        position:absolute;
        top: 0;
        right: 0;
        padding: 60px;
      }
      div#menuContent ul{
        display: flex;
        flex-direction: column;
        gap: 1rem;
        .sub-menu{
          position: static;
          width: 100%;
          transform: none;
          background-color: none;
          border-top: none;
          padding: 0 0 0 2rem;
          gap: 0;
          a{
            &:before{
              width: 11px;
              height: 11px;
            }
          }
        }
      }
      .menu-item-has-children {
        &::after {
          display: none;
        }
      }
      .header-nav-menu ul li{
        padding:0;
        display: block;
        a{
          padding: 1rem 0;
        }
      }
      .header-cta{
        margin-left: 0;
        margin-top: 2rem;
      }
      /*共通パーツ*/
      section {
        margin: 20px auto 32px;
      }
      .pc-only{
        display: none;
      }
      .sp-only{
          display: block;
        }
      main {
        margin: 20px 10px; 
      }
        p {
          font-size: 14px;
      }
      .section-title {
        margin-bottom: 20px;
        h2.en {
          font-size: 24px;
        }
      }
      .tabs {
        margin-bottom: 20px;
        .tab-link {
          padding: 10px;
          font-size: 14px;
        }
      }

      .base-container{
        max-width: 95%;
      }
      /*TOP*/

      .new-article {
        margin: 0;
        article {
            display: flex;
            align-items: center;
            flex-direction: column;
        }
        .new-article-title {
          flex-basis: 100%;
          width: 100%;
          .en {
              font-size: 24px;
              margin-bottom: 16px;
          }
          .title-txt {
            font-size: 16px;
          }
          .title-line {
            margin: 8px 0;
          }
          .categories {
            margin-bottom: 5px;
          }
          .author-icon img {
            border-radius: 50%;
            width: 50px;
            height: 50px;
          }
          .article-data-flex {
            font-size: 12px;
          }
        }
      }

      /*TOPトピックス*/
      .topics {
        padding: 6rem 0 4rem;
        .section-title {
          top: -12px;
        }
        ul.topics-list {
          flex-direction: row;
          flex-wrap: wrap;
          justify-content: center;
        }
        .topic-item {
          flex-basis: 45%;
          padding: 0;
          a {
            display: flex;
            flex-direction: row;
            font-size: 12px;
            padding: 8px 4px;
            gap: 10px;
          }
          :after {
            width: 20px;
            height: 10px;
            right: 5%;
            bottom: 5%;
          }
          span{
            width: 75%;
            text-align: left;
            order: 2;
          }
          img {
            width: 25%;
            order: 1;
          }
        }
      }
      /*TOPサーチセクション*/
      .search{
        .search-container {
          padding: 1.4rem;
        }
        .search-bar {
          display: flex;
          flex-direction: column;
          gap:1rem;
          h3 {
            font-size: 14px;
            font-weight: 600;
            flex-basis: 100%
          }
          form {
            width: 90%;
            margin-bottom: 16px;
            button{
              width: 40px;
              height: 40px;
            }
            label input {
              padding: 1rem;
            }
            img{
              width: 100%;
            }
            
          }    
        }
        .hashtags {
          gap: 8px;
          margin-bottom: 16px;
          a{
            font-size: 12px;
            padding: 4px 1rem;
          }
        }
        .popular-writers {
          display: flex;
          flex-direction: column;
          h3 {
            font-size: 16px;
            &:after{
              width: 30%;
            }
          }
          .popular-writers-list {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 16px 10px;
            justify-content: space-between;
            a.writer {
              width: 22%;
              gap: 4px;
              img {
                width: 70px;
                height: auto;
              }
              span {
                font-size:10px;
              }
            }
          }
        }
      }

/*TOPランキングセクション*/
.access-ranking {
  margin-bottom: 8rem;
  .ranking-wrap {
      display: flex;
      flex-direction: column;
      gap: 1rem;
  }
  article {
    display: flex;
    flex-direction: row!important;
    gap: 1rem;
    padding: 1rem!important;
    &:before {
      top: -13px;
      left: -20px;
      width: 60px;
      height: 60px;
    }
    &:nth-child(1),
    &:nth-child(2),
    &:nth-child(3),
    &:nth-child(4),
    &:nth-child(5){
      &:after {
        top: 5px;
        left: 4px;
        font-size: 20px;
      }
    }
    .ranking-left {
      width: 50%!important;
    }
    .ranking-right {
      width: 50%!important;
    }
    .article-post-title {
      margin-top: 0;
      &:after {
        margin-top: 1rem;
      }
    }
  }
  article.article-container{
    align-items: center;
  }
}

/* 投稿者アイコン */
.author-icon img {
  border-radius: 50%;
  width: 30px;
  height: 30px;
}
.topic-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.topic-item {
  background-color: white;
  border-radius: 5px;
  padding: 10px;
  text-align: center;
}

.search form {
  display: flex;
  margin-bottom: 20px;
}

.search input {
  flex-grow: 1;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #ccc;
}

.hashtags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.popular-writers {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
}
/*ライター紹介*/
section.writer {
  padding:6rem 0 4rem;
  .writer-slide{
    max-width: 100%;
    .writer-item{
      padding: 6px;
    writer-item-group,
    .writer-item-department,.writer-item-name {
      font-size: 10px;
      font-weight: 300;
      margin-bottom: 2px;
    }
    }
  }
}

/*TOPイベントリストSP*/
section.event-section.full-width{
  padding: 4rem 0 4rem;
}
.top-event-list li {
  a {
    .hover-box {
      width: 200px;
    }
      h3 {
        font-size: 14px;
        flex-basis: 100%;
        
      }
      span.event-days {
        flex-basis: 30%;
        .event-year{
          font-size: 14px;
        }
        .event-month, .event-day,.event-sla{
          font-size: 16px;
        }
      }
      
  }

}

/*--TOPコンセプトセクションSP--*/
section.concept-section {
  .concept-flex-wrap {
    flex-direction: column;
    .concept-logo{
      width: 200px;
      display: block;
      margin: 0 auto 1rem;
    }
    p{
      font-size: 14px;
    }
}
}



  /*記事ページ*/
  .blog-main{
    .container{
      display: block;
      max-width: 95%;
    }
    .blog-main1 {
      margin-top: 0;
      margin-bottom: 4rem;
      background-color: white;
      padding: 2rem 1rem 3rem;
    }
    .blog-ttl-container {
      align-items: center;
      margin-bottom: 2rem;
    }
    h1 {
      font-size: 2.6rem;
    }
    .meta-info img {
      width: 60px;
      height: auto;
      }
  }
  ul.share-btn-list {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .title-wrap {
    margin-bottom: 2rem;
  }
  .article-bottom {
    h2 {
        font-size: 2.6rem;
        font-weight: normal;
    }
    ul.share-btn-list {
      a {
          padding: .8rem;
          font-size: 12px;
          display: flex;
          max-width: 160px;
          height: 40px;
      }
    }

    .blog-writer-box {
      padding: 2rem 1rem;
      gap: 1rem;
      flex-wrap: no wrap;
      flex-direction: column;
      img {
          width: 100px;
          height: auto;
      }
      .author {
        gap: 1rem;
        width: 100%;
      }
      .author-contents {
        width: 100%;
      }
      .author__alma-mater, .author__department, .writer-item-group {
        font-size: 14px;
      }
      p.author__bio {
        margin-bottom: 2rem;
      }
    }
    .prev-post-wrap, .next-post-wrap {
      flex-direction: column;
    }
    .post-navigation {
        .post-thumbnail,.post-meta {
          width: 100%;
        }
        .post-title{
          font-size: 13px;
        }
        span.author-icon {
          width: 30px;
          height: 30px;
        }
        img.author-icon {
          width: 100% !important;
          height: auto !important;
        }
      }
}
.article-data-flex {
  font-size: 10px;
}
article.article-container{
  display: flex;
  flex-basis: 50%;
  flex-direction: column;
  width: 100%;
  .article-post-title {
    font-size: 13px;
  }
  .categories {
    margin-bottom: 5px;
  }
}
.button-wrap a {
  width: 70%;
  display: block;
  margin:2rem auto;
  font-size: 2rem;
}


/*SPトピックスページ*/
.archive-header {
  border-bottom: 5px solid #E892DB;
  margin-bottom: 3rem;
}

.archive-title{
  position: static;
  min-width: 100%;
  transform: none;
  .en{
    font-size: 24px;
  }
}
.archive-page-wrap{
  padding: 0;
  & .article-list-container {
    article.article-container {
        flex-basis: 48%;
    }
}
}
.sidebar-on{
  margin-bottom: 40px;
  flex-direction: column-reverse;
    aside#sidebar {
        width: 95%;
        margin: auto;
    }
}

    /*ライター紹介ページ*/
    .writer-list-wrap{
      margin: 0 10px 20px;
      .title-wrap {
        h1 {
            max-width: 100%;
            font-size: 2.4rem;
            padding: 1.4rem;
        }
      }
        .writer-page-contents {
          padding: 1rem 2rem 6rem;
          .tabs {
            margin-bottom: 6rem;
          }
          .writer-list-container {
          padding: 2rem 0;
          .user-info {
            width: 48%;
            padding: 5rem 1rem 2rem;
            img {
              width: 80px;
            }
            .writer-bio {
              font-size: 12px;
            }
            .button-wrap a {
              width: 100%;
              font-size: 1.6rem;
              &:after {
                content: "";
                width: 14px;
                height: 10px;
              }
            }
            }
          }
        }

    }

    .writer-archive-wrap{
      margin: 0 10px 20px;
      .title-wrap {
        h1 {
            max-width: 100%;
            font-size: 2.4rem;
            padding: 1.4rem;
        }
      }
      .writer-archive-contents {
        padding: 0;
        .writer-page-profile{
          padding: 0;
          img {
            width: 120px;
            height: 120px;
        }
        }
        .article-list-container {
          article.article-container {
              flex-basis: 47%;
              background: #fff;
              padding: 1rem;
          }
        }
      }
      .template-writer-wrap {
        .template-writer-list {
            flex-wrap: wrap;
            justify-content: space-between;
        }
        h2 {
          font-size: 16px;
          text-align: center;
        }
        .writer-item {
          width: 33%;
        }
        }
        .hashtags a{
          font-size: 12px;
        }
      }
    
      /*-------ハッシュタグページ---------*/
      .tag {
        .archive-header {
          margin-bottom: 2rem;
        }
        .tag-title{
        h1 {
          max-width: 100%;
          font-size: 2.4rem;
          padding: 1.4rem;
        }
        }
      }
/*ページタイトル*/
.page-title-wrap{
  h1{
    max-width: 100%;
    font-size: 2.4rem;
    padding: 1.4rem;
  }
  }

/*フッター*/
footer{
  padding:20px;
  .footer-container1{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap:20px;
    margin-bottom: 30px;
    .footer2-area {
      width: 100%;
    }
    .footer3-area p{
      line-height: 1.6em;
      letter-spacing: 0.1em;
    }
  }
  .footer-container2 {
    .header-cta{
      margin-top: 0;
    }
  }
}

/*-------固定ページ---------*/
.page-wrap{
    margin: 0 20px 40px;
  }


}
/*△SP△*/

/******************************/
/** コンタクトフォームの装飾 **/
/******************************/
/*　フォーム全体　*/
#cf7-area {
  width:100%;
  margin: 0 auto;
  }
  
  .cf7-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 0 1rem;
  }
  
  .cf7-q {
  width: 30%;
  margin: 0 0 0 10px;
  }
  
  .cf7-a {
  width: 60%;
  }

  /* 各項目共通 */
  #cf7-area label{
  font-weight:bold;
  }
  
  #cf7-area{
    input,textarea{
      border: 1px solid #707070;
      padding: .5rem;
      background: #fff;
      width:100%;
      margin-left:10px;
      border-radius: 5px;
    }

  }
  
  input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required,.input:-internal-autofill-selected {
  background-color: #fff!important;
  border: 2px solid #E892DB;
  outline: 0;
  }
  .wpcf7-not-valid-tip {
    color:#E892DB;
    font-size: 14px;
    display: block;
    margin-left: 1rem;
}
.wpcf7 form .wpcf7-response-output{
  border:none;
  color:#E892DB; 
}
  #cf7-area input[type=”checkbox”], #cf7-area input[type=”radio”]{
  appearance: auto;
  }
  
  #cf7-area .wpcf7-list-item {
  display: block;
  }
  .cf7-accept-check label{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
    }
    #cf7-area .cf7-accept-check input[type="checkbox"]{
      width: fit-content;
    }

  #cf7-area textarea{
  height:200px;
  padding: 0.625em 0.4375em;
  }
  
  .cf7-accept-check{
  text-align: center;
  margin: 50px auto;
  }
  
  #cf7-area .cf7-submit.button-wrap input {
    width: 40rem;
    font-size: 2rem;
    padding: 1rem 2rem;
    text-align: center;
    border: 1px solid #E892DB;
    display: block;
    position: relative;
    margin: 4rem auto;
    background:var(--gradient-color);
    color: #fff;
    transition: .5s;
    &:hover{
      color:#E892DB;
      background: #fff;
    }
    &:after{
      content: "";
      width: 20px;
      height: 20px;
      display: block;
      background-image: url(../img/topics/arrow.png);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      right: 5%;
      top: 46%;
      transition: .5s;
    }
  }
  #cf7-area input[type=”submit”]
  {
  width: 100%;
  background-color: #191970;
  color: #ffffff;
  border-radius: 5px;
  font-size: 1.2em;
  padding: 1em 10px;
  }
  
  #cf7-area input[type=”submit”]:hover
  {
  background-color:#ffffff;
  border: 2px solid #191970;
  color:#191970;
  }
  
  .cf7-btn{
  width: 40%;
  margin: 0 auto;
  text-align: center;
  }
  
  /*　必須ラベル　*/
  .cf7-req{
  font-size:.8em;
  padding: 4px 6px;
  background: #E892DB;
  color: #ffffff;
  margin-left: 10px;
  display:inline-block;
  }
  
  @media screen and (max-width:768px){
  .cf7-item {
  display: block;
  }
  
  #cf7-area label{
  display: block;
  margin-bottom: 10px;
  }
  
  .cf7-q {
  width: 100%;
  margin: 0;
  }
  
  .cf7-a {
  width: 100%;
  }
  
  #cf7-area input[type=”text”], #cf7-area input[type=”email”], #cf7-area input[type=”tel”], #cf7-area textarea{
  margin-left: 0;
  }
  
  .cf7-submit{
  width: 90%;
  }
  }


/*-------ライターページ内インタビューバナー---------*/
.interview-banner {
    margin: 0 auto 4rem;
    width: 80%;
    a{
        display: block;
        width: 100%;
        text-align: center;
        img{
            width: 80%;
        }
    }
}

/* ===== インタビューページ ===== */

/* インタビューヘッダー */
.interview-header {
    position: relative;
    margin-bottom: 4rem;
    
    .interview-header-content {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        text-align: left;
        line-height: 1;
    }
    
    h1 {
        font-size: clamp(24px, 4.2vw, 60px);
        color: #fff;
        span {
            display: block;
            margin-bottom: 10px;
            padding: 2rem 4rem;
            width: fit-content;
            background-color: #42B4E6cc;
        }
    }
    
    p {
        font-size: clamp(18px, 2.2vw, 24px);
        color: #333;
        width: fit-content;
        background-color: #fffe;
        padding: 2rem 4rem;
        line-height: 1.5;
    }
}

/* インタビュープロフィール */
.interview-page-profile {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    margin-bottom: 4rem;
    
    .interview-page-content-left {
        width: 30%;
    }
    
    .interview-page-content-right {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 70%;
        padding: 4rem 6rem;
        text-align: left;
        background-color: #42B4E6;
        color: #fff;
        
        .interview-page-profile-name {
            font-size: clamp(18px, 2.2vw, 32px);
            font-weight: 500;
            margin-bottom: 1rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #fff;
        }
        
        .interview-page-profile-text {
            font-size: 1.6rem;
            line-height: 1.8;
        }
    }
}

/* インタビューストーリー */
.interview-page-story {
    margin-bottom: 14rem;
    h2 {
        text-align: center;
        span {
            display: block;
            font-size: 1.8rem;
            font-weight: 500;
            color: #397CCB;
            margin-bottom: 2rem;
        }
    }
}

.interview-page-story-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
    margin-bottom: 4rem;
    margin-top: 2rem;
    
    .interview-page-story-content-text {
        width: 50%;
    }
    
    img {
        width: 50%;
    }
    
    h3 {
        margin-bottom: 2rem;
        
        span {
            display: block;
            width: fit-content;
            padding: 0.5rem 2rem;
            font-size: 2.4rem;
            font-weight: 500;
            color: #fff;
            background-color: #397CCB;
            margin-bottom: 10px;
        }
    }
    
    p {
        font-size: 16px;
    }
}

/* ハイライト */
.highlight {
    background: linear-gradient(transparent 60%, #FBFF9Aee 60%);
}

.story2,.story3,.story4{
    position: relative;
    padding: 10rem 0 14rem;
    margin-bottom: -6rem;
    h2 {
        position: absolute;
        top: -100px;
        left: 50%;
        padding: 40px;
        width: fit-content;
        border-radius: 50%;

        transform: translateX(-50%);
        z-index: 1;
    }
    h3 {
        margin-bottom: 2rem; 
    }
}
/* ストーリー2 */
.story2 {
  background-color: #C1EDEF;
  h2 {
    background-color: #C1EDEF;
    span {
      color: #1F9A91;
  }
  }
  h3{
    span {
      background-color: #1F9A91;
    }
  }
  .highlight {
    background: linear-gradient(transparent 60%, #fff 60%);
}
}

/* ストーリー3 */
.story3 {
  background-color: #397CCB;
  color: #fff;
  h2 {
    background-color: #397CCB;
    span {
      color: #fff;
    }
  }
  h3{
    span {
      color: #397CCB;
      background-color: #fff;
    }
  }
  .highlight {
    background: linear-gradient(transparent 60%, #fff3 60%);
  }
}


/* ストーリー4 */
.story4 {
  background-color: #E9F8F8;
  padding-bottom: 4rem;
  h2 {
    background-color: #E9F8F8;
    span {
      color: #397CCB;
    }
  }
  h3{
    span {
      color: #fff;
      background-color: #397CCB;
    }
  }
}

/* インタビュー メッセージ*/
.interview-page-message {
  h2 {
  color: #42B4E6;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 3rem;
  }
  p{
    display: block;
    width: fit-content;
    margin: auto;
}
}

/* ===== インタビューページSP ===== */
@media screen and (max-width:768px){
/* インタビューヘッダー */
.interview-header {  
  margin-bottom: 2rem;
  .interview-header-content {
      top: 65%;

  }
  h1 {
      color: #fff;
      span {
          margin-bottom: 5px;
          padding: 1rem;
      }
    }
  p {
      padding: 1rem;
      line-height: 1.5;
  }
}
/* プロフィール */

.interview-page-profile{
  flex-direction: column;
  .interview-page-content-left {
    width: 100%;
    text-align: center;
    img{
      width: 120px;
    }
  }
  .interview-page-content-right{
    width: 100%;
    padding: 2rem 4rem;
  }
}
/* インタビューストーリー */
.interview-page-story {
  margin-bottom: 12rem;
  h2 {
    img{
      width: 80px;
    }
  }
}

.interview-page-story-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: 4rem;
  margin-top: 1rem;
  
  .interview-page-story-content-text {
      width: 100%;
  }
  
  img {
      width: 100%;
  }
  
  h3 {
      margin-bottom: 2rem;
      
      span {
          padding: 0.2rem 1rem;
          font-size: 2rem;
          margin-bottom: 5px;
      }
  }
  
  p {
      font-size: 14px;
  }
}

.story2,.story3,.story4{
  position: relative;
  padding: 8rem 1rem 10rem;
  margin-bottom: -3rem;
  h2 {
      top: -60px;
      left: 50%;
      padding: 2rem;
      border-radius: 100px 100px 0 0;
    }
  h3 {
      margin-bottom: 2rem; 
  }
}
.story4{
  padding-bottom: 1rem;
  .interview-page-story-content-text{
    order: 2;
  }
}
.interview-page-message{
  img{
    width: 120px;
  }
}
}

/*TOP interviewセクション*/
ul.interview-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 4rem 2rem;
  width: 96%;
  margin:0 auto 10rem;
  img{
    margin-bottom: 1rem;
  }
}
.interview-list-title{
  font-size: 20px;
  margin: 1rem 0;
}
.interview-list-hr{
  margin: 1rem 0;
}
.interview-list-name{
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width:768px){
  .interview-list-title{
    font-size: 13px;
  }
  .interview-list-name{
    font-size: 10px;
  }
  .interview-banner {
    width: 100%;
    & a {
        img {
            width: 100%;
        }
    }
}
}
