@charset "UTF-8";

/* テンプレート version 2.05 */

/* ----------------------------------------------------------------------------------
特集名 / vol. 1 / ver. 1
---------------------------------------------------------------------------------- */

/* 初期化
---------------------------------------------------------------------------------- */

#powerpush-area {
    width: 1060px;
    left: 0;
    background: #fff;
    border-top: 0 none;
}

/* 汎用スタイル
---------------------------------------------------------------------------------- */

/* 文字装飾 */
#powerpush-area cite {
    font-style: normal;
}

.notes {
    font-size: smaller;
    font-style: normal;
    font-weight: normal;
}

/* フォント設定 */
.PP_font_sans-serif {
    font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.PP_font_serif {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝体", "Yu Mincho", "游明朝体", "YuMincho", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-weight: 500;
}

.PP_font_yu-go {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic;
    font-weight: 500;
}

.PP_font_yu-min {
    font-family: "游明朝体", "Yu Mincho", "游明朝体", "YuMincho", YuMincho;
    font-weight: 500;
}

/* シェアボタン */
.PP_share {
    max-width: 640px;
    margin: 40px auto 20px;
}


/* 訂正文 */
.PP_correction {
    font-size: 85% !important;
    clear: both;
    color: #e72b41 !important;
}

/* ボタン */
.PP_link_btn {
    max-width: 640px;
    clear: both;
    margin: 20px auto;
}

.PP_link_btn a {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 13px 20px 13px calc(20px + 1em);
    border-radius: 3px;
    color: #fff;
    font-size: 100%;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    background-color: #01b2b4;
    box-shadow: inset 0 -1px 1px rgb(0 0 0 / 20%);
}

.PP_link_btn a:last-child {
    margin-bottom: 0;
}

.PP_link_btn_arrow_left a {}

.PP_link_btn a span {
    display: inline-block;
}

.PP_link_btn a:hover {
    opacity: 0.8;
}

.PP_link_btn a:before {
    font-family: "NataIcon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    vertical-align: baseline;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e002";
    position: relative;
    top: calc(50% - 0.5em);
    left: -4px;
}

.PP_link_btn a[target="_blank"]:before {
    content: "\e001";
}

/* ヘッダー
---------------------------------------------------------------------------------- */

.PP_header {
    position: relative;
}

.PP_header h1 {
    margin: 0;
    padding: 0;
}

.PP_header h1 img {
    display: block;
}

/* メイン記事レイアウト
---------------------------------------------------------------------------------- */

.PP_main {
    box-sizing: border-box;
    width: 1060px;
    position: relative;
    text-align: left;
    margin: 0;
    padding: 20px 0;
}

.PP_footer {
    box-sizing: border-box;
    width: 1060px;
    position: relative;
    text-align: left;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #f3f6f7;
    border-top: rgba(100, 100, 100, 0.1) 1px solid;
}

/* ページャー
---------------------------------------------------------------------------------- */

.PP_pager .sp-tab {
    margin: 0;
    padding: 0;
    list-style: none outside;
    text-align: center;
}

.PP_pager:first-child {
    margin: 0 0 20px 0;
}

.PP_header + .PP_pager {
    margin: 20px 0;
}

.PP_pager li {
    display: inline-block;
    margin: 0 3px;
    color: #fff;
    font-size: 15rem;
    line-height: 1.5;
}

.PP_pager li.sp-tab-prev,
.PP_pager li.sp-tab-next {
    color: #b8bcbf;
    color: rgba(98, 101, 103, 0.3);
}

.PP_pager li span {
    padding: 6px 7px 5px 7px;
    display: block;
    background: #bdc7cf;
    background-color: rgba(162, 178, 191, 0.75);
    border-radius: 2px;
}

.PP_pager li a {
    color: #357bc1;
}

.PP_pager li a span,
.PP_pager li.sp-tab-prev span,
.PP_pager li.sp-tab-next span {
    background: #f0f6fb;
    background: rgba(240, 246, 251, 1);
    background: transparent;
}

.PP_pager li a:hover span {
    background: #f0f6fb;
    background: rgba(240, 246, 251, 1);
}

.PP_pager li a:hover {
    color: #3499f0;
}

.PP_pager .sp-tab-prev span:before,
.PP_pager .sp-tab-next span:after {
    font-family: "NataIcon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.PP_pager .sp-tab-prev span:before {
    margin-right: 3px;
    content: "\e007";
}

.PP_pager .sp-tab-next span:after {
    margin-left: 3px;
    content: "\e006";
}

/* 白（透過なし） */
.PP_pager.PP_pager_white li {
    color: #333;
}

.PP_pager.PP_pager_white li span {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.PP_pager.PP_pager_white li a {
    color: #357bc1;
}

.PP_pager.PP_pager_white li.sp-tab-prev,
.PP_pager.PP_pager_white li.sp-tab-next {
    color: #c8cdd5;
}

.PP_pager.PP_pager_white li a span,
.PP_pager.PP_pager_white li.sp-tab-prev span,
.PP_pager.PP_pager_white li.sp-tab-next span {
    background: #fff;
}

.PP_pager.PP_pager_white li a:hover span {
    background: #fff;
}

.PP_pager.PP_pager_white li a:hover {
    color: #3499f0;
}

/* ダークテーマ */
.PP_pager.PP_pager_dark li {
    color: #fff;
}

.PP_pager.PP_pager_dark li span {
    background: #525558;
}

.PP_pager.PP_pager_dark li a {
    color: #fff;
}

.PP_pager.PP_pager_dark li.sp-tab-prev,
.PP_pager.PP_pager_dark li.sp-tab-next {
    color: #5c6065;
}

.PP_pager.PP_pager_dark li a span,
.PP_pager.PP_pager_dark li.sp-tab-prev span,
.PP_pager.PP_pager_dark li.sp-tab-next span {
    background: transparent;
}

.PP_pager.PP_pager_dark li a:hover span {
    background: #35383a;
}

.PP_pager.PP_pager_dark li a:hover {
    color: #fff;
}

/* ミニサイズ */
.PP_pager.PP_pager_min li {
    margin: 0 2px;
    font-size: 13px;
    line-height: 1.4;
}

.PP_pager.PP_pager_min li span {
    padding: 4px 5px 3px 5px;
}



/* 記事本文
---------------------------------------------------------------------------------- */

.PP_main .PP_subtitle {
    margin-top: 3em;
    margin-bottom: 1em;
    padding: 15px 20px;
    background: #f3f6f7;
    border: 1px solid #e6ecee;
    border-width: 1px 0;
    color: #59686e;
    font-weight: normal;
    font-size: 170%;
    line-height: 1.3;
    text-align: center;
}

.PP_main > h2,
.PP_main > :not(.PP_movie_schedule) h2,
.PP_main > h3,
.PP_main > h4,
.PP_main > h5,
.PP_main p,
.PP_main .PP_column,
.PP_video,
.PP_profile,
.PP_nextpage {
    max-width: 640px;
    margin: 30px auto;
}

.PP_main .PP_subtitle span {
    display: inline-block;
}

.PP_main > h2,
.PP_main > :not(.PP_movie_schedule) h2 {
    position: relative;
    margin: 2.5em auto 1em;
    padding: 0 0 0.2em 0;
    border: solid #333333;
    border-width: 0 0 1px 0;
    color: #333333;
    font-weight: normal;
    font-size: 150%;
    line-height: 1.5;
    text-align: left;
}

.PP_main .PP_pager_wrapper + .PP_subtitle,
.PP_main .PP_subtitle:first-child {
    margin-top: 1.5em;
}

.PP_main .PP_list-thumbnail h2 {
    margin-top: 0;
}

.PP_main h2 span {
    display: inline-block;
}

.PP_main h3 {
    font-size: 120%;
    margin-bottom: 0.75em;
    font-weight: bold;
    line-height: 1.5;
}

.PP_footer h4 {
    max-width: 640px;
    font-size: 100%;
    margin: 0 auto 0.75em;
}

.PP_main h4 {
    margin-bottom: 0.75em;
    font-weight: bold;
    font-size: 100%;
    line-height: 1.5;
}

.PP_footer h5 {
    max-width: 640px;
    font-size: 95%;
    line-height: 1.5;
}

.PP_main p {
    margin: 0 auto 1.25em;
    color: #333;
    font-size: 95%;
    line-height: 1.75;
}

.PP_main ul.PP_list-text {
    list-style-type: none;
}

.PP_main ol.PP_list-text {
    list-style-type: decimal;
}

.PP_main .PP_list-text {
    max-width: 640px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    list-style-position: outside;
    margin: 0 auto 1.25em auto;
    padding: 0 0 0 2.5em;
    color: #333;
    font-size: 90%;
    line-height: 1.75;
}

.PP_list-text li {
    position: relative;
}

.PP_main ol.PP_list-text ul li:before,
.PP_main ul.PP_list-text li:before {
    content: "";
    display: block;
    position: absolute;
    left: -1.2em;
    top: 0.6em;
    top: calc(0.8em - 3px);
    width: 5px;
    height: 5px;
    background: #aeb5b8;
    border-radius: 10px;
}

.PP_main .PP_speaker-00 {
    color: #587382;
}

.PP_main .PP_credit {
    font-size: 85%;
    text-align: right;
}

.PP_main .PP_credit span {
    display: inline-block;
    margin-left: 1em;
}

.PP_main .PP_credit span:first-child {
    margin-left: 0;
}

.PP_main .PP_credit small,
.PP_main h2 small,
.PP_main h3 small,
.PP_main h4 small {
    display: inline-block;
    font-weight: normal;
    font-size: 66.66%;
}

.PP_paragraph {
    max-width: 640px;
    margin: 0 auto;
}

/* PP_column  .PP_profile */

.PP_column {
    background: #f2f4f6;
    box-sizing: border-box;
    margin: 30px auto;
    padding: 20px;
    border-radius: 5px;
}

.PP_profile {
    box-sizing: border-box;
    margin: 30px auto;
    padding: 20px;
    border: 1px solid rgba(160, 166, 169, 0.3);
    border-radius: 5px;
}

.PP_column h2,
.PP_profile h2 {
    font-size: 130%;
}

.PP_column h2,
.PP_profile h3 {
    border-top: 1px solid rgba(160, 166, 169, 0.3);
    padding-top: 20px;
}

.PP_column h2:first-child,
.PP_profile h2 {
    margin-top: 0 !important;
}

.PP_column h2:first-child,
.PP_profile h2 + h3 {
    border-top: none;
    padding-top: 0;
}

.PP_column h3,
.PP_profile h3 {
    font-size: 110%;
}

.PP_profile p {
    font-size: 90%;
}

.PP_list-border {
    max-width: 640px;
    box-sizing: border-box;
    list-style: none outside;
    margin: 0 auto 1.25em auto;
    padding: 0;
    color: #333;
    font-size: 100%;
    line-height: 1.75;
}

.PP_list-border li {
    position: relative;
    padding: 8px 0;
    border-top: 1px solid rgba(160, 166, 169, 0.3);
    font-size: 95%;
}

.PP_list-border li:first-child {
    border-top: none;
}

.PP_main .PP_column :last-child {
    margin-bottom: 0;
}

/*サムネイル型リスト*/
.PP_list-thumbnail {
    display: flex;
    justify-content: space-between;
    max-width: 640px;
    margin: 30px auto;
}

.PP_list-thumbnail + .PP_list-thumbnail {
    margin-top: -10px;
    padding-top: 20px;
    border-top: 1px solid rgba(160, 166, 169, 0.3);
}

.sp_vote_wrap .PP_list-thumbnail + .PP_list-thumbnail {
    margin-top: 40px;
    padding-top: 40px;
}

.PP_list-thumbnail dt {
    width: 200px;
}

.PP_list-thumbnail .PP_embed-img,
.PP_list-thumbnail .PP_embed-img-narrow {
    margin: 0;
}

.PP_list-thumbnail dd {
    width: calc(100% - 220px);
}

/* 関連特集 */
.PP_series {
    margin: 30px auto;
    box-sizing: border-box;
    width: 640px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(160, 166, 169, 0.3);
    border-radius: 5px;
}

.PP_series h2:first-child {
    margin-top: 0;
    font-size: 120%;
}

.PP_series dl {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto 10px auto;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(160, 166, 169, 0.3);
}

.PP_series a:last-child dl {
    padding-bottom: 1px;
    border-bottom: 0 none;
    margin-bottom: 0;
}

.PP_series dt {
    width: 120px;
    display: block;
    line-height: 1.0;
}

.PP_series dt img {
    width: 100%;
}

.PP_series a:hover dt img {
    opacity: 0.8;
}

.PP_series dd {
    width: calc(100% - 140px);
    font-size: 110%;
    line-height: 1.5;
}

/* 次のページへ */
.PP_nextpage p {
    clear: both;
    margin: 40px auto 30px auto;
    padding: 10px 10px 5px 10px;
    border: 2px solid rgba(160, 166, 169, 0.3);
    border-radius: 5px;
    color: #58626b;
    font-size: 75%;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

.PP_nextpage p a {
    display: inline-block;
    padding: 6px;
    font-size: 135%;
}

.PP_nextpage p a:link,
.PP_nextpage p a:visited {
    text-decoration: none;
}

.PP_nextpage p a span {
    display: inline-block;
}

/* 画像 */

.PP_embed-img {
    max-width: 640px;
    margin: 30px auto;
}

.PP_embed-img-narrow {
    max-width: 427px;
    margin: 20px auto;
}

.PP_embed-img.PP_embed-img-right {
    width: 360px;
    margin: 0 -170px 20px 20px;
    float: right;
}

.PP_embed-img-narrow.PP_embed-img-right {
    width: 240px;
    margin: 0 -50px 20px 20px;
    float: right;
}

.PP_embed-img.PP_embed-img-left {
    width: 360px;
    margin: 0 20px 20px -170px;
    float: left;
}

.PP_embed-img-narrow.PP_embed-img-left {
    width: 240px;
    margin: 0 20px 20px -50px;
    float: left;
}

.PP_embed-img a:hover img,
.PP_embed-img-narrow a:hover img {
    opacity: 0.8;
}

.PP_embed-img img,
.PP_embed-img-narrow img {
    max-width: 100%;
}

.PP_embed-group {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: auto;
    margin: 30px -190px 20px;
}

.PP_embed-group .PP_embed-img {
    flex: 1;
    width: 100%;
    margin: 0;
    padding: 2px;
}

.PP_embed-group .PP_embed-img-narrow {
    flex: 1;
    max-width: 396px;
    margin: 0;
    padding: 2px;
}

.PP_embed-img_caption {
    padding: 0;
    color: #587382 !important;
    font-size: 80% !important;
    line-height: 1.5;
}

.PP_embed-group-reverse {
    flex-direction: row-reverse;
}

/*コミック試し読み*/
.PP_embed-img-comic img,
.PP_embed-img-comic-wide img,
.PP_embed-img-comic-webtoon img {
    width: 100%;
    display: block;
}

.PP_embed-img-comic {
    max-width: 700px;
}

.PP_embed-img-comic-wide {
    max-width: 840px;
}

.PP_embed-img-comic,
.PP_embed-img-comic-wide {
    box-sizing: border-box;
    margin: 30px auto 90px;
    box-shadow: 0 0 18px rgb(30 48 65 / 20%);
}

.PP_embed-img-comic-webtoon {
    max-width: 640px;
    box-sizing: border-box;
    margin: 30px auto 90px;
    box-shadow: none;
}

.PP_embed-img-comic-webtoon + .PP_embed-img-comic-webtoon {
    margin-top: -90px;
}

/* 画像左寄せの文字こぼれ防止 */
.PP_overflow {
    overflow: hidden;
}

/* 画像に枠線 */
.PP_embed-img-border img {
    border: rgba(0, 0, 0, 0.15) 1px solid;
    box-sizing: border-box;
}

/*画像の動作無効化 */
.PP_embed-img-guard {
    position: relative;
    display: block;
}

.PP_embed-img-guard:after {
    content: '';
    z-index: 2;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
}


/* ギャラリー */
.PP_gallery-nowrap {
    width: calc(100% + 4px);
    max-width: 644px;
    display: flex;
    position: relative;
    margin: 0 auto 30px;
}

.PP_gallery-nowrap div {
    padding: 2px;
}

.PP_gallery-nowrap + .PP_gallery-nowrap {
    margin: -30px auto 30px;
}

.PP_gallery-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
}

.PP_gallery-nowrap a:hover img {
    opacity: 0.8;
}


/* 動画 */
.PP_video {
    width: 640px;
    height: calc(640px / 16 * 9);
    clear: both;
    position: relative;
    margin: 30px auto;
    overflow: hidden;
}

.PP_column .PP_video {
    width: 600px;
    height: calc(600px / 16 * 9);
}

.PP_video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Twitter埋め込み */
.PP_twitter {
    width: calc(100% - 20px);
    max-width: 600px;
    margin: 2em auto;
}

/*映画上映スケジュール*/
.PP_movie_schedule {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 3em;
}

/* 省略表示 */
.PP_text_clip {
    display: none;
}

/*バナー類*/
.PP_bnr a:hover img {
    opacity: 0.8;
}

.PP_bnr {
    max-width: 640px;
    margin: 0 auto 30px;
}

.PP_bnr img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}


/* 開閉ブロック
---------------------------------------------------------------------------------- */

.PP_toggle {
    margin-bottom: 10px;
    background: rgba(255, 255, 255, 0.9);
    border: rgba(100, 100, 100, 0.1) 1px solid;
    border-radius: 5px;
}

.PP_aside .PP_toggle:last-child {
    margin-bottom: 0;
}

.PP_toggle_label button {
    display: block;
    cursor: pointer;
    width: 100%;
    padding: 10px;
    color: #0d79cc;
    font-size: 100%;
    font-family: "HiraginoCW", Hiragino Sans, Hiragino Kaku Gothic ProN, メイリオ, Meiryo, Helvetica Neue, Arial, sans-serif;
    line-height: 1.4;
    text-align: center;
    background: transparent;
    border: 0;
}

.PP_toggle_label button:hover {
    color: #e85082;
}

.PP_toggle_label button:before {
    font-family: "NataIcon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e008";
    margin-right: 0.2em;
}

.PP_toggle_label.PP_toggle_active button:before {
    content: "\e009";
}


/* 商品各項目
---------------------------------------------------------------------------------- */

.PP_aside {
    box-sizing: border-box;
    width: 640px;
    margin: 0 auto;
    padding-top: 20px;
    border-top: solid 1px rgba(0, 0, 0, 0.2);
}

.PP_aside.PP_aside_wide {
    width: 1020px;
    margin: 0 auto;
}

.PP_aside_wide .PP_toggle .PP_item_contents {
    padding: 0 100px;
}

.PP_aside_wide .PP_toggle .PP_item_contents_size_wide,
.PP_leftside .PP_toggle .PP_item_contents {
    padding: 0;
}

.PP_aside_wide .PP_information:last-child {
    margin: 0 0 0 0;
}

.PP_aside:before,
.PP_aside:after {
    content: " ";
    display: table
}

.PP_aside:after {
    clear: both
}

.PP_footer .PP_aside:first-child {
    border-top: none;
}

/* 商品情報
---------------------------------------------------------------------------------- */

.PP_item {
    display: block;
    margin: 0 auto 10px;
    padding: 0;
    width: 640px;
    line-height: 1.4;
    color: #333;
    overflow: hidden;
}

.PP_aside_wide .PP_item {
    width: 500px;
    float: left;
    margin-right: 20px;
}

.PP_aside_wide .PP_item:nth-child(2n) {
    margin-right: 0;
}

.PP_item .PP_item_image {
    width: 160px;
    float: left;
    margin: 0 20px 20px 0;
}

.PP_aside_wide .PP_item .PP_item_image {
    width: 120px;
}

.PP_item .PP_item_image img {
    width: 100%;
}

.PP_item .PP_item_text {
    width: 460px;
    float: right;
    margin: 0 0 10px 0;
}

.PP_aside_wide .PP_item .PP_item_text {
    width: 360px;
}

.PP_item_title {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 90%;
    font-weight: bold;
}

.PP_item_data {
    margin-bottom: 12px;
    font-size: 80%;
    padding-right: 0.9em;
}

.PP_item_image a:hover img {
    opacity: 0.8;
}

.PP_btn {
    display: block;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 0 10px 0;
    padding: 12px 10px;
    border-radius: 4px;
    color: #fff !important;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: inset 0 -1px 1px rgb(0 0 0 / 20%);
}

.PP_main .PP_btn {
    padding: 14px 10px;
}

.PP_btn:hover {
    opacity: 0.8;
}

.PP_btn:before {
    content: "\e001";
    speak: none;
    font-family: "NataIcon";
    font-size: 12px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline;
    position: relative;
    right: 4px;
    top: 50%;
    margin-top: -8px;
}

.PP_btn.PP_btn-buy {
    background: #ff9900;
}

.PP_btn.PP_btn-link {
    background: #01b2b4;
}

/* 収録内容リスト */
.PP_item_contents {
    margin-bottom: 1em;
}

.PP_toggle_body {
    max-width: 640px;
    clear: both;
    display: none;
    width: auto;
    float: none;
    margin: 0 auto 20px;
    padding: 0 20px;
    border-top: 0 none;
}

.PP_item_subtext {
    clear: both;
    margin: 0 0 0;
    padding: 0;
    font-size: 80%;
    line-height: 1.5;
}

.PP_aside > .PP_item_subtext {
    margin-bottom: 20px;
}

.PP_item_subtext h6 {
    margin-bottom: 0.5em;
    font-weight: bold;
    line-height: 1.5;
}

.PP_item_subtext ol {
    margin: 0 0 0.5em 0;
    padding: 0;
    list-style: outside decimal;
}

.PP_item_subtext ul {
    margin: 0 0 0.5em 0;
    padding: 0;
    list-style: outside circle;
}

.PP_item_subtext li {
    margin: 0 0 0 2.6em;
    line-height: 1.5;
}

.PP_item_subtext li small {
    display: block;
}

.PP_item_subtext p {
    margin-bottom: 1em;
}

.PP_copyright {
    padding-top: 1em;
    font-size: 65%;
    color: #777e80;
    line-height: 1.4;
}

/* その他の告知ブロック
---------------------------------------------------------------------------------- */

/* リンク集
---------------------------------------------------------------------------------- */

.PP_link {
    max-width: 640px;
    position: relative;
    margin: 0 auto 1em;
    padding-left: 1.2em;
    line-height: 1.65 !important;
    overflow: hidden;
}

.PP_lead .PP_link {
    position: relative;
    width: calc(640px - 1.2em) !important;
}

.PP_footer .PP_aside > .PP_link {
    font-size: 90%;
}

.PP_link + .PP_link {
    margin-top: -0.85em !important;
}

.PP_link a {
    position: relative;
}

.PP_link a:before {
    font-family: "NataIcon";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e002";
    position: absolute;
    left: -1.2em;
    margin-right: 0.3em;
    top: -0.4em;
}

.PP_link a[target="_blank"]:before {
    content: "\e001";
}

/* ビュレットの色 */
.PP_link a:before {
    color: #afbcc3;
}

.PP_work_link a {
    background: #91a1af;
}

/* 下部固定バナー */
.PP_banner_wrapper {
    z-index: 2;
    position: fixed;
    left: 0;
    bottom: 5px;
    width: 100%;
    display: block;
    transition: 0.5s
}

.PP_banner_wrapper.PP_banner_wrapper-hidden {
    transform: translateY(120px)
}

.PP_banner {
    width: 650px;
    height: 110px;
    margin: 0 auto;
    padding: 5px;
    background: none rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    border-radius: 5px
}

.PP_banner img {
    display: block;
    width: 640px;
    height: 100px
}

/* 人気投票企画用
---------------------------------------------------------------------------------- */

.sp_btn_block .sp_vote a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    border-radius: 25px;
    text-align: center;
    font-size: 110%;
    margin: 0 auto;
    background: #000;
}

.sp_btn_block .sp_vote a:hover {
    background: #666;
    color: #eee;
}

.sp_vote_note {
    display: none;
    width: 640px;
    margin: 60px auto 60px;
    box-sizing: border-box;
    text-align: center;
    padding: 20px 0;
    line-height: 1;
    font-size: 110%;
    font-weight: bold;
    border-radius: 12px;
    border: 3px solid #000;
    box-sizing: border-box;
}

.sp_voted .sp_vote a {
    width: 400px;
    background: #aaa;
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    border-radius: 25px;
    text-align: center;
    font-size: 110%;
    margin: 0 auto;
    pointer-events: none;
}

.sp_voted .sp_vote a:hover {
    opacity: 1;
}

.sp_vote_result_wrap {
    display: none;
}

.sp_vote_share a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    border-radius: 25px;
    text-align: center;
    font-size: 110%;
    margin: 0 auto;
    background: #000;
}

.sp_vote_share a:hover {
    background: #666;
    color: #eee;
}

.sp_vote_closed .sp_btn_block .sp_vote span {
    display: block;
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    border-radius: 25px;
    text-align: center;
    font-size: 110%;
    margin: 0 auto;
    background: #aaa;
}

/* 追加スタイル ※カスタム部分を以下にまとめると、スマホ版へのcss移植がそのままできます
---------------------------------------------------------------------------------- */

/* PP全体の背景 */
.PP_container {
    background: #fff;
}

/* 本文 */
.sp_name01 {
    color: #dc4165;
}

.sp_name02 {
    color: #a545d7;
}

.sp_all {
    color: #2388ee;
}

/* キーカラー設定 */
.PP_link a:before {
    color: #138334;
}

.inner_column {
    position: relative;
    overflow: hidden;
    margin: 60px auto !important;
    max-width: 800px !important;

    background-color: hsla(269, 98%, 66%, 1);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1799 1799' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"), radial-gradient(circle at 94% 95%, hsla(360, 88%, 68%, 1) 3%, transparent 76%), radial-gradient(circle at 89% 34%, hsla(93, 96%, 51%, 1) 1%, transparent 86%), radial-gradient(circle at 86% 50%, hsla(148, 80%, 65%, 1) 7%, transparent 76%), radial-gradient(circle at 89% 79%, hsla(78, 76%, 53%, 1) 7%, transparent 87%), radial-gradient(circle at 15% 44%, hsla(194, 74%, 80%, 1) 15%, transparent 81%), radial-gradient(circle at 99% 20%, hsla(265, 88%, 92%, 1) 1%, transparent 68%);
    background-blend-mode: overlay, normal, normal, normal, normal, normal, normal;

}

.PP_column {
    background: rgba(255, 255, 255, 1);
    margin: 10px auto !important;
    border-radius: 0px;
    padding: 30px 60px;
    max-width: 780px !important;

}

.PP_column > div {
    border-left: 4px solid #138334;
    padding: 0px 10px 0px 20px;
    margin-bottom: 20px;
}

.PP_column > div:nth-child(2) {
    margin-bottom: 20px;
}

.PP_column h2 {
    position: relative;
    text-align: center !important;
    border: none !important;
    max-width: 100%;
    padding: 10px 60px !important;
    margin: 10px auto !important;
}

.PP_column h2 img {
    width: 100%;
}


.PP_column h3 {
    margin-bottom: 5px !important;
}

.PP_column p {
    line-height: 1.6;
    margin: 0;
}

.PP_column hr {
    border-top: 2px dotted #b7e000;
}

.PP_column .PP_link {
    margin-top: 20px;
}

.PP_column > div + div {
    margin: 10px 0 0px !important;
}

.inner {
    margin-top: 100px;
}

.timeline {
    position: relative;
    background: #fff;

    max-width: 740px;
    margin: 0 auto 40px;
    padding: 100px 30px 30px;
}

.timeline_ttl {
    width: 800px;
    position: absolute;
    top: 20px;
    right: 10px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    margin: 0 auto;
}

.timeline_ttl::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    width: 580px;
    height: 1px;
    background: #138334;
    z-index: 0;
}

.timeline_ttl h3 {
    width: 220px;
    position: absolute;
    left: -15px;
    top: -30px;
    z-index: 1;
    color: #138334;
}

.timeline_ttl h3 img {
    width: 100%;
    display: inline-block;
    vertical-align: bottom;
}


.timeline_ttl h4 {
    font-size: 130%;
    letter-spacing: 0.5px;
    font-feature-settings: "halt";
    text-align: right;
    background: #fff;
    display: inline-block;
    padding: 0 8px 0;
    z-index: 1;
    color: #138334;
}

.timeline dl {
    display: flex;
}

.timeline_block + .timeline_block {
    margin-top: 30px;
}

.timeline dl > dd .headline {
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.5 !important;
}

.timeline dl > dd .extra {
    font-size: 85%;
    font-weight: normal !important;
    line-height: 1.2 !important;
}

.timeline dl > dd p.PP_link {
    font-size: 85%;
    margin: 0;
    line-height: 1.4 !important;
    margin-top: 10px !important;
}


.timeline dl > dd p.PP_link a:before {
    line-height: 1.7 !important;
}

.timeline dl + dl {
    border-top: 1px dotted #138334;
}

.timeline dl dt {
    border-right: 2px double #138334;
    width: calc(15% - 0px);
    text-align: right;
    padding: 20px 20px 20px 0;
}

.timeline dl dt span {
    display: inline-block;
}

.timeline dl dd {
    width: calc(85% - 0px);
    padding: 20px;
}

.p2timeline {
    margin-top: 50px;
}

.PP_embed-group {
    margin: 20px -160px 20px;
}

.PP_embed-group .PP_embed-img {
    padding: 1px;
}

.PP_embed-img-narrow.PP_embed-img-right {
    position: relative;
    width: 270px;
    margin: 0 -100px 20px 20px;
    float: right;
    z-index: 1;
}

.PP_nextpage p {
    background: #fff;
    border: none;
}


.PP_profile {
    padding-bottom: 1px;
    border: none;
    background: #fff;
}

.PP_series {
    border: none;
    background: #fff;
}

.PP_profile h2,
.PP_series h2 {
    border: solid #b7e000 !important;
    border-width: 0 0 1px 0 !important;
}

/*アニメーション*/

.fadein {
    transform: translateY(50px);
    opacity: 0;
    transition: 1s all;
}

.fadein.is-active {
    transform: translateY(0);
    opacity: 1;
}

.fadein.line.is-active {
    transform: scale(1) rotate(-5deg);
    opacity: 1;
}


/******カスタム例（P2）******/
.PP_custom {
    background: linear-gradient(#8fc31f 1000px, #d6e981 30%, #023a3e 80%);
}

.PP_custom .PP_main {
    width: calc(100% - 10px);
    margin: -250px auto 10px;
    background-color: rgba(250, 255, 248, 0.95);
}

.p2contents {
    margin-top: -400px !important;
}

.PP_custom .PP_footer {
    background-color: transparent;
}

.PP_custom .PP_footer hr {
    border-top: 2px dotted rgba(255, 255, 255, 0.2);
}

.PP_footer .PP_item_subtext div {
    border-left: 4px solid #488d75;
    padding: 0px 10px 0px 20px;
    margin-bottom: 10px;
}

.PP_footer .PP_item_subtext div:nth-child(2) {
    margin-bottom: 20px;
}



.PP_custom .PP_footer .PP_item,
.PP_custom .PP_footer .PP_toggle,
.PP_custom .PP_footer h4,
.PP_custom .PP_footer ul li,
.PP_custom .PP_footer .PP_footer p {
    color: #fff;
}

.PP_custom .PP_footer .PP_aside {
    border-top: solid 1px rgba(255, 255, 255, 0.2);
}

.PP_custom .PP_footer .PP_aside:first-child {
    border-top: none;
}

.PP_custom .PP_footer .PP_toggle {
    background-color: rgba(255, 255, 255, 0.15);
}

.PP_custom .PP_footer .PP_link a:link {
    color: #39b8f8;
}

.PP_custom .PP_footer .PP_link a:visited {
    color: #30b1f1;
}

.PP_custom .PP_footer .PP_link a:hover {
    color: #aad7ff;
}

.PP_custom .PP_footer .PP_toggle_label button {
    color: #39b8f8 !important;
}

.PP_custom .PP_footer .PP_toggle_label button:hover {
    color: #e85082 !important;
}
