@charset "UTF-8";
/*
Theme Name:   KYUNTO-BLOG
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: #e99b99;
--subcolor: #fad3d3;
--bgcolor: #fff;
--subcolor-op2: rgba(0,0,0,0.1);
}

#page-overview #header { background-color:#fff; color:#333;}
#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;}

@media screen and (min-width : 1080px) {
	.two-columns #main { width:calc(100% - 400px);}
	.two-columns #sidebar { width:400px;}
}

#header { width:100%; border-bottom:solid 2px #eee;}
#header .header-logo { margin:0 0; height:56px; text-align:center;}
#header .header-logo a { display:inline-block; padding:0 16px; line-height:56px;}
#header .header-logo a img { width:180px; height:auto; vertical-align:middle;}
#content { padding-top:16px;}

.mobileonly { display:block;}
.pconly { display:none;}
@media screen and (min-width : 1080px) {
	#header .header-logo { margin:0 0; height:80px;}
	#header .header-logo a { line-height:80px;}
	#header .header-logo a img { width:160px;}
	.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:30px; 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%; height:100vh; background:#f0f0f0; padding:56px 16px; box-sizing:border-box; position:absolute; top:0; right:0; z-index:14;}
.showing .menu-inner { display:block;}
.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 : 1080px) {
	.hamburger-menu { width:80px; height:80px;}
	.menu-open { height:80px; width:80px; font-size:40px; 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 { max-width:1200px; margin:0 auto;}
@media screen and (min-width : 1080px) {
	.two-columns #top-content { width:calc(100% - 400px);}
}
#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; position:relative;}
#top-content section h1 span { display:block; font-size:16px; font-weight:normal; color:#666;}
/* #top-content section h1::after { content:""; display:block; width:80px; height:80px; border-radius:50%; background:var(--subcolor); position:absolute; left:-24px; top:-8px; opacity:0.5; z-index:-1;} */
@media screen and (min-width : 960px) {
	#top-content section header { padding:24px;}
}
.site-description { width:100%; height:240px; display:flex; justify-content:center; align-items:center; margin-bottom:8px; position:relative;}
.site-description p { flex:0 0 auto; color:var(--maincolor);}
.show-text { width:17em; box-sizing:border-box; position:relative;}
.show-text span { width:17em; display:block; font-size:17px; font-weight:bold; letter-spacing:0; color:#f49e9e; white-space:nowrap; overflow:hidden; animation:typing 3.5s steps(17), blink .5s steps(1) infinite alternate; background:rgba(255,255,255,0.2);}
.show-text::before { content:""; display:inline-block; width:3px; height:100%; background:rgba(255,255,255,0.2); position:absolute; top:0; left:-3px;}
.background-video { width:100%; height:240px; object-fit:cover; position:absolute; top:0; left:0;}
@keyframes typing{
	0% { width: 0;}
}
@media screen and (min-width : 480px) {
	.site-description { height:calc(100vw * 0.5);}
	.background-video { height:calc(100vw * 0.5);}
	.show-text span { font-size:20px;}
}
@media screen and (min-width : 960px) {
	.site-description { max-height:480px;}
	.background-video { max-height:480px;}
}

.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.small-image { width:100%;}
}
.article-list .item a { display:block; height:100%; border-radius:0px; 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:0 0 0 0; z-index:1;}
.article-list .item .thumbnail img { width:100%; height:auto; object-fit:cover; transition:all 0.5s;}
.article-list .item .thumbnail img.noimage { object-fit:contain;}
.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:50%; border-radius:0;}
.article-list .item.small-image .thumbnail img { height:100%; object-fit:contain;}
.article-list .item.small-image .metadata { width:50%; padding:8px 16px 24px;}
.article-list .item.small-image .title { font-size:14px;}
.article-list .item.small-image .time { font-size:12px; line-height:16px;}
@media screen and (min-width : 480px) {
	.article-list .item .title { font-size:18px;}
	.article-list .item.small-image .title { font-size:15px;}
}
@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:#fff; background:var(--subcolor); font-size:18px; font-weight:bold; line-height:48px; border-radius:24px; width:70%; max-width:320px; margin:0 auto; transition:all .5s; position:relative;}
.button a::after { content:"\e409"; font-family:Material Icons; position:absolute; right:16px;}
.button a:hover { box-shadow:0 2px 5px rgba(0,0,0,0.2);}

.main-list-header { width:100%; padding:24px 0; 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: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 { font-size:12px; color:#666; margin-bottom:16px;}

.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-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); margin-bottom:16px;}
.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); margin-right:16px;}
	.article-header .promotion-note { font-size:13px;}
}
.author { padding:24px 0; border-top:solid 1px #ddd; border-bottom:solid 1px #ddd; display:flex;}
.author .icon { width:80px; text-align:center;}
.author .icon img { width:64px; height:64px; border-radius:50%;}
.author .name { font-size:12px; font-weight:bold; line-height:1.3; margin-top:8px;}
.author .profile { width:calc(100% - 80px);}
.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:13px;}
	.author .profile { width:calc(100% - 120px);}
	.author .profile p { padding-left:24px;}
}
.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); margin-right:24px;}
	.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-header { padding:16px;}
#sidebar .sidebar-content h3 { font-size:30px; font-weight:bold; position:relative;}
#sidebar .sidebar-content h3 span { display:block; font-size:16px; font-weight:normal;}
/* #sidebar .sidebar-content h3::after { content:""; display:block; width:80px; height:80px; border-radius:50%; background:var(--subcolor); position:absolute; left:-24px; top:-8px; opacity:0.5; z-index:-1;} */

@media screen and (min-width : 960px) {
	#sidebar .sidebar-content{ max-width:1200px; margin:0 auto;}
	#sidebar .sidebar-content-header { padding:24px;}
}
@media screen and (min-width : 1080px) {
	.two-columns #sidebar { border-top:none;}
	.two-columns #sidebar .article-list { margin-right:24px;}
}

#footer { background:#ddd;}
#footer .footer-container { display:flex; flex-wrap:wrap;}
#footer .footer-left { flex:0 0 auto; width:100%; text-align:center; padding:32px 16px; box-sizing:border-box;}
#footer .footer-right { flex:0 0 auto; width:100%; padding:32px 16px; box-sizing:border-box;}
#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;}
#footer .genre-title { text-align:center; font-size:12px; color:#888; margin-top:24px;}
#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 .footer-bottom { flex:0 0 auto; width:100%; background:#333;}
#footer .footer-menu { display:flex; margin:10px 20px; 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:#eee; text-align:center; padding:16px;}
@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;}
	#footer .copyright { padding:8px 24px;}
}
@media (min-width: 1080px) {
	#footer { overflow:hidden;}
	#footer .footer-container { justify-content:center; flex-direction:row; margin-top:32px;}
	#footer .footer-left { width:40%; border-right:solid 1px #ccc; padding:32px;}
	#footer .footer-right { width:40%; padding:32px;}
	#footer .footer-bottom { margin-top:32px;}
	#footer .footer-menu { margin:24px 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;}

#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;}
.footer-container a:hover { background-color: transparent;}
.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; background:var(--maincolor); text-align:center; display:block; width:56px; height:56px; line-height:56px; z-index:99; border-radius:0; color:#fff; opacity:0; transition:all 1s ease;}
.scrolltop-button::before { content:"\e5d8"; font-family:Material Icons; font-size:50px;}
}

.wp-block-table th { z-index:100;}
.wp-block-table th.fixed01::before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; border-left:solid 1px; border-right:solid 1px; margin-left:-1px;}
.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;}
}

.asp-button-wrap a {
	white-space:wrap!important;
}

/* ショートコードの擬似見出し用 */
.head2 {background: #ffb2bc; color: #fff; padding: 8px 16px; margin: 2em 0 1em; box-sizing: border-box; position: relative; display: block; unicode-bidi: isolate; font-size: 1.5em; font-weight: bold; display: block; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;}
.head3 {padding-left: 16px; border-left: 4px solid #ffb2bc; margin: 2em 0px 0.75em; box-sizing: border-box; position: relative; display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold; unicode-bidi: isolate;}
@media screen and (max-width: 767px) {
	.head2 {font-size: 1.2em;}
}

/* フレキシブルーテーブル下margin */
.wp-block-flexible-table-block-table {
	margin-bottom: 20px;
}

.logo {
  font-family: "Nico Moji";
  font-size: 24px;
  color: var(--maincolor);
}
