﻿@charset "UTF-8";
:root{
    --bml-gap-x:20px;
    
    --bmd-pink:#FFA7A7;
    --bmd-blue:#7CB9FF;
    --bmd-green:#86D16F;
    --bmd-gold:#E0B148;
    --bmd-purple:#9A8EDB;
    --bmd-gap-x:calc(20 / 375 * 100vw);
    --bmd-gap-y:40px;
}
/*------------------------------------------
bhappy magazine 一覧
------------------------------------------*/
:is(.page-category, .page-genre, .page-event) .block-general-list--event .event-inner .bml-article {
    margin-bottom: 40px;
}

:is(.page-category, .page-genre, .page-event) .block-general-list--event .event-inner:last-child .bml-article {
    margin-bottom: 0;
}

:is(.page-category, .page-genre, .page-event) .bml-article {
    padding: 0 var(--sp-padding-left-or-right);
}

:is(.page-category, .page-genre, .page-event) .bml-article-mv-wrapper {
    padding: 0;
    margin-bottom: 30px;
}

:is(.page-category, .page-genre, .page-event) .bml-h2-wrapper {
    margin-bottom: 10px;
}

:is(.page-category, .page-genre, .page-event) .bml-h2 {
    font-weight: bold;
    font-size: 1.125rem;
    line-height: calc(27 / 18);
    letter-spacing: 0.15em;
    margin-bottom: 17px;
}

:is(.page-category, .page-genre, .page-event) .bml-h2:after {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background-color: #222222;
    margin-top: 15px;
}
:is(.page-category, .page-genre, .page-event) .bml-text{
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    line-height: calc(19 / 14);
    font-weight: 500;
}
:is(.page-category, .page-genre, .page-event) .bml-article-button-wrapper{
    margin-top: 69px;
}
:is(.page-category, .page-genre, .page-event) .block-general-list--event > .bml-hr-top{
    padding-top: 101px;
    position: relative;
}
:is(.page-category, .page-genre, .page-event) .block-general-list--event > .bml-hr-top:before{
    content:'';
    position: absolute;
    width: calc(100% - 2 * var(--sp-padding-left-or-right));
    height: 1px;
    display: block;
    background-color: #cccccc;
    top: 50px;
    left: var(--sp-padding-left-or-right);
}
:is(.page-category, .page-genre, .page-event) .bml--next-page a{
    height: 40px;
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0 30px 0 10px;
    width: min(100%, 200 / 375 * 100vw);
    font-size: 0.75rem;
    font-weight: 300;
    line-height: calc(16 / 12);
    letter-spacing: 0.2em;
    font-family: var(--font-family-alpha);
    background: var(--theme-color-primary);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) .bml--next-page{
    text-align: center;
}
/*------------------------------------------
bhappy magazine 一覧 / bhappy magazine 詳細
------------------------------------------*/
:is(.page-category, .page-genre, .page-event) .bmd-article {
    padding: 0 var(--sp-padding-left-or-right);
}

:is(.page-category, .page-genre, .page-event) :is(.bmd-mv-wrapper, .bmd-img-wrapper) {
    padding: 0;
}

:is(.page-category, .page-genre, .page-event) .bmd-h1-wrapper {
    margin-bottom: 30px;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon,.bmd-icon,.bmd-icon-right){
    display: flex;
    margin-bottom: 10px;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-right,.bmd-icon-right){
    justify-content: flex-end;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon,.bmd-icon,.bml-icon-right,.bmd-icon-right):after {
    font-size: 0.625rem;
    height: 18px;
    padding: 0 10px;
    font-family: var(--font-family-alpha);
    line-height: calc(27 / 10);
    letter-spacing: 0.1em;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-share-happy,.bmd-icon-share-happy):after{
    content:'SHARE HAPPY';
    background-color: var(--bmd-pink);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-hello-beginners,.bmd-icon-hello-beginners):after{
    content:'HELLO BEFINNERS';
    background-color:  var(--bmd-blue);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-good-design,.bmd-icon-good-design):after{
    content:'GOOD DESIGN';
    background-color:  var(--bmd-green);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-good-tips,.bmd-icon-good-tips):after{
    content:'GOOD TIPS';
    background-color:  var(--bmd-gold);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon-trend-watchers,.bmd-icon-trend-watchers):after{
    content:'TREND WATCHERS';
    background-color:  var(--bmd-purple);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) .bmd-h1 {
    font-weight: bold;
    padding: 0;
    margin-bottom: 30px;
    font-size: 1.125rem;
    line-height: calc(27 / 18);
    letter-spacing: 0.15em;
}

:is(.page-category, .page-genre, .page-event) .bmd-h1:after {
    content: '';
    display: block;
    height: 5px;
    border-top: 1px solid #222222;
    border-bottom: 1px solid #222222;
    margin-top: 6px;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-h2,.bmd-h2-gray) {
    padding: 4px 10px;
    margin-bottom: 30px;
    font-size: 1rem;
    line-height: calc(27 / 16);
    letter-spacing: 0.15em;
    font-weight: 500;
}
:is(.page-category, .page-genre, .page-event) .bmd-h2-gray{
    background-color: #ECEDF0;
}
:is(.page-category, .page-genre, .page-event) .bmd-h3 {
    margin-bottom: 30px;
    font-weight: 500;
    border-bottom: 1px solid #222222;
    font-size: 1rem;
    line-height: calc(27 / 16);
    letter-spacing: 0.15em;
    padding-bottom: 2px;
}
:is(.page-category, .page-genre, .page-event) .bmd-article {
    display: flex;
    flex-direction: column;
    gap: var(--bmd-gap-y) 0;
}
:is(.page-category, .page-genre, .page-event) .bmd-article :where(.bmd-text,.bmd-text-2){
    font-size: 0.875rem;
    line-height: calc(19 / 14);
    letter-spacing: 0.06em;
    font-weight: 500;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-grid-lr,.bmd-grid-lr) {
    display: grid;
    grid-template-areas:
        "l r";
    grid-template-columns: auto auto;
    grid-template-rows: auto 1fr;
    gap: 0 var(--bmd-gap-x);
}
:is(.page-category, .page-genre, .page-event) :is(.bml-grid-lcr,.bmd-grid-lcr) {
    display: grid;
    grid-template-areas:
        "l c r";
    grid-template-columns: calc((100% - 2 * 15 / 375 * 100vw) / 3);
    grid-template-rows: auto 1fr;
    gap: 0 calc(15 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-l,.bmd-sp-grid-l,.bml-sp-grid-c,.bmd-sp-grid-c,.bml-sp-grid-r,.bmd-sp-grid-r){
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-l,.bmd-sp-grid-l,.bml-sp-grid-c,.bmd-sp-grid-c,.bml-sp-grid-r,.bmd-sp-grid-r) .bmd-text{
    flex-grow: 1
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-l,.bmd-sp-grid-l) {
    grid-area: l;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-c,.bmd-sp-grid-c) {
    grid-area: c;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-r,.bmd-sp-grid-r) {
    grid-area: r;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-grid-abcd,.bmd-grid-abcd) {
    display: grid;
    grid-template-areas:
        "a b"
        "c d";
    grid-template-columns: minmax(calc((100% - 20 / 375 * 100vw) / 2), max-content) 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 var(--bmd-gap-x);
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-a,.bmd-sp-grid-a) {
    grid-area: a;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-b,.bmd-sp-grid-b) {
    grid-area: b;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-c,.bmd-sp-grid-c) {
    grid-area: c;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-d,.bmd-sp-grid-d) {
    grid-area: d;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-ac,.bmd-sp-grid-ac) {
    grid-row: a / c;
    grid-column: a;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-ab,.bmd-sp-grid-ab) {
    grid-row: a;
    grid-column: a / b;
    margin-bottom: 20px;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-bd,.bmd-sp-grid-bd) {
    grid-row: b / d;
    grid-column: b;
}

:is(.page-category, .page-genre, .page-event) :is(.bml-sp-grid-cd,.bmd-sp-grid-cd) {
    grid-row: c;
    grid-column: c / d;
}
:is(.page-category, .page-genre, .page-event) .bmd-img-content {
    width: calc(180 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) .bmd-article-text-2 .bmd-img-content{
    width: calc(160 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) :is(.bml-block-flex,.bmd-block-flex) {
    display: flex;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-flex,.bmd-flex) {
    display: flex;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-flex-center,.bmd-flex-center) {
    display: flex;
    align-items: center;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-flex img,.bmd-flex img) {
    width: 100%;
    height: auto;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd--next-page,.bmd--next-page-large,.bmd--next-page-white,.bmd--next-page-white-large){
    text-align: center;
    margin-top: 10px;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd--next-page,.bmd--next-page-large) a{
    height: 26px;
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0 30px 0 10px;
    width: min(100%, 200 / 375 * 100vw);
    font-size: 0.75rem;
    font-weight: 300;
    line-height: calc(16 / 12);
    letter-spacing: 0.2em;
    font-family: var(--font-family-alpha);
    background: var(--theme-color-primary);
    color: #fff;
}
:is(.page-category, .page-genre, .page-event) :is(.bml--next-page,.bmd--next-page,.bmd--next-page-large) a:after{
    content: '';
    background-image: url(/img/usr/common/arrow-white-more@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 3px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    display: block;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd--next-page-white,.bmd--next-page-white-large) a{
    height: 26px;
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 0 30px 0 0;
    width: min(100%, 170 / 375 * 100vw);
    font-size: 0.75rem;
    font-weight: 300;
    line-height: calc(16 / 12);
    letter-spacing: 0.02em;
    border-bottom: 1px solid  #222222;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd--next-page-white,.bmd--next-page-white-large) a:after{
    content: '';
    background-image: url(/img/usr/common/arrow-black-more@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 3px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    display: block;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd--next-page-large,.bmd--next-page-white-large) a{
    width: calc(200 / 375 * 100vw);
    height: 40px;
    margin-top: 30px;
    padding: 0 45px 0 20px;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-sp-btn-lg[class*="-large"][class*="-next"]) a{
    width: 100%;
    height: 60px;
    margin-top: 40px;
    padding: 0 55px 0 20px;
    font-size: 1.0625rem;
    line-height: calc(22 / 17);
    letter-spacing: 0.2em;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-sp-btn-lg[class*="-large"][class*="-next"]) a:after{
    width: 30px;
    height: 4px;
    right: 20px;
}
:is(.page-category, .page-genre, .page-event) :is(.bml--flex-column,.bmd--flex-column) {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items,.bmd-article-items-2) .bmd-article-items-inner{
    display: flex;
    flex-direction: column;
    height: 100%;
}
:is(.page-category, .page-genre, .page-event) .bmd-article-items{
    display: flex;
    gap: var(--bmd-gap-y) 0;
    flex-direction: column;
}
:is(.page-category, .page-genre, .page-event) .bmd-article-items-2{
    display: flex;
    gap: 80px 0;
    flex-direction: column;
}
:is(.page-category, .page-genre, .page-event) .bmd-article-items-2 > *:last-child{
    margin-bottom: calc(80px - var(--bmd-gap-y));
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items.bmd-col-2,.bmd-article-items-2.bmd-col-2){
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    flex-direction: row;
    gap: var(--bmd-gap-y) var(--bmd-gap-x);
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items.bmd-col-2 > *,.bmd-article-items-2.bmd-col-2 > *){
    width: calc((100% - var(--bmd-gap-x)) / 2);
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items,.bmd-article-items-2) .bmd-grid-lr .bmd-image,
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items,.bmd-article-items-2) .bmd-grid-lcr .bmd-image{
    margin-bottom: 15px;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-items,.bmd-article-items-2) .bmd-image{
    margin-bottom: 30px;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-border-gray,.bmd-sp-border-gray){
    border: 1px solid #ccc;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-background-gray,.bmd-sp-background-gray){
    background-color: #F6F7F9;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-article-items,.bmd-article-items):is(.bmd-sp-border-gray,.bmd-sp-background-gray){
    padding: 20px calc(15 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) :is(.bml-article-items,.bmd-article-items):is(.bmd-sp-border-gray,.bmd-sp-background-gray) .bmd-img-content{
    width: calc(160 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) :is(.bml-sp-underline,.bmd-sp-underline){
    text-decoration: underline;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-article-text-2,.bmd-article-box) :is(.bmd-h2,.bmd-h2-gray) .bmd-icon-right{
    flex-grow: 1;
    width: auto;
    margin-bottom: 0;
    flex-shrink: 0;
    margin-left: calc(10 / 375 * 100vw);
}
:is(.page-category, .page-genre, .page-event) .bmd-article-box [class*="bmd-pc-grid"]{
    margin-bottom: 0;
}
:is(.page-category, .page-genre, .page-event) .bmd-article-box .h2-wrapper{
    margin-bottom: 40px;
}
:is(.page-category, .page-genre, .page-event) .bmd-sp-gap-sm-y{
    gap: 40px 0;
}
:is(.page-category, .page-genre, .page-event) .bmd-sp-gap-lg-y{
    gap: 130px 0;
}
:is(.page-category, .page-genre, .page-event) :is(.bmd-hr-top){
    padding-top: var(--bmd-gap-y);
    border-top: 1px solid #cccccc;
}
:is(.page-category, .page-genre, .page-event) :is(.bml-icon,.bmd-icon,.bmd-icon-right){
    display: flex;
    margin-bottom: 20px;
}
:is(.page-category, .page-genre, .page-event) .bmd-flex-column-grow{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}
:is(.page-category, .page-genre, .page-event) .bmd-article .block-thumbnail-t{
    margin-bottom: 0;
}
:is(.page-category, .page-genre, .page-event) .bmd-sp-mb-0{
    margin-bottom: 0!important;
}
:is(.page-category, .page-genre, .page-event) .bmd-sp-mb-sm{
    margin-bottom: 40px!important;
}
:is(.page-category, .page-genre, .page-event) .bmd-sp-mb-lg{
    margin-bottom: 80px!important;
}
.page-event .bmd-to-bml{
    position: fixed;
    z-index: 2;
    bottom: 10px;
    right: 30px;
    border-radius: 50%;
    background-color:#222222;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-event .bmd-to-bml .bmd-to-bml-title{
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
    font-family: var(--font-family-alpha);
    font-weight: 300;
    line-height: calc(23 / 14);
    letter-spacing: 0.1em;
    color: #fff;;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    gap: 4px 0;
}
.page-event .bmd-to-bml .bmd-to-bml-title:after{
    content: '';
    background-image: url(/img/usr/common/arrow-white-more@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 3px;
    display: block;
}