@charset "UTF-8";

body {
    color: #000000;
    font-size: 100%;
    margin: 0 auto;
    background: #fbfaf5;
    font-family: 'Noto Sans JP', sans-serif;
}

a:hover,
a img:hover,
button:hover {
    opacity: 0.75;
    cursor: pointer;
}

a {
    text-decoration: none;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
ol,
ul {
    margin: 0;
    padding: 0;
    font-size: 110%;
}

ul,
ol,
li {
    list-style-position: outside;
    list-style-type: none;
}

/*========================================
  font-size
========================================*/
p {
    font-size: 112.5%;
}

.fs-1e {
    font-size: 1em;
}

/*========================================
  common
========================================*/
/* submitボタン非活性 */
input.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 画像天地センタリング */
.align-items-vertical-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ボタン */
.btn-green {
    background: #61d8b6;
    color: #fff;
    font-weight: bold;
    padding: 16px 40px;
    text-decoration: none !important;
    border-radius: 30px;
    display: inline-block;
    margin: 0 auto;
}

.btn-green:hover {
    color: #fff;
}

/* サブアイコン */
.sub-icon {
    display: inline-block;
    padding: 0.25em;
    font-weight: bold;
    color: #fff;
    user-select: none;
    border-radius: 30px;
    background: #2D5C99;
    min-width: 8.5rem;
    text-align: center;
}

/* タイトル */
.title-box h3 {
    font-family: 'Play', sans-serif;
    font-size: 250%;
    font-weight: bold;
}

.title-box .sub-title {
    font-family: "Haruhi Gakuen";
    font-size: 180%;
    color: #2584C9;
}

@media (max-width: 575.98px) {
    .title-box h3 {
        font-size: 180%;
    }

    .title-box .sub-title {
        font-size: 120%;
    }
}

/* カード表示 */
.post-block .card {
    border-radius: 0;
}

.post-block .card .card-img-top {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    object-fit: cover;
    width: 100%;
    height: 12rem;
}

@media (max-width: 991.98px) {
    .post-block .card .card-img-top {
        height: 16rem;
    }
}

@media (max-width: 767.98px) {
    .post-block .card .card-img-top {
        height: 12rem;
    }
}

@media (max-width: 575.98px) {
    .post-block .card .card-img-top {
        height: 8rem;
    }
}

/*========================================
  既存クラスのカスタマイズ
========================================*/
.entry-content {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

@media (min-width: 768px) {

    /* iframe */
    .entry-content iframe {
        width: 100% !important;
    }
}

@media (max-width: 991.98px) {

    /* WCEX SKU Select */
    .skuform.okage_item table.item-sku th,
    .skuform.okage_item table.item-sku td {
        padding: 0;
        line-height: 1.75;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;

    }

    .skuform.okage_item table.item-sku thead th:nth-child(1),
    .skuform.okage_item table.item-sku tbody th {
        min-height: 70px;
    }

    .skuform.okage_item table.item-sku thead th,
    .skuform.okage_item table.item-sku tbody td {
        min-height: 120px;
    }

    .skuform.okage_item table.item-sku thead {
        width: 30%;
    }

    .skuform.okage_item table.item-sku tbody {
        white-space: normal;
    }

    .skuform.okage_item table.item-sku tbody tr {
        width: 23%;
    }

    .skuform.okage_item table.item-sku tbody tr:nth-child(1) {
        width: 31%;
    }
}

@media (max-width: 767.98px) {

    /* WCEX SKU Select */
    .skuform.okage_item table.item-sku thead th:nth-child(1),
    .skuform.okage_item table.item-sku tbody th {
        min-height: 45px;
    }

    .skuform.okage_item table.item-sku thead th,
    .skuform.okage_item table.item-sku tbody td {
        min-height: 90px;
    }
}

/*========================================
  bootstrap
========================================*/
.img-fluid {
    max-width: 100%;
    height: auto;
}

.w-100 {
    width: 100%;
}

/*========================================
  header
========================================*/
.search-pc {
    display: none;
}

li.search {
    display: none;
}

.header-brand {
    margin-top: 16px;
    display: flex;
    padding: 0 10%;
    justify-content: center;
    font-size: 1rem !important;
    padding-bottom: 0 !important;
}

.header-brand .navbar-brand {
    width: 38%;
    font-size: 1rem !important;
    padding-bottom: 0 !important;
}

.header-brand {
    display: flex;
    align-items: center;
    font-size: 87.5%;
}

@media (max-width: 767.98px) {
    .header-brand {
        margin: 0 3%;
    }

    .header-brand .navbar-brand {
        width: 50%;
    }

    .header-brand {
        padding: 0;
    }
}

/*========================================
  header-nexstroke
========================================*/
#nexstroke .main-logo .navbar-brand img {
    width: 30vw;
    max-height: 100%;
}

#nexstroke .main-logo a {
    margin: 0;
}

#nexstroke .main-logo a h1.entry-caps {
    font-family: "Haruhi Gakuen";
    font-size: 1.4rem;
    text-shadow: 0px 0px 0.2px #666;
    text-wrap: nowrap;
    margin-left: 1rem;
}

@media (max-width: 991.98px) {
    #nexstroke .main-logo a h1.entry-caps {
        font-size: 2.5vw;
        margin-left: 0;
    }

    #nexstroke .main-logo .navbar-brand img {
        width: 50vw;
    }
}

/*========================================
  header-clubman
========================================*/
/* ロゴサイズ */
#clubman .navbar-brand img {
    width: 30vw;
    max-height: 100%;
}

/* 背景色 */
#clubman #header,
#clubman header #global-menu {
    background-color: #434343 !important;
}

/* リンクテキスト */
#clubman header #global-menu-pc .navbar-light .navbar-nav .nav-link,
#clubman header .nav-link {
    color: #ffffff !important;
}

/* アイコン色 */
#clubman header .login-pc *,
#clubman header .search-pc *,
#clubman header .cart-btn *,
#clubman header #ico-menu *,
#clubman header #ico-cart *,
#clubman body:not(.home) header #ico-menu *,
#clubman body:not(.home) header .login-pc *,
#clubman body:not(.home) header #ico-cart * {
    fill: #ffffff !important;
}

#clubman header .global-menu-pc .navbar-light .navbar-nav .nav-link {
    margin: auto 0.3rem;
    font-size: 1.3vw;
}

@media (max-width: 991.98px) {
    #clubman .navbar-brand img {
        width: 50vw;
    }
}

/* 追加 */
/* SP閉じるボタン色 */
#clubman .menu-toggler .navbar-toggler-icon-close {
    background-color: #ffffff
}

/*========================================
  header-okage
========================================*/
/* ipub側CSS */
#okage header #ico-cart * {
    fill: rgb(119, 119, 119);
}

/* okage側移行CSS */
/* 上段header */
#okage .ml-items>*:not(:last-child),
#okage .item-link-wrap>*:not(:last-child) {
    margin-right: 1rem;
}

#okage .item-link-wrap .item-link {
    text-align: center;
    padding: 0.25rem 1rem;
    min-width: 7.5em;
    border-radius: 0.15rem;
    /* 色の設定 */
    background: #fff;
    border: 1px solid #E61F19;
}

#okage .item-link-wrap .item-link a {
    text-decoration: none;
    /* 色の設定 */
    color: #E61F19;
}

#okage .item-link-wrap .item-link.red {
    background: #E61F19;
}

#okage .item-link-wrap .item-link.red a {
    color: #fff;
}

@media (max-width: 991.98px) {

    #okage .ml-items>*:not(:last-child),
    #okage .item-link-wrap>*:not(:last-child) {
        margin-right: 0.5rem;
    }
}

/* 下段header */
#okage .main-menu {
    background: #B0AFB0;
}

#okage .main-menu li {
    display: flex;
    margin: 0;
}

#okage .main-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    /* テキスト色 */
    color: #fff !important;
}

#okage .main-menu ul li.active,
#okage .main-menu ul li a:hover {
    opacity: 1;
    /* 色の設定 */
    background: #ddd;
    color: #000 !important;
}

#okage .main-menu li {
    position: relative;
}

#okage .main-menu .left li:not(:first-child)::before,
#okage .main-menu .right li::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 4em;
}

@media (min-width: 992px) {

    #okage .main-menu .left li:not(:first-child)::before,
    #okage .main-menu .right li::before {
        border-left: 1px solid #fff;
    }
}

@media (max-width: 991.98px) {
    #okage .main-menu a {
        padding: 0.35rem 0;
        line-height: 1.25;
    }

    #okage .main-menu .left li:not(:first-child)::before,
    #okage .main-menu .right li:not(:first-child)::before {
        border-left: 1px solid #fff;
    }
}


/*========================================
  footer-okage
========================================*/
#okage footer {
    background: url("../img/okage/footer/imgbg-01.svg") no-repeat center center / cover;
}

#okage footer .logo {
    width: 75%;
}

/* Topへ戻るボタン */
#okage .to_top {
    width: 4%;
}

@media (max-width: 767.98px) {
    #okage .to_top {
        width: 15%;
    }
}

/* CSS調整 */
#okage footer {
    max-width: 100%;
    margin: 15% 0 0;
}

/*========================================
  footer
========================================*/
.footer-logo {
    margin-top: 3vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1vh;
    color: #424242;
}

.footer-logo img {
    width: 5%;
    margin-right: 1em;
}

/* Topへ戻るボタン */
.to_top {
    width: 7%;
    position: fixed;
    right: 1.5%;
    bottom: 0;
    margin-bottom: 11%;
    display: none;
    z-index: 999;
}

@media (max-width: 767.98px) {
    .to_top {
        width: 15%;
    }
}

/*========================================
  breakpoints
========================================*/
@media (min-width: 768px) and (max-width: 991.98px) {
    .entry-body {
        padding-right: var(--bs-gutter-md-x, 2rem) !important;
        padding-left: var(--bs-gutter-md-x, 2rem) !important;
    }
}

@media (max-width: 991.98px) {

    .front-page.site-content,
    .single-post.site-content,
    .original-page.site-content {
        max-width: 100% !important;
        width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        overflow: hidden;
    }

    .single-post .entry-header,
    .single-post .entry-img p,
    .original-page .page-header {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}

/*========================================
  dlseller
========================================*/
@media (min-width: 768px) {

    #wc_ordercompletion a.back_to_top_button,
    #wc_ordercompletion a.redownload_button {
        max-width: 250px;
    }
}

/*========================================
  TOPページ
========================================*/
.front-page .news-front h2,
.front-page .news-front .h2 {
    margin: 0;
}

.front-page .news-front ul li:first-child {
    padding-top: 1rem;
    margin-bottom: 1rem;
}

.front-page .news-front ul li {
    padding-bottom: 1rem;
}

.front-page .news-front ul li .time {
    font-size: 100%;
    font-weight: normal !important;
}


/* **************************************************

テンプレート

***************************************************** */

/*========================================
  x記事投稿用テンプレート
  single-nexs.php
  single-club.php
========================================*/
.youtube-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.youtube-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.vimeo-wrapper {
    padding: 56.25% 0 0 0;
    position: relative;
}

.vimeo-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* **************************************************

parts

***************************************************** */

/*========================================
  sidebar-banner-ads
========================================*/
.banner-ads-block .img-link a {
    display: block;
}

@media (max-width: 991.98px) {
    .banner-ads-block .img-link img {
        padding: 0 20%;
    }
}

@media (max-width: 575.98px) {
    .banner-ads-block .img-link img {
        padding: 0 18%;
    }
}

.banner-ads-block .sponsors-block .title {
    font-family: 'Play', sans-serif;
    font-size: 180%;
    font-weight: bold;
    color: #2584C9;
    text-align: center;
}

/*========================================
  parts-item-products
========================================*/
.itemproducts-block .multiple .slick-slide {
    display: block;
    padding: 5px;
}

.iPub-OnlineShop-logo {
    width: 50%;
}

.OnlineShop-logo {
    width: 35%;
}

@media (max-width: 991.98px) {
    .iPub-OnlineShop-logo {
        width: 75%;
    }

    .OnlineShop-logo {
        width: 50%;
    }
}

/*========================================
  parts-footer-affiliate
========================================*/
.footer-affiliate-block a {
    display: block;
}

.footer-affiliate-block a img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

/*========================================
  parts-sub-menu
========================================*/
.sub-main .item-list .item .card {
    border-radius: 0;
}

.sub-main .item-list .item .card-img {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.sub-main .item-list .item .card-img {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


/* **************************************************

clubman

***************************************************** */

/*========================================
  common
========================================*/
/* タイトル */
#clubman .title-box h3 {
    font-family: 'Roboto', sans-serif;
}

#clubman .title-box .sub-title {
    font-family: 'Zen Old Mincho', serif;
    color: #434343;
}

#clubman .post-sub-title {
    font-size: 80%;
}

/* **************************************************

welcart

***************************************************** */

/* 購入ボタン */
.skubutton {
    background-color: #E0B134;
    text-decoration: none;
    color: darkslategrey;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em;
    width: auto;
}

/* 新規ご入会はこちらリンク, ログアウトボタン */
.newmember,
article.wc_member #memberinfo ul.member_submenu li:last-child a {
    padding: 0.375rem 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    background-clip: padding-box;

    width: 100%;
    height: 3.5rem;
    transition: all .5s ease;
    border: none;
    border-radius: 0;
    font-size: 1.15rem;

    max-width: 195px;
    background-color: var(--btn-bg-color, #6c6c6c);
    color: var(--btn-text-color, #fff);

    display: flex;
    justify-content: center;
    align-items: center;
}

/*========================================
  wc_completion_page.php
========================================*/
/* 文言を非表示 */
.cart-page.coupon_only_item #wc_ordercompletion ul.dllist table+p {
    display: none;
}

/* 無料記事投稿 作成・編集ボタン画像 */
.header_explanation {
    line-height: 2.35em;
}

.header_explanation p img {
    height: 30px;
    width: auto;
    margin: 0 5px;
}

/*========================================
  wc_member_page.php
========================================*/
/* 請求書 PDF */
.bill_pdf_button {
    display: none;
}

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

    /*========================================
      wc_delivery_page.php
    ========================================*/
    /* 「キャンセル」ボタン */
    #wc_delivery .send input.delete_cart_button {
        position: absolute;
        bottom: 0;
        left: 0;
    }
}

/*========================================
  page-reserve-program.php
========================================*/
.expreiece-program table thead tr th {
    border: none;
}
.expreiece-program table tbody tr th {
    white-space: nowrap
}