@charset "utf-8";

/* ------------------------------------------------------
RESET
------------------------------------------------------ */
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

details,
menu,
figcaption,
figure,
main,
article,
aside,
footer,
header,
nav,
section {
    display: block;
}

html,
body,
button,
input,
optgroup,
select,
textarea,
p,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
ul,
ol,
dl,
dt,
dd {
    margin: 0;
}

ul,
ol,
dl,
dd,
dt {
    list-style: none;
    padding: 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
    outline: none;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

dfn {
    font-style: italic;
}

mark {
    background-color: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

canvas,
audio,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    display: inline-block;
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

summary {
    display: list-item;
}

[hidden],
template {
    display: none;
}

picture {
    display: block;
}

/* ------------------------------------------------------
GENERAL
------------------------------------------------------ */
html {
    min-height: 100%;
}

body {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-text-size-adjust: 100%;
    min-height: 100%;
    color: #505050;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    /*  font-feature-settings: "palt" 1;*/
}

button,
input,
textarea,
label {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 13px;
}

::-webkit-input-placeholder {
    color: #b5b5b6;
}

:-ms-input-placeholder {
    color: #b5b5b6;
}

::placeholder {
    color: #b5b5b6;
}

.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}

*,
*::before,
*::after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    outline: none;
    color: #31a7e0;
}

a[href*="tel:"] {
    cursor: auto;
    text-decoration: none !important;
}

picture {
    display: block;
    font-size: 0;
}

img {
    max-width: 100%;
}

#wrapper {
    overflow: hidden;
}

.container {
    padding: 0 15px;
    margin: 0 auto;
}

hr {
    height: 1px;
    border: none;
    font-size: 0;
    width: 100%;
    background-color: #ccc;
    margin: 0;
}

@media screen and (max-width: 959px) {
    .pc {
        display: none !important;
    }
}

@media screen and (max-width: 599px) {
}

@media screen and (min-width: 600px) and (max-width: 767px) {
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .container {
        max-width: 797px;
    }
}

@media screen and (min-width: 960px) {
    body {
        font-size: 16px;
        line-height: 1.5;
    }

    .sp_tb,
    .sp {
        display: none !important;
    }

    .container {
        max-width: 1054px;
    }

    .hide_pc {
        display: none !important;
    }
}

/* ------------------------------------------------------
MODULE
------------------------------------------------------ */
.color-red {
    color: #ff0000 !important;
}

.bg_color-red {
    background-color: #ff0000 !important;
}

.bg_color-blue {
    background-color: #009cff !important;
}

.bg_color-green {
    background-color: #39b54a !important;
}

.bg_color-orange {
    background-color: #ff8400 !important;
}

.bg_color-purple {
    background-color: #ad71db !important;
}

.bg_color-white {
    background-color: #ffffff !important;
}

.align-center {
    text-align: center !important;
}

.align-left {
    text-align: left !important;
}

.align-right {
    text-align: right !important;
}

.align-center .button {
    margin: 0 auto !important;
}

/* Margin & Padding */
.mt--0 {
    margin-top: 0 !important;
}

.mb--0 {
    margin-bottom: 0 !important;
}

.mb--10 {
    margin-bottom: 10px !important;
}

.mb--18 {
    margin-bottom: 18px !important;
}

.mb--20 {
    margin-bottom: 20px !important;
}

.mb--30 {
    margin-bottom: 30px !important;
}

.mb--35 {
    margin-bottom: 35px !important;
}

.mb--52 {
    margin-bottom: 52px !important;
}

.pb--0 {
    padding-bottom: 0 !important;
}

.pl--0 {
    padding-left: 0 !important;
}

.pt--0 {
    padding-top: 0 !important;
}

@media screen and (max-width: 959px) {
    .mb--sp-0 {
        margin-bottom: 0 !important;
    }

    .mb--sp-10 {
        margin-bottom: 10px !important;
    }

    .mb--sp-15 {
        margin-bottom: 15px !important;
    }

    .mb--sp-18 {
        margin-bottom: 18px !important;
    }

    .mb--sp-20 {
        margin-bottom: 20px !important;
    }

    .mb--sp-25 {
        margin-bottom: 25px !important;
    }

    .mb--sp-30 {
        margin-bottom: 30px !important;
    }

    .mb--sp-35 {
        margin-bottom: 35px !important;
    }

    .mb--sp-40 {
        margin-bottom: 40px !important;
    }

    .mt--sp-30 {
        margin-top: 30px !important;
    }
}

@media screen and (min-width: 960px) {
    .mb--pc-0 {
        margin-bottom: 0 !important;
    }

    .mb--pc-10 {
        margin-bottom: 10px !important;
    }

    .mb--pc-15 {
        margin-bottom: 15px !important;
    }

    .mb--pc-20 {
        margin-bottom: 20px !important;
    }

    .mb--pc-25 {
        margin-bottom: 25px !important;
    }

    .mb--pc-30 {
        margin-bottom: 30px !important;
    }

    .mb--pc-35 {
        margin-bottom: 35px !important;
    }

    .mb--pc-40 {
        margin-bottom: 40px !important;
    }

    .mb--pc-45 {
        margin-bottom: 45px !important;
    }

    .mb--pc-50 {
        margin-bottom: 50px !important;
    }

    .mb--pc-60 {
        margin-bottom: 60px !important;
    }

    .mb--pc--10 {
        margin-bottom: -10px !important;
    }

    .mt--pc-20 {
        margin-top: 20px !important;
    }
}

/* ------------------------------------------------------
HEADER
------------------------------------------------------ */
#logo a {
    display: block;
    font-size: 0;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
}

.search_btn {
    display: block;
    background: #000 url(../img/ico_search60x65.png) no-repeat center center /
    30px 33px;
    width: 45px;
    height: 45px;
    border-radius: 7px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.search_inner {
    position: relative;
    padding: 50px 15px 0;
}

.search_inner form {
    margin-bottom: 16px;
    margin-right: 23px;
    display: block;
    position: relative;
}

.search_inner form input[type="text"] {
    background-color: #efefef;
    border-radius: 5px;
    border: 3px solid #fff;
    height: 47px;
    width: 100%;
    padding: 0 10px;
    outline: none;
    font-weight: 500;
    font-size: 16px;
}

.search_inner form input[type="submit"],
.search_inner form button {
    display: block;
    background: #000 url(../img/ico_search60x65.png) no-repeat center center /
    30px 33px;
    width: 41px;
    border: none;
    border-radius: 0 7px 7px 0;
    position: absolute;
    right: 3px;
    top: 3px;
    bottom: 3px;
    cursor: pointer;
}

.search_content h3 {
    color: #fce428;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: 7px;
}

.search_button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px;
    padding-bottom: 5px;
}

.search_button li {
    padding: 0 5px;
    width: 50%;
    margin-bottom: 10px;
}

.search_button a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    text-align: center;
    border-radius: 7px;
    background: #009cff url(../img/top/bg01.png) no-repeat center center / cover;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.2;
    height: 40px;
    padding: 0 5px 3px;
}

.search_button a span {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media screen and (max-width: 959px) {
    #header {
        background-color: #000;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        margin-top: 60vw;
        padding-bottom: 152px;
        position: relative;
        z-index: 2;
    }

    .header-nobg #header {
        background-color: #000;
        background-image: none !important;
        margin-top: 0;
        padding-bottom: 0;
    }

    .header-nobg .hbanner {
        display: none;
    }

    .header_top {
        background-image: none !important;
    }

    /*
    .is-sticky {
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 10;
        -webkit-transition: transform 0.4s ease;
        transition: transform 0.4s ease;
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
    }

    .is-sticky.stickied {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
     */

    .hbanner {
        height: 60vw;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 0;
    }

    .hbanner .code-block {
        height: 60vw;
    }

    .hbanner .code-block img {
        height: auto;
        width: 100%;
    }

    #header .container {
        position: relative;
    }

    #logo {
        padding-top: 4px;
        width: 155px;
        margin: 0 auto;
        font-size: 0;
    }

    #logo a {
        background-image: url(../img/svg/logo_sp.svg);
        width: 155px;
        height: 64px;
    }

    .hambuger_btn {
        position: absolute;
        left: 15px;
        top: 12px;
    }

    .hambuger_btn span {
        cursor: pointer;
        border: none;
        outline: none;
        width: 45px;
        height: 46px;
        background: #000 url(../img/hambuger.png) no-repeat center center / 33px 24px;
        padding: 0;
        display: block;
        border-radius: 7px;
        box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    }

    .hambuger_close {
        position: fixed;
        right: 25px;
        top: 22px;
        background: url(../img/close_nav.png) no-repeat 0 0 / 100% 100%;
        width: 26px;
        height: 26px;
        z-index: 1;
    }

    .search_wrap {
        position: absolute;
        right: 15px;
        top: 12px;
    }

    .search_content {
        position: fixed;
        left: 0;
        top: -320px;
        width: 100%;
        background: url(../img/bg_navsp.jpg) no-repeat 0 0 / 100% auto;
        z-index: 10;
        -webkit-transition: all 0.4s linear;
        transition: all 0.4s linear;
        opacity: 0;
    }

    body.search-opened {
        overflow: hidden;
    }

    body.search-opened .search_content {
        top: 0;
        opacity: 1;
    }

    .search_btn_close {
        position: absolute;
        right: 10px;
        top: 10px;
        background: url(../img/close_nav.png) no-repeat 0 0 / 100% 100%;
        width: 26px;
        height: 26px;
    }

    /* Main menu */
    .navbar {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        z-index: 15;
        background: url(../img/bg_navsp.jpg) no-repeat 0 0 / 100% auto;
    }

    .navbar.sp_tb {
        visibility: hidden;
        opacity: 0;
        left: -100%;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    body.opened {
        overflow: hidden;
    }

    body.opened .navbar.sp_tb {
        visibility: visible;
        opacity: 1;
        left: 0;
    }

    .navbar_inner {
        padding: 50px 15px 40px;
        height: 100%;
        overflow: auto;
        position: relative;
    }

    .nav_block {
        margin-bottom: 20px;
    }

    .menusp_list {
        line-height: 1.4;
        padding: 0 0 0 27px;
    }

    .menusp_list li {
        margin-bottom: 12px;
    }

    .menusp_list li:last-child {
        margin-bottom: 0;
    }

    .menusp_list a {
        color: #fff;
        font-weight: 500;
        font-size: 13px;
        text-decoration: none;
    }

    .nav_block h3 {
        position: relative;
        color: #fce428;
        font-weight: 500;
        font-size: 19px;
        padding: 0 0 0 27px;
        line-height: 1.4;
        margin-bottom: 8px;
    }

    .nav_block h3::before {
        content: "";
        position: absolute;
        left: 0;
        top: 4px;
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    .nav_block h3 a {
        text-decoration: none;
        color: #fce428;
    }

    .nav_block h3.icon1::before {
        background-image: url(../img/icon01.png);
        width: 19px;
        height: 16px;
        top: 8px;
    }

    .nav_block h3.icon2::before {
        background-image: url(../img/icon02.png);
        width: 20px;
        height: 19px;
    }

    .nav_block h3.icon3::before {
        background-image: url(../img/icon03.png);
        width: 20px;
        height: 14px;
        top: 7px;
    }

    .nav_block h3.icon4::before {
        background-image: url(../img/icon04.png);
        width: 19px;
        height: 16px;
        top: 7px;
    }

    .menusp_btn {
        padding-top: 10px;
    }

    .menusp_btn li {
        margin-bottom: 20px;
    }

    .menusp_btn a {
        background-color: #000;
        border: 1px solid #fff;
        display: block;
        border-radius: 7px;
        overflow: hidden;
        position: relative;
        height: 80px;
        text-align: center;
        padding: 4px 0;
    }

    .menusp_btn a::after {
        content: "";
        background: url(../img/arrow20x32.png) no-repeat 0 0 / 100% 100%;
        width: 10px;
        height: 16px;
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -8px;
    }

    .menusp_btn img {
        max-width: 201px;
    }

    .menusp_btn_text li {
        margin-bottom: 20px;
    }

    .menusp_btn_text a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: center !important;
        align-items: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        border: 1px solid #fff;
        border-radius: 7px;
        height: 80px;
        font-weight: 500;
        font-size: 19px;
        color: #fff;
        line-height: 1.3;
        background: #000;
        text-decoration: none;
        position: relative;
        text-align: center;
        padding: 0 10px 2px;
    }

    .menusp_btn_text a::after {
        content: "";
        background: url(../img/arrow20x32.png) no-repeat 0 0 / 100% 100%;
        width: 10px;
        height: 16px;
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -8px;
    }

    .menusp_text_link {
        padding: 7px 25px 30px;
        font-weight: 300;
        line-height: 1.4;
    }

    .menusp_text_link li {
        margin-bottom: 10px;
    }

    .menusp_text_link a {
        font-size: 12px;
        color: #fefefe;
        text-decoration: none;
    }

    .hsocial_sp {
        font-size: 0;
        text-align: center;
    }

    .hsocial_sp li {
        display: inline-block;
        vertical-align: middle;
        padding: 0 7px;
    }

    .hsocial_sp img {
        width: 40px;
        height: auto;
    }

    .hsocial_sp .hsocial_spyt img {
        width: 45px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .hbanner {
        display: none;
    }

    #header {
        margin-top: 0;
    }

    .header_top > .container,
    .is-sticky .container {
        max-width: inherit;
    }

    .nav_center {
        margin: 0 auto;
        width: 50%;
    }
}

@media screen and (min-width: 960px) {
    #header {
        background: none !important;
    }

    #logo a {
        width: 237px;
        height: 100px;
        background-image: url(../img/svg/logo.svg);
        margin: 0 auto;
    }

    .header_top {
        background-color: #000;
        background-repeat: no-repeat;
        background-position: center top;
        background-size: auto;
        height: 140px;
        padding-top: 26px;
    }

    .header_top .container {
        position: relative;
    }

    .search_wrap {
        position: absolute;
        right: 15px;
        bottom: -74px;
        z-index: 7;
    }

    .search_btn {
        box-shadow: none;
        border: 4px solid #000;
        background-color: #fff;
        background-image: url(../img/ico_search27x29_black.png);
        background-size: auto;
        width: 48px;
        height: 48px;
        cursor: pointer;
        -webkit-transition: background 0.3s ease;
        transition: background 0.3s ease;
    }

    body.search-opened .search_wrap .search_btn,
    .search_wrap:hover .search_btn {
        background-color: #000;
        background-image: url(../img/ico_search27x29_white.png);
    }

    body.search-opened .search_wrap .search_btn {
        border-radius: 7px 7px 0 0;
    }

    .search_content {
        background: url(../img/bg_search.jpg) no-repeat 0 0;
        width: 572px;
        height: 242px;
        position: absolute;
        right: 0;
        bottom: auto;
        opacity: 0;
        visibility: hidden;
        z-index: 0;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    body.search-opened .search_wrap .search_content {
        opacity: 1;
        visibility: visible;
        z-index: 1;
    }

    .search_inner {
        padding: 30px 40px 20px;
    }

    .search_content h3 {
        font-size: 16px;
        margin-bottom: 8px;
    }

    .search_button {
        padding-bottom: 0;
    }

    .search_btn_close {
        display: none;
    }

    .search_inner form {
        margin-bottom: 17px;
        margin-right: 0;
    }

    .search_inner form input[type="text"] {
        height: 40px;
        border-width: 2px;
        border-radius: 7px;
        font-size: 16px;
        font-weight: 500;
    }

    .search_inner form input[type="submit"],
    .search_inner form button {
        width: 44px;
        top: 2px;
        bottom: 2px;
        right: 2px;
        background-image: url(../img/ico_search24x26_white.png);
        background-size: auto;
    }

    .search_button a {
        height: 44px;
        font-size: 16px;
        font-weight: 700;
        position: relative;
        overflow: hidden;
        border: 1px solid #009cff;
        background-image: url(../img/bg03.jpg);
        background-size: auto;
    }

    .search_button a span {
        position: relative;
        z-index: 1;
    }

    .search_button a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: url(../img/bg03_o.jpg) no-repeat 0 0;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .search_button a:hover::after {
        opacity: 1;
    }

    .hsocial {
        font-size: 0;
        position: absolute;
        right: 70px;
        top: 50%;
        margin-top: -13px;
    }

    .hsocial li {
        display: inline-block;
        vertical-align: middle;
        padding: 0 4px;
    }

    .hsocial li a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .hsocial li a:hover {
        opacity: 0.7;
    }

    /* Main menu */
    .navbar {
        background: #f6ff00 url(../img/bg_nav.jpg) no-repeat center top;
    }

    .navbar .container {
        position: relative;
    }

    .mainmenu {
        width: 780px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .mainmenu > .nav3,
    .mainmenu > .nav2 {
        width: 200px;
    }

    .mainmenu > .nav1 {
        width: 202px;
    }

    .mainmenu > .nav4 {
        width: 178px;
    }

    .mainmenu > li > a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        font-size: 0;
        position: relative;
        height: 73px;
    }

    .mainmenu > li > a::after {
        content: "";
        width: 2px;
        background-color: #000;
        position: absolute;
        right: 0;
        top: 7px;
        bottom: 7px;
    }

    .mainmenu > li > a img {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        position: relative;
        z-index: 1;
    }

    .mainmenu > .nav1 > a img {
        max-width: 185px;
    }

    .mainmenu > .nav2 > a img {
        max-width: 176px;
    }

    .mainmenu > .nav3 > a img {
        max-width: 174px;
    }

    .mainmenu > .nav4 > a img {
        max-width: 143px;
    }

    .mainmenu > li > a span {
        display: block;
        background-repeat: no-repeat;
        background-position: 0 0;
        margin: 0 auto;
        position: relative;
        z-index: 1;
        -webkit-transition: transform 0.3s linear;
        transition: transform 0.3s linear;
    }

    .mainmenu > li:hover > a img {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
        -webkit-filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, 0.3));
        filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, 0.3));
    }

    .mainmenu > li:hover > a span {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    .mainmenu > .nav1 > a span {
        background-image: url(../img/svg/nav01.svg);
        width: 185px;
        height: 54px;
    }

    .mainmenu > .nav2 > a span {
        background-image: url(../img/svg/nav02.svg);
        width: 176px;
        height: 51px;
    }

    .mainmenu > .nav3 > a span {
        background-image: url(../img/svg/nav03.svg);
        width: 199px;
        height: 73px;
    }

    .mainmenu > .nav4 > a span {
        background-image: url(../img/svg/nav04.svg);
        width: 143px;
        height: 45px;
    }

    .avbar.pc {
        position: relative;
    }

    .childmenu {
        position: absolute;
        left: 15px;
        right: 15px;
        top: 62px;
        padding-top: 20px;
        -webkit-transition: all 0.4s ease-out 0.1s;
        transition: all 0.4s ease-out 0.1s;
        visibility: hidden;
        z-index: 0;
        opacity: 0;
    }

    .mainmenu > li:hover > .childmenu {
        z-index: 8;
        visibility: visible;
        opacity: 1;
    }

    .childinner {
        background-color: #000;
        border: 4px solid #39b54a;
        padding: 15px 15px 2px;
        position: relative;
    }

    .childinner::before {
        content: "";
        width: 24px;
        height: 26px;
        position: absolute;
        left: 288px;
        top: -24px;
        background: url(../img/arrow_nav.png) no-repeat 0 0;
    }

    .nav3 .childinner {
        border-color: #009cff;
    }

    .nav3 .childinner::before {
        background-image: url(../img/arrow_nav02.png);
        left: 488px;
    }

    .childmenu ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -5px;
    }

    .childmenu ul li {
        padding: 0 5px;
        width: 16.6667%;
        margin-bottom: 10px;
    }

    .childmenu ul span,
    .childmenu ul a,
    .childmenu ul img {
        display: block;
        outline: none;
        text-decoration: none;
    }

    .childmenu ul a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .childmenu ul a:hover {
        opacity: 0.5;
    }

    .childmenu ul img {
        max-height: 78px;
        max-width: 100%;
        margin: 0 auto 6px;
    }

    .childmenu ul span {
        color: #fff;
        font-size: 12px;
        max-height: 38px;
        overflow: hidden;
    }
}

@media screen and (min-width: 960px) and (max-width: 1023px) {
    .hsocial {
        right: 70px;
    }
}

/* ------------------------------------------------------
MAIN
------------------------------------------------------ */
#main {
    background-position: top center;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.archive_main_visual {
    margin-bottom: 10px;
}

.archive_main_visual img {
    width: 100%;
}

.title_main {
    color: #505050;
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 8px;
}

.title_head2 {
    color: #505050;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}

.banner {
    font-size: 0;
    text-align: center;
    margin-bottom: 20px;
}

.btn_more {
    margin-bottom: 20px;
}

.btn_more a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    font-weight: 500;
    font-size: 19px;
    line-height: 1.2;
    color: #174da5;
    text-align: center;
    border: 1px solid #174da5;
    border-radius: 7px;
    padding: 0 5px 2px;
    height: 45px;
}

.btn_more-arrow {
    margin-bottom: 0;
}

.btn_more-arrow a {
    height: 35px;
    font-size: 15px;
    color: #174da5;
    background-color: #fff;
    position: relative;
    width: 207px;
    margin: 0 auto;
}

.btn_more-arrow a::after {
    content: "";
    background: url(../img/arrow20x32_blue.png) no-repeat 0 0 / 100% 100%;
    position: absolute;
    right: 5px;
    top: 50%;
    width: 10px;
    height: 16px;
    margin-top: -8px;
}

.btn_more-img {
    font-size: 0;
    margin-bottom: 20px;
    margin-top: 40px;
}

.btn_more-img a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    height: 45px;
    text-decoration: none;
    background-color: #ff0000;
    border-radius: 7px;
}

.btn_more-img a img {
    width: 193px;
}

@media screen and (max-width: 959px) {
    .header-nobg #main {
        padding-top: 23px;
    }

    #main {
        background-size: 375px auto;
        background-repeat: repeat;
        background-position: 0 0;
    }
}

@media screen and (max-width: 767px) {
    #main {
        background-image: url(../img/bg_main_sp.png);
        padding-bottom: 1px;
    }
}

@media screen and (min-width: 768px) {
    #main {
        background-image: url(../img/bg_main.png);
        background-repeat: repeat;
        background-size: auto;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .title_main {
        font-size: 30px;
        line-height: 38px;
        margin-bottom: 18px;
    }

    .title_head2 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 960px) {

    #content {
        float: left;
        width: 70.7031%;
        padding-right: 60px;
    }

    #sidebar {
        float: right;
        width: 29.2969%;
    }

    .archive_main_visual {
        margin-bottom: 20px;
    }

    .title_main {
        margin-top: -7px;
        font-size: 30px;
        margin-bottom: 18px;
    }

    .title_head2 {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .banner {
        margin-bottom: 40px;
    }

    .btn_more {
        margin-bottom: 20px;
    }

    .btn_more a {
        border-width: 2px;
        width: 400px;
        height: 50px;
        font-size: 20px;
        margin: 0 auto;
        -webkit-transition: background 0.3s ease, color 0.3s ease;
        transition: background 0.3s ease, color 0.3s ease;
    }

    .btn_more a:hover {
        background-color: #174da5;
        color: #fff;
    }

    .btn_more-img {
        margin: 0 auto;
        width: 400px;
    }

    .btn_more-img a {
        -webkit-transition: background 0.3s ease;
        transition: background 0.3s ease;
        width: 400px;
        height: 50px;
    }

    .btn_more-img a:hover {
        background-color: #000;
    }
}

/* Attention page */
.attention-page {
    background-position: center center;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.attention_content {
    height: 100%;
    padding: 15px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    text-align: center;
}

.icon_surp {
    display: block;
    font-size: 0;
    margin: 0 auto;
    background: url(../img/ico_surp180x180.png) no-repeat 0 0 / 100% 100%;
    width: 90px;
    height: 90px;
    margin-bottom: 15px;
}

.age_head {
    margin-bottom: 45px;
}

.age_head h2 {
    color: #ff0000;
    font-size: 37px;
    line-height: 1.3;
}

.age_text {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 25px;
}

.age_note {
    color: #ff0000;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.35;
}

.age_btn {
    margin-top: 50px;
}

.age_btn a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 1.25;
    border: 1px solid #000;
    margin-top: 20px;
    height: 45px;
    font-size: 19px;
    font-weight: 700;
    border-radius: 6px;
    padding-bottom: 2px;
}

.age_btn-red {
    background-color: #ff0000;
}

.age_btn-blue {
    background-color: #31a7e0;
}

@media screen and (max-width: 767px) {
    .attention-page {
        background-image: url(../img/bg_main_sp.png);
    }
}

@media screen and (min-width: 768px) {
    .attention-page {
        background-image: url(../img/bg_main.png);
        background-repeat: repeat;
        background-size: auto;
    }
}

@media screen and (min-height: 600px) {
    .attention-page {
        overflow: hidden;
    }

    .attention_content {
        height: 100vh;
    }
}

@media screen and (min-width: 960px) {
    .icon_surp {
        width: 120px;
        height: 120px;
        background-image: url(../img/ico_surp120x120.png);
        margin-bottom: 20px;
    }

    .age_head {
        margin-bottom: 60px;
    }

    .age_head h2 {
        font-size: 50px;
    }

    .age_text {
        line-height: 1.3;
        font-size: 30px;
        margin-bottom: 33px;
    }

    .age_note {
        font-size: 38px;
    }

    .age_btn {
        margin-top: 70px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }

    .age_btn a {
        font-size: 18px;
        border-width: 2px;
        margin: 0;
        width: 260px;
        height: 60px;
        -webkit-transition: background 0.3s ease, color 0.3s ease;
        transition: background 0.3s ease, color 0.3s ease;
    }

    .age_btn-red:hover {
        color: #ff0000;
        background-color: #000;
    }

    .age_btn-blue:hover {
        color: #31a7e0;
        background-color: #000;
    }
}

/* Breadscrumb */
.breadscrumb {
    display: none;
}

@media screen and (min-width: 960px) {
    .breadscrumb {
        display: block;
        margin: 0 auto;
        padding: 18px 15px 26px;
        max-width: 1054px;
        font-size: 12px;
        color: #898989;
    }

    .breadscrumb a {
        color: #31a7e0;
        text-decoration: underline;
        font-weight: 500;
        position: relative;
        margin-right: 14px;
    }

    .breadscrumb a::after {
        content: ">";
        position: absolute;
        right: -10px;
        top: 50%;
        color: #898989;
        line-height: 1;
        margin-top: -6px;
    }

    .breadscrumb a:hover {
        text-decoration: none;
    }
}

/* Visual */
.mv_slides {
    /*margin-bottom: 28px;*/
}

.mv_slides .swiper-container {
    border-top: 5px solid #000;
}

.mv_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv_item a {
    display: block;
    text-decoration: none;
}

.mv_thumb {
    overflow: hidden;
    font-size: 0;
}

.mv_content {
    background-color: #000;
    padding: 12px 15px 13px;
}

.mv_item h3 {
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    display: block;
    display: -webkit-box;
    max-height: 65px;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mv_slides .mv-pagination {
    font-size: 0;
    text-align: center;
    margin-top: 0;
}

.mv_slides .swiper-pagination-bullet {
    background: #B40000;
    opacity: 1;
    /*width: 40px;*/
    /*height: 10px;*/
    /*border-radius: 0;*/
    /*margin: 0 5px !important;*/
    /*opacity: 1;*/
    /*outline: none;*/
}

.mv_slides .swiper-pagination-bullet-active {
    background: #00FF00;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .mv_item h3 {
        font-size: 20px;
        line-height: 1.5;
        max-height: 95px;
    }
}

@media screen and (min-width: 960px) {
    .mv_slides {
        margin-bottom: 60px;
    }

    .mv_slides .swiper-container {
        border-top: 10px solid #000;
        padding-bottom: 30px;
    }

    .mv_slides .swiper-pagination-bullet {
        /*width: 60px;*/
    }

    .mv_item {
        width: 40vw;
    }

    .mv_item a {
        position: relative;
    }

    .mv_thumb img {
        -webkit-transition: transform 0.4s ease-out;
        transition: transform 0.4s ease-out;
    }

    .mv_item:hover .mv_thumb img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    .mv_content {
        background-color: rgba(255, 255, 255, 0.9);
        padding: 3px 65px 5px;
    }

    .mv_item h3 {
        font-size: 24px;
        line-height: 1.5;
        color: #000;
        max-height: 77px;
        -webkit-line-clamp: 2;
    }

    .mv_slides .mv-pagination {
        border-top: 10px solid #000;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-top: 0;
        padding-top: 10px;
    }

    .mv-button-next {
        display: block;
        position: absolute;
        left: -32px;
        top: 50%;
        margin-top: -44px;
        z-index: 5;
        background: url(../img/mv_next.png) no-repeat 0 0;
        width: 87px;
        height: 88px;
        outline: none;
        cursor: pointer;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .mv-button-prev {
        display: block;
        position: absolute;
        right: -40px;
        top: 50%;
        margin-top: -44px;
        z-index: 5;
        background: url(../img/mv_prev.png) no-repeat 0 0;
        width: 87px;
        height: 88px;
        outline: none;
        cursor: pointer;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .mv-button-prev:hover,
    .mv-button-next:hover {
        opacity: 0.7;
    }

    .mv_next_wrap {
        position: absolute;
        right: 0;
        width: calc(100% / 2.6 * 0.8); /* 100% / slidesPerViewの値 * 表示率 */
        top: 0;
        bottom: 30px;
        z-index: 5;
        background-color: rgba(0, 0, 0, 0);
    }

    .mv_prev_wrap {
        position: absolute;
        left: 0;
        width: calc(100% / 2.6 * 0.8);
        top: 0;
        bottom: 30px;
        z-index: 5;
        background-color: rgba(0, 0, 0, 0);
    }
}

/* button_cat & button_cont */
.button_cat {
    font-size: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -3px 8px;
}

.button_cat li {
    width: 33.3334%;
    padding: 0 3px;
}

.button_cat li img {
    width: 100%;
}

.button_cont {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -3px 24px;
}

.button_cont li {
    padding: 0 3px;
    width: 50%;
    margin-bottom: 6px;
}

.button_cont li a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    text-align: center;
    border-radius: 7px;
    background: #009cff url(../img/top/bg01.png) no-repeat center center / cover;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.2;
    height: 40px;
    padding: 0 5px;
}

.button_cont li a span {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media screen and (min-width: 600px) {
    .button_cont li a {
        font-size: 15px;
    }
}

/* article */
.article {
    border-bottom: 1px solid #dcdddd;
    margin-bottom: 20px;
    padding-bottom: 18px;
}

.article_thumb {
    position: relative;
    line-height: 1;
    font-size: 0;
}

.article_thumb > a {
    display: block;
    margin-bottom: 5px;
    overflow: hidden;
    position: relative;
}

.article_thumb img {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.article_rank {
    width: 6.93334vw;
    height: 6.93334vw;
    font-size: 0;
    position: absolute;
    left: 8px;
    top: 8px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
}

.article_rank.rank1 {
    background-image: url(../img/rank01_sp.png);
    width: 8.6667vw;
    height: 7.4667vw;
    top: 5px;
    left: 4px;
}

.article_rank.rank2 {
    background-image: url(../img/rank02_sp.png);
    width: 8.6667vw;
    height: 7.4667vw;
    top: 5px;
    left: 4px;
}

.article_rank.rank3 {
    background-image: url(../img/rank03_sp.png);
    width: 8.6667vw;
    height: 7.4667vw;
    top: 5px;
    left: 4px;
}

.article_rank.rank4 {
    background-image: url(../img/rank04_sp.png);
}

.article_rank.rank5 {
    background-image: url(../img/rank05_sp.png);
}

.article_rank.rank6 {
    background-image: url(../img/rank06_sp.png);
}

.article_rank.rank7 {
    background-image: url(../img/rank07_sp.png);
}

.article_rank.rank8 {
    background-image: url(../img/rank08_sp.png);
}

.article_rank.rank9 {
    background-image: url(../img/rank09_sp.png);
}

.article_rank.rank10 {
    background-image: url(../img/rank10_sp.png);
}

.article_meta_cat {
    display: inline-block;
    line-height: 1;
    background-color: #ff0000;
    color: #fff;
    font-weight: 700;
    font-size: 3.4667vw;
    padding: 1px 5px 0;
    text-align: center;
    min-width: 26.6667vw;
    height: 4.2667vw;
}

.article_title {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
}

.article_title a {
    color: #505050;
    text-decoration: none;
}

.article_title a span {
    display: block;
    display: -webkit-box;
    max-height: 110px;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article_deadline {
    font-weight: 500;
}

.ellipsis_test {
    font-size: 13px;
    display: block;
    display: -webkit-box;
    max-height: 110px;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.article_meta_date {
    font-size: 10px;
    color: #898989;
    line-height: 18px;
    margin-top: 2px;
}

.pr_swiper .article-slide-small .article_meta_date {
    color: #b5b5b6;
}

.pr_swiper .article-slide-small .article_title a,
.chanel_slider .article-slide-large .article_meta_date,
.chanel_slider .article-slide-large .article_title a,
.manga_slider .article-slide-large .article_meta_date,
.manga_slider .article-slide-large .article_title a {
    color: #fff;
}

.pr_swiper .article-slide-small .article_title,
.chanel_slider .article-slide-large .article_title,
.manga_slider .article-slide-large .article_title {
    color: #fff;
}

.pr_swiper .article-slide-small .article_title a span,
.chanel_slider .article-slide-large .article_title a span,
.manga_slider .article-slide-large .article_title a span {
    -webkit-line-clamp: 4;
    max-height: 75px;
}

.pr_swiper .article-slide-small .article_thumb {
    margin-bottom: 8px;
}

.pr_swiper .article-slide-small .article_thumb > a {
    margin-bottom: 10px;
}

@media screen and (max-width: 959px) {
    .article:not(.article-feature) {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .article:not(.article-feature) .article_thumb {
        width: 50%;
    }

    .article:not(.article-feature) .article_content {
        width: 50%;
        padding-left: 12px;
    }

    .article-feature .article_thumb {
        margin-bottom: 16px;
    }

    .article_rank {
        max-width: 52px;
        max-height: 52px;
    }

    .article_rank.rank1,
    .article_rank.rank2,
    .article_rank.rank3 {
        max-width: 65px;
        max-height: 56px;
    }

    .article-feature .article_meta_cat {
        position: absolute;
        left: 0;
        bottom: -10px;
    }

    .show-sp-5 .article:nth-child(1n + 6) {
        display: none;
    }

    body:not(.home) .article:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .pr_swiper .article-slide-small,
    .chanel_slider .article-slide-large,
    .manga_slider .article-slide-large {
        display: block;
    }

    .pr_swiper .article-slide-small .article_thumb,
    .chanel_slider .article-slide-large .article_thumb,
    .manga_slider .article-slide-large .article_thumb {
        width: 100%;
    }

    .pr_swiper .article-slide-small .article_content,
    .chanel_slider .article-slide-large .article_content,
    .manga_slider .article-slide-large .article_content {
        width: 100%;
        padding: 0;
    }

    .category_article .article:last-child {
        border-bottom: 1px solid #dcdddd;
        padding-bottom: 18px;
        margin-bottom: 0;
    }

    .article_deadline {
        font-size: 13px;
    }
}

@media screen and (max-width: 599px) {
    .article-feature .article_title a span {
        -webkit-line-clamp: 3;
        max-height: 55px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .article_title {
        font-size: 16px;
        line-height: 24px;
    }

    .article_deadline {
        font-size: 16px;
    }

    .article_title a span {
        max-height: 148px;
    }

    .article-feature .article_title a span {
        max-height: 75px;
    }

    .article_meta_date {
        font-size: 12px;
    }

    .chanel_slider .article-slide-large .article_title a span,
    .manga_slider .article-slide-large .article_title a span {
        max-height: 98px;
    }

    .pr_swiper .article-slide-small .article_title a span {
        max-height: 98px;
    }

    .article_meta_cat {
        font-size: 12px;
        min-width: 100px;
        height: 16px;
    }
}

@media screen and (min-width: 960px) {
    .article_list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px 20px;
    }

    .article_list .article {
        border: none;
        padding: 0 10px;
        width: 50%;
        margin-bottom: 40px;
    }

    .article_thumb {
        margin-bottom: 14px;
    }

    .article_thumb > a {
        margin-bottom: 0;
    }

    .article_thumb > a::after {
        content: "";
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .article:hover .article_thumb > a::after {
        opacity: 0.5;
    }

    .article_rank {
        width: 38px;
        height: 38px;
        left: 13px;
        top: 13px;
    }

    .article_rank.rank1 {
        background-image: url(../img/rank01.png);
        width: 49px;
        height: 43px;
        top: 10px;
        left: 7px;
    }

    .article_rank.rank2 {
        background-image: url(../img/rank02.png);
        width: 49px;
        height: 43px;
        top: 10px;
        left: 7px;
    }

    .article_rank.rank3 {
        background-image: url(../img/rank03.png);
        width: 49px;
        height: 43px;
        top: 10px;
        left: 7px;
    }

    .article_rank.rank4 {
        background-image: url(../img/rank04.png);
    }

    .article_rank.rank5 {
        background-image: url(../img/rank05.png);
    }

    .article_rank.rank6 {
        background-image: url(../img/rank06.png);
    }

    .article_rank.rank7 {
        background-image: url(../img/rank07.png);
    }

    .article_rank.rank8 {
        background-image: url(../img/rank08.png);
    }

    .article_rank.rank9 {
        background-image: url(../img/rank09.png);
    }

    .article_rank.rank10 {
        background-image: url(../img/rank10.png);
    }

    .article_content {
        border-bottom: 2px solid #dcdddd;
        padding-bottom: 18px;
    }

    body.single-manga_info .article:last-child,
    body.single-manga_info .article:nth-last-child(2),
    body.archive .article:last-child,
    body.archive .article:nth-last-child(2) {
        margin-bottom: 0;
    }

    body.single-manga_info .article:nth-last-child(2) .article_content,
    body.single-manga_info .article:last-child .article_content,
    body.archive .article:nth-last-child(2) .article_content,
    body.archive .article:last-child .article_content {
        border-bottom: none;
        padding-bottom: 0;
    }

    .show-border-bot .article:nth-last-child(2) .article_content,
    .show-border-bot .article:last-child .article_content,
    .category_article .article:nth-last-child(2) .article_content,
    .category_article .article:last-child .article_content {
        border-bottom: 2px solid #dcdddd;
        padding-bottom: 18px;
    }

    .article_title {
        font-size: 16px;
        line-height: 24px;
    }

    .article_title a span {
        max-height: 100px;
    }

    #content .article_title a span {
        -webkit-line-clamp: 4;
        height: 97px;
    }

    .article_deadline,
    .article_title a {
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .article:hover .article_deadline,
    .article:hover .article_title a {
        color: #ff0000;
    }

    .article_meta_date {
        font-size: 12px;
    }

    .article_meta_cat {
        min-width: 80px;
        height: 18px;
        font-size: 12px;
        padding-top: 2px;
        position: absolute;
        left: 0;
        bottom: 0;
    }

    .article_meta_cat::after {
        content: "";
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .article:hover .article_meta_cat::after {
        opacity: 0.5;
    }

    .pr_wrap .article_thumb {
        margin-bottom: 0;
    }
}

/* Pagenavi */
.pagenavi {
    text-align: center;
    padding-bottom: 10px;
}

.wp-editor + .pagenavi {
    margin: 30px 0;
}

.pagenavi_number {
    font-weight: 700;
    font-size: 12px;
    margin-bottom: 10px;
    color: #000;
}

.pagenavi_list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.pagenavi_list a,
.pagenavi_list span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    line-height: 1;
    font-weight: 600;
    font-size: 12px;
    border: 2px solid #000;
    width: 40px;
    height: 40px;
    margin: 0 7px 14px;
    color: #000;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
}

.pagenavi_list span {
    color: #ffff00;
    background-color: #000;
}

@media screen and (max-width: 959px) {
    .pagenavi a.page_num {
        display: none;
    }
}

@media screen and (min-width: 960px) {
    .pagenavi {
        padding-bottom: 0;
    }

    .wp-editor + .pagenavi {
        margin: 40px 0;
    }

    .pagenavi_number {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .pagenavi_list a,
    .pagenavi_list span {
        font-size: 16px;
        border-width: 4px;
        width: 56px;
        height: 56px;
        margin: 0 3.5px;
    }

    .pagenavi_list a {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .pagenavi_list a:hover {
        color: #ffff00;
        background-color: #000;
    }
}

/* Banner Tag */
.banner_tag {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -7px 14px;
}

.banner_tag li {
    width: 50%;
    padding: 0 7px;
    font-size: 0;
    margin-bottom: 14px;
}

.banner_tag li a {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    height: 100%;
}

.banner_tag li img {
    max-width: 100%;
}

@media screen and (max-width: 599px) {
    .banner_tag li a {
        height: 22.06667vw;
    }

    .banner_tag li img {
        max-height: 22.06667vw;
    }
}

@media screen and (min-width: 600px) and (max-width: 796px) {
    .banner_tag li a {
        height: 23.16667vw;
    }

    .banner_tag li img {
        max-height: 23.16667vw;
    }
}

@media screen and (min-width: 797px) and (max-width: 959px) {
    .banner_tag li a {
        height: 188px;
    }

    .banner_tag li img {
        max-height: 188px;
    }
}

@media screen and (min-width: 960px) {
    .banner_tag {
        margin: 0 -8px 26px;
    }

    .banner_tag li {
        width: 25%;
        padding: 0 8px;
        margin-bottom: 16px;
    }

    .banner_tag li a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .banner_tag li a:hover {
        opacity: 0.5;
    }
}

@media screen and (min-width: 960px) and (max-width: 1053px) {
    .banner_tag li img {
        max-height: 7.15521vw;
    }
}

@media screen and (min-width: 1054px) {
    .banner_tag li img {
        max-height: 77px;
    }
}

/* Mangaweek */
.icon_today {
    font-size: 0;
    background: url(../img/ico_today.png) no-repeat 0 0 / 100% 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 20.6667vw;
    height: 19.8667vw;
    max-width: 155px;
    max-height: 149px;
}

.icon_new {
    font-size: 0;
    width: 10.2667vw;
    height: 8.26667vw;
    background: url(../img/ico_new_sp.png) no-repeat 0 0 / 100% 100%;
    position: absolute;
    right: 0;
    top: 0;
}

.mangaweek {
    margin-bottom: 7px;
}

.mangaweek_feature {
    margin-bottom: 15px;
}

.mangaweek_feature figure {
    border: 4px solid #000;
    margin-bottom: 5px;
    position: relative;
}

.mangaweek_feature figure a {
    display: block;
    overflow: hidden;
    position: relative;
}

.mangaweek_feature img {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.mangaweek_feature h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.mangaweek_feature h3 a {
    color: #ff0000;
    text-decoration: none;
}

.mangaweek_list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px;
}

.mangaweek_list li {
    width: 50%;
    padding: 0 5px;
    margin-bottom: 13px;
}

.mangaweek_list h2 {
    margin-bottom: 3px;
}

.mangaweek_list h2 img {
    display: block;
    width: 100%;
}

.mangaweek_item p,
.mangaweek_title {
    color: #505050;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
}

.mangaweek_feature h3 a,
.mangaweek_item p,
.mangaweek_title a {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

.mangaweek_title a {
    text-decoration: none;
    color: #505050;
}

.mangaweek_date {
    font-size: 10px;
    color: #898989;
    margin-top: 1px;
}

.mangaweek_thumb {
    font-size: 0;
    margin-bottom: 2px;
    position: relative;
}

.mangaweek_thumb a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    width: 100%;
    height: 23.6vw;
}

.serial_commic {
    margin-bottom: 30px;
}

.serial_commic h2 {
    font-size: 0;
    margin-bottom: 2px;
}

.serial_commic h2 img {
    width: 100%;
}

@media screen and (max-width: 959px) {
    .icon_new {
        max-width: 77px;
        max-height: 62px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .mangaweek {
        margin-bottom: 40px;
    }

    .mangaweek_feature {
        margin-bottom: 30px;
    }

    .mangaweek_feature figure {
        margin-bottom: 7px;
    }

    .mangaweek_feature h3 {
        font-size: 24px;
        line-height: 30px;
    }

    .mangaweek_item p,
    .mangaweek_title {
        font-size: 16px;
        line-height: 24px;
    }

    .mangaweek_date {
        font-size: 12px;
        line-height: 18px;
    }

    .mangaweek_list li {
        margin-bottom: 18px;
    }
}

@media screen and (min-width: 960px) {
    .icon_today {
        width: 155px;
        height: 149px;
    }

    .icon_new {
        background-image: url(../img/ico_new.png);
        width: 70px;
        height: 56px;
    }

    .mangaweek {
        margin-bottom: 62px;
    }

    .mangaweek_feature {
        margin-bottom: 40px;
    }

    .mangaweek_feature figure {
        margin-bottom: 7px;
        border-width: 6px;
    }

    .mangaweek_feature figure a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .mangaweek_feature h3 {
        font-size: 30px;
    }

    .mangaweek_list {
        margin: 0 -10px;
    }

    .mangaweek_list li {
        padding: 0 10px;
        margin-bottom: 22px;
    }

    .mangaweek_thumb {
        margin-bottom: 5px;
    }

    .mangaweek_thumb a {
        height: 161px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .mangaweek_item p,
    .mangaweek_title {
        font-size: 16px;
        line-height: 1.5;
    }

    .mangaweek_date {
        font-size: 12px;
        line-height: 18px;
    }

    .mangaweek_feature:hover h3 a,
    .mangaweek_item:hover p,
    .mangaweek_item:hover .mangaweek_title a {
        color: #ff0000;
    }

    .mangaweek_feature:hover figure a,
    .mangaweek_item:hover .mangaweek_thumb a {
        opacity: 0.5;
    }

    .serial_commic .mangaweek_list li {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 599px) {
    .mangaweek_thumb a {
        height: 22.4vw;
    }

    .mangaweek_thumb a img {
        max-height: 22.4vw;
    }
}

@media screen and (min-width: 600px) and (max-width: 796px) {
    .mangaweek_thumb a {
        height: 23.59833vw;
    }

    .mangaweek_thumb a img {
        max-height: 23.59833vw;
    }
}

@media screen and (min-width: 797px) and (max-width: 959px) {
    .mangaweek_thumb a {
        height: 189px;
    }

    .mangaweek_thumb a img {
        max-height: 189px;
    }
}

@media screen and (min-width: 960px) and (max-width: 1053px) {
    .mangaweek_thumb a {
        height: 15vw;
    }

    .mangaweek_thumb a img {
        max-height: 15vw;
    }
}

@media screen and (min-width: 1054px) {
    .mangaweek_thumb a {
        height: 161px;
    }

    .mangaweek_thumb a img {
        max-height: 161px;
    }
}

/* Article detail */
.article_detail h1 {
    color: #505050;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.1667;
    margin-bottom: 7px;
}

/*.article_detail h2 {*/
/*    position: relative;*/
/*    padding: 0 0 0 45px;*/
/*    color: #ff0000;*/
/*    font-size: 18px;*/
/*    font-weight: 700;*/
/*    line-height: 1.266;*/
/*    margin-bottom: 20px;*/
/*    min-height: 41px;*/
/*    display: -ms-flexbox;*/
/*    display: flex;*/
/*    -ms-flex-wrap: wrap;*/
/*    flex-wrap: wrap;*/
/*    -ms-flex-align: center !important;*/
/*    align-items: center !important;*/
/*    background: url(../img/line01.png) no-repeat left bottom;*/
/*}*/

/*.article_detail h2::before {*/
/*    content: "";*/
/*    background: url(../img/coro81x81.png) no-repeat 0 0 / 100% 100%;*/
/*    width: 41px;*/
/*    height: 41px;*/
/*    position: absolute;*/
/*    left: 0;*/
/*    top: 2px;*/
/*}*/

.article_detail h3 {
    color: #ff0000;
    position: relative;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.266;
    margin-bottom: 20px;
    background: url(../img/line04.png) no-repeat left bottom;
}

.article_detail p {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 18px;
    color: #505050;
}

.article_detail .article_cat {
    line-height: 1;
    margin-bottom: 8px;
}

.article_detail .article_cat span {
    display: inline-block;
    font-weight: 500;
    color: #fff;
    text-align: center;
    font-size: 3.4667vw;
    padding: 1px 5px 0;
    min-width: 26.6667vw;
    height: 4.2667vw;
}

.article_detail .article_date {
    color: #898989;
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 6px;
}

.article_detail .article_tag {
    margin-bottom: 20px;
}

.article_detail .article_tag a {
    display: inline-block;
    vertical-align: top;
    color: #898989;
    font-size: 14px;
    line-height: 1.2;
    position: relative;
    padding: 0 0 0 19px;
    margin-right: 12px;
    margin-bottom: 3px;
}

.article_detail .article_tag a:last-child {
    margin-right: 0;
}

.article_detail .article_tag a::before {
    content: "";
    background: url(../img/tag29x32.png) no-repeat 0 0 / 100% 100%;
    width: 15px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 0;
}

.thumbnail_detail {
    margin-bottom: 30px;
}

.thumbnail_detail img {
    display: block;
    width: 100%;
}

.article_sns {
    font-size: 0;
    margin-bottom: 20px;
}

.article_sns a {
    display: inline-block;
    vertical-align: top;
    width: 41px;
    height: 41px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    margin-right: 15px;
}

.article_sns a:last-child {
    margin-right: 0;
}

.article_sns a.sns_tw {
    background-image: url(../img/tw82x82.png);
}

.article_sns a.sns_fb {
    background-image: url(../img/fb82x82.png);
}

.article_sns a.sns_ln {
    background-image: url(../img/ln82x82.png);
}

.article_banner {
    font-size: 0;
    text-align: center;
    margin-bottom: 6px;
}

.article_banner a {
    display: inline-block;
    margin-bottom: 20px;
}

.article_banner img {
    max-width: 100%;
}

.thumb_youtube {
    margin-bottom: 25px;
}

.thumb_youtube img {
    display: block;
    width: 100%;
}

.thumb_youtube span {
    display: block;
    font-size: 12px;
    font-weight: 500;
    margin-top: 6px;
}

.article_voice {
    margin-top: 30px;
    margin-bottom: 25px;
}

.voice_item {
    clear: both;
    margin-bottom: 30px;
}

.voice_item:last-child {
    margin-bottom: 0;
}

.voice_icon {
    width: 20vw;
    float: left;
}

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

.voice_icon span {
    display: block;
    text-align: center;
    color: #505050;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    margin-top: 5px;
}

.voice_content {
    padding-left: 25.3vw;
}

.voice_content p {
    color: #505050;
    margin-bottom: 0;
}

.voice_box {
    border: 1px solid #898989;
    border-radius: 8px;
    padding: 8px 12px;
    position: relative;
}

.voice_box::before {
    content: "";
    position: absolute;
    top: 13px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 15px;
    height: 12px;
}

.voice_box-blue {
    background-color: #c1f3f6;
}

.voice_box-yellow {
    background-color: #f6ff00;
}

.voice_box-blue::before {
    background-image: url(../img/arrow30x24_blue.png);
    left: -15px;
}

.voice_box-yellow::before {
    background-image: url(../img/arrow30x24_yellow.png);
    right: -15px;
}

.voice_item:nth-child(2n) .voice_icon {
    float: right;
}

.voice_item:nth-child(2n) .voice_content {
    padding-left: 0;
    padding-right: 25.3vw;
}

.related_box {
    margin-bottom: 30px;
}

.related_box a {
    display: block;
    padding: 13px;
    background-color: #f6ff00;
    border: 2px solid #000;
}

.related_box figure {
    margin-bottom: 12px;
    overflow: hidden;
    position: relative;
}

.related_box figure img {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.related_box .cat_label {
    line-height: 1;
    margin-bottom: 8px;
    font-size: 0;
}

.related_box .cat_label span {
    display: inline-block;
    font-weight: 500;
    color: #fff;
    text-align: center;
    font-size: 3.4667vw;
    padding: 1px 5px 0;
    min-width: 26.6667vw;
    height: 4.2667vw;
}

.related_box p {
    margin-bottom: 0;
    font-weight: 500;
}

.related_box .date {
    line-height: 1.2;
    color: #898989;
    font-size: 12px;
    margin-top: 12px;
}

.product_box {
    border: 2px solid #000;
    background-color: #fff;
    margin-bottom: 30px;
    padding: 13px;
}

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

.product_box figure {
    font-size: 0;
    width: 102px;
    float: left;
    margin-right: 20px;
}

.product_box figure img {
    width: 100%;
}

.product_box h6 {
    color: #ff0000;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 14px;
}

.product_box_text a {
    color: #31a7e0;
    text-decoration: underline;
}

.product_box_text a:hover {
    text-decoration: none;
}

.released_box {
    border: 2px solid #000;
    background-color: #fff;
    margin-bottom: 20px;
}

.released_box h6 {
    font-weight: 700;
    font-size: 15px;
    background-color: #ff0000;
    color: #fff;
    line-height: 1.5;
    padding: 2px 13px 4px;
}

.released_list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
}

.released_list::after {
    content: "";
    width: 1px;
    background-color: #000;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
}

.released_item {
    width: 50%;
    border-top: 1px solid #000;
}

.released_item a {
    padding: 13px 13px 10px;
    display: block;
}

.released_item figure {
    margin-bottom: 7px;
}

.released_item figure img {
    width: 100%;
    display: block;
}

.released_item p {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
}

.purchase_btn {
    margin-bottom: 30px;
}

.purchase_btn a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    border: 1px solid #000;
    border-radius: 6px;
    color: #fff;
    background-color: #ff0000;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    height: 45px;
    font-size: 18px;
    line-height: 1.2;
    padding-bottom: 2px;
    margin: 0 auto;
}

.article_detail .released_note {
    color: #898989;
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.sns_bottom {
    text-align: center;
    margin-bottom: 40px;
    margin-top: 40px;
}

.sns_bottom p {
    margin-bottom: 19px;
    font-size: 13px;
    font-weight: 700;
}

.article_related h2 {
    color: #505050;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
}

.author_name {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 10px;
}

.article_talk {
    margin-top: 35px;
    margin-bottom: 40px;
}

.article_talk img {
    max-width: 100%;
    display: block;
}

@media screen and (max-width: 959px) {
    .voice_icon picture {
        max-width: 150px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .article_detail h1 {
        font-size: 30px;
        line-height: 38px;
    }

    /*.article_detail h2 {*/
    /*    font-size: 24px;*/
    /*    line-height: 30px;*/
    /*    padding-left: 65px;*/
    /*    min-height: 60px;*/
    /*}*/

    /*.article_detail h2::before {*/
    /*    width: 60px;*/
    /*    height: 60px;*/
    /*}*/

    /*.article_detail h2 {*/
    /*    background-image: url(../img/line02.png);*/
    /*}*/

    .article_detail h3 {
        font-size: 20px;
        line-height: 26px;
    }

    .article_detail p {
        font-size: 16px;
        line-height: 28px;
    }

    .article_detail .article_cat span {
        font-size: 12px;
        min-width: 100px;
        height: 16px;
    }

    .thumb_youtube span {
        line-height: 18px;
        font-size: 12px;
        text-align: center;
    }

    .voice_icon {
        width: 150px;
    }

    .voice_icon span {
        font-size: 16px;
        line-height: 20px;
    }

    .voice_content {
        padding-left: 170px;
    }

    .voice_item:nth-child(2n) .voice_content {
        padding-right: 170px;
    }

    .related_box .cat_label span {
        font-size: 12px;
        min-width: 100px;
        height: 16px;
    }

    .related_box .date {
        line-height: 18px;
    }

    .product_box h6 {
        font-size: 16px;
        line-height: 28px;
        margin-top: -7px;
        margin-bottom: 12px;
    }

    .released_box h6 {
        font-size: 20px;
        line-height: 26px;
    }

    .released_item p {
        font-size: 12px;
        line-height: 18px;
    }

    .purchase_btn {
        max-width: 345px;
        margin-left: auto;
        margin-right: auto;
    }

    .purchase_btn a {
        font-size: 24px;
        height: 60px;
    }

    .sns_bottom p {
        font-size: 16px;
        line-height: 24px;
    }

    .article_related h2 {
        font-size: 24px;
        line-height: 30px;
    }

    .author_name {
        font-size: 20px;
        line-height: 26px;
    }
}

@media screen and (max-width: 599px) {
    .article_banner a:nth-child(2) {
        display: none;
    }
}

@media screen and (min-width: 600px) {
    .article_banner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        padding: 0 20px;
        margin-left: -30px;
        margin-right: -30px;
    }

    .article_banner a {
        margin-left: 20px;
        margin-right: 20px;
    }
}

@media screen and (min-width: 960px) {
    .article_detail h1 {
        font-size: 30px;
        line-height: 38px;
        margin-bottom: 10px;
    }

    /*.article_detail h2 {*/
    /*    font-size: 26px;*/
    /*    line-height: 1.3;*/
    /*    padding-left: 60px;*/
    /*    margin-bottom: 30px;*/
    /*    min-height: 54px;*/
    /*}*/

    /*.article_detail h2::before {*/
    /*    background-image: url(../img/coro54x54.png);*/
    /*    width: 54px;*/
    /*    height: 54px;*/
    /*    top: 6px;*/
    /*}*/

    /*.article_detail h2 {*/
    /*    background-image: url(../img/line03.png);*/
    /*}*/

    .article_detail h3 {
        font-size: 20px;
        line-height: 1.3;
        margin-bottom: 15px;
    }

    .article_detail h3::after {
        background-image: url(../img/line05.png);
    }

    .article_detail p {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 22px;
    }

    .article_detail .article_cat {
        margin-bottom: 14px;
    }

    .article_detail .article_cat span {
        font-size: 15px;
        min-width: 100px;
        height: 20px;
        padding-top: 2px;
    }

    .article_detail .article_date {
        margin-bottom: 15px;
    }

    .article_detail .article_tag {
        margin-bottom: 15px;
    }

    .article_detail .article_tag a {
        padding-left: 22px;
        font-size: 16px;
        margin-right: 15px;
    }

    .article_detail .article_tag a:hover {
        text-decoration: underline;
    }

    .article_detail .article_tag a:last-child {
        margin-right: 0;
    }

    .article_detail .article_tag a::before {
        background-image: url(../img/tag18x20.png);
        width: 18px;
        height: 20px;
    }

    .article_sns a {
        width: 40px;
        height: 40px;
        margin-right: 15px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .article_sns a:hover {
        opacity: 0.7;
    }

    .article_sns a.sns_tw {
        background-image: url(../img/tw40x40.png);
    }

    .article_sns a.sns_fb {
        background-image: url(../img/fb40x40.png);
    }

    .article_sns a.sns_ln {
        background-image: url(../img/ln40x40.png);
    }

    .thumbnail_detail {
        margin-bottom: 40px;
    }

    .article_banner {
        margin-bottom: 15px;
    }

    .article_banner a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .article_banner a:hover {
        opacity: 0.7;
    }

    .thumb_youtube {
        margin-bottom: 25px;
    }

    .thumb_youtube span {
        text-align: center;
        margin-top: 10px;
    }

    .article_voice {
        margin-top: 35px;
        margin-bottom: 40px;
    }

    .voice_icon {
        width: 130px;
    }

    .voice_icon span {
        margin-top: 7px;
    }

    .voice_icon img {
        width: auto;
        max-width: 125px;
    }

    .voice_box {
        border-width: 2px;
        padding: 9px 15px 14px;
    }

    .voice_box::before {
        width: 20px;
        height: 16px;
        top: 17px;
    }

    .voice_box-blue::before {
        background-image: url(../img/arrow20x16_blue.png);
        left: -20px;
    }

    .voice_box-yellow::before {
        background-image: url(../img/arrow20x16_yellow.png);
        right: -20px;
    }

    .voice_content {
        padding-left: 135px;
    }

    .voice_content p {
        margin-bottom: 0;
    }

    .voice_item:nth-child(2n) .voice_content {
        padding-left: 0;
        padding-right: 135px;
    }

    .voice_item {
        margin-bottom: 40px;
    }

    .related_box {
        margin-bottom: 40px;
    }

    .related_box a {
        padding: 16px 16px;
        border-width: 4px;
    }

    .related_box figure img {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .related_box a:hover figure img {
        opacity: 0.5;
    }

    .related_box p {
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .related_box a:hover p {
        color: #ff0000;
    }

    .related_box p {
        margin-bottom: 0;
        display: block;
        display: -webkit-box;
        max-height: 100px;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .related_box figure {
        float: left;
        margin-bottom: 0;
        width: 322px;
    }

    .related_box .related_text {
        padding-left: 338px;
    }

    .related_box .cat_label {
        margin-bottom: 12px;
    }

    .related_box .cat_label span {
        font-size: 12px;
        min-width: 80px;
        height: 18px;
        padding-top: 2px;
    }

    .related_box .date {
        margin-top: 5px;
    }

    .product_box {
        padding: 16px;
        margin-bottom: 40px;
        border-width: 4px;
    }

    .product_box figure {
        width: 120px;
    }

    .product_box h6 {
        margin-bottom: 0;
        font-size: 20px;
        margin-top: -4px;
        margin-bottom: 17px;
    }

    .released_box {
        border-width: 4px;
        margin-bottom: 20px;
    }

    .released_list::after {
        width: 2px;
        margin-left: -1px;
    }

    .released_item {
        border-width: 2px;
    }

    .released_item a {
        padding: 16px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .released_item a:hover {
        opacity: 0.5;
    }

    .released_item p {
        margin-bottom: 0;
        font-size: 16px;
    }

    .released_box h6 {
        font-size: 20px;
        line-height: 1.4;
        padding: 5px 13px 8px;
    }

    .released_item figure {
        margin-bottom: 13px;
    }

    .purchase_btn {
        margin-bottom: 40px;
    }

    .purchase_btn a {
        font-size: 18px;
        border-width: 2px;
        width: 300px;
        height: 60px;
        -webkit-transition: color 0.3s ease, background 0.3s ease;
        transition: color 0.3s ease, background 0.3s ease;
        padding-bottom: 3px;
    }

    .purchase_btn a:hover {
        background-color: #000;
        color: #ff0000;
    }

    .article_detail .released_note {
        margin-bottom: 40px;
    }

    .sns_bottom {
        margin-top: 40px;
        margin-bottom: 50px;
    }

    .sns_bottom p {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .article_related h2 {
        font-size: 26px;
        margin-bottom: 15px;
    }

    .article_list-related .article {
        width: 100%;
        overflow: hidden;
        margin-bottom: 20px;
        border-bottom: 2px solid #dcdddd;
        padding-bottom: 20px;
    }

    .article_list-related .article:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .article_list-related .cat_label {
        margin-bottom: 16px;
        font-size: 0;
    }

    .article_list-related .article_meta_cat {
        position: inherit;
        left: inherit;
        bottom: inherit;
        font-size: 12px;
    }

    .article_list-related .article_meta_cat::after {
        display: none;
    }

    .article_list-related .article_thumb {
        margin-bottom: 0;
        width: 322px;
        float: left;
    }

    .article_list-related .article_content {
        padding: 0 0 0 337px;
        border-bottom: none;
    }

    .author_name {
        font-size: 20px;
        margin-bottom: 10px;
    }
}

/* Accordion */
.accord_title {
    cursor: pointer;
    position: relative;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    color: #fff;
    background-color: #31a7e0;
    padding: 0 40px 2px 15px;
    height: 35px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    margin-bottom: 2px;
}

.accord_title::after {
    content: "";
    background: #2082e0 url(../img/arrow24x16.png) no-repeat center center / 12px 8px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 35px;
}

.accord_title.opened::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.accord_title-small {
    background-color: #cbe9f7;
    font-size: 17px;
    color: #2082e0;
    padding-bottom: 3px;
}

.faq_title {
    min-height: 54px;
    height: auto;
    font-weight: 700;
    font-size: 16px;
    background-color: #ad71db;
    padding: 4px 40px 6px 45px;
}

.faq_title::after {
    background-color: #9c50d6;
}

.faq_title::before {
    content: "";
    background: url(../img/txt_q_sp.png) no-repeat 0 0 / 100% 100%;
    width: 27px;
    height: 22px;
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -11px;
}

.faq_content {
    position: relative;
    font-size: 14px;
    padding: 13px 0 18px 0;
}

.faq_content::before {
    content: "";
    background: url(../img/txt_a_sp.png) no-repeat 0 0 / 100% 100%;
    width: 27px;
    height: 20px;
    position: absolute;
    left: 8px;
    top: 10px;
}

.faq_content p {
    margin-top: 25px;
}

.shop_item {
    border-bottom: 2px solid #dcdddd;
    padding: 7px 15px 9px;
    color: #505050;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.5;
}

.shop_item:last-child {
    border-bottom: none;
}

.shop_item .city_name {
    margin-bottom: 6px;
}

.shop_item .shop_name {
    font-size: 15px;
    margin-bottom: 3px;
}

.accord_content {
    display: none;
}

.head_wrap {
    position: relative;
}

.checkout_btn {
    display: block;
    color: #000;
    font-weight: 500;
    font-size: 13px;
    border: 2px solid #000;
    line-height: 1.2;
    text-decoration: none;
    border-radius: 6px;
    letter-spacing: -0.05em;
    padding: 0 8px 0 8px;
    background-color: #fff;
    -webkit-transition: color 0.3s ease, background 0.3s ease;
    transition: color 0.3s ease, background 0.3s ease;
}

.checkout_btn span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    height: 28px;
    padding-right: 20px;
    position: relative;
    padding-bottom: 2px;
}

.checkout_btn span::after,
.checkout_btn span::before {
    content: "";
    background-repeat: no-repeat;
    background-position: 0 0;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -7px;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.checkout_btn span::before {
    background-image: url(../img/ico_out.png);
}

.checkout_btn span::after {
    background-image: url(../img/ico_out_yellow.png);
    opacity: 0;
}

.checkout_btn:hover {
    background-color: #000;
    color: #f6ff00;
}

.checkout_btn:hover span::after {
    opacity: 1;
}

.checkout_btn:hover span::before {
    opacity: 0;
}

.newsheart {
    margin-bottom: 20px;
}

.newsheart_title {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 9px;
}

.newsheart_item {
    margin-bottom: 20px;
}

.newsheart_item:last-child {
    margin-bottom: 0;
}

.newsheart_item h3 {
    color: #ff0000;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 15px;
}

.newsheart_item h3 span {
    background: url(../img/line9.png) repeat-x left bottom;
}

.newsheart_item h4 {
    font-size: 15px;
}

.newsheart_item p {
    font-size: 14px;
}

.newsheart_item a {
    text-decoration: underline;
}

.newsheart_item a:hover {
    text-decoration: none;
}

.select_time {
    height: 35px;
    margin-bottom: 20px;
    margin-top: 20px;
}

@media screen and (max-width: 959px) {
    .accord_title.opened::after {
        background-image: url(../img/arrow24x16_on.png);
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    .checkout_btn {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .checkout_btn span {
        -ms-flex-pack: center !important;
        justify-content: center !important;
        height: auto;
        padding-top: 5px;
        padding-bottom: 6px;
    }

    .newsheart_item p {
        line-height: 1.5;
    }
}

@media screen and (min-width: 960px) {
    .accord_title {
        font-size: 28px;
        height: 48px;
        padding: 0 35px 0 10px;
    }

    .accord_title::after {
        width: 30px;
        background-image: url(../img/arrow16x10.png);
        background-size: auto;
    }

    .accord_title-small {
        font-size: 20px;
        padding-bottom: 2px;
    }

    .checkout_btn {
        position: absolute;
        right: 0;
        top: 10px;
    }

    .faq_title {
        font-size: 22px;
        padding-left: 66px;
        padding-top: 4px;
        padding-bottom: 7px;
        height: auto;
        min-height: 48px;
    }

    .faq_title::before {
        background-image: url(../img/txt_q.png);
        width: 36px;
        height: 28px;
        left: 15px;
        margin-top: -14px;
    }

    .faq_content {
        background-color: #fff;
        padding: 52px 10px 15px;
        margin-bottom: 2px;
    }

    .faq_content::before {
        background-image: url(../img/txt_a.png);
        width: 37px;
        height: 26px;
        left: 14px;
        top: 14px;
    }

    .faq_content p {
        font-size: 16px;
        margin-top: 0;
    }

    .shop_item {
        padding: 6px 10px 7px;
        font-size: 12px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .shop_item .city_name,
    .shop_item .shop_name {
        margin-bottom: 0;
        font-size: 12px;
        padding-right: 15px;
    }

    .shop_item .city_name {
        width: 20.784%;
    }

    .shop_item .shop_name {
        width: 28.917%;
    }

    .shop_item .address_name {
        width: 50.299%;
    }

    .newsheart {
        margin-bottom: 0;
    }

    .newsheart_item {
        margin-bottom: 35px;
    }

    .newsheart_title {
        font-size: 30px;
        margin-bottom: 15px;
    }

    .newsheart_item h3 {
        font-size: 26px;
        margin-bottom: 16px;
    }

    .newsheart_item h3 span {
        background-image: url(../img/line12.png);
    }

    .newsheart_item h4 {
        font-size: 20px;
    }

    .newsheart_item p {
        font-size: 16px;
    }

    .select_time {
        position: absolute;
        right: 0;
        top: 0;
        width: 136px;
        height: 30px;
        margin: 8px 0 0 0;
    }
}

/* Select */
.nice-select {
    width: 100%;
    border-color: #000 !important;
    color: #505050;
    font-size: 15px;
    padding-left: 34px;
    padding-right: 5px;
    height: 35px;
    line-height: 32px;
}

.nice-select:after {
    border: none;
    width: 10px;
    height: 7px;
    background: url(../img/select_arrow_sp.png) no-repeat 0 0 / 100% 100%;
    right: inherit;
    left: 11px;
    margin-top: -4px;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

.nice-select.open:after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.nice-select .list {
    box-shadow: none;
    margin-top: 2px;
    border: 1px solid #000;
    padding: 5px;
    left: -1px;
    right: -1px;
}

.nice-select .option {
    font-size: 15px;
    border-radius: 3px;
    padding: 0 4px 2px;
    min-height: inherit;
    line-height: 2;
}

.nice-select .option.selected {
    font-weight: normal;
}

.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {
    background-color: #dcdddd;
}

@media screen and (min-width: 960px) {
    .nice-select {
        padding-left: 30px;
        height: 30px;
        line-height: 27px;
        font-size: 16px;
        padding-right: 0;
    }

    .nice-select:after {
        width: 13px;
        height: 8px;
        background-image: url(../img/select_arrow.png);
        margin-top: -4px;
        left: 8px;
    }

    .nice-select .option {
        line-height: 1.3;
        padding-bottom: 3px;
    }
}

/* Rink */
.rink_list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px 8px;
}

.rink_list li {
    font-size: 0;
    padding: 0 10px;
    margin-bottom: 12px;
    width: 100%;
}

.rink_list li a {
    display: block;
    border: 1px solid #b5b5b6;
}

.rink_list li img {
    height: auto;
    width: 100%;
}

@media screen and (min-width: 600px) {
    .rink_list li {
        width: 50%;
        margin-bottom: 20px;
    }

    .rink_list li a {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .rink_list li a:hover {
        opacity: 0.7;
    }
}

/* 404 */
.notfound {
    margin-bottom: 20px;
    text-align: center;
}

.notfound h1 {
    color: #ff0000;
    font-size: 25px;
    margin-bottom: 12px;
}

.notfound p {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 18px;
}

.notfound picture {
    display: block;
    margin-bottom: 25px;
}

.notfound img {
    width: 202.5px;
}

.top_btn a {
    font-size: 19px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    background-color: #ff0000;
    border: 1px solid #000;
    border-radius: 6px;
    height: 45px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    position: relative;
}

.top_btn a::before {
    content: "";
    background: url(../img/arrow14x24.png) no-repeat 0 0 / 100% 100%;
    width: 7px;
    height: 12px;
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -6px;
}

@media screen and (min-width: 600px) {
    .notfound h1 {
        font-size: 38px;
        margin-bottom: 22px;
        margin-top: -13px;
    }

    .notfound p {
        font-size: 24px;
        margin-bottom: 25px;
    }

    .notfound picture {
        margin-bottom: 45px;
    }

    .notfound img {
        width: auto;
    }

    .top_btn a {
        height: 60px;
        width: 260px;
        font-size: 18px;
        -webkit-transition: color 0.3s ease, background 0.3s ease;
        transition: color 0.3s ease, background 0.3s ease;
        border-width: 2px;
        margin: 0 auto;
        padding-bottom: 2px;
    }

    .top_btn a:hover {
        color: #ff0000;
        background-color: #000;
    }

    .top_btn a::before {
        content: "";
        background-image: url(../img/arrow10x16_white.png);
        width: 10px;
        height: 16px;
        left: 15px;
        margin-top: -8px;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .top_btn a::after {
        content: "";
        background: url(../img/arrow10x16_red.png) no-repeat 0 0;
        width: 10px;
        height: 16px;
        position: absolute;
        left: 15px;
        top: 50%;
        margin-top: -8px;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .top_btn a:hover::before {
        opacity: 0;
    }

    .top_btn a:hover::after {
        opacity: 1;
    }
}

/* ------------------------------------------------------
SIDEBAR
------------------------------------------------------ */
/* Button List */
.side_button1 {
    font-size: 0;
}

.side_button1 li {
    margin-bottom: 20px;
}

.side_button1 a {
    background-color: #000;
    display: block;
    border-radius: 7px;
    overflow: hidden;
    position: relative;
    height: 80px;
    text-align: center;
    padding: 4px 0;
}

.side_button1 a::after {
    content: "";
    background: url(../img/arrow20x32.png) no-repeat 0 0 / 100% 100%;
    width: 10px;
    height: 16px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -8px;
}

.side_button1 img {
    max-width: 201px;
}

.side_button2 li {
    margin-bottom: 20px;
}

.side_button2 a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    border-radius: 7px;
    height: 80px;
    font-weight: 500;
    font-size: 19px;
    color: #fff;
    line-height: 1.3;
    background: url(../img/bg02_sp.png) no-repeat center center / cover;
    text-decoration: none;
    position: relative;
    text-align: center;
    padding: 0 10px 2px;
}

.side_button2 a::after {
    content: "";
    background: url(../img/arrow20x32.png) no-repeat 0 0 / 100% 100%;
    width: 10px;
    height: 16px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -8px;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .side_button2,
    .side_button1 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -10px;
    }

    .side_button2 li,
    .side_button1 li {
        width: 50%;
        padding: 0 10px;
    }
}

@media screen and (min-width: 960px) {
    .side_button1 li,
    .side_button2 li {
        margin-bottom: 10px;
    }

    .side_button2 a,
    .side_button1 a {
        border-radius: 10px;
        height: 70px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .side_button2 a:hover,
    .side_button1 a:hover {
        opacity: 0.5;
    }

    .side_button1 img {
        width: 174px;
    }

    .side_button2 a {
        background-image: url(../img/bg02.png);
        font-size: 20px;
    }

    .side_button2 a::after,
    .side_button1 a::after {
        right: 15px;
    }
}

/* Maga */
.side_maga {
    background: url(../img/bg_maga_sp.png) repeat-y left top / 100% auto;
    margin: 0 -15px 30px;
    padding: 30px 15px;
}

.maga_title {
    font-size: 0;
    text-align: center;
    margin-bottom: 14px;
}

.maga_title img {
    max-width: 321px;
}

.maga_thumb {
    font-size: 0;
    padding-top: 4px;
}

.maga_thumb img {
    width: 100%;
}

.maga_content {
    padding-left: 184px;
}

.maga_subtitle {
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 9px;
    text-align: center;
}

.maga_button li {
    margin-bottom: 10px;
}

.maga_button li:last-child {
    margin-bottom: 0;
}

.maga_button a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    border-radius: 5px;
    border: 1px solid #595757;
    background-color: #fff;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    text-align: center;
    color: #595757;
    padding: 0 5px;
    height: 45px;
    position: relative;
    text-decoration: none;
}

.maga_button a::after {
    content: "";
    background: url(../img/arrow16x24.png) no-repeat 0 0 / 100% 100%;
    width: 8px;
    height: 12px;
    position: absolute;
    right: 4px;
    top: 50%;
    margin-top: -6px;
}

@media screen and (max-width: 959px) {
    .maga_thumb {
        width: 161px;
        float: left;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .side_maga {
        margin-left: 0;
        margin-right: 0;
    }
}

@media screen and (min-width: 960px) {
    .side_maga {
        background-image: url(../img/bg_maga.png);
        background-repeat: repeat;
        background-size: auto;
        margin: 0 0 40px;
        padding: 28px 20px 40px;
    }

    .maga_subtitle {
        text-align: center;
        font-weight: 700;
        font-size: 24px;
        line-height: 1.25;
        margin-bottom: 10px;
    }

    .maga_thumb {
        padding-top: 0;
        text-align: center;
        margin-bottom: 16px;
    }

    .maga_thumb img {
        max-width: 208px;
    }

    .maga_button a {
        font-size: 18px;
        color: #000;
        border-width: 2px;
        border-color: #000;
        height: 40px;
        padding-bottom: 2px;
        -webkit-transition: background 0.3s ease, color 0.3s ease;
        transition: background 0.3s ease, color 0.3s ease;
    }

    .maga_button a::after {
        width: 10px;
        height: 16px;
        background-image: url(../img/arrow10x16.png);
        right: 7px;
        margin-top: -8px;
        opacity: 1;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .maga_button a::before {
        content: "";
        position: absolute;
        top: 50%;
        width: 10px;
        height: 16px;
        background: url(../img/arrow10x16_white.png) no-repeat 0 0 / 100% 100%;
        right: 7px;
        margin-top: -8px;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .maga_button a:hover {
        background-color: #000;
        color: #fff;
    }

    .maga_button a:hover::after {
        opacity: 0;
    }

    .maga_button a:hover::before {
        opacity: 1;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .maga_box {
        margin: 0 auto;
        width: 75%;
    }
}

/* manga_slider */
.manga_slider {
    background: url(../img/bg_manga_sp.png) repeat-y left top / 100% auto;
    margin: 0 -15px 30px;
    padding: 30px 0;
}

.manga_title {
    font-size: 0;
    text-align: center;
    margin-bottom: 17px;
}

.manga_title img {
    width: 36.8vw;
}

.manga_swiper {
    margin-bottom: 30px;
}

.manga_slider .article-slide-large {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
    width: 230px;
}

.manga_slider .btn_more-arrow a {
    width: 55.2vw;
    height: 9.3334vw;
    font-size: 4vw;
}

.manga_slider .swiper-container {
    padding: 0 15px;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .manga_title img {
        width: 138px;
    }

    .manga_slider .btn_more-arrow a {
        font-size: 15px;
        height: 35px;
        width: 207px;
    }
}

@media screen and (min-width: 798px) and (max-width: 959px) {
    .manga_slider {
        margin-left: 0;
        margin-right: 0;
    }
}

/* PR */
.side_pr {
    background: url(../img/bg_pr_sp.png) repeat-y left top / 100% auto;
    margin: 0 -15px 30px;
    padding: 30px 0;
}

.prwrap .side_pr {
    margin-left: 0;
    margin-right: 0;
}

.pr_title {
    color: #fff;
    text-align: center;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 30px;
}

.pr_swiper .article-slide-small {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
    width: 138px;
}

.pr_swiper .swiper-container {
    padding: 0 15px;
}

@media screen and (min-width: 798px) and (max-width: 959px) {
    .side_pr {
        margin-left: 0;
        margin-right: 0;
    }
}

/* chanel_slider */
.chanel_slider {
    background: url(../img/bg_chanel_sp.png) repeat-y left top / 100% auto;
    margin: 0 -15px 30px;
    padding: 30px 0;
}

.chanel_title {
    font-size: 0;
    text-align: center;
    margin-bottom: 17px;
}

.chanel_title img {
    width: 75.4667vw;
}

.chanel_swiper {
    margin-bottom: 30px;
}

.chanel_swiper .article-slide-large {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
    width: 230px;
}

.chanel_slider .btn_more-arrow a {
    color: #595757;
    border-color: #595757;
}

.chanel_slider .btn_more-arrow a::after {
    background-image: url(../img/arrow20x32_gray.png);
}

.chanel_slider .btn_more-arrow a {
    width: 55.2vw;
    height: 9.3334vw;
    font-size: 4vw;
}

.side_posts .btn_more {
    margin-top: 40px;
}

.chanel_slider .swiper-container {
    padding: 0 15px;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .chanel_title img {
        width: 283px;
    }

    .chanel_slider .btn_more-arrow a {
        font-size: 15px;
        height: 35px;
        width: 207px;
    }
}

@media screen and (min-width: 798px) and (max-width: 959px) {
    .chanel_slider {
        margin-left: 0;
        margin-right: 0;
    }
}

/* pr_wrap */
.pr_wrap {
    margin-bottom: 60px;
}

.pr_wrap .pr_title {
    margin-bottom: 10px;
    background-color: #000;
    font-size: 20px;
    padding: 1px 10px 3px;
}

@media screen and (min-width: 960px) {
    .pr_wrap .article_list {
        margin: 0;
    }

    .pr_wrap .article_list .article {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 0 8px;
        border-bottom: 2px solid #dcdddd;
        margin-bottom: 10px;
    }

    .pr_wrap .article_list .article:last-child {
        margin-bottom: 0;
    }

    .pr_wrap .article_thumb {
        width: 50%;
    }

    .pr_wrap .article_thumb > a {
        margin-bottom: 5px;
    }

    .pr_wrap .article_content {
        width: 50%;
        padding-left: 10px;
        border: none;
        padding-bottom: 0;
    }

    .pr_wrap .article_title {
        font-size: 12px;
        line-height: 1.5;
    }

    .pr_wrap .article_title a span {
        max-height: 110px;
    }

    .pr_wrap .article_meta_cat {
        position: inherit;
        left: inherit;
        bottom: inherit;
    }
}

/* manga_wrap */
.manga_wrap {
    border: 4px solid #000;
}

.manga_wrap .manga_title {
    padding: 7px 0 14px;
    margin-bottom: 0;
    background-color: #000;
}

.manga_wrap .manga_title img {
    width: auto;
}

.manga_wrap .manga_inner {
    background-color: rgba(0, 120, 212, 0.7);
    padding-bottom: 15px;
}

@media screen and (min-width: 960px) {
    .manga_wrap {
        margin-bottom: 40px;
    }

    .manga_wrap .article_list {
        margin: 0 0 10px;
    }

    .manga_wrap .article_list .article {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 10px 15px 8px;
        border-bottom: 2px solid #000;
        margin-bottom: 0;
    }

    .manga_wrap .article_list .article:last-child {
        border-bottom: none;
    }

    .manga_wrap .article_thumb {
        width: 50%;
    }

    .manga_wrap .article_content {
        width: 50%;
        padding-left: 10px;
        border: none;
        padding-bottom: 0;
    }

    .manga_wrap .article_thumb > a {
        margin-bottom: 5px;
    }

    .manga_wrap .article_meta_cat {
        position: inherit;
        left: inherit;
        bottom: inherit;
    }

    .manga_wrap .article_title {
        font-size: 12px;
        line-height: 1.5;
    }

    .manga_wrap .article_title a span {
        max-height: 110px;
    }

    .manga_wrap .article_title a,
    .manga_wrap .article_title {
        color: #fff;
    }

    .manga_wrap .article:hover .article_title a {
        color: #fce428;
    }

    .manga_wrap .btn_more {
        padding: 0 15px;
        margin-bottom: 0;
    }

    .manga_wrap .btn_more a {
        width: 100%;
        border: none;
        background-color: #fff;
        border-radius: 7px;
        font-size: 14px;
        color: #595757;
        height: 40px;
    }

    .manga_wrap .btn_more a:hover {
        background-color: #fce428;
    }

    .manga_wrap .article_thumb {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
        margin-bottom: 0;
    }

    .manga_wrap .article:hover .article_thumb {
        opacity: 0.5;
    }

    .manga_wrap .article_meta_cat::after,
    .manga_wrap .article_thumb > a::after {
        display: none;
    }
}

/* popular_wrap */
.popular_wrap {
    margin-bottom: 40px;
    border: 4px solid #000;
}

.popular_title {
    font-size: 0;
    text-align: center;
    background-color: #000;
    padding: 7px 0 14px;
}

.popular_wrap .popular_inner {
    background-color: rgba(138, 53, 204, 0.7);
    padding-bottom: 15px;
}

.article_num {
    border: 1px solid #000;
    background-color: #f6ff00;
    display: block;
    width: 20px;
    height: 20px;
    line-height: 17px;
    text-align: center;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.popular_tabs {
    margin: 0 -1px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 10px 15px;
}

.popular_tabs li {
    width: 33.3334%;
    padding: 0 1px;
}

.popular_tabs li a {
    display: block;
    border: 1px solid #fff;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    color: #fff;
    text-decoration: none;
    background-color: #ad71db;
}

.popular_tabs li.active a {
    background-color: #fff;
    color: #ad71db;
}

.popular_tab_item {
    display: none;
}

.popular_tab_item {
    display: none;
}

.popular_tab_item:first-child {
    display: block;
}

@media screen and (min-width: 960px) {
    .popular_wrap .article_list {
        margin: 0 0 10px;
    }

    .popular_wrap .article_list .article {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 10px 15px 8px;
        border-bottom: 2px solid #000;
        margin-bottom: 0;
    }

    .popular_wrap .article_list .article:last-child {
        border-bottom: none;
    }

    .popular_wrap .article_thumb {
        width: 50%;
    }

    .popular_wrap .article_content {
        width: 50%;
        padding-left: 10px;
        border: none;
        padding-bottom: 0;
    }

    .popular_wrap .article_thumb > a {
        margin-bottom: 5px;
    }

    .popular_wrap .article_meta_cat {
        position: inherit;
        left: inherit;
        bottom: inherit;
    }

    .popular_wrap .article_title {
        font-size: 12px;
        line-height: 1.5;
    }

    .popular_wrap .article_title a span {
        max-height: 110px;
    }

    .popular_wrap .article_title a,
    .popular_wrap .article_title {
        color: #fff;
    }

    .popular_wrap .article:hover .article_title a {
        color: #fce428;
    }

    .popular_wrap .btn_more {
        padding: 0 15px;
        margin-bottom: 0;
    }

    .popular_wrap .btn_more a {
        width: 100%;
        border: none;
        background-color: #fff;
        border-radius: 7px;
        font-size: 14px;
        color: #595757;
        height: 40px;
    }

    .popular_wrap .btn_more a:hover {
        background-color: #fce428;
    }

    .popular_wrap .article_thumb {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
        margin-bottom: 0;
    }

    .popular_wrap .article:hover .article_thumb {
        opacity: 0.5;
    }

    .popular_wrap .article_meta_cat::after,
    .popular_wrap .article_thumb > a::after {
        display: none;
    }

    .popular_tabs li a {
        -webkit-transition: background 0.3s ease, color 0.3s ease;
        transition: background 0.3s ease, color 0.3s ease;
    }

    .popular_tabs li a:hover {
        background-color: #fff;
        color: #ad71db;
    }
}

/* ------------------------------------------------------
FOOTER
------------------------------------------------------ */
#footer {
    background-position: center center;
    color: #fefefe;
    text-align: center;
    line-height: 1.5;
    padding: 40px 0 120px;
    font-weight: 300;
}

#footer p {
    text-align: left;
    font-size: 10px;
}

.fnav {
    font-size: 12px;
    margin-bottom: 28px;
}

.fnav li {
    padding: 6px 0;
}

.fnav a {
    color: #fefefe;
    text-decoration: none;
}

.copyright2 {
    margin-bottom: 12px;
}

.flogo {
    font-size: 0;
    margin-bottom: 30px;
}

.flogo img {
    width: 158px;
}

.fsocial {
    font-size: 0;
    text-align: center;
    margin-bottom: 30px;
}

.fsocial li {
    display: inline-block;
    vertical-align: middle;
    padding: 0 7px;
}

.fsocial img {
    width: 40px;
    height: auto;
}

.fsocial .fsocial_yt img {
    width: 45px;
}

.pagetop {
    position: fixed;
    font-size: 0;
    display: none;
    z-index: 10;
}

.pagetop_btn {
    display: block;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    width: 67px;
    height: 68px;
}

@media screen and (max-width: 959px) {
    .footer_navsp {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        background-color: rgba(255, 255, 255, 0.9);
        padding: 0 15px;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
    }

    .footer_navlist {
        font-size: 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .footer_navlist li {
        width: 20%;
    }

    .footer_navlist li a {
        display: block;
        position: relative;
        text-align: center;
    }

    .footer_navlist li a::after {
        content: "";
        width: 1px;
        position: absolute;
        right: 0;
        top: 10px;
        bottom: 10px;
        background-color: #b5b5b6;
    }

    .footer_navlist li:last-child a::after {
        display: none;
    }

    .footer_navlist img {
        width: 100%;
        max-width: 69px;
    }

    .pagetop {
        bottom: 65px;
        right: 6px;
    }

    .pagetop_btn {
        background-image: url(../img/pagetop_sp.png);
        width: 17.8667vw;
        height: 18.13334vw;
    }
}

@media screen and (max-width: 767px) {
    #footer {
        background-image: url(../img/bg_footer_sp.png);
        background-size: 100% auto;
        background-repeat: repeat-y;
    }
}

@media screen and (min-width: 600px) {
    #footer {
        font-weight: 400;
        line-height: 1.6;
    }

    #footer p {
        text-align: center;
    }

    .copyright2 {
        margin-bottom: 0;
    }

    .fnav {
        font-size: 14px;
    }

    .fnav li {
        padding: 4px 0;
    }
}

@media screen and (min-width: 768px) {
    #footer {
        background-image: url(../img/bg_footer.png);
        background-repeat: repeat;
    }
}

@media screen and (min-width: 960px) {
    .footer_navsp {
        display: none;
    }

    .copyright1 {
        margin-bottom: 30px;
    }

    .fnav a {
        color: #898989;
        -webkit-transition: color 0.3s ease;
        transition: color 0.3s ease;
    }

    .fnav a:hover {
        color: #fff;
    }

    .pagetop {
        bottom: 0;
        width: 100%;
    }

    .pagetop_in {
        margin: 0 auto;
        max-width: 1024px;
        position: relative;
    }

    .pagetop_btn {
        background-image: url(../img/pagetop.png);
        width: 85px;
        height: 85px;
        position: absolute;
        right: -65px;
        bottom: 20px;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }

    .pagetop_btn:hover {
        opacity: 0.7;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .prwrap .pr_swiper .article_meta_date {
        font-size: 11px;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .prwrap .pr_swiper .swiper-wrapper {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }

    .prwrap .pr_swiper .article-slide-small {
        padding-left: 10px;
        padding-right: 10px;
        width: 20%;
        max-width: 158px;
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .related_box .related_text p {
        line-height: 24px;
    }
}

/* Update 201008 */
.ws_banner {
    font-size: 0;
    padding: 10px 15px;
    text-align: center;
}

.ws_banner a {
    display: inline-block;
    transition: opacity 0.3s ease;
}

.ws_banner a img {
    max-width: 100%;
}

@media screen and (min-width: 960px) {
    .ws_banner a:hover {
        opacity: 0.7;
    }
}

@media screen and (max-width: 959px) {
    .ws_banner {
        padding-bottom: 20px;
    }

    .ws_banner a img {
        width: 100%;
        max-width: 640px;
    }
}

/* nt */
#sidebar .side_banner {
    margin-bottom: 40px;
}

.side_banner a {
    transition: opacity 0.3s ease;
}

.side_banner a:hover {
    opacity: 0.5;
}

@media screen and (max-width: 767px) {
    .sec_side_banner .side_banner {
        margin-bottom: 30px;
        text-align: center;
    }

    .sec_side_banner .side_banner img {
        width: 345px;
        height: auto;
    }
}

/* end nt */