/*
Theme Name: Blogmode
Theme URI: https://themeansar.com/free-themes/blogmode-wordpress-theme/
Author: Themeansar
Author URI: https://themeansar.com
Description: Blogmode is a fast, clean, modern-looking Best Responsive News Magazine WordPress theme. The theme is fully widgetized, so users can manage the content by using easy to use widgets. Blogmode is suitable for dynamic news, newspapers, magazine, publishers, blogs, editors, online and gaming magazines, newsportals,personal blogs, newspaper, publishing or review siteand any creative website. Blogmode is SEO friendly, WPML,Gutenberg, translation and RTL ready. Live preview : https://demos.themeansar.com/blogarise/blogmode/ and documentation at https://docs.themeansar.com/docs/blogarise/
Version: 0.3
Requires PHP: 7.4
Requires at least: 6.6
Tested up to1: 6.9
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Template: blogarise
Text Domain: blogmode
Tags: blog, portfolio, news, grid-Layout, one-column, two-columns, three-columns, flexible-header, left-sidebar, right-sidebar, custom-background, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, post-formats, rtl-language-support, theme-options, sticky-post, threaded-comments, translation-ready, block-styles, wide-blocks

Blogmode WordPress Theme is child theme of Newsup, Copyright 2023 Themeansar
Blogmode is distributed under the terms of the GNU General Public License v3

Blogmode is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/
:root {
    --bo-color: #303030;
    --bxbr: 1px solid var(--bo-color);
    --bxbra: 8px;
    --bxsh: 8px 8px 0px var(--bo-color);
    --bxshover: 8px 8px 0px var(--bo-color);
    --bstras: 0 4px 60px 0 rgba(0, 0, 0, 0.2);
    --headFont: 'poppins', sans-serif;
    --bodyFont: 'Roboto', sans-serif;
}
a:focus {
    outline: 1px solid;
}
::selection{
    background-color: #2E2E2E;
    color: var(--pri-color);
}
.bs-widget .wp-block-search__label, .widget_block h2, .bs-widget-title .title{
    font-weight: 600;
    border-width: 1px;
}
.navbar-wp .navbar-nav>li>a{
    font-family: var(--bodyFont);
}
/* Ticker */
.mg-latest-news .bn_title .title{
    font-size: 16px;
}
.mg-latest-news .mg-latest-news-slider a{
    font-size: 15px;
}
/* Social Icons */
.bs-head-detail .bs-social li a i{
    width: auto;
    height: auto;
    line-height: 1.3;
    border-radius: 0;
}
.bs-head-detail .bs-social li a i{
    font-size: 18px;
    border: none;
}
.bs-head-detail .bs-social{
    gap: 8px;
}
/* Right Nav */
.bs-headtwo .desk-header{
    gap: 20px;
}
.right-nav a, .switch, .switch .slider::before {
    width: auto;
    height: auto;
    border: 0;
    font-size: 18px;
    border-radius: 0;
    overflow: visible;
}
.switch .slider::before{
    left: 0;
    bottom: -8px;
}
.desk-header .msearch {
    padding: 0px;
}
.desk-header.right-nav .switch{
    display: none;
}
/* Featured Slider */
.mainfeatured {
    padding-top: 50px;
}
.homemain .bs-blog-post .title{
    line-clamp: 2;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.list-view .list-blog.bs-blog-post{
    grid-template-columns: repeat(5, 1fr);
    height: 400px;
    align-items: center;
}
.list-view .list-blog .bs-blog-thumb{
    grid-column: span 3/3;
}
.list-view .list-blog.bs-blog-post .small{
    grid-column: span 3/6;
}
.list-blog.bs-blog-post{
    padding: 20px;
}
.list-view  .bs-blog-post .title{
    font-size: 36px;
}
.list-blog .bs-blog-thumb{
    border: none;
}
.bs-blog-post .title{
    font-weight: 600;
    font-size: 22px;
}
/* trending */
.mainfeatured .trending-pots {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.mainfeatured .trending-pots .bs-blog-post.three.md {
    width: 100%;
    height: 188px;
}
/* feature story */
.featured-story-slider .swiper-slide, .homemain .swiper-slide{
    padding-right: 8px;
}
.featured-story-slider .bs-blog-post{

}
.featured-story-slider .bs-blog-post .title{
    line-clamp: 2;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 18px;
}
.featured-story-slider .bs-blog-post .bs-blog-thumb { 
    height: 180px;
}
/* hover effect */
.bs-blog-post {transition: 0.35s;}
.bs-blog-post {
    box-shadow: var(--bxshover);
}
.bs-blog-category a{
    box-shadow: none;
    border-width: 1px;
    text-transform: uppercase;
    font-size: 12px;
}
.bs-blog-category a:hover, .bs-blog-category a:focus{
    box-shadow: 2px 2px 0px var(--bo-color);
    transform: translate(-2px, -2px);
}
.navigation.pagination .nav-links .page-numbers, .navigation.pagination .nav-links a{
    box-shadow: none;
    border-width: 1px;
}
.bs-blog-post .title a {
    color: inherit;
    background-repeat: no-repeat;
    background-position: left 100%;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 2px;
    transition: background-size 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
    line-height: 1.4;
}
.bs-blog-post .title a:hover {
    background-size: 100% 2px;
}
.bs-blog-meta, .bs-blog-meta a {
    font-weight: 500;
}
.bs_upscr, .bs .swiper-button-prev, .bs .swiper-button-next, .comments-area .reply a, button, input[type="button"], input[type="submit"], input[type="reset"]{
    border-width: 1px;
}
.bs .swiper-button-prev:hover{
    box-shadow: 3px 0px 0px var(--bo-color);
    transform: translate(-3px, 0px);
}
.bs .swiper-button-next:hover{
    box-shadow: -3px 0px 0px var(--bo-color);
    transform: translate(3px, 0px);
}
/*  */
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: var(--bo-radius);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
/* media */
@media(max-width: 767px){
    .list-view .list-blog.bs-blog-post{
        display: flex;
        flex-direction: column;
        height: auto;
    }
    .list-view .bs-blog-post .title{
        font-size: 26px;
    }
    .list-view .list-blog.bs-blog-post .bs-blog-meta {
        justify-content: center;
    }
    .mainfeatured .trending-pots{
       margin-bottom: 30px; 
    }
    .featured-story-slider .bs-blog-post .title{
        text-align: start;
    }
}

/* --------------------------------------
=========================================
	PLUS AREA
=========================================
-----------------------------------------*/

body {
    font-family: "Noto Sans JP", sans-serif !important;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 16px !important;
}

.product-subset__table th {
    background-color: #EEE;
    border: 1px solid #AAA;
    padding: 10px;
    font-size: 16px;
    vertical-align: middle;
}

.product-subset__table td {
    border: 1px solid #AAA;
    font-size: 16px;
    padding: 10px;
    vertical-align: middle;
}

.product-subset__price br {
    display: none;
}

.product-subset__price {
    color: #d21a1a;
    font-weight: bold;
    font-size: 1.4em;
}

.product-subset__price--yen {
    font-size: 60%;
    font-weight: bold;
}

td.product-subset__td-order br {
    display: none;
}

.product-subset__submit-button {
    width: 100%;
    font-size: 1.1em;
    font-weight: bold;
    border-radius: 8px;
    padding: 10px;
}

.inyou {
    position: relative;
    padding: 0;
    border: 1px solid #AAA;
    margin-bottom: 30px;
}

.inyou p {
    margin: 0 !important;
    /* position: absolute; */
    padding: 10px;
    line-height: 2;
    top: 3px;
    left: 10px;
    background: #eeeeee;
    border-radius: 0;
    font-weight: bold;
    color: #333;
}

.inyou ul {
    padding: 20px;
    border-top: 1px solid #AAA;
    margin-bottom: 0 !important;
    background-color: #FFF;
}

.inyou ul li {
    list-style: none;
    margin-bottom: 10px;
    font-size: 16px;
}

.inyou ul li:last-child {
    margin: 0;
}
table.about th {
    border: 1px solid #AAA;
    width: 200px;
    padding: 10px;
    font-size: 1em;
    background-color: #EEE;
}

table.about td {
    border: 1px solid #AAA;
    padding: 10px;
    font-size: 1em;
    background-color: #FFF;
}

.page-entry-title-box h1 {
    font-size: 30px;
}

.bs-blog-post.single img {
    margin-bottom: 20px;
}

p.tel_number:before {
    content: "\f095";
    font-family: 'FontAwesome';
    margin-right: 10px;
}

p.address:before {
    content: "\f041";
    font-family: 'FontAwesome';
    margin-right: 12px;
}

.textwidget.custom-html-widget p {
    font-weight: bold;
    font-size: 18px;
}

p.product-price {
    color: #d21a1a;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 10px;
    text-align: left !important;
    margin-bottom: 20px;
}

h2.entry-title {
    text-align: left;
}

.blog-post {
    border: 2px solid #DDD;
    border-radius: 8px;
    padding: 15px;
    box-sizing: border-box;
}

article .blog-post .image {
    width: 100%;
    max-width: 400px;
    margin: 0 auto!important;
}

h3.widget-title {border-bottom: 2px solid #333;padding: 0 10px 10px;}

.single.single-left-sidebar #comments, .single.single-left-sidebar .content, .single.single-left-sidebar div.title, .single.single-right-sidebar #comments, .single.single-right-sidebar .content, .single.single-right-sidebar div.title {
    width: 100% !important;
}

h1.entry-title {
    border-bottom: 2px dotted #CCC;
    padding: 10px 0 20px;
}

.copyrights span {
    display: none;
}

.hd-bar .side-menu ul li a {
    font-size: 16px;
}

p.btn_detail {
    width: 100%;
    text-align: center;
}

p.btn_detail a {
    border: 1px solid #AAA;
    background-color: #fd0707;
    padding: 10px 20px;
    border-radius: 10px;
    color: #FFF;
    text-decoration: none;
    width: 100%;
    display: block;
    margin: 0 auto;
    font-size: 1.1em;
}

p.btn_detail a:hover {
    opacity: 0.8;
}

.bs-blog-post .bs-blog-thumb img {
    border-radius: 10px;
    width: 100%;
    max-width: 375px;
    margin: 0 auto 30px;
    display: table;
}

.reviewList ul li {
    list-style: none;
    margin-bottom: 20px;
    border: 4px solid #EEE;
    padding: 20px !important;
}

.reviewList ul li p {
    margin: 0;
}

p.review_text {
    margin-bottom: 0;
}

p.review_star i {margin-right: 2px;color: #ffa400;}

.entry-content h2 {
    font-size: 1.5em !important;
    border-bottom: 2px solid #15e2b9;
}

dl.faq_area {
    border: 2px solid #DDDD;
    padding: 10px 20px 20px !important;
    margin-bottom: 20px !important;
    border-radius: 10px;
}

dl.faq_area dt:before {
    content: "Q.";
    color: #d51a1a;
    font-size: 30px;
    margin-right: 7px;
}

dl.faq_area dt {
    margin: 0 0 10px;
    border-bottom: 1px dotted #CCC;
    padding-bottom: 10px;
    line-height: 2;
}

dl.faq_area dd {
    margin: 0;
    line-height: 2;
}

dl.faq_area dd:before {
    content: "A.";
    font-weight: bold;
    font-size: 30px;
    color: #1a7dd5;
    margin-right: 7px;
}

ul.bta_area li {
    list-style: none;
    padding: 5px 0;
}

ul.bta_area {
    margin: 0 !important;
    padding: 0 !important;
}

.site-title {
    margin-top: 0;
}

.single-entry-summary h2 {
    font-size: 1.5em;
    border-bottom: 2px solid #fd0707;
    padding: 0 10px 10px;
    margin-bottom: 20px;
}

table.product-subset__table {
    margin: 0 0 30px;
}

table.point th {
    background-color: #eeeeee;
    border: 1px solid #AAA;
    padding: 10px;
    width: 50% !important;
}

table.point td {
    border: 1px solid #AAA;
    padding: 10px;
    background-color: #FFF;
}

ul.review li {
    border: 4px solid #DDD;
    border-radius: 10px;
    margin: 0 0 20px;
    padding: 20px;
    list-style: none;
    background-color: #FFF;
}

ul.review {
    margin: 0;
    padding: 0;
}

table.point {
    margin-bottom: 30px;
}

p.review_name {
    font-weight: bold;
    font-size: 1.2em;
}

.news-thumb img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 20px;
    display: table;
}

table.contact th {
    background-color: #EEE;
    border: 1px solid #AAA;
    padding: 10px;
    width: 200px;
}

table.contact td {
    background-color: #FFF;
    border: 1px solid #AAA;
    padding: 10px;
}

table.contact {
    margin-bottom: 20px;
}

.entry-content dl dt {
    background-color: #fe7245;
    display: inline-block;
    color: #FFF;
    font-weight: bold;
    padding: 6px 12px;
    line-height: 2;
}

.entry-content dl dd {
    border: 1px solid #333;
    margin-bottom: 20px;
    padding: 20px;
    margin: 0 0 20px;
}

nav.navigation.post-navigation {
    display: none;
}

ul.review p {
    margin: 0 0 10px;
}

.box {
    border: 1px solid #AAA;
    padding: 10px;
    background-color: #f3f3f3;
    padding: 20px;
    border-radius: 8px;
}

.box p {
    margin: 0;
}

.box h2 {
    margin: 0 0 20px;
}

ul.kanren {
    display: flex;
    flex-flow: row wrap;
    margin: 0 !important;
    padding: 0 !important;
}

ul.kanren li {
    width: 25%;
    list-style: none;
    padding: 10px !important;
}

ul.kanren li a {
    border: 1px solid #AAA;
    padding: 10px;
    border-radius: 10px;
    display: block;
    text-decoration: none;
    box-shadow: 0 0 5px #CCC;
}

.kanren li p {
    text-align: center;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 18px;
}

ul.kanren li a:hover {
    opacity: 0.8;
}

ul.kanren li img {
    width: 100%;
}

ul.kanren li a {
    background-color: #FFF;
}

ul.kanren li p {
    margin: 0 !important;
}

.small.single h2 {
    font-size: 24px;
    font-weight: 400;
    border-bottom: 3px dashed #00b0c6;
    padding: 0 8px 8px;
}

.select-wrapper-2 {
    display: flex;
    position:relative;
    width: 100%;
    max-width: 300px;
    margin: 0 0 30px auto;
    }


.select-wrapper-2 select {
    margin-right: 10px;
    font-size: 20px;
    border-radius: 4px;
    border: 1px solid #333;
    outline: none;
    font-weight: bold;
    cursor: pointer;
    appearance: none;
    padding: 10px 30px 10px 10px;
    position:relative;
    width: 80px;
}

.select-wrapper-2::after {
  content: "\f0d7"; /* Font Awesome 4.7 下向き矢印 */
  font-family: FontAwesome;
  position: absolute;
  left: 60px; /* ボタンの幅に合わせて調整 */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #333;
  font-size: 16px;
}

.select-wrapper-2 button {
    flex: 1;
    font-weight: bold;
    font-size: 20px;
    border-radius: 4px;
    padding: 10px;
    border: 1px solid #333;
    appearance: none;
    cursor: pointer;
}

.select-wrapper-2 button:hover {
    background-color: #333;
    color: #FFF;
}

/* ラジオボタンをリセット */
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #999;
  border-radius: 50%;
  margin-right: 10px;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  transition: border 0.2s, background 0.2s;
}

/* チェックされたとき */
input[type="radio"]:checked {
  border-color: #333;
  background-color: #333;
}

/* チェックマーク用の擬似要素 */
input[type="radio"]:checked::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #333;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ラベル全体をクリック可能に */
label {
  cursor: pointer;
  user-select: none;
}

.product-subset__form ul li {
    list-style: none;
    display: flex;
    border: 2px solid #AAA;
    padding: 10px !important;
    border-radius: 10px;
    margin-bottom: 10px;
    line-height: 2;
    align-items: center;
    background-color: #EEE;
}

.product-subset__form ul {
    padding: 0 !important;
    margin: 0 !important;
}

form.product-subset__form ul li input {
    position: relative;
    border-color: #333 !important;
    background-color: #FFF !important;
}

.product-subset__form button {
    font-size: 20px;
    padding: 12px 32px;
    border-radius: 8px;
    margin: 0 0 0 auto !important;
    display: table;
    appearance: none;
    cursor: pointer;
    background: #00b0c6 !important;
}

.product-subset__form ul li label {
    flex: 1;
    font-weight: bold;
    font-size: 20px;
}

table.guide th {
    width: 40%;
    border: 1px solid #AAA;
    background-color: #EEE;
    padding: 10px;
    text-align: left;
}

table.guide td {
    border: 1px solid #AAA;
    background-color: #FFF;
    padding: 10px;
}

form.product-subset__form {
    margin-bottom: 0;
}

form.product-subset__form ul li label span {
    font-size: 16px;
    font-weight: normal;
}

.select-wrapper-2 p {
    margin: 0 !important;
}

.small-bottom form {
    margin: 0;
}

button:hover, [type=button]:hover, [type=reset]:hover, [type=submit]:hover, 
button:focus, [type=button]:focus, [type=reset]:focus, [type=submit]:focus {
    background: #ca537f!important;
    color: #fff;
    border-color: #ca537f!important;
}

.super_visor {
    background-color: #FFF;
    margin: 0 0 30px !important;
    border: 1px solid #AAA;
}

.super_visor h2 {border: none !important;background-color: #eeeeee;margin: 0 !important;padding: 10px !important;border-bottom: 1px solid #AAA !important;font-size: 20px !important;}

.super_visor dl {
    padding: 0 0 15px;
    margin: 0 0 15px !important;
    display: flex;
    flex-flow: row wrap;
    border: none;
    border-bottom: 1px solid #DDD;
}

.super_visor dl dt {
    width: 130px;
    margin-right: 20px;
    line-height: 2;
}

.super_visor dl dd {
    flex: 1;
    margin: 0;
    line-height: 2;
    padding: 0;
}

.super_visor dl dt span {
    background-color: #00b0c6;
    display: block;
    text-align: center;
    border-radius: 6px;
    color: #FFF;
    line-height: 2;
    font-size: 16px;
}

.super_visor article {
    padding: 20px;
}

.super_visor dl:last-child {
    border: none;
    margin: 0;
    padding: 0;
}

ul.faq_list li {
    list-style: none;
    border: 2px solid #DDD;
    padding: 20px;
    border-radius: 6px;
    background-color: #FFF;
    line-height: 1.5;
    margin-bottom: 20px;
}

ul.faq_list {
    margin: 0;
    padding: 0;
}

ul.faq_list li p {
    margin: 0;
}

ul.faq_list li h4 {
    font-weight: bold;
    font-size: 20px;
    border-bottom: 4px dotted #00b0c6;
    padding: 0 0 10px;
    margin-bottom: 10px;
}

ul.faq_list li h4:first-letter {
    color: #00b0c6;
    font-size: 30px;
    margin-right: 5px;
}

ul.faq_list li h3 {
    font-size: 24px !important;
    font-weight: 500;
    line-height: 1.5;
}

.bs-blog-post .small h3 {
    font-weight: 400;
    font-size: 24px;
    padding: 10px 0;
}

@media (max-width: 768px) {
.product-subset__submit-button {
    font-size: 16px;
}
.product-subset__table th {
    font-size: 16px;
}
.product-subset__table td {
    font-size: 16px;
}
.product-subset__unit-price {
    font-size: 12px;
}
.bs-blog-post .small {
    padding: 10px;
}
.inyou ul {
    margin: 0 !important;
    width: 100% !important;
}

.content p {
    width: 100% !important;
    margin-bottom: 30px !important;
}

div#post-wrapper {
    padding: 0;
}
h1.entry-title {
    font-size: 24px;
}
}

@media (max-width: 480px) {
.img-fluid {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    display: table;
}
table.about tr {
    display: block;
    width: 100%;
}

table.about th {
    display: block;
    width: 100%;
    font-size: 16px;
    border: none;
    border-right: 1px solid #AAA;
    border-bottom: 1px solid #AAA;
}

table.about td {
    display: block;
    width: 100%;
    font-size: 16px;
    border: none;
    border-right: 1px solid #AAA;
    border-bottom: 1px solid #AAA;
}

table.about {
    border-top: 1px solid #AAA;
    border-left: 1px solid #AAA;
}
.page-area {
    padding: 20px 0;
}
#sidebar {
    display: block;
    max-width: 100%;
    clear: both;
}
article.blog-article {
    clear: none;
    padding-right: 0!important;
}
.col-md-9 {
    padding-right: 0 !important;
}
.select-wrapper-2 {
    width: 100%;
    max-width: 100%;

}
form.product-subset__form ul li label span {
    display: block;
}
ul.bta_area li {
    list-style: none;
    padding: 5px 0;
    width: 100%;
}
ul.bta_area form {
    margin: 0 !important;
}
.site-branding-text .site-title {
    margin-bottom: 0!important;
	text-align: left!important;
}
.super_visor dl {
    padding: 0 0 15px;
    margin: 0 0 15px !important;
    display: block;
    font-size: 16px;
}
.super_visor dl dt {
    margin-right: 20px;
    line-height: 2;
    margin-bottom: 10px;
}
ul.kanren li {
    width: 100%;
}
.mainfeatured {
    padding-top: 0;
}
.site-branding-text .site-title a {font-size: 18px!important;}
}
/* --------------------------------------
=========================================
	PLUS AREA
=========================================
-----------------------------------------*/