@charset "UTF-8";
/* CLEARFIX ----------*/
.clearfix:after, .list_title_area:after, .list_title_area .socialbuttons:after, .list_columns:after, .list_related:after, .twocol-pc:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0; }

/* IE6 */
* html .clearfix, * html .list_title_area, * html .list_title_area .socialbuttons, .list_title_area * html .socialbuttons, * html .list_columns, * html .list_related, * html .twocol-pc {
  zoom: 1; }

/* IE7 */
*:first-child + html .clearfix, *:first-child + html .list_title_area, *:first-child + html .list_title_area .socialbuttons, .list_title_area *:first-child + html .socialbuttons, *:first-child + html .list_columns, *:first-child + html .list_related, *:first-child + html .twocol-pc {
  zoom: 1; }

.ofhidden, .list_related li {
  overflow: hidden;
  zoom: 1; }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

.mb3em {
  margin-bottom: 3em !important; }

/******************************************
Top page content
******************************************/
.pagetitle {
  padding-top: 0;
  margin-bottom: 10px;
  background: url("/consumer/satellite/lifestyle/articles/madolife/images/index/bg_pagetitle.png") no-repeat right top;
  min-height: 290px; }
  .pagetitle h1 {
    margin-bottom: 12px; }
  .pagetitle p {
    font-size: 14px;
    color: #6c6e70;
    line-height: 1.8;
    width: 382px; }

/* column list
---------------------------------------- */
.list_title_area {
  margin-bottom: 12px;
  position: relative; }
  .list_title_area .socialbuttons {
    position: absolute;
    right: 0;
    top: 0; }
    .list_title_area .socialbuttons div {
      float: left; }

.list_title {
  font-size: 24px;
  font-weight: bold;
  color: #488dc6; }

.list_columns {
  width: 972px;
  margin: 0 -22px 8px 0; }
  .list_columns li {
    float: left;
    margin: 0 22px 18px 0;
    width: 221px; }
    .list_columns li .illust {
      border: 1px solid #cbcccc;
      border-bottom: none;
      padding: 12px;
      text-align: center; }
    .list_columns li .title {
      border: 1px solid #cbcccc;
      padding: 16px 4px;
      background-color: #f4f4f4; }
      .list_columns li .title h3 {
        margin-bottom: 14px; }
      .list_columns li .title .readmore {
        text-align: right;
        font-size: 12px; }

/* superviser
---------------------------------------- */
.superviser {
  background: #cee5db;
  border-radius: 5px;
  text-align: center;
  margin-bottom: 15px; }
  .superviser img {
    display: inline-block; }

p.notice {
  clear: both;
  text-align: right;
  margin-bottom: 30px; }

/* related content
---------------------------------------- */
.related {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  margin-bottom: 8px; }
  .related:before {
    content: "●";
    color: #488dc6; }

.list_related {
  width: 970px;
  margin: 0 -20px 30px 0; }
  .list_related li {
    width: 455px;
    margin-right: 20px;
    float: left; }
    .list_related li .img {
      float: left;
      width: 215px;
      min-height: 110px;
      margin-right: 20px; }
    .list_related li .desc {
      overflow: auto;
      line-height: 1.6; }
      .list_related li .desc h3 {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 14px;
        margin-bottom: .5em; }
        .list_related li .desc h3:before {
          content: "＞";
          color: #488dc6; }
      .list_related li .desc p {
        font-size: 12px; }

/* ===================================================================================
for SP max-width: 640px
=================================================================================== */
@media screen and (max-width: 640px) {
  @media screen and (max-width: 640px) {
    .responsive section.maincontents.section {
      padding-bottom: 60px; /* overwrite */
    }
  }

  .pagetitle {
    background: none;
    min-height: 0;
    margin-bottom: 2em !important; }
    .pagetitle p {
      font-size: 12px;
      width: auto; }

  /* column list
  ---------------------------------------- */
  .list_title_area .socialbuttons {
    position: relative;
    left: 0;
    top: 0; }

  .list_title {
    font-size: 14px; }

  .list_columns {
    width: 100%;
    margin: 0 auto 16px; }
    .list_columns li {
      float: none;
      margin: 0 0 4px;
      width: 100%;
      display: table;
      table-layout: fixed; }
      .list_columns li .illust {
        border: 1px solid #cbcccc;
        border-right: none;
        display: table-cell;
        vertical-align: middle;
        width: 40%;
        box-sizing: border-box;
        padding: 4px; }
      .list_columns li .title {
        display: table-cell;
        width: 60%;
        box-sizing: border-box;
        padding: 12px 4px; }
        .list_columns li .title .readmore {
          font-size: 10px; }

  .superviser {
    border-radius: 0;
    width: 100%;
    height: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-image: url(/consumer/satellite/lifestyle/articles/madolife/images/index/txt_index_02_sp.png);
    background-size: contain;
    padding-top: 16%; }

  .list_related {
    width: 100%;
    margin: 0 0 30px; }
    .list_related li {
      width: auto;
      margin-right: 0;
      margin-bottom: 1.4em;
      float: none; }
      .list_related li .img {
        float: left;
        width: 44%;
        margin-right: 10px; }
      .list_related li .desc {
        overflow: auto; }
        .list_related li .desc h3 {
          padding-left: 1em;
          text-indent: -1em;
          font-size: 12px;
          margin-bottom: .5em; }
          .list_related li .desc h3:before {
            content: "＞";
            color: #488dc6; }
        .list_related li .desc p {
          font-size: 10px; } }
/******************************************
Column page content
******************************************/
/* 話数ごとの色の配列
    前から第1話,第2話の順
    $color_lite_arrayは背景色用
    配列に色を追加すると自動で見出しスタイルが生成される
    div#mainにcolumn5などの話数番号つきのクラスの設定が必須
    column05のように数字にパディングは入れない
     */
/* reset */
.column p {
  margin-bottom: 1.5em; }
.column figure {
  text-align: center; }
  .column figure img {
    padding-bottom: .5em; }

/* contents */
.title_area {
  position: relative;
  margin-bottom: 2em; }
  .title_area nav {
    position: absolute;
    right: 28px;
    top: 24px;
    z-index: 10; }
  .title_area .title_column {
    padding: 14px 28px;
    border-radius: 4px;
    vertical-align: middle;
    position: relative; }
    .title_area .title_column .number {
      font-size: 16px;
      color: #fff;
      padding: 7px 12px;
      margin: 0 8px 0 0;
      line-height: 1;
      border-radius: 4px; }
    .title_area .title_column .title {
      font-size: 24px;
      font-weight: bold;
      position: relative;
      top: 4px; }
    .title_area .title_column img {
      padding-left: 10px;
      vertical-align: middle;
      position: relative;
      top: -2px; }
    .column1 .title_area .title_column {
      background-color: #e6dfef;
      color: #795391; }
      .column1 .title_area .title_column .number {
        background-color: #795391; }
    .column2 .title_area .title_column {
      background-color: #e0f0db;
      color: #1e7a56; }
      .column2 .title_area .title_column .number {
        background-color: #1e7a56; }
    .column3 .title_area .title_column {
      background-color: #f3eae6;
      color: #ba7151; }
      .column3 .title_area .title_column .number {
        background-color: #ba7151; }
    .column4 .title_area .title_column {
      background-color: #d3dfdf;
      color: #2a767a; }
      .column4 .title_area .title_column .number {
        background-color: #2a767a; }
    .column5 .title_area .title_column {
      background-color: #c8ccd7;
      color: #374c6e; }
      .column5 .title_area .title_column .number {
        background-color: #374c6e; }
    .column6 .title_area .title_column {
      background-color: #e7d5d6;
      color: #8c1825; }
      .column6 .title_area .title_column .number {
        background-color: #8c1825; }
    .column7 .title_area .title_column {
      background-color: #e5d7d9;
      color: #6e5e52; }
      .column7 .title_area .title_column .number {
        background-color: #6e5e52; }
    .column8 .title_area .title_column {
      background-color: #dbe6a5;
      color: #4293aa; }
      .column8 .title_area .title_column .number {
        background-color: #4293aa; }

h2.h_column {
  font-size: 18px;
  font-weight: bold;
  padding: 4px 28px;
  margin-bottom: 1em; }
  .column1 h2.h_column {
    background-color: #e6dfef;
    color: #795391; }
  .column2 h2.h_column {
    background-color: #e0f0db;
    color: #1e7a56; }
  .column3 h2.h_column {
    background-color: #f3eae6;
    color: #ba7151; }
  .column4 h2.h_column {
    background-color: #d3dfdf;
    color: #2a767a; }
  .column5 h2.h_column {
    background-color: #c8ccd7;
    color: #374c6e; }
  .column6 h2.h_column {
    background-color: #e7d5d6;
    color: #8c1825; }
  .column7 h2.h_column {
    background-color: #e5d7d9;
    color: #6e5e52; }
  .column8 h2.h_column {
    background-color: #dbe6a5;
    color: #4293aa; }

.indent {
  margin: 0 28px 2em; }

.twocol-pc .left {
  float: left;
  width: 49.5%;
  margin-right: 1%; }
.twocol-pc .right {
  float: right;
  width: 49.5%; }

.source {
  font-size: 85.7%;
  text-align: right; }

/* specific styles */
.column_txt_box01_herf {
  text-align: left;
  font-size: 10px;
  margin-bottom: 10px;
  line-height: 1.4em;
  padding-left: 1.5em; }

/* ===================================================================================
for SP max-width: 640px
=================================================================================== */
@media screen and (max-width: 640px) {
  .title_area nav {
    position: relative;
    right: auto;
    top: auto;
    bottom: auto; }
    .title_area nav select {
      display: block;
      width: 78%;
      margin: 2em auto 2em; }
  .title_area .title_column {
    padding: 8px 64px 8px 32px; }
    .title_area .title_column .number {
      font-size: 11px;
      padding: 3px 6px;
      margin: 0 8px 0 0; }
    .title_area .title_column .title {
      font-size: 15px;
      top: 2px; }
    .title_area .title_column img {
      position: absolute;
      top: 10px;
      right: 24px;
      height: 22px; }

  h2.h_column {
    font-size: 14px;
    padding: 4px 32px;
    margin-bottom: 1em; }

  .indent {
    margin: 0 32px 2em; }

  .twocol-pc .left {
    float: none;
    width: auto;
    margin-right: 0;
    margin-bottom: 2em; }
  .twocol-pc .right {
    float: none;
    width: auto; }

  .select_column select {
    display: block;
    width: 78%;
    margin: 2em auto 2em; } }
li {
  list-style: none; }

img {
  max-width: 100%; }

/******************************************
structure
******************************************/
#ykkap-tpl-contents .pagetitle {
  width: 100%;
  height: auto; }

#ykkap-tpl-contents .pagetitle_img {
  width: auto; }

section.maincontents {
  position: relative; }

#main {
  font-size: 14px;
  line-height: 1.8; }

/* ===================================================================================
for SP max-width: 640px
=================================================================================== */
@media screen and (max-width: 640px) {
  #ykkap-tpl-contents .pagetitle {
    margin-bottom: 0; }

  #ykkap-tpl-contents .pagetitle_img {
    width: 100%; }

  #main {
    font-size: 12px;
    line-height: 1.8; } }
