/*!
Theme Name: National Newscast
Theme URI: https://adorethemes.com/downloads/national-newscast/
Author: Adore Themes
Author URI: https://adorethemes.com/
Description: National Newscast is a sleek, modern WordPress theme ideal for news websites, blogs, magazines, and more. With a professional design, pre-built demos, and full customization options via widgets and the live customizer, it's easy to set up. The theme is fully responsive, SEO-optimized, and built for fast loading across devices. Perfect for any creative website, it offers a clean, user-friendly experience with secure, fast-loading code. You can preview the theme demo here: https://demo.adorethemes.com/national-newscast/
Version: 1.0.0
Requires at least: 5.0
Requires PHP: 7.4
Tested up to: 6.8
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Template: national-news
Text Domain: national-newscast
Tags: custom-background, custom-header, custom-logo, custom-menu, featured-images, footer-widgets, left-sidebar, right-sidebar, blog, one-column, portfolio, photography, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

National Newscast is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/

*/

/* Site title font size 
--------------------------------------------- */
.site-branding {
    .site-identity {
        .site-title {
            font-size: var(--font-size-xl);
        }
    }
}

/* Banner Section
--------------------------------------------- */
.main-banner-section.style-2{

	.main-banner-section-wrapper{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-inline: -10px;

		>*{
			padding-inline: 10px;
			margin-bottom: 30px;
			
			@media (min-width: 992px){
				position: sticky;
				top: 40px;
			}
		}

		.editor-pick-outer{
			width: 25%;

			@media (max-width: 1024px){
				width: 30%;
			}

			@media (max-width: 768px){
				width: 100%;
			}

			.editor-pick-wrapper{
				display: grid;
				gap: 20px;
				grid-template-columns: repeat(1, 1fr);

				.post-item.overlay-post{
					min-height: 215px;
				}
			}
		}

		.main-featured-grid{
			width: 75%;
			
			@media (max-width: 1024px){
				width: 70%;
			}

			@media (max-width: 768px){
				width: 100%;
			}

			.main-featured{
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
				margin-inline: -10px;

				@media (max-width: 1024px){
					flex-direction: column;
				}
	
				>*{
					padding-inline: 10px;
					margin-bottom: 20px;
					
					@media (min-width: 1025px){
						position: sticky;
						top: 40px;
					}
				}
				
				.main-news-outer{
					width: 70%;
		
					@media (max-width: 1024px){
						width: 100%;
					}
					.main-news-wrap{
						border-radius: 5px;
						overflow: hidden;
		
						.post-item.overlay-post{
							min-height: 450px;
		
							.entry-title {
								font-size: var(--font-size-lg);
							}
						} 
					} 
				}
		
				.featured-posts-outer{
					width: 30%;
		
					@media (max-width: 1024px){
						width: 100%;
					}

					.featured-posts{
						@media (max-width: 1024px){
							display: grid;
							gap: 20px;
							grid-template-columns: repeat(2, 1fr);
						}
					}
		
					.post-item{
						&:not(:last-child){
							margin-bottom: 20px;
						}
						
						&.post-list:not(:has(img)) {
							align-items: center;
							padding: 15px;
							border: 1px solid var(--color-tab-border);
							.post-item-content{
								padding: 0;
							}
						}
						&.post-list:has(img) .post-item-image {
							flex: 0 0 27%;
							max-width: 27%;
							aspect-ratio: 1;
						}
						&.post-list .post-item-content{
							padding: 0;
							padding-inline-start: 15px;
						}
						&.post-list .post-item-content .entry-title {
							margin-block: 5px;
							overflow: hidden;
							display: -webkit-box;
							-webkit-line-clamp: 2;
							-webkit-box-orient: vertical;
							font-size: var(--font-size-sm);
						}
						&.post-list .post-item-content .entry-meta {
							margin: 0;
						}
					}
				}
			}

			.banner-grid-outer{
				.banner-grid-wrapper {
					display: grid;
					gap: 20px;
					grid-template-columns: repeat(3, 1fr);
			
					@media (max-width: 1023px) {
						grid-template-columns: repeat(2, 1fr);
					}
			
					@media (max-width: 767px) {
						display: flex;
						flex-direction: column;
					}

					.post-item.overlay-post{
						min-height: 223px;

						&:first-child{
							grid-row: span 2;
						}
					}
				}
			}
			
		}
		
	}
}
/* End Banner Section
--------------------------------------------- */

/* Start Recent Post Section Section
--------------------------------------------- */
.recentpost-wrapper {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
	.recentpost-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}

	.post-item.overlay-post {
		min-height: 380px;
	}
}

@media (max-width: 480px) {
	.recentpost-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
}
/* End Recent Post Section Section
--------------------------------------------- */

/* bottom header=============== */

@media (min-width: 1024px) {
	body.admin-bar .adore-header.fix-header {
		top: 32px;
	}
}

@media (min-width: 601px) and (max-width: 768px) {
	body.admin-bar .adore-header.fix-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.adore-header.fix-header .site-branding {
		display: none;
	}
}

.adore-header:not(.fix-header) {
	height: 100%;
	background-color: rgba(0,0,0,0.2);
}
.site-header.adore-header-image .adore-header {
	background-color: rgba(0,0,0,0.3);
}
.adore-header.fix-header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 15;
	background-color: var(--primary-color);
}

.adore-boxed-wrapper .adore-header.fix-header {
	max-width: 1500px;
}

/* End archive layouts
--------------------------------------------- */
.theme-archive-layout.list-layout {
	display: grid;
	gap: 30px;
	margin-bottom: 50px;
}

.theme-archive-layout.list-layout article {
	margin-bottom: 0;
}
.theme-archive-layout.list-layout article:not(.has-post-thumbnail) .post-item-image{
	display: none;
}

.theme-archive-layout.list-layout article .post-item.post-list {
	border: none;
}
@media (max-width: 600px) {
	.theme-archive-layout.list-layout article .post-item.post-list {
		flex-direction: column;
	}
	.theme-archive-layout.list-layout article .post-item.post-list .post-item-image{
		flex: unset;
	}
	.theme-archive-layout.list-layout article .post-item.post-list .post-item-image a img{
		aspect-ratio: 1/0.7;
	}
	.theme-archive-layout.list-layout article .post-item.post-list .post-item-content{
		padding: 20px;
	}
	.theme-archive-layout.list-layout article .post-item.post-list .post-item-content p{
		margin-bottom: 0;
	}
}
/* End archive layouts
--------------------------------------------- */

/* --------------------------------------
=========================================
	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;
    line-height: 2;
}

.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 !important;
    border-top: 1px solid #AAA;
    margin: 0 !important;
}

.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;
}

.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;
    margin: 0;
}

p.btn_detail a {
    border: 1px solid #AAA;
    background-color: #CCC;
    padding: 16px;
    border-radius: 10px;
    color: #333;
    text-decoration: none;
    width: 100%;
    display: block;
    margin: 0 auto;
    font-size: 20px;
    line-height: 2;
    font-weight: bold;
}

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

.bs-blog-post .bs-blog-thumb img {
    border-radius: 10px;
}

.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 #24b8c5;
    padding: 0 0 8px;
}

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;
    width: 49%;
}

ul.bta_area {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.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: 150px;
}

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

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

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: #333;
    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;
}

.post-thumbnail img {
    margin: 0 auto 30px;
    display: table;
}

.select-wrapper-2 {
    display: flex;
    position:relative;
    width: 100%;
    max-width: 300px;
    margin: 0 0 0 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 #d0d0d0;
    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: 16px 32px;
    border-radius: 8px;
    margin: 0 0 0 auto;
    display: table;
    appearance: none;
    cursor: pointer;
}

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

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

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

form.product-subset__form {
    margin-bottom: 30px;
}

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

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

h2.entry-title {
    font-size: 2em !important;
}

.header-end {
    display: none !important;
}

@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) {
.select-wrapper-2 {
    width: 100%;
    max-width: 100%;
}
.img-fluid {
    width: 100%;
    max-width: 200px !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;
}
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;
}
.post-item-image {max-width: 100%!important;}
}

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