@charset "utf-8";

/* ======================================================
 * twinfan.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Page Component
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Page Component
 * SP Media Queries
 * Print
====================================================== */

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .column-layout.twinfan-type-box > .column_item {
    display: flex;
  }
  .column-layout.twinfan-type-box .image-set .image_inner {
    flex: 1;
  }
  .list-note.twinfan-type-center {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin-top: .5em;
  }
  .list-note.twinfan-type-center > li {
    margin-top: 1em;
    font-size: 1.6rem;
  }
  .list-note.twinfan-type-overall {
    margin-top: 1.75em;
  }
  
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  .twinfan-heading .heading_text,
  .twinfan-list-description {
    font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label em {
    font-family: Lato;
  }
  /* ------------------------------------------------------
   * Page Component
  ------------------------------------------------------ */
  /* ----- twinfan-hero-layout ---- */
  .twinfan-hero-layout {
    position: relative;
  }
  .twinfan-hero-layout .hero_date {
    position: absolute;
    right: 25px;
    bottom: 25px;
    font-weight: bold;
  }
  
  /* ----- twinfan-box-layout ---- */
  .twinfan-box-layout {
    margin-top: 2.5em;
    padding: 1.5625em 1.875em 1.875em;
    background: linear-gradient(to bottom, rgba(2,53,146,1) 5%, rgba(32,124,202,1) 40%, rgba(0,160,233,1) 100%);
    color: #fff;
  }
  .column-layout.twinfan-type-box .twinfan-box-layout .image-set {
    margin-top: 1em;
  }
  .twinfan-box-layout > .box_title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #fff;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  .twinfan-box-layout > .box_title + .box_detail {
    margin-top: 1em;
  }
  /* v2 */
  .twinfan-box-layout-v2 {
    margin-top: 2.75em;
    padding: 1.875em 3.75em;
    background-color: #171c61;
    color: #fff;
  }
  .twinfan-box-layout-v2 > .box_title {
    padding-bottom: 15px;
    border-bottom: 1px solid #fff;
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
  }
  .twinfan-box-layout-v2 > .box_title + .box_detail {
    margin-top: 1.875em;
  }
  .twinfan-box-layout-v2 .list-note > li {
    color: #fff;
  }
  /* v3 */
  .twinfan-box-layout-v3 {
    margin-top: 2.75em;
    color: #fff;
  }
  .twinfan-box-layout-v3 > .box_title {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #7c7fa1;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_icon {
    flex-shrink: 0;
    margin-right: 20px;
    padding: 8px 10px 10px;
    background-color: #ff6600;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label {
    margin-top: -.25em;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label em {
    display: inline-block;
    font-style: normal;
    font-size: 4.8rem;
  }
  .twinfan-box-layout-v3 > .box_title + .box_detail {
    margin-top: .75em;
  }
  /* v4 */
  .twinfan-box-layout-v4 {
    margin-top: 2.75em;
    padding: 1.5625em;
    border: 1px solid #d6d6d6;
    background-color: #fff;
  }
  .column-layout .twinfan-box-layout-v4 {
    margin-top: 1.5em;
  }
  .twinfan-box-layout-v4 > .box_title {
    padding-bottom: 10px;
    border-bottom: #d6d6d6;
    font-weight: bold;
    text-align: center;
  }
  .twinfan-box-layout-v4 > .box_title + .box_detail {
    margin-top: 1em;
  }
  
  /* ----- twinfan-list-description ---- */
  .twinfan-list-description {
    display: flex;
    flex-flow: row nowrap;
    margin-top: 1em;
  }
  .twinfan-list-description > dt {
    flex-shrink: 0;
    width: 2em;
    margin-right: 30px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .twinfan-list-description > dd {
    width: 100%;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  
  /* ----- twinfan-heading ---- */
  .twinfan-heading {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    margin-top: 2.75em;
  }
  .twinfan-heading .heading_text {
    flex-shrink: 0;
    margin-right: 30px;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2;
  }
  [data-browser="ie11"] .twinfan-heading .heading_logo {
    flex: 0 1 auto;
     min-width: 1px;
  }
  /* ----- twinfan_related-compo ----- */
  .twinfan_related-compo {
    margin-top: 6.5rem;
  }
  .twinfan_related-compo .related-item {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
  }
  .twinfan_related-compo .related-item .item-img {
    width: 30%;
  }
  .twinfan_related-compo .related-item .item-link {
    width: 67.586%;
  }
  .twinfan_related-compo .related-item .item-link .link-button-v2 {
    margin-top: 0;
  }
}
/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 1921px) {
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 768px) and (max-width: 960px) {
}
@media screen and (min-width: 768px) and (max-width: 812px) {
}


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Override
  ------------------------------------------------------ */
  .list-note.twinfan-type-center > li {
    font-size: 1.4rem;
  }
  .list-note.twinfan-type-overall {
    margin-top: 1.5em;
  }
  
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  .twinfan-heading .heading_text,
  .twinfan-list-description {
    font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label em {
    font-family: Lato;
  }
  /* ------------------------------------------------------
   * Page Component
  ------------------------------------------------------ */
  /* ----- twinfan-hero-layout ---- */
  .twinfan-hero-layout {
    margin: 1.5em -15px 0;
  }
  .heading-lv1 + .twinfan-hero-layout {
    margin-top: -1em !important;
  }
  #main .twinfan-hero-layout + * {
    margin-top: 5px;
  }
  .twinfan-hero-layout .hero_date {
    margin: 1rem 0 1.5rem;
    padding: 0 15px;
    font-weight: bold;
    text-align: right;
  }
  
  /* ----- twinfan-box-layout ---- */
  .twinfan-box-layout {
    margin-top: 1.5em;
    padding: 20px 30px 30px;
    background: linear-gradient(to bottom, rgba(2,53,146,1) 5%, rgba(32,124,202,1) 40%, rgba(0,160,233,1) 100%);
    color: #fff;
  }
  .column-layout.twinfan-type-box .twinfan-box-layout .image-set {
    margin-top: 1em;
  }
  .twinfan-box-layout > .box_title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  .twinfan-box-layout > .box_title + .box_detail {
    margin-top: 1em;
  }
  /* v2 */
  .twinfan-box-layout-v2 {
    margin-top: 1.5em;
    padding: 30px 25px;
    background-color: #171c61;
    color: #fff;
  }
  .twinfan-box-layout-v2 > .box_title {
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.25;
  }
  .twinfan-box-layout-v2 > .box_title + .box_detail {
    margin-top: 1em;
  }
  .twinfan-box-layout-v2 .list-note > li {
    color: #fff;
  }
  /* v3 */
  .twinfan-box-layout-v3 {
    margin-top: 1.5em;
    color: #fff;
  }
  .twinfan-box-layout-v3 > .box_title {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #7c7fa1;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_icon {
    flex-shrink: 0;
    margin-right: 20px;
    padding: 6px 8px 8px;
    background-color: #ff6600;
    color: #fff;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label {
    margin-top: -.25em;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.25;
  }
  .twinfan-box-layout-v3 > .box_title .box_title_label em {
    display: inline-block;
    font-style: normal;
    font-size: 4.2rem;
  }
  .twinfan-box-layout-v3 > .box_detail {
    padding-bottom: .5em;
  }
  .twinfan-box-layout-v3 > .box_title + .box_detail {
    margin-top: .5em;
  }
  /* v4 */
  .twinfan-box-layout-v4 {
    margin-top: 1.5em;
    padding: 15px;
    border: 1px solid #d6d6d6;
    background-color: #fff;
  }
  .column-layout .twinfan-box-layout-v4 {
    margin-top: 1em;
  }
  .twinfan-box-layout-v4 > .box_title {
    padding-bottom: 10px;
    border-bottom: #d6d6d6;
    font-weight: bold;
    text-align: center;
  }
  .twinfan-box-layout-v4 > .box_title + .box_detail {
    margin-top: 1em;
  }
  
  /* ----- twinfan-list-description ---- */
  .twinfan-list-description {
    display: flex;
    flex-flow: row nowrap;
    margin-top: 1em;
  }
  .twinfan-list-description > dt {
    flex-shrink: 0;
    width: 2em;
    margin-right: 30px;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .twinfan-list-description > dd {
    width: 100%;
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.2;
  }
  
  /* ----- twinfan-heading ---- */
  .twinfan-heading {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    margin-top: 1.5em;
  }
  .twinfan-heading .heading_text {
    flex-shrink: 0;
    margin-right: 15px;
    font-weight: bold;
  }
  .twinfan-heading .heading_logo {
    max-width: 235px;
  }
  /* ----- twinfan_related-compo ----- */
  .twinfan_related-compo .related-item {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
  }
  .twinfan_related-compo .related-item .item-img {
    width: 25%;
  }
  .twinfan_related-compo .related-item .item-link {
    width: 72.46%;
  }
  .twinfan_related-compo .related-item .item-link .link-button-v2 {
    margin-top: 0;
  }
  .twinfan_related-compo .related-item .item-link .link-button-v2 a {
    text-align: left;
    font-size: 1.4rem;
    font-weight: 700;
  }
}


/* ======================================================
 * SP Media Queries
====================================================== */
@media only screen and (min-width: 320px) and (max-width: 767px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
}
@media only screen and (max-width: 320px) {
}

/* ======================================================
 * Print
====================================================== */
@media print {
}