/* フロントページ */

.fv {
  background-image: url('../img/fv-background.png');
  background-size: cover;
  
}

.fv-container {
  padding: 93.6px 24% 90.5px;
}

.fv p {
  font-size: 24px;
  font-weight: bold;
  color: #ffffff;
}

.fv h2 {
  font-size: 45px;
  font-weight: bold;
  line-height: 1.22;
  color: #ffffff;
  margin-top: 16.4px;
}

.fv-box {
  margin-top: 58.1px;
  display: flex;
  justify-content: space-between;
}

.fv-box img {
  width: 305px;
  height: auto;
}

.sp-fv-box {
  display: none;
}

.main {
  display: flex;
  width: 1100px;
  margin: 0 auto;
  padding-top: 36px;
}


.main-left {
  box-sizing: border-box;
  flex: 1;
  padding-right: 35px;
  padding-bottom: 85px;
}

.main-right {
  width: 300px;
  box-sizing: border-box;
  padding-left: 30px;
}


.special {
  margin-bottom: 50px;
}

.posts-title {
  display: flex;
}

.posts-title-text {
  font-size: 24px;
  font-weight: bold;
  line-height: 40px;
  padding-left: 17.7px;
  border-left: 3px solid  #ED7483;
  color: #333333;
}

.special-posts {
  margin-top: 28px;
}

.special-post {
  margin-bottom: 22px;
}

.special-post-under {
  width: 100%;
  height: 2px;
  margin-top: 22px;
}

.special-post-inner {
  display: flex;
}

.special-post-thumbnail {
  width: 270px;
  position: relative;
}

.special-post-thumbnail img {
  width: 270px;
  height: auto;
}

.special-post:nth-child(n+3) .special-post-new {
  display: none;
}

.special-post-new {
  position: absolute;
  top: 0;
  left: 0;
  padding: 7px 12.7px;
  background-color: #ED7483;
}

.special-post-new p {
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  position: relative;
}

.special-post-new p::after {
  content: '';
  border-top: 28px solid #ED7483;
  border-right: 6.8px solid transparent;
  position: absolute;
  top: -7px;
  right: -19.5px;
}

.special-post-content {
  margin-left: 25px;
}

.special-post-content h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 1px;
  color: #333333;
}

.special-post-content p {
  font-size: 15px;
  line-height: 1.67;
  margin-top: 3px;
  color: #333333;
}

.special-post-content .special-post-date {
  font-size: 13px;
  color: #808080;
  margin-top: 10px;
  line-height: 1;
}

.special-post-link {
  margin-top: 6px;
}

.special-post-link a {
  display: inline-block;
  font-size: 14px;
  color: #ED7483;
  border-radius: 8.2px;
  background-color: #ffffff;
  padding: 10px 34.2px 10px 34.2px;
  border: 1px solid #ED7483;
}

.posts-link {
  margin-top: 4px;
  text-align: center;
}

.posts-link a {
  display: inline-block;
  padding: 18px 29px 18px 29px;
  background-color:  #ED7483;
  border-radius: 12px;
  font-size: 15px;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
}


.review-posts {
  margin-top: 28px;
}

.review-post {
  margin-bottom: 22px;
}

.review-post-under {
  width: 100%;
  height: 2px;
  margin-top: 22px;
}

.review-post-inner {
  display: flex;
}

.review-post-thumbnail {
  width: 270px;
  position: relative;
}

.review-post-thumbnail img {
  width: 270px;
  height: auto;
}

.review-post:nth-child(n+3) .review-post-new {
  display: none;
}

.review-post-new {
  position: absolute;
  top: 0;
  left: 0;
  padding: 7px 12.7px;
  background-color: #ED7483;
}

.review-post-new p {
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  position: relative;
}

.review-post-new p::after {
  content: '';
  border-top: 28px solid #ED7483;
  border-right: 6.8px solid transparent;
  position: absolute;
  top: -7px;
  right: -19.5px;
}

.ranking-posts .review-post-thumbnail img {
  border-radius: 5px 0 0 0;
}

.ranking-posts-number {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  background-color:  #ED7483;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 20px;
  border-radius: 5px;
}

.review-post-content {
  margin-left: 25px;
}

.review-post-content h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 1px;
  color: #333333;
}

.review-post-content p {
  font-size: 15px;
  line-height: 1.67;
  margin-top: 3px;
  color: #333333;
}

.review-post-content .review-post-date {
  font-size: 13px;
  color: #808080;
  margin-top: 10px;
  line-height: 1;
}

.review-post-link {
  margin-top: 6px;
}

.review-post-link a {
  display: inline-block;
  font-size: 14px;
  color:  #ED7483;
  border-radius: 8.2px;
  background-color: #ffffff;
  border: 1px solid  #ED7483;
  padding: 10px 34.2px 10px 34.2px;
  margin-top: 6px;
}

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

  .fv {
    background-image: url('../img/sp-fv.png');
  }

  .fv-container {
    padding: 31.28vw 6vw 6.704vw;
  }

  .fv p {
    font-size: 4.5333vw;
  }

  .fv h2 {
    font-size: 8.5333vw;
    line-height: 1.25;
    margin-top: 3.36vw;
  }

  .pc-fv-box {
    display: none;
  }

  .sp-fv-box {
    display: flex;
  }

  .fv-box {
    margin-top: 5.36vw;
    flex-wrap: wrap;
    justify-content: center;
  }

  .fv-box img {
    height: 11.989333vw;
    width: auto;
  }

  .fv-box img:nth-child(1) {
    margin-right: 2vw;
  } 

  .fv-box img:nth-child(3) {
    margin-top: 2.701333vw;
  }

  .main {
    display: block;
    width: 100%;
  }

  .main-left {
    width: 100%;
    padding: 0;
  }

  .main-right {
    width: 100%;
    padding: 0;
    background-color: initial;
  }

  .special {
    margin-top: 6.6666vw;
  }

  .posts-title {
    padding: 0 6.4vw 3.33333vw;
    border-bottom: 0.5px solid #333333;
  }

  .posts-title img {
    width: 10.666vw;
  }

  .posts-title-text {
    font-size: 6.4vw;
    line-height: 10.666vw;
  }

  .special-posts {
    width: auto;
    margin-top: 4.8vw;
    display: flex;
    overflow-x: auto;
  }

  .special-post {
    min-width: 72vw;
    padding: 0 3.2vw;
    margin-bottom: 4.777333vw;
  }

  .special-post:nth-child(1) {
    padding-left: 6.4vw;
  }

  .special-post:nth-last-child(1) {
    padding-right: 6.4vw;
  }

  .special-post-new {
    padding: 1.86666vw 2.32vw;
  }
  
  .special-post-new p {
    font-size: 3.7333vw;
  }
  
  .special-post-new p::after {
    border-top: 7.46666vw solid #ED7483;
    border-right: 1.813333vw solid transparent;
    top: -1.86666vw;
    right: -4.13333vw;
  }

  .special-post-inner {
    display: block;
  }

  .special-post-thumbnail {
    width: 72vw;
  }

  .special-post-thumbnail img {
    width: 100%;
    height: 45.8666666vw;
    object-fit: cover;
  }

  .special-post-content {
    margin: 3.73333vw 0 0;
  }

  .special-post-content h3 {
    font-size: 5.3333vw;
    line-height: 1.3;
  }

  .special-post-content .special-post-date {
    font-size: 3.46666vw;
    margin-top: 2.4vw;
  }

  .special-post-content p {
    font-size: 4vw;
    line-height: 1.6;
    margin-top: 3.2vw;
  }

  .special-post-link {
    margin-top: 3.2vw;
  }

  .special-post-link a {
    font-size: 3.73333vw;
    padding: 2.8vw 9.12vw;
    border-radius: 2.16vw;
  }

  .special-post-link img {
    width: 1.92vw;
    margin-left: 8.08vw;
  }

  .special-post-more {
    font-size: 2.9333vw;
    text-align: right;
    margin-right: 10.88vw;
    color: #333333;
  }

  .posts-link {
    padding: 4.4vw 0;
    border-bottom: 0.5px solid #333333;
  }

  .special .posts-link {
    margin-top: 3.92vw;
    border-top: 0.5px solid #333333;
  }

  .posts-link a {
    font-size: 4vw;
    padding: 4.8vw 7.7333vw;
    border-radius: 3.2vw;
  }

  .posts-link img {
    width: 2.18666vw;
    margin-left: 6.95333vw;
  }

  .review {
    margin-top: 12.4vw;
  }

  .review-posts {
    margin-top: 7.62666vw;
    padding: 0 6.13333vw;
  }

  .review-post {
    margin-bottom: 5.36vw;
  }

  .review-post-new {
    padding: 1.86666vw 2.32vw;
  }
  
  .review-post-new p {
    font-size: 3.7333vw;
  }
  
  .review-post-new p::after {
    border-top: 7.46666vw solid #ff9b45;
    border-right: 1.813333vw solid transparent;
    top: -1.86666vw;
    right: -4.13333vw;
  }

  .review-post-inner {
    display: block;
  }

  .review-post-thumbnail {
    width: 100%;
  }

  .review-post-thumbnail img {
    width: 100%;
    height: 45.8666666vw;
    object-fit: cover;
  }

  .review-post-content {
    margin: 3.73333vw 0 0;
  }

  .review-post-content h3 {
    font-size: 5.3333vw;
    line-height: 1.3;
  }

  .review-post-content .review-post-date {
    font-size: 3.46666vw;
    margin-top: 2.4vw;
  }

  .review-post-content p {
    font-size: 4vw;
    line-height: 1.6;
    margin-top: 3.2vw;
  }

  .review-post-link {
    margin-top: 3.2vw;
    text-align: center;
  }

  .review-post-link a {
    font-size: 4.53333vw;
    padding: 3.52vw 12.08vw;
    border-radius: 2.72vw;
  }

  .review-post-link img {
    width: 2.4vw;
    margin-left: 9.76vw;
  }

  .review-post-more {
    font-size: 2.9333vw;
    text-align: right;
    margin-right: 10.88vw;
    color: #333333;
  }

  .review-post-under {
    margin-top: 5.36vw;
  }

  .review .posts-link {
    margin: 0;
    padding-top: 0;
  }
}

/* カテゴリー一覧 */

.reports-categories-list {
   margin: 36px auto 0;
   width: 1100px;
}

.reports-categories-list-inner {
  display: flex;
  overflow-x: auto;
}

.reports-categories-list a.current {
  border-bottom: 3px solid #ED7483;
}

.reports-categories-list a {
  font-size: 16px;
  padding: 20px 16px 18px;
  color: #2D2926;
}

@media screen and (max-width:769px) {
   .reports {
     margin-top: 5.6vw!important;
   }

   .reports .posts-title {
     border-bottom: none;
     padding-bottom: 0;
   }

  .reports-categories-list {
    margin: 2.4vw 6.13333vw 0;
    width: initial;

  }

  .reports-categories-list a {
    white-space: nowrap;
    font-size: 3vw;
  }

  .reports-categories-list-inner {
    overflow-x: scroll;
  }
}


/* プライバシーポリシー */

.text-page {
  margin-top: 39px;
}

.text-page-main {
  margin-top: 35px;
}

.text-page-main p {
  font-size: 17px;
  line-height: 1.76;
  color: #333333;
}

.text-page-main a {
  font-size: 17px;
  line-height: 1.76;
  color: #333333;
  text-decoration: underline;
}

.text-page-main h2 {
  font-size: 23px;
  background: #333333;
  padding: 15px 21.5px;
  border-left: 12px solid #ff9b45;
  color: #ffffff;
  margin: 35px 0;
}

@media screen and (max-width:769px) {
  .text-page {
    margin-top: 5.6vw;
    padding: 0 5.6vw;
  }

  .text-page .posts-title {
    border-bottom: none;
    padding: 0;
  }

  .text-page-main {
    margin-top: 8vw;
  }

  .text-page-main p {
    font-size: 4vw;
    line-height: 1.67;
    font-weight: bold;
  }

  .text-page-main h2 {
    font-size: 4.8vw;
    line-height: 1.33;
    padding: 3.2vw 5.6vw 3.2vw 3.2vw;
    border-left-width: 2.56vw;
  }
}

/* 404ページ */

.page-404 {
  width: 1000px;
  margin: 39px auto 55px;
}

.page-404-main {
  margin-top: 39px;
  padding: 68.2px 133px 279px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
}

.page-404-main h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #333333;
}

.page-404-main p {
  font-size: 17px;
  line-height: 1.76;
  color: #333333;
  margin-top: 46.5px;
}

.return-top {
  margin: 60px auto 0;
  display: block;
  background-color: #ed7483;
  text-align: center;
  width: 235px;
  height: 51px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: bold;
  line-height: 51px;
  color: #ffffff;
  position: relative;
}

.return-top::after {
  content: '';
  background-image: url('../img/arrow-white.png');
  width: 8.2px;
  height: 12.9px;
  background-size: cover;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)rotate(180deg);
  left: 16.8px;
}

@media screen and (max-width:769px) {
  .page-404 {
    box-sizing: border-box;
    width: 100%;
    margin-top: 5.6vw;
    padding: 0 5.6vw;
  }

  .page-404 .posts-title {
    border-bottom: none;
  }

  .page-404-main {
    margin-top: 8vw;
    padding: 8.8vw 4vw 84vw;
  }

  .page-404-main h2 {
    font-size: 6.4vw;
    text-align: left;
  }

  .page-404-main p {
    font-size: 4vw;
    margin-top: 7.2vw;
  }

  .return-top {
    margin-top: 9.28vw;
    width: 62.4vw;
    height: 13.6vw;
    line-height: 13.6vw;
    font-size: 4vw;
  }

  .return-top::after {
    width: 2.18666vw;
    height: 3.44vw;
    left: 4.48vw;
  }
}


/* お問い合わせ */

/* .contact {
  width: 1000px;
  margin: 39px auto 105px;
} */

.contact-main {
  margin-top: 39px;
  padding: 70px 75px 55px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
}

.contact-main h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #333333;
}


.contact-content {
  display: flex;
  align-items: center;
  margin-bottom: 27.2px;
  padding-bottom: 27.2px;
  border-bottom: 2px dotted #333333;
}

.contact-content:nth-child(7) {
   margin-bottom: 0;
   padding-bottom: 0;
   border-bottom: none;
   align-items: initial;
}

.contact-content p:nth-child(1) {
  width: 47px;
  height: 23px;
  font-size: 13px;
  color: #ffffff;
  line-height: 23px;
  text-align: center;
  background-color: #ff0a00;
  border-radius: 5px;
}

.contact-content:nth-child(7) p:nth-child(1) {
  margin-top: 13px;
}

.contact-content p:nth-child(2) {
  font-size: 17px;
  color: #333333;
  margin-left: 17px;
}

.contact-content:nth-child(7) p:nth-child(2) {
  line-height: 23px;
  margin-top: 13px;
}

.contact-content p:nth-child(3) {
  margin-left: auto;
}

.contact-content input[type="text"], .contact-content input[type="email"], .contact-content input[type="tel"] {
  box-sizing: border-box;
  width: 592px;
  height: 46px;
  padding: 0 20px;
  font-size: 17px;
  background-color: #f2f2f2;
  border: 1px solid #707070;
}  

.contact-content input[type="text"]::placeholder, .contact-content input[type="email"]::placeholder, .contact-content input[type="tel"]::placeholder, .contact-content input[type="text"]:-ms-input-placeholder, .contact-content input[type="email"]:-ms-input-placeholder, .contact-content input[type="tel"]:-ms-input-placeholder, .contact-content input[type="text"]::-ms-input-placeholder, .contact-content input[type="email"]::-ms-input-placeholder, .contact-content input[type="tel"]::-ms-input-placeholder, .contact-content textarea::placeholder, .contact-content textarea:-ms-input-placeholder, .contact-content textarea::-ms-input-placeholder {
  color: #b3b3b3;
}

.contact-content textarea {
  box-sizing: border-box;
  width: 592px;
  height: 282px;
  padding: 13px 20px;
  font-size: 17px;
  background-color: #f2f2f2;
  border: 1px solid #707070;
}

.contact-submit {
  width: 235px;
  margin: 41px auto 0;
  position: relative;
}

.contact input[type="submit"] {
  -webkit-appearance: none;
  width: 235px;
  height: 51px;
  border-radius: 12px;
  background-color: #ED7483;
  font-size: 15px;
  font-weight: bold;
  color: #ffffff;
  line-height: 51px;
  border: none;
  position: relative;
}

.contact-text {
  margin-top: 40px;
  text-align: center;
  font-size: 15px;
  color: #333333;
}

.contact-text a {
  color: #333333;
  text-decoration: underline;
}

.wpcf7-response-output {
  text-align: center;
}

@media screen and (max-width:769px) {
  /* .contact {
    box-sizing: border-box;
    width: 100%;
    margin-top: 5.6vw;
    padding: 0 5.6vw;
  } */

  .contact .posts-title {
    padding: 0;
    border-bottom: none;
  }

  .contact-main {
    margin-top: 5.6vw;
    padding: 0;
    box-shadow: none;
  }

  .contact-content {
    flex-wrap: wrap;
    margin-bottom: 5.04vw;
    padding-bottom: 5.04vw;
  }

  .contact-content p:nth-child(1) {
    width: 10.4vw;
    height: 5.0666vw;
    line-height: 5.066666vw;
    font-size: 2.93333vw;
  }

  .contact-content p:nth-child(2) {
    font-size: 4.8vw;
    color: #333333;
    margin-left: 2.4vw;
    font-weight: bold;
  }

  .contact-content:nth-child(7) p:nth-child(1) {
    margin-top: 0;
  }
  
  .contact-content:nth-child(7) p:nth-child(2) {
    line-height: 5.066666vw;
    margin-top: 0;
  }

  .contact-content p:nth-child(3) {
    margin-left: 0;
    margin-top: 3.68vw;
  }

  .contact-content input[type="text"], .contact-content input[type="email"], .contact-content input[type="tel"] {
    width: 88.8vw;
    height: 12vw;
    padding: 0 3.2vw;
  }

  .contact-content textarea {
    width: 88.8vw;
    height: 48.8vw;
    padding: 3.2vw;
  }

  .contact-submit {
    margin-top: 9.6vw;
    width: 62.4vw;
  }

  .contact input[type="submit"] {
    width: 62.4vw;
    height: 13.6vw;
    line-height: 13.6vw;
    font-size: 4vw;
  }

  .contact-submit::after {
    width: 2.16vw;
    height: 3.44vw;
    top: 5.04vw;
    right: 5.84vw;
  }

  .contact-text {
    font-size: 3.4666vw;
    line-height: 1.54;
    text-align: left;
    font-weight: bold;
  }
}


/* サンクスページ */

.thanks {
  width: 1000px;
  margin: 39px auto 55px;
}

.thanks-main {
  margin-top: 39px;
  padding: 68.2px 133px 69px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
}

.thanks-main h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #333333;
}

.thanks-main p {
  font-size: 17px;
  line-height: 1.76;
  color: #333333;
  margin-top: 46.5px;
}

@media screen and (max-width:769px) {
  .thanks {
    box-sizing: border-box;
    width: 100%;
    margin-top: 5.6vw;
    padding: 0 5.6vw;
  }

  .thanks .posts-title {
    border-bottom: none;
  }

  .thanks-main {
    margin-top: 8vw;
    padding: 8.8vw 4vw 12.8vw;
  }

  .thanks-main h2 {
    font-size: 6.4vw;
    text-align: left;
  }

  .thanks-main p {
    font-size: 4vw;
    margin-top: 7.2vw;
  }
}

/* 運営会社 */

.outline {
  margin-top: 39px;
}

.outline-main {
  padding: 6px 30px 38px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
  margin-top: 35px;
}

.outline-content {
  margin-top: 15px;
}


.outline-main h3 {
  font-size: 23px;
  font-weight: bold;
  color: #333333;
  padding: 17px 0 17px;
  margin-bottom: 25px;
  position: relative;
  border-bottom: 2px solid #333333;
}

.outline-main h3::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 50px;
  height: 2px;
  background-color: #ff9b45;
  z-index: 10;
}

.outline-content p {
  font-size: 15px;
  color: #333333;
}

.outline-content a {
  font-size: 15px;
  color: #333333;
  text-decoration: underline;
}

.outline h2 {
  font-size: 23px;
  background: #333333;
  padding: 15px 21.5px;
  border-left: 12px solid #ff9b45;
  color: #ffffff;
  margin: 35px 0;
}

.outline-leader-comment {
  margin-top: 30px;
  font-size: 17px;
  line-height: 1.76;
  text-align: left;
  color: #333333;
}

.outline-map-inner {
  width: 100%;
  height: 400px;
}

.outline-map-inner iframe  {
  width: 100%;
  height: 100%;
}
 
@media screen and (max-width:769px) { 
   .outline {
     margin-top: 4.8vw;
     padding: 0 5.6vw;
   }

   .outline .posts-title {
     border-bottom: none;
     padding: 0;
   }

   .outline-main {
     margin-top: 4.8vw;
     padding: 1.6vw 4vw 8.8vw;
   }

   .outline-content {
     margin-top: 1.6vw;
   }

  .outline-main h3 {
    font-size: 4.8vw;
    padding: 4vw 0;
    margin-bottom: 6.4vw;
  }

  .outline-main p, .outline-content a {
    font-size: 4vw;
    line-height: 1.5;
  }

  .outline h2 {
    font-size: 4.8vw;
    line-height: 1.33;
    padding: 3.2vw 5.6vw 3.2vw 3.2vw;
    border-left-width: 2.56vw;
  }

  .outline .reports-author {
    padding: 0 0 5.6vw;
  }

  .outline-leader-comment {
    font-size: 4vw;
    margin-top: 5.6vw;
  }

  .outline-map-inner {
    height: 48.8vw;
  }
}

/* 著者ページ */
@media screen and (max-width:769px) { 

  .author .posts-title {
    border-bottom: none;
     padding: 0 5.6vw; 
  }
}



/* カテゴリ一覧ページ */

.categories-title-text {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.8px;
  text-align: center;
  font-weight: 700;
  color: #2D2926;
  padding: 0 0 32px;
  border-bottom: 1px solid #e7e7e7;
}

.categories-main {
  margin-top: 30px;
}

.categories-main ul {
  padding-left: 20px;
  list-style: none;
}

.categories-main ul li {
  margin-bottom: 12px;
}

.categories-main ul li a {
  font-size: 17px;
  color: #333333;
}



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

  .categories-title-text {
    font-size: 6.4vw;
  }

  .categories-main {
    padding: 0 6.13333vw;
  }

  .categories-main ul li a {
    font-size: 4.8vw;
  }
}


/* 関連記事用 */

.yarpp-related .special-posts {
  margin-top: 28px;
}

.yarpp-related .special-post {
  margin-bottom: 22px;
}

.yarpp-related .special-post-under {
  width: 100%;
  height: 2px;
  margin-top: 22px;
}

.yarpp-related .special-post-inner {
  display: flex;
}

.yarpp-related .special-post-thumbnail {
  width: 270px;
  position: relative;
}

.yarpp-related .special-post-thumbnail img {
  width: 270px;
  height: auto;
  margin-bottom: 0;
}

.yarpp-related .special-post:nth-child(n+3) .special-post-new {
  display: none;
}

.yarpp-related .special-post-new {
  position: absolute;
  top: 0;
  left: 0;
  padding: 7px 12.7px;
  background-color: #ff9b45;
}

.yarpp-related .special-post-new p {
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  position: relative;
  margin-bottom: 0;
  line-height: 1;
}

.yarpp-related .special-post-new p::after {
  content: '';
  border-top: 28px solid #ff9b45;
  border-right: 6.8px solid transparent;
  position: absolute;
  top: -7px;
  right: -19.5px;
}

.yarpp-related .special-post-content {
  margin-left: 25px;
}

.yarpp-related .special-post-content h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 1px;
  color: #333333;
  position: initial;
  border-bottom: none;
}

.yarpp-related .special-post-content h3::after {
  display: none;
}

.yarpp-related .special-post-content p {
  font-size: 15px;
  line-height: 1.67;
  margin-top: 3px;
  color: #333333;
}

.yarpp-related .special-post-content .special-post-date {
  font-size: 13px;
  color: #808080;
  margin-top: 10px;
  line-height: 1;
}

.yarpp-related .special-post-link {
  margin-top: 6px;
}

.yarpp-related .special-post-link a {
  display: inline-block;
  font-size: 14px;
  color: #ffffff;
  border-radius: 8.2px;
  background-color: #333333;
  padding: 10px 19.5px 10px 34.2px;
}

.yarpp-related .special-post-link img {
  width: 7.2px;
  height: 100%;
  margin-left: 30.4px;
  margin-bottom: 0;
}

.yarpp-related>h3 {
  font-size: 24px!important;
  font-weight: bold!important;
  line-height: 40px!important;
  margin-left: 17.7px!important;
  color: #333333!important;
  border-bottom: none!important;
  position: relative;
  padding: 0!important;
  margin-left: 57.7px!important;
}

.yarpp-related>h3::after {
  content: '';
  width: 40px!important;
  height: 40px!important;
  background-image: url('../img/icon-special.png');
  position: absolute;
  left: -57.7px!important;
  top: 50%;
  transform: translateY(-50%);
  background-color: initial!important;
  background-size: cover;
}

@media screen and (max-width:769px) {
  .yarpp-related .special-posts {
    width: auto;
    margin-top: 4.8vw;
    display: flex;
    overflow-x: auto;
  }

  .yarpp-related .special-post {
    width: 72vw;
    padding: 0 3.2vw;
    margin-bottom: 4.777333vw;
  }

  .yarpp-related .special-post:nth-child(1) {
    padding-left: 6.4vw;
  }

  .yarpp-related .special-post:nth-last-child(1) {
    padding-right: 6.4vw;
  }

  .yarpp-related .special-post-new {
    padding: 1.86666vw 2.32vw;
  }
  
  .yarpp-related .special-post-new p {
    font-size: 3.7333vw;
  }
  
  .yarpp-related .special-post-new p::after {
    border-top: 7.46666vw solid #ff9b45;
    border-right: 1.813333vw solid transparent;
    top: -1.86666vw;
    right: -4.13333vw;
  }

  .yarpp-related .special-post-inner {
    display: block;
  }

  .yarpp-related .special-post-thumbnail {
    width: 72vw;
  }

  .yarpp-related .special-post-thumbnail img {
    width: 100%;
    height: 45.8666666vw;
    object-fit: cover;
  }

  .yarpp-related .special-post-content {
    margin: 3.73333vw 0 0;
  }

  .yarpp-related .special-post-content h3 {
    font-size: 5.3333vw;
    line-height: 1.3;
  }

  .yarpp-related .special-post-content .yarpp-related .special-post-date {
    font-size: 3.46666vw;
    margin-top: 2.4vw;
  }

  .yarpp-related .special-post-content p {
    font-size: 4vw;
    line-height: 1.6;
    margin-top: 3.2vw;
  }

  .yarpp-related .special-post-link {
    margin-top: 3.2vw;
  }

  .yarpp-related .special-post-link a {
    font-size: 3.73333vw;
    padding: 2.8vw 5.2vw 2.8vw 9.12vw;
    border-radius: 2.16vw;
  }

  .yarpp-related .special-post-link img {
    width: 1.92vw;
    margin-left: 8.08vw;
  }

  .yarpp-related .special-post-more {
    font-size: 2.9333vw;
    text-align: right;
    margin-right: 10.88vw;
    color: #333333;
  }

  .yarpp-related .posts-link {
    margin-top: 3.92vw;
    border-top: 0.5px solid #333333;
  }

  .yarpp-related>h3 {
    font-size: 6.4vw!important;
    line-height: 10.6666vw!important;
    margin-left: 14.666vw!important;
  }
  
  .yarpp-related>h3::after {
    width: 10.666vw!important;
    height:10.666vw!important;
    left: -14.6666vw!important;
  }
}


/* 著者一覧ページ */

.reports-authors-initial-title {
  font-size: 23px;
  background: #333333;
  padding: 15px 21.5px;
  border-left: 12px solid #ff9b45;
  color: #ffffff;
  margin: 35px 0;
}


.reports-authors-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.reports-authors-content {
  width: 345px;
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
  padding-bottom: 36px;
  border-bottom: dotted 2px #333333;
}

.reports-authors-content:nth-child(odd) {
  padding-right: 43px;
}

.reports-authors-content:nth-last-child(1), 
.reports-authors-content:nth-child(odd) .reports-authors-content:nth-last-child(2) {
  border-bottom: none;
}

.reports-authors-content-text {
  width: 175px;
}

.reports-authors-content-text h3 {
  font-size: 18px;
  font-weight: bold;
  color: #333333;
  line-height: 1.1;
}

.reports-authors-content-text p {
  font-size: 15px;
  color: #333333;
  line-height: initial;
  margin-top: 10px;
}

.reports-authors-content-img img {
  width: 150px;
  height: 150px;
}

.reports-authors-initial {
  margin-top: 36px;
}

.reports-authors-initial-inner {
 display: flex;
 justify-content: space-between;
}

.reports-authors-initial form {
  flex: 1;
}

.reports-authors-initial a.current {
 text-align: center;
 flex: 1;
 font-size: 18px;
 line-height: 65px;
 border: solid 2px #333333;
 border-bottom: none;
 background-color: #fffcde;
 border-top-right-radius: 10px;
 border-top-left-radius: 10px;
 color: #333333;
 cursor: initial;
}

.reports-authors-initial a {
 display: block;
 text-align: center;
 width: 100%;
 font-size: 18px;
 line-height: 65px;
 border: none;
 border-bottom: solid 2px #333333;
 color: #333333;
 cursor: pointer;
 background-color: initial;

}

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

  .reports-authors-initial-title {
    font-size: 4.8vw;
    line-height: 1.33;
    padding: 3.2vw 5.6vw 3.2vw 3.2vw;
    border-left-width: 2.56vw;
    margin: 5.6vw;
  }

  .reports-authors-list {
    flex-direction: column;
    align-items: center;
    padding: 0 6.133333vw;
  }

  .reports-authors-content {
    width: 100%;
    padding: 0 0 7.68vw;
    margin-top: 7.0666vw;
  }

  .reports-authors-content:nth-child(odd) {
    padding-right: 0;
  }

  .reports-authors-content-img img {
    width: 40vw;
    height: auto;
  }

  .reports-authors-content-text {
    flex: 1;
    margin-right: 3.73333vw;
  }

  .reports-authors-content-text h3 {
    font-size: 4.8vw;
  }

  .reports-authors-content-text p {
    font-size: 3.2vw;
    margin-top: 4vw;
  }

  .reports-authors-initial {
    margin-top: 5.6vw;
  }



 .reports-authors-initial-inner {
   padding: 0 6.13333vw 6.8vw;
   border-bottom: solid 0.5px #333333;
   flex-wrap: wrap;
   justify-content: space-between;
 }

 .reports-authors-initial-inner form {
   flex: initial;
 }

 .reports-authors-initial a.current {
   width: 15.5vw;
   line-height: 12.8vw;
   border-radius: 2.66666vw;
   border: solid 2px #333333;
   flex: initial;
   margin-top: 2.4vw;
   box-sizing: border-box;
   font-weight: bold;
   font-size: 4.8vw;
 }

 .reports-authors-initial a {
   width: 15.5vw;
   line-height: 12.8vw;
   border-radius: 2.66666vw;
   border: solid 2px #333333;
   flex: initial;
   margin-top: 2.4vw;
   background-color: #cccccc;
   color: #ffffff;
   border: none;
   font-weight: bold;
   font-size: 4.8vw;
 }
}