@charset "UTF-8";
/*
Theme Name:   NookJapan
Description:  THE SONICカスタマイズ用子テーマ
Author:       SONIC Team / tenmedia
Author URI:   https://the-sonic.jp
Template:     thesonic
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/


*{ margin:0; padding:0;}
body { background:#fff!important;}
img { vertical-align:bottom;}
ul, li { list-style:none;}
a { color:#333; text-decoration:none;}
a:hover { text-decoration:none;}
p { margin-bottom:0;}

:root {
--maincolor: #f36104;
--subcolor: #10A199;
--bgcolor: #fff;
--subcolor-op2: rgba(16,161,153,0.2);
--logofont:'Sonsie One', cursive;
}

#page-overview #header { background-color:transparent; color:var(--maincolor);}
#main footer { background:none;}

#content { display:flex; flex-wrap:wrap; margin:0 auto;}
#main { width:100%;}
#main h1 { font-weight:700;}
#sidebar { width:100%;}
#sidebar h2 { font-weight:700;}

#header { width:100%; position:fixed; top:0;}
#header .header-logo { margin:0 0; height:56px;}
#header .header-logo a { display:flex; padding:0 16px; align-items:center; height:56px;}
#header .header-logo .logo { flex:0 0 auto;}
#header .header-logo .logo img { width:80px; height:auto;}
.mobileonly { display:block;}
.pconly { display:none;}
@media screen and (min-width : 960px) {
	#header .header-logo { height:80px;}
	#header .header-logo a { padding:0 24px; height:80px;}
	#header .header-logo .logo img { width:112px;}
	.mobileonly { display:none;}
	.pconly { display:block;}
}

.header-navigation { display:none;}
.hamburger-menu { width:56px; height:56px; display:flex; align-items:center; justify-content:center; position:absolute; left:auto; right:0; top:0;}
.menu-open { flex:0 0 auto; display:block; height:56px; width:56px; font-size:40px; line-height:56px; color:var(--maincolor);}
.menu-open::before { content:"\e5d2"; font-family:Material Icons; cursor:pointer;}
.menu-close { position:absolute; top:50%; left:-60px; width:56px; height:56px; text-align:center; line-height:56px; font-size:40px; color:#eee; z-index:15;}
.menu-close::before { content:"\e5cd"; font-family:Material Icons; cursor:pointer;}
.menu { position:fixed; top:0; right:0;}
.menu.showing { width:100%; height:100vh; z-index:12;}
.menu-inner { display:none; width:75%; max-width:600px; height:100vh; background:#f0f0f0; position:absolute; top:0; right:0; z-index:14; position:fixed;}
.showing .menu-inner { display:block;}
.menu-inner-scrollable { width:100%; height:100vh; padding:56px 16px; box-sizing:border-box;overflow-y:scroll;}
.menu .cat-list li a { display:block; color:#222; font-size:24px; font-weight:bold; margin-bottom:16px;}
.menu .cat-list li ul a { font-size:18px; font-weight:normal; padding-left:1em;}
.nav-background { display:none;}
.showing .nav-background { display:block; width:100%; height:100vh; background:rgba(0,0,0,0.5); position:fixed; top:0; left:0; z-index:13;}
.search-form { display:flex; position:relative;}
.search-form .search-input { flex:1 1 auto; height:48px; border:solid 1px #666; padding:8px 16px; box-sizing:border-box; font-size:15px; width:100%; border-radius:24px;}
.search-form .search-button { flex:0 0 auto; height:48px; width:48px; border:none; background:none; color:#666; text-align:center; cursor:pointer; position:absolute; right:0;}
.search-form .search-button::before { content:"\e8b6"; font-family:Material Icons; font-size:30px; line-height:48px;}
@media screen and (min-width : 768px) {
	.menu-inner { padding:56px 24px;}
}
@media screen and (min-width : 960px) {
	.hamburger-menu { width:80px; height:80px;}
	.menu-open { height:80px; width:80px; line-height:80px;}
}

#top-carousel { width:100%; height:calc(100vw * 1.2); background:#aaa; flex:0 0 auto;}
@media screen and (min-width : 768px) {
	#top-carousel { height:calc(100vw * 0.5625);}
}
@media screen and (min-width : 960px) {
	#top-carousel { max-height:650px;}
}

#top-content { width: 100%; max-width:1200px; margin:0 auto;}
#top-content section { flex:0 0 auto; width:100%; padding-bottom:32px;}
#top-content section header { padding:16px;}
#top-content section h1 { font-size:30px; font-weight:bold;}
#top-content section h1 span { display:block; font-size:16px; font-weight:normal; color:#666;}
@media screen and (min-width : 960px) {
	#top-content section header { padding:24px;}
}

.article-list { display:flex; flex-wrap:wrap; justify-content:center;}
.article-list .item { flex:0 0 auto; width:calc(100% - 32px); margin-bottom:16px;}
@media screen and (min-width : 768px) {
	.article-list { margin-left:16px; justify-content:start;}
	.article-list .item { flex:0 0 auto; width:calc((100% - 32px) / 2); margin-right:16px;}
}
@media screen and (min-width : 960px) {
	.article-list { margin-left:24px;}
	.article-list .item { width:calc((100% - 48px) / 2); margin-right:24px; margin-bottom:24px;}
}
@media screen and (min-width : 1080px) {
	.article-list .item { width:calc((100% - 72px) / 3);}
}
.article-list .item a { display:block; height:100%; border-radius:16px; overflow:hidden; background:#fff; box-shadow:3px 3px 8px rgba(111,111,111,0.1), -1px -1px 8px rgba(111,111,111,0.1); transition:all 0.8s;}
.article-list .item a:hover { box-shadow:3px 3px 8px rgba(111,111,111,0.2), -1px -1px 8px rgba(111,111,111,0.2);}
.article-list .item a:hover img { transform: scale(1.05); transition-duration: 1.5s;}
.article-list .item a article { display:flex; flex-wrap:wrap;}
.article-list .item .thumbnail { flex:0 0 auto; width:100%; min-height:56px; background:#f0f0f0; overflow:hidden; border-radius:16px 16px 0 0; z-index:1;}
.article-list .item .thumbnail img { width:100%; height:auto; object-fit:cover; transition:all 0.5s;}
.article-list .item .metadata { flex:1 1 auto; padding:16px 16px 32px; position:relative;}
.article-list .item .title { font-size:16px; font-weight:bold; color:#333; line-height:1.3; height:3.9em; overflow:hidden;}
.article-list .item .categories { display:none;}
.article-list .item .time { color:#bbb; font-size:13px; line-height:24px; position:absolute; left:16px; bottom:8px;}
.article-list .item.small-image a article { flex-wrap:nowrap; height:100%;}
.article-list .item.small-image .thumbnail { width:45%; border-radius:16px 0 0 16px;}
.article-list .item.small-image .thumbnail img { height:100%;}
.article-list .item.small-image .metadata { width:55%;}
.article-list .item.small-image .title { font-size:14px;}
@media screen and (min-width : 480px) {
	.article-list .item .title { font-size:18px;}
	.article-list .item.small-image .title { font-size:16px;}
}
@media screen and (min-width : 768px) {
	.article-list .item .title { font-size:20px;}
}

.button { padding:32px 0; margin-bottom:0;}
.button a { display:block; text-align:center; color:#222; background:#fff; font-weight:bold; font-size:16px; line-height:48px; width:70%; max-width:320px; margin:0 auto; border:solid 1px #aaa; border-radius:24px; transition:all .5s; position:relative;}
.button a::after { content:"\e409"; font-family:Material Icons; position:absolute; right:16px;}
.button a:hover { background:#fff; opacity:0.9; box-shadow:0 2px 5px rgba(0,0,0,0.2);}

.main-list-header { width:100%; height:calc(100vw * 0.8); max-height:500px; background:var(--subcolor-op2); display:flex; flex-direction:column; justify-content:center; margin-bottom:16px;}
.main-list-header h1 { text-align:center; padding:0 24px; font-size:30px;}
.main-list-header .description { text-align:center; padding:0 24px; font-size:15px;}

.main-list-footer { padding:16px;}
.main-list-footer ul { margin:0;}
.main-list-footer .page-numbers a { background:#f0f0f0;}
.main-list-footer .page-numbers.prev { display:none;}
.main-list-footer .page-numbers.next { display:none;}
@media screen and (min-width : 960px) {
	.main-list-header { margin-bottom:24px;}
}
@media screen and (min-width : 1080px) {
	.main-list .article-list { max-width:1200px; padding-left:24px; margin:0 auto;}
}


.article-header .featured-image { width:100%; height:auto; max-height:500px; background-color:var(--subcolor-op2); background-size:cover; background-repeat:no-repeat; position:relative; z-index:0; overflow:hidden;}
.article-header .featured-image::before { content: ''; position: absolute; top: -10px; bottom: -10px; left: -10px; right: -10px; background: inherit; filter: blur(10px); z-index:-1;}
.article-header .featured-image img { width:100%; height:auto; max-height:500px; object-fit:cover; z-index:2;}
.article-header .metadata { padding:8px 16px 16px;}
.article-header h1 { font-size:24px; font-weight:bold; line-height:1.3; margin-bottom:16px;}
.article-header .time { font-size:13px; color:#888;}
.article-header .promotion-note { display:inline-block; font-size:11px; color:#fff; background:#aaa; padding:0 5px; margin-bottom:8px;}
.article-body { padding:16px;}
.article-body .content > p { margin-bottom:2em;}
.article-body .content > figure { margin-bottom:2em;}
.article-body .content figcaption { font-size:13px; color:#888;}
.article-body .content iframe { width:100%;}
.article-footer { padding:16px;}
.article-footer .metadata { border-top:solid 1px #eee; padding:16px 0;}
.article-footer .categories { padding:16px 0;}
.article-footer .category-list ul { display:flex; flex-wrap:wrap;}
.article-footer .category-list a { display:inline-block; padding:0 16px; font-size:15px; line-height:32px; border-radius:16px; background:#eee; color:#888; margin:0 8px 8px 0;}
.article-footer .tags { padding:16px 0;}
.article-footer .tag-list ul { display:flex; flex-wrap:wrap;}
.article-footer .tag-list a { display:inline-block; padding:0 16px; font-size:15px; line-height:32px; border-radius:16px; background:#eee; color:#888; margin:0 8px 8px 0;}
.article-footer .tag-list a::before { content:"#";}
.related-posts { padding:16px;}
.related-posts h3 { padding-bottom:16px; font-size:24px; font-weight:bold;}
.related-posts .article-list { padding-left:0; margin-left:0; justify-content:space-between;}
.related-posts .article-list .item { width:calc((100% - 16px) / 2);}
.related-posts .article-list .item .title { padding:16px; font-size:15px; height:auto;}
@media screen and (min-width : 768px) {
	.related-posts .article-list { justify-content:start; margin-right:-16px;}
	.related-posts .article-list .item { width:calc((100% - 48px) / 3);}
}
.author { padding:24px 0; border-top:solid 1px #ddd; border-bottom:solid 1px #ddd; display:flex;}
.author .icon { width:86px; text-align:center;}
.author .icon img { width:70px; height:70px; border-radius:50%;}
.author .name { font-size:12px; font-weight:bold; line-height:1.4;}
.author .profile { width:calc(100% - 86px);}
.author .profile p { font-size:14px; padding-left:16px; line-height:1.5;}
@media screen and (min-width : 768px) {
	.author .icon { width:120px;}
	.author .name { font-size:15px;}
	.author .profile { width:calc(100% - 120px);}
}
.comments { padding:16px;}
@media screen and (min-width : 960px) {
	.article-header .featured-image img { object-fit:contain;}
	.article-header .metadata { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.article-header h1 { font-size:32px; margin-bottom:24px;}
	.article-body { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.article-footer { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.related-posts { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.related-posts .article-list { justify-content:start; margin-right:-24px;}
	.related-posts .article-list .item { width:calc((100% - 72px) / 3);}
	.comments { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
}
.breadcrumbs { display:none;}
@media (min-width: 1080px) {
	.breadcrumbs { display:block; border-top:solid 1px #eee;}
	.breadcrumbs ol { font-size:13px; padding:24px; box-sizing:border-box; max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap;}
	.breadcrumbs ol + ol { padding:0 24px 24px;}
	.breadcrumbs li:not(:last-child)::after { content: "\e409"; font-family: Material Icons; vertical-align: bottom; opacity:1; font-weight:bold; margin:0 5px;}
}

.static-page .article-header { padding-top:56px;}

#sidebar { display:block; padding:0; border-top:solid 1px #eee;}
#sidebar .sidebar-content h3 { padding:16px; font-size:20px; font-weight:bold;}
#sidebar .sidebar-content h3 span { display:block; font-size:15px; font-weight:normal;}
@media screen and (min-width : 960px) {
	#sidebar .sidebar-content{ max-width:1200px; margin:0 auto;}
	#sidebar .sidebar-content h3 { padding:24px; font-size:24px;}
}

#footer { background:#f0f0f0;}
#footer .footer-container { display:flex; flex-wrap:wrap; padding-top:32px;}
#footer .footer-left { flex:0 0 auto; width:100%;}
#footer .footer-right { flex:0 0 auto; width:100%;}
#footer .footer-bottom { flex:0 0 auto; width:100%; background:#333;}
#footer nav { padding:16px 16px; box-sizing:border-box;}
#footer .footer-logo { text-align:center;}
#footer .footer-logo a { display:inline-block;}
#footer .footer-logo a:hover { background-color:transparent;}
#footer .footer-logo a img { width:200px; height:auto; vertical-align:middle;}
#footer .site-list { flex:0 0 auto; width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; margin-top:20px;}
#footer .site-list li { padding:8px 16px;}
#footer .site-list li img { width:88px; height:auto; vertical-align:middle;}
#footer .footer-recommend h2 { font-size:16px;}
#footer .footer-recommend li a { font-size:13px; color:#666;}
#footer .sub-menu li a { font-size:13px; color:#666;}
#footer .footer-menu { display:flex; justify-content:center; flex-wrap:wrap; flex-direction:column;}
#footer .footer-menu li { flex:0 0 auto;}
#footer .footer-menu a { color:#fff; font-size:13px;}
#footer .footer-bar { background:#222;}
#footer .copyright { font-size:12px; color:#ddd; text-align:right; padding:8px 16px; margin:0 auto;}
@media (min-width: 768px) {
	#footer .footer-menu { flex-direction:row;}
	#footer .footer-menu li::before { content:"/"; color:#fff; display:inline-block; padding:0 1em;}
	#footer .footer-menu li:first-child::before { content:""; padding:0;}
}
@media (min-width: 1080px) {
	#footer { overflow:hidden;}
	#footer .footer-container { justify-content:center; flex-direction:row;}
	#footer .footer-left { width:40%; border-right:solid 1px #ccc;}
	#footer .footer-right { width:40%;}
	#footer .footer-bottom { margin-top:32px;}
	#footer .footer-left nav, #footer .footer-right nav { padding:32px;}
	#footer .copyright { padding:8px 24px;}
}

.google-form input { border:solid 1px #ccc; height:1.8em; line-height:1.8em; padding:0 2px;}
.google-form textarea { border:solid 1px #ccc; line-height:1.8em; padding:0 2px;}
.google-form button { background:#888; color:#fff; padding:5px 8px; border:none; border-radius:4px;}

#sidebar div { width:100%;}
#comments h2 { margin-bottom:16px;}
#comments input { border:solid 1px #ccc;}
#comments input.submit { border:none;}
#comments .comment-meta { padding:0 0 16px; flex-direction:row;}
#comments .comment-author img { width:32px; height:32px; object-fit:cover;}
#comments .comment-author .says { display:none;}
#comments .comment-content { padding:0;}
#comments .comment-content p { font-size:14px; padding:0; margin-bottom:16px;}
#comments .comment-reply-title { font-size:14px; padding:16px 0;}
#comments .logged-in-as { font-size:14px;}
#comments .reply { padding:0; margin:0;}
#comments .bypostauthor { background-color:transparent;}
#comments-list { padding:0; background-color:transparent;}
#comments-list li { border:none;}
#comments-list li article { background:#f6f6f6; padding:16px; border-radius:16px; margin-bottom:16px;}
#comments-list .children li { position:relative;}
#comments-list .children li::before { content:""; display:block; width:16px; height:16px; transform:rotate(45deg); background:#f6f6f6; position:absolute; top:-8px; left:24px; z-index:-1;}
#comments-list .children { margin-left:40px;}
#comments-list .comment.parent:not(:last-child) { border-bottom:none; padding-bottom:0; margin-bottom:0;}
.kanren-kiji-title { display:none;}
.kanren-kiji .main-kiji { width:100%; border-radius:16px; overflow:hidden; background:#fff; box-shadow:3px 3px 8px rgba(111,111,111,0.1), -1px -1px 8px rgba(111,111,111,0.1); margin-bottom:16px;}
.kanren-kiji .main-kiji a { transition:all 0.8s;}
.kanren-kiji .kiji-img { width:30%; max-width:160px;}
.kanren-kiji .kiji-text { width:70%; max-width:calc(100% - 160px); padding:16px; box-sizing:border-box;}
.kanren-kiji .kiji-img .thumbnail { background:#eee;}
.kanren-kiji .kiji-img .thumbnail img { display:none;}
.updatedate i::before { content:"\e5d5"; font-family:Material Icons; vertical-align:bottom;}
.postdate i::before { content:"\e8b5"; font-family:Material Icons; vertical-align:bottom;}
.readtime i::before { content:"\e54b"; font-family:Material Icons; vertical-align:bottom;}
.footer-right .recommend a::before { content:"\e037"; font-family:Material Icons;}
.footer-right .links a::before { content:"\e9ba"; font-family:Material Icons;}
.comment-form-comment { margin-bottom:16px;}
.comment-reply-title::before { content:none; display:none;}
.catetagbox-label { display:none;}
.category-area li a { display:inline-block; background:#fff; padding:2px 8px; border-radius:4px; margin-right:6px;}
.category-area li a::before { content:none;}
.tag-area li a:before { content:"#";}
#mkj { margin-top:1em; border:solid 2px #eee;}
#mkj .mkj-title { border-bottom:none; text-align:center; padding:16px;}
#mkj .mkj-openclose { top:16px;}
#mkj .mkj-content { border-bottom:none;}
#mkj .mkj-content-in { background:none; padding:16px;}
#mkj .mkj-list { padding:0;}
#mkj .mkj-list li { padding-left:32px; position:relative; margin-bottom:4px;}
#mkj .mkj-list li ol { padding-left:0;}
#mkj .mkj-list li ol li { padding-left:16px;}
#mkj .mkj-list a { font-size:15px; font-weight:bold; padding:0; color:#666;}
#mkj .mkj-content::after { content:none;}
#mkj .mkj-list>li:before { content:counter(num); background:var(--maincolor); border-radius:50%; color:#fff; position:absolute; top:4px; left:0; width:24px; height:24px; text-align:center; font-size:14px; font-weight:bold;}
#mkj .mkj-list ol li:before { content:""; width:5px; height:5px; background:#666; top:10px; left:2px;}
#mkj .mkj-list ol li a { font-weight:normal; font-size:13px;}
@media screen and (min-width : 960px) {
	#mkj .mkj-content-in { padding:24px;}
}
.scrolltop { display:none;}
@media screen and (min-width : 1080px) {
.scrolltop { display:block;}
.scrolltop-button { position:fixed; right:32px; bottom:64px; border:none; opacity:0.5; background:var(--maincolor); text-align:center; display:block; width:56px; height:56px; line-height:56px; z-index:99; border-radius:50%; color:#fff; display:none;}
.scrolltop-button::before { content:"\e5d8"; font-family:Material Icons; font-size:50px;}
}
.wp-block-table a.button { display:inline-block; padding:0 16px; line-height:40px; background:#1a73e8; color:#fff; font-weight:bold; border-radius:20px; font-size:14px; box-shadow:0 1px 2px #ddd; transition:all 0.5s;}
.wp-block-table a.button:hover { background:#488fed;}

.blogcard { border:solid 3px var(--subcolor); padding:12px; position:relative; margin:40px 0 32px; box-sizing:border-box;}
.blogcard h5 { font-size:16px; line-height:24px; font-weight:bold; background:var(--subcolor); color:#fff; border-radius:4px 4px 0 0; display:inline-block; padding:2px 12px; position:absolute; top:-28px; left:-3px;}
.blogcard a { display:flex; flex-wrap:wrap;}
.blogcard a img { width:100%; height:auto; margin-bottom:8px; object-fit:contain;}
.blogcard a span { font-size:15px; font-weight:bold; line-height:1.4;}
@media (min-width: 480px) {
.blogcard { padding:16px;}
.blogcard a { flex-wrap:nowrap;}
.blogcard a img { width:160px; margin-right:12px; margin-bottom:0;}
}

.pr-content { margin-top:2em; margin-bottom:2em;}
