/*
 * 投稿画面のカスタムCSSから指定するカスタムCSS用ファイル
 */

/* カギ括弧 */
.blockquote-quotes {
  --border-color: black; /* カッコの色 */
  padding: 2em; /* 内側余白 */
  position: relative;
  margin: 16px auto;
}

.blockquote-quotes::after,
.blockquote-quotes::before {
  content: '';
  height: 100%;
  width: 0.75em;
  position: absolute;
  bottom: 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.blockquote-quotes::before {
  border-left: 1px solid var(--border-color);
  left: 0;
}

.blockquote-quotes::after {
  border-right: 1px solid var(--border-color);
  right: 0;
}

/* 画像・テキスト横並び表示 */
.image-text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  margin-bottom: 48px;
}

.image-text-wrap:last-child {
  margin-bottom: 0;
}

.image-text-wrap .image-wrap {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 340px;
  flex: 0 0 340px;
  width: 340px;
}

.image-text-wrap .image-wrap > img {
  width: 100%;
}

/* モバイル */
@media screen and (max-width: 1200px) {
  #content.service-product .product-description__content .image-text-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
  }
  #content.service-product .product-description__content .image-text-wrap .image-wrap {
    width: 100%;
  }
}

/* モバイル */
@media screen and (max-width: 768px) {
  #content.service-product .product-description__content .image-text-wrap .image-wrap {
    -webkit-box-flex: 0;
    -ms-flex: 0;
    flex: 0;
  }
}

/* インラインCTA（フローティングしない） */
#genre-index-inline-cta {
  position: static !important;
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  animation: none !important;
}

#genre-index-inline-cta.cta-wrap--float-hidden {
  display: none !important;
}


.quote-2 {
    max-width: 500px;
    position: relative;
    padding: 2.5em 2.5em 2em 3em;
    color: #787878;
}

.quote-2::before,
.quote-2::after {
    display: inline-block;
    position: absolute;
    width: 4em;
    height: 4em;
    content: '';
}

.quote-2::before {
    top: 0;
    left: 0;
    border-top: 3px solid #c7c7c7;
    border-left: 3px solid #c7c7c7;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%23c7c7c7'%3E%3C/path%3E%3C/svg%3E");
    background-position: top 35% left 35%;
    background-size: 2em;
    background-repeat: no-repeat;
}

.quote-2::after {
    bottom: 0;
    right: 0;
    border-bottom: 3px solid #c7c7c7;
    border-right: 3px solid #c7c7c7;
}

.quote-2 p {
    margin-top: 0;
}

.quote-2 cite {
    display: block;
    color: #b8b8b8;
    font-size: .8em;
    text-align: right;
}

/* 引用タグ */
blockquote {
    position: relative;
    padding: 10px 15px 10px 50px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 10px;
    left: -3px;
    content: "“";
    font-family: sans-serif;
    color: #cfcfcf;
    font-size: 90px;
    line-height: 1;
}

blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}



/* 全横スクロールテーブル */
table{
  border-collapse:collapse;

  th,td{
    padding: 20px;
    box-sizing: border-box;
    line-height: 1.3;
  }
  
}
  
.yokoscrollbox{
    @media screen and (max-width: 980px){
    overflow: scroll;
    }
}
  
.yokoscroll{
  width: 100%;
    @media screen and (max-width: 980px){
    width: 1000px;
    }
  
  th{
    border: 1px solid #DDD;
    background: #FFF9E6;
    padding: 20px; 
  }

  td{
    border: 1px solid #DDD;
    padding: 20px;
    text-align: center;
  }

}
