/* Column Detail Styles */
@media screen and (min-width: 769px) {
  .column-detail {
    padding: 60px 0;
  }
  .column-detail__main {
    max-width: 850px;
    width: 100%;
  }
  .column-detail__main h1 {
    font-size: 32px;
    line-height: 1.3;
    font-weight: 700;
    color: #0C2F71;
    text-align: center;
    margin-bottom: 40px;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content {
    margin-bottom: 50px;
  }
  .content h2 {
    font-size: 24px;
    line-height: 31.3px;
    font-weight: 700;
    color: #fff;
    padding: 13px 20px;
    -moz-border-radius: 8px;
         border-radius: 8px;
    background: #0F47B1;
    margin: 30px 0 20px;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content h3 {
    font-size: 24px;
    line-height: 31.3px;
    font-weight: 700;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #B4C5E5;
    color: #0C2F71;
    text-align: left;
    margin: 46px 0 20px;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content p {
    color: #232323;
    font-size: 16px;
    line-height: 1.6;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 20px;
  }
  .content .box {
    background: #F1F3F7;
    -moz-border-radius: 8px;
         border-radius: 8px;
    padding: 25px 24px;
    margin-bottom: 20px;
  }
  .content .box h4 {
    font-size: 20px;
    line-height: 2;
    font-weight: 700;
    color: #0F47B1;
    margin-bottom: 14px;
  }
  .content .box p {
    font-size: 14px;
    line-height: 2;
    font-weight: 700;
    color: #232323;
  }
  .content strong {
    font-weight: 700;
    color: #0C2F71;
  }
  .content blockquote {
    background: #fff;
    border: 2px solid #0F47B1;
    padding: 14px 27px 18px;
    margin: 20px 0;
    -moz-border-radius: 20px;
         border-radius: 20px;
    font-size: 14px;
    line-height: 2;
    font-weight: 700;
    color: #0A2557;
  }
  .detail-timestamp {
    text-align: right;
  }
  .detail-page__top-btn {
    text-align: center;
    margin-top: 40px;
  }
  .detail-page__top-btn a {
    display: inline-block;
    min-width: 352px;
    padding: 14px 40px;
    background: #128EDB;
    color: #fff;
    text-decoration: none;
    -moz-border-radius: 4px;
         border-radius: 4px;
    font-weight: 700;
    font-size: 24px;
    line-height: 31.3px;
    font-family: 'Noto Sans JP', sans-serif;
    border-radius: 4px;
    -moz-box-shadow: 0 3.55px 0 #0a5e92;
         box-shadow: 0 3.55px 0 #0a5e92;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .detail-page__top-btn a:hover {
    opacity: 1;
    -webkit-transform: translateY(3.55px);
       -moz-transform: translateY(3.55px);
        -ms-transform: translateY(3.55px);
            transform: translateY(3.55px);
    -moz-box-shadow: none;
         box-shadow: none;
  }
}

/* SP Styles */
@media screen and (max-width: 768px) {
  .column-detail {
    padding: 16vw 0;
  }
  .column-detail__main {
    max-width: 850px;
    width: 100%;
  }
  .column-detail__main h1 {
    font-size: 6.82vw;
    line-height: 1.3;
    font-weight: 700;
    color: #0C2F71;
    text-align: center;
    margin-bottom: 10.67vw;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content {
    margin-bottom: 13.33vw;
  }
  .content h2 {
    font-size: 5.12vw;
    line-height: 6.62vw;
    font-weight: 700;
    color: #fff;
    padding: 3.47vw 5.33vw;
    -moz-border-radius: 2.13vw;
         border-radius: 2.13vw;
    background: #0F47B1;
    margin: 8vw 0 5.33vw;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content h3 {
    font-size: 5.12vw;
    line-height: 6.62vw;
    font-weight: 700;
    padding: 0 0 2.67vw 0;
    border-bottom: 0.53vw solid #B4C5E5;
    color: #0C2F71;
    text-align: left;
    margin: 12.27vw 0 5.33vw;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .content p {
    color: #232323;
    font-size: 4.27vw;
    line-height: 1.6;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 5.33vw;
  }
  .content .box {
    background: #F1F3F7;
    -moz-border-radius: 2.13vw;
         border-radius: 2.13vw;
    padding: 6.67vw 4vw;
    margin-bottom: 5.33vw;
  }
  .content .box h4 {
    font-size: 5.33vw;
    line-height: 2;
    font-weight: 700;
    color: #0F47B1;
    margin-bottom: 3.73vw;
  }
  .content .box p {
    font-size: 3.73vw;
    line-height: 2;
    font-weight: 700;
    color: #232323;
  }
  .content strong {
    font-weight: 700;
    color: #0C2F71;
  }
  .content blockquote {
    background: #fff;
    border: 0.53vw solid #0F47B1;
    padding: 2.98vw 4vw 3.84vw;
    margin: 5.33vw 0;
    -moz-border-radius: 5.33vw;
         border-radius: 5.33vw;
    font-size: 3.73vw;
    line-height: 2;
    font-weight: 700;
    color: #0A2557;
  }
  .detail-timestamp {
    text-align: right;
  }
  .detail-page__top-btn {
    text-align: center;
    margin-top: 10.67vw;
  }
  .detail-page__top-btn a {
    display: inline-block;
    min-width: 93.87vw;
    padding: 3.73vw 10.67vw;
    background: #128EDB;
    color: #fff;
    text-decoration: none;
    -moz-border-radius: 1.07vw;
         border-radius: 1.07vw;
    font-weight: 700;
    font-size: 6.4vw;
    line-height: 1.3;
    font-family: 'Noto Sans JP', sans-serif;
    border-radius: 1.07vw;
    -moz-box-shadow: 0 0.95vw 0 #0a5e92;
         box-shadow: 0 0.95vw 0 #0a5e92;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .detail-page__top-btn a:hover {
    opacity: 1;
    -webkit-transform: translateY(0.95vw);
       -moz-transform: translateY(0.95vw);
        -ms-transform: translateY(0.95vw);
            transform: translateY(0.95vw);
    -moz-box-shadow: none;
         box-shadow: none;
  }
}
