@charset "utf-8";

/* ======================================================
 * tefrenu.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * - Common
 * - Page Components
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * - Common
 * - Page Components
 * SP Media Queries
 * Print
====================================================== */

/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  .tefrenu-punch-strength-point-v1 .strength_heading,
  .tefrenu-punch-strength-point-v2 .strength_heading,
  .tefrenu-promo-panel,
  .tefrenu-concept-section .concept_heading,
  .tefrenu-concept-lead,
  .tefrenu-strength-point .strength_heading,
  .tefrenu-size-feature .tefrenu-size_text {
    font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  
  /* ------------------------------------------------------
   * Page Components
  ------------------------------------------------------ */
  /* ----- tefrenu-table-ec ----- */
  .tefrenu-table-ec {
    display: flex;
    align-items: center;
  }
  .tefrenu-table-ec-button {
    margin-left: 10px;
    max-width: 250px;
    min-width: 88px;
    vertical-align: top;
  }
  .tefrenu-table-ec-button_link {
    display: inline-block;
    padding: 5px 25px 7px;
    background-color: #fff;
    border: 2px solid #418fde;
    border-radius: 6px;
    color: #418fde;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1;
    font-family: "Noto Sans CJK JP", "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    transition: background .2s ease-out 0s;
  }
  .tefrenu-table-ec-button_link:hover {
    opacity: 1;
    background-color: #daebfc;
  }
  .tefrenu-table-ec[date-flex-pc="column"] {
    flex-flow: column wrap;
    align-items: flex-start;
  }
  .tefrenu-table-ec[date-flex-pc="column"] .table-ec-button {
    margin: 5px 0 0;
  }
  /* ----- tefrenu-text-right ----- */
  .tefrenu-text-right {
    margin-top: 10px;
    text-align: right;
    color: #333;
    font-size: 16px;
  }
  /* ----- tefrenu-punch-strength-point ----- */
  .tefrenu-punch-strength-point-v1,
  .tefrenu-punch-strength-point-v2 {
    margin-top: 2.5em;
  }
  /* ----- tefrenu-punch-strength-point-v1 ----- */
  .tefrenu-punch-strength-point-v1 .strength_detail {
    padding-right: 34px;
  }
  .tefrenu-punch-strength-point-v1 .strength_heading {
    position: relative;
    margin-bottom: 0.6em;
    padding: 0.7em 0 0.7em 3.2142em;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-punch-strength-point-v1 .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-punch-strength-point-v2 ----- */
  .tefrenu-punch-strength-point-v2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .tefrenu-punch-strength-point-v2-item {
    width: calc(50% - 18px);
  }
  .tefrenu-punch-strength-point-v2 .strength_detail {
    padding-right: 34px;
  }
  .tefrenu-punch-strength-point-v2 .strength_heading {
    position: relative;
    margin-bottom: 0.7em;
    padding: 0.7em 0 0.7em 3.2142em;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
    display: flex;
    align-items: center;
  }
  .tefrenu-punch-strength-point-v2 .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
   /* ----- tefrenu-strength-point-image-wrap ----- */
  .tefrenu-strength-point-image-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .tefrenu-strength-point-image-item {
    width: calc(50% - 18px);
  }
  /* ----- tefrenu-lead ----- */
  .tefrenu-lead {
    margin-top: 1em;
    color: #e20070;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .tefrenu-concept-section[data-category="punch"] .tefrenu-lead {
    color: #de66ab;
    margin-top: 0;
    margin-bottom: 8px;
  }
  /* ----- tefrenu-word-ratio ----- */
  .tefrenu-word-ratio {
    font-family: Lato;
  }
  .tefrenu-word_numeric {
    font-size: 1.7142em;
    line-height: 1.2;
  }
  /* ----- tefrenu-feature-text ----- */
  .tefrenu-feature-text {
    position: relative;
    padding: 1em 0 1em 180px;
    text-align: left;
  }
  .tefrenu-feature-text .tefrenu-feature_image {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 10em;
    height: 10em;
    font-size: 1.6rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-grid ----- */
  .tefrenu-grid {
    margin-left: -1px;
    margin-right: -1px;
  }
  .tefrenu-grid .grid_partition {
    float: left;
    padding: 1px;
  }
  .tefrenu-grid .grid_partition[data-part-size="12"] {
    width: 100%;
  }
  .tefrenu-grid .grid_partition[data-part-size="11"] {
    width: 91.66666667%;
  }
  .tefrenu-grid .grid_partition[data-part-size="10"] {
    width: 83.33333333%;
  }
  .tefrenu-grid .grid_partition[data-part-size="9"] {
    width: 75%;
  }
  .tefrenu-grid .grid_partition[data-part-size="8"] {
    width: 66.66666667%;
  }
  .tefrenu-grid .grid_partition[data-part-size="7"] {
    width: 58.33333333%;
  }
  .tefrenu-grid .grid_partition[data-part-size="6"] {
    width: 50%;
  }
  .tefrenu-grid .grid_partition[data-part-size="5"] {
    width: 41.66666667%;
  }
  .tefrenu-grid .grid_partition[data-part-size="4"] {
    width: 33.33333333%;
  }
  .tefrenu-grid .grid_partition[data-part-size="3"] {
    width: 25%;
  }
  .tefrenu-grid .grid_partition[data-part-size="2"] {
    width: 16.66666667%;
  }
  .tefrenu-grid .grid_partition[data-part-size="1"] {
    width: 8.33333333%;
  }
  /* ----- tefrenu-icon-round ----- */
  .tefrenu-icon-round {
    display: inline-block;
    padding: 1em 0.3em;
    width: 5.1428em;
    height: 5.1428em;
    border-radius: 50%;
    background: #e20070;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1.1;
    text-align: center;
    font-weight: bold;
  }
  .tefrenu-concept-section[data-category="punch"] .tefrenu-icon-round {
    background: #de66ab;
  }
  .tefrenu-icon-round.tefrenu-icon-point .icon_number {
    display: block;
    font-family: Lato;
    font-size: 3.6rem;
  }
  .tefrenu-icon-round.tefrenu-icon-rank {
    width: 4.1666em;
    height: 4.1666em;
    font-size: 3.6rem;
  }
  .tefrenu-icon-round.tefrenu-icon-rank .icon_number {
    font-family: Lato;
    font-size: 6.4rem;
  }
  
    /* ----- hero-layout-v5 ----- */
  .hero-layout-v5 {
    position: relative;
  }
  .punch-hero-intro {
    position: absolute;
    top: 21%;
    left: 22.66%;
    width: 40%;
  }
  .punch-hero-intro .punch-hero-intro-lead {
    font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    width: 100%;
  }
  .punch-hero-intro .punch-hero-intro-detail{
    font-size: 2.1rem;
  }
  
  /* ----- tefrenu-release-date ----- */
  .tefrenu-release-date {
    margin-top: 1em;
    font-weight: bold;
    text-align: right;
  }
  /* ----- tefrenu-concept-theme ----- */
  .tefrenu-concept-theme {
    display: table;
    width: 100%;
    max-width: 868px;
    table-layout: fixed;
    margin: 0 auto;
  }
  .tefrenu-concept-theme .concept_image {
    display: table-cell;
    width: 120px;
    vertical-align: middle;
  }
  .tefrenu-concept-theme .concept_image + .concept_detail {
    display: table-cell;
    padding-left: 40px;
    vertical-align: middle;
  }
  .tefrenu-concept-theme .concept_detail {
    font-size: 2.1rem;
  }
  .tefrenu-concept-theme .concept_title {
    margin-bottom: 0.5em;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2;
  }
  /* ----- tefrenu-concept-section ----- */
  .tefrenu-concept-section {
    margin-top: 5em;
  }
  .tefrenu-concept-section .heading-lv2 {
    margin-top: -3rem;
  }
  .tefrenu-concept-section .concept_heading {
    position: relative;
    margin-bottom: 0.85em;
    padding-bottom: 0.95em;
    color: #777777;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.15;
    text-align: center;
  }
  .tefrenu-concept-section .concept_heading > em {
    font-style: normal;
    color: #e20070;
  }
  .tefrenu-concept-section .concept_heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 100px;
    height: 6px;
    background: #e20070;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  

  /* ----- punch-intro-section ----- */
  .punch-intro-section {
    margin-top: 40px;
  }
  .punch-intro-section .punch-intro-detail {
    text-align: center;
  }
  .punch-intro-section .punch-intro-detail + .punch-intro-detail {
    margin-top: 30px;
  }
  .punch-intro-section .punch-intro-heading {
    margin-bottom: 15px;
    font-size: 2.2rem;
    font-weight: 700;
    color: #000;
  }
  .punch-intro-section .intro-heading-mark {
    z-index: 1;
    position: relative;
  }
  .punch-intro-section .intro-heading-mark::after {
    z-index: -1;
    display: block;
    content: "";
    width: 100%;
    height: 30%;
    position: absolute;
    left: 0;
    top: 60%;
    background-color: #eba3cd;
    border-radius: 10px;
  }
  .punch-intro-section .intro-heading-mark[data-pc-radius="left"]::after {
    border-radius: 10px 0 0 10px;
  }
  .punch-intro-section .intro-heading-mark[data-pc-radius="right"]::after {
    border-radius: 0 10px 10px 0;
  }
  body[data-browser="edge"] .punch-intro-section .intro-heading-mark[data-pc-radius="right"]::after,
  body[data-browser="ie11"] .punch-intro-section .intro-heading-mark[data-pc-radius="right"]::after {
    left: -1px;
    width: calc(100% + 1px);
  }
  .punch-intro-section .punch_intro_img-v2 {
    margin-top: -23px;
  }
  /* ----- tefrenu-strength-point ----- */
  .tefrenu-strength-point {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin-top: 2.5em;
  }
  .tefrenu-strength-point .strength_detail,
  .tefrenu-strength-point .strength_image {
    display: table-cell;
    width: 50%;
    vertical-align: top;
  }
  .tefrenu-strength-point .strength_detail {
    padding-right: 34px;
  }
  .tefrenu-strength-point .strength_heading {
    position: relative;
    margin-bottom: 0.7em;
    padding: 0.7em 0 0.7em 3.2142em;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-strength-point .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-size-feature ----- */
  .tefrenu-size-feature .tefrenu-size_text {
    margin-top: 1em;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  
  /* ----- style-type-list -----*/
  .style-type-list .column-media > .column_image > .image-set > .image_inner img {
    width: 95%;
  }
  
  /* ----- tefrenu-banners ----- */
  .tefrenu-banners {
    margin-top: 45px;
  }
  
  /* ----- limited edition ----- */
  .limited-txt {
    display: inline-block;
    margin-left: 20px;
    font-size: 2.0rem;
    font-weight: 700;
    color: #e90f0f;
  }
  
  /* ----- include-icon ----- */
  .index-layout-v5.new-icon .block .index_image{
    position: relative;
  }
  .index-layout-v5.new-icon .block .index_image .new-icon {
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 40px;
    height: 40px;
    pointer-events: none;
  }

  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .tefrenu-grid::after {
    display: block;
    clear: both;
    content: "";
  }
}

/* ======================================================
 * PC Media Queries
====================================================== */
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .tefrenu-icon-round.tefrenu-icon-rank {
    width: 3.8095em;
    height: 3.8095em;
    padding: 0.85em 0.3em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1150px) {
}
@media screen and (min-width: 768px) and (max-width: 960px) {
  .tefrenu-concept-theme .concept_detail br {
    display: none;
  }
}

/***
@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) {
}
***/


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  .tefrenu-punch-strength-point-v1 .strength_heading,
  .tefrenu-punch-strength-point-v2 .strength_heading,
  .tefrenu-promo-panel,
  .tefrenu-concept-section .concept_heading,
  .tefrenu-concept-lead,
  .punch-hero-intro-lead,
  .tefrenu-strength-point .strength_heading,
  .tefrenu-size-feature .tefrenu-size_text {
    font-family: "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  
  /* ------------------------------------------------------
   * Page Components
  ------------------------------------------------------ */
  /* ----- tefrenu-table-ec ----- */
  .tefrenu-table-ec {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
  }
  .tefrenu-table-ec-button {
    display: inline-block;
    max-width: 120px;
    min-width: 65px;
    margin-top: 5px;
    margin-left: 10px;
    padding: 0;
    vertical-align: middle;
  }
  .tefrenu-table-ec-button_link {
    display: inline-block;
    border: 2px solid #418fde;
    border-radius: 5px;
    background-color: #fff;
    padding: 3px 15px;
    color: #418fde;
    font-weight: bold;
    font-size: 1.4rem;
    font-family: "Noto Sans CJK JP", "Noto Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  .tefrenu-table-ec[date-flex-sp="column"] {
    flex-flow: column wrap;
    align-items: flex-start;
  }
  .tefrenu-table-ec[date-flex-sp="column"] .tefrenu-table-ec-button {
    margin: 5px 0 0;
  }
  /* ----- tefrenu-text-right ----- */
  .tefrenu-text-right {
    margin-top: 10px;
    text-align: right;
    color: #333;
    font-size: 14px;
  }
  /* ----- tefrenu-punch-strength-point-v1 ----- */
  .tefrenu-punch-strength-point-v1 {
    margin-top: 1.5em;
  }
  .tefrenu-punch-strength-point-v1 .strength_image {
    margin-top: 0.9em;
    text-align: center;
  }
  .tefrenu-punch-strength-point-v1 .strength_heading {
    position: relative;
    margin-bottom: 0.5em;
    padding: 0.7em 0 0.7em 3em;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-punch-strength-point-v1 .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-punch-strength-point-v2 ----- */
  .tefrenu-punch-strength-point-v2 {
    margin-top: 1.5em;
  }
  .tefrenu-punch-strength-point-v2 .strength_image {
    margin-top: 1em;
    text-align: center;
  }
  .tefrenu-punch-strength-point-v2 .strength_heading {
    position: relative;
    margin-bottom: 0.5em;
    padding: 0.7em 0 0.7em 3em;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-punch-strength-point-v2 .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .tefrenu-punch-strength-point-v2-item + .tefrenu-punch-strength-point-v2-item {
    margin-top: 1.5em;
  }
  /* ----- tefrenu-strength-point-image ----- */
  .tefrenu-strength-point-image-item + .tefrenu-strength-point-image-item {
    margin-top: 1.25em;
  }
  /* ----- tefrenu-lead ----- */
  .tefrenu-lead {
    margin-top: 0.5em;
    color: #e20070;
    font-size: 1.8rem;
    font-weight: bold;
  }
  .tefrenu-concept-section[data-category="punch"] .tefrenu-lead {
    color: #de66ab;
    font-size: 1.6rem;
  }
  /* ----- tefrenu-feature-text ----- */
  .tefrenu-feature-text {
    position: relative;
    padding: 1em 0 1em 90px;
    text-align: left;
  }
  .tefrenu-feature-text .tefrenu-feature_image {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 8em;
    height: 8em;
    font-size: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-grid ----- */
  .tefrenu-grid {
    margin-left: -1px;
    margin-right: -1px;
  }
  .tefrenu-grid .grid_partition {
    padding: 1px;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition {
    float: left;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="12"] {
    width: 100%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="11"] {
    width: 91.66666667%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="10"] {
    width: 83.33333333%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="9"] {
    width: 75%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="8"] {
    width: 66.66666667%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="7"] {
    width: 58.33333333%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="6"] {
    width: 50%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="5"] {
    width: 41.66666667%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="4"] {
    width: 33.33333333%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="3"] {
    width: 25%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="2"] {
    width: 16.66666667%;
  }
  .tefrenu-grid:not([data-layout-sp="col"]) .grid_partition[data-part-size="1"] {
    width: 8.33333333%;
  }
  /* ----- punch-hero-intro ----- */
  .punch-hero-intro {
    padding: 45px 10px 41px;
    background-color: #f2d6ed;
    text-align: center;
  }
  .punch-hero-intro .punch-hero-intro-lead {
    font-size: 2.25rem;
    font-weight: 700;
    color: #222222;
    line-height: 1.18;
  }  
  /* ----- tefrenu-release-date ----- */
  .tefrenu-release-date {
    margin-top: 0.5em;
    font-weight: bold;
    text-align: right;
  }
  
  /* ----- tefrenu-icon-round ----- */
  .tefrenu-icon-round {
    display: inline-block;
    padding: 1em 0.3em;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    background: #e20070;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.1;
    text-align: center;
    font-weight: bold;
  }
  .tefrenu-concept-section[data-category="punch"] .tefrenu-icon-round {
    background: #de66ab;
  }
  .tefrenu-icon-round.tefrenu-icon-point .icon_number {
    display: block;
    font-family: Lato;
    font-size: 2.4rem;
  }
  .tefrenu-icon-round.tefrenu-icon-rank {
    width: 4.1666em;
    height: 4.1666em;
    font-size: 1.8rem;
  }
  .tefrenu-icon-round.tefrenu-icon-rank .icon_number {
    font-family: Lato;
    font-size: 3.2rem;
  }
  /* ----- tefrenu-promo-panel ----- */
  .tefrenu-promo-panel {
    display: block;
    margin-top: 20px;
    border: 2px solid #e20070;
  }
  .tefrenu-promo-panel .promo_body {
    padding: 18px 20px;
  }
  /* ----- tefrenu-bar-chart ----- */
  .tefrenu-bar-chart {
    max-width: 380px;
    margin-right: auto;
    margin-left: auto;
  }
  .tefrenu-bar-chart > li + li {
    margin-top: 8px;
  }
  .tefrenu-bar-chart > li {
    display: table;
    width: 100%;
  }
  .tefrenu-bar-chart > li > * {
    display: table-cell;
    vertical-align: middle;
  }
  .tefrenu-bar-chart .bar_horizonal {
    padding: 7px;
    background: #999999;
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1;
  }
  .tefrenu-bar-chart .bar_ratio {
    padding-left: 7px;
    color: #999999;
    font-size: 1.05rem;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
  }
  .tefrenu-bar-chart .bar_ratio .bar_numeric {
    font-style: normal;
    font-size: 1.4rem;
  }
  /* ----- tefrenu-concept-theme ----- */
  .tefrenu-concept-theme {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .tefrenu-concept-theme .concept_image {
    display: table-cell;
    width: 70px;
    vertical-align: top;
  }
  .tefrenu-concept-theme .concept_image + .concept_detail {
    display: table-cell;
    padding-left: 15px;
    vertical-align: middle;
  }
  .tefrenu-concept-theme .concept_detail {
    font-size: 1.7rem;
  }
  .tefrenu-concept-theme .concept_title {
    min-height: 80px;
    margin-bottom: 0.5em;
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-concept-theme .concept_detail p {
    margin-left: -85px;
  }
  /* ----- tefrenu-concept-section ----- */
  .tefrenu-concept-section {
    margin-top: 2.5em;
  }
  .tefrenu-concept-section .concept_heading {
    position: relative;
    margin-bottom: 0.7em;
    padding-bottom: 0.75em;
    color: #777777;
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  .tefrenu-concept-section .concept_heading > em {
    font-style: normal;
    color: #e20070;
  }
  .tefrenu-concept-section .concept_heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 70px;
    height: 4px;
    background: #e20070;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  /* ----- punch-intro-section ----- */
  .punch-intro-section {
    margin-top: 30px;
  }
  .punch-intro-section .punch-intro-detail {
    text-align: center;
  }
  .punch-intro-section .punch-intro-detail + .punch-intro-detail {
    margin-top: 30px;
  }
  .punch-intro-section .punch-intro-heading {
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
  }
  .punch-intro-section .intro-heading-mark {
    z-index: 1;
    position: relative;
  }
  .punch-intro-section .intro-heading-mark::after {
    z-index: -1;
    display: block;
    content: "";
    width: 100%;
    height: 40%;
    position: absolute;
    left: 0;
    top: 60%;
    background-color: #eba3cd;
    border-radius: 10px;
  }
  .punch-intro-section {
    width: 100%;
  }
  /* ----- tefrenu-concept-leads ----- */
  .tefrenu-concept-leads {
    margin: 1.7em 0 2.5em;
  }
  .tefrenu-concept-leads > *:first-child {
    margin-top: 0;
  }
  /* ----- tefrenu-concept-lead ----- */
  .tefrenu-concept-lead {
    margin-top: 1.7em;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
  }
  .tefrenu-concept-lead > em {
    display: inline-block;
    margin-top: 0.5em;
    color: #e20070;
    font-size: 2.1rem;
    font-style: normal;
    line-height: 1.2;
  }
  /* ----- tefrenu-strength-point ----- */
  .tefrenu-strength-point {
    margin-top: 1.5em;
  }
  .tefrenu-strength-point .strength_image {
    margin-top: 1em;
    text-align: center;
  }
  .tefrenu-strength-point .strength_heading {
    position: relative;
    margin-bottom: 0.5em;
    padding: 0.7em 0 0.7em 3em;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .tefrenu-strength-point .strength_icon {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  /* ----- tefrenu-banners ----- */
  .tefrenu-banners {
    margin-top: 20px;
  }
  /* ----- tefrenu-size-feature ----- */
  .tefrenu-size-feature {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .tefrenu-size-feature .tefrenu-size_image {
    display: table-cell;
    width: 190px;
    vertical-align: middle;
  }
  .tefrenu-size-feature .tefrenu-size_text {
    display: table-cell;
    padding-left: 15px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3;
    vertical-align: middle;
  }
  
  /* ----- limited edition ----- */
  .limited-txt {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    color: #e90f0f;
  }
  /* ----- include-icon ----- */
  .index-layout-v5.new-icon .block .index_image{
    position: relative;
  }
  .index-layout-v5.new-icon .block .index_image .new-icon {
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 22px;
    height: 22px;
    pointer-events: none;
  }
  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .tefrenu-grid::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * SP Media Queries
====================================================== */
@media only screen and (max-width: 400px) {
}
@media only screen and (max-width: 375px) {
  .tefrenu-feature-text br {
    display: none;
  }
}
/***
@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 {
}