@charset "UTF-8";

/*
Theme Name: willsnow-dfl_basic
Theme URI: https://willsnow-dfl.com
Description: willsnow-dflのテーマです。
Version: 2.0
Author: Hiroyuki Yanagida
Author URI: https://willsnow-dfl.com
*/

/* ========BASIC======== */
html {
	font-size: 62.5%;
}

body {
	background-image: url(assets/images/common/bg.gif);
	background-attachment: fixed;
	font-family: "Garamond", "Times New Roman", "FOT-筑紫明朝 Pro", "A-OTF 秀英明朝 Pro", "A-OTF リュウミン Pro", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	line-height: 3.2rem;
}

*, *::before, *::after {
	box-sizing: border-box;
}

h1 {
	color: #333333;
	line-height: 15.0rem;
	font-size: 4.8rem;
	font-variant-ligatures: normal;
}

h2 {
	color: #333333;
	/*	font-weight:bold;*/
	font-size: 1.8rem;
	letter-spacing: 0.25rem;
	border-left: 1.3rem solid #00cccc;
	margin: 2.0rem 0;
	padding: 0.2rem 0 0.2rem 1.0rem;
}

h3 {
	color: #333333;
	margin: 1.6rem 0 0.2rem;
	font-weight: semibold;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
}

h3:before {
	content: '■';
	font-size: 2.4rem;
	color: #99cccc;
	margin-right: 0.6rem;
	vertical-align: -0.1rem;
}

h4 {
	color: #333333;
	margin: 1.6rem 0 0.2rem;
	padding: 0;
	font-weight: semibold;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	line-height: 2.4rem;
}

p {
	color: #333333;
	padding: 0;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	text-indent: 1.15em;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

p.small_1 {
	font-size: 1.4rem;
	line-height: 2.4rem;
}

p.small_1_kome {
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-top: 1.8rem;
	margin-left: 1.15em;
	text-indent: -1.15em;
}

.indentno {
	text-indent: 0;
}

br {
	letter-spacing: normal;
}

img {
	width: auto;
	height: auto;
	border: 0;
}

a {
	font-weight: bold;
	color: #669999;
	text-decoration: none;
}

a:link, a:visited {
	color: #669999;
}

a:hover {
	color: #FFAA33;
}

a:hover img {
	opacity: 0.4;
	transition-duration: 0.1s;
}

ul, li {
	list-style: none;
}

dl, ol {
	list-style: none;
}

time[datetime] {
	color: #333333;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
} 

blockquote {
	background-color: #eeeedd;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	border-radius: 0 10px;
	margin: 2.4rem 0 3.2rem;
	padding: 20px;
}

blockquote cite {
	font-style: normal;
	font-size: 1.4rem;
	line-height: 2.4rem;
	color: #666666;
}

/* ========WRAPPER and MAIN======== */
.wrapper {
	max-width: 940px;
	margin: 30px auto;
	padding: 5px 50px;
	border: 1px solid #00cccc;
	border-radius: 0 18px;
	background: #ffffff;
	animation: fadeIn 2.5s ease 0s 1 normal;
	-webkit-animation: fadeIn 2.5s ease 0s 1 normal;
}

@keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

main {
	height: 500px;
	clear: both;
	padding: 10px 15px 10px 0;
	overflow: auto;
	scrollbar-width: thin;
}

/* ========MAIN WP======== */
.main_wrapper_wp {
	/* wpサイドバー有りのmainのwrapper */
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	height: 700px;
	padding: 0 1px;
	scrollbar-width: thin;
}

.contents_wp {
	/* wpサイドバー有りの左本文 */
	max-width: 580px;
	margin-right: 20px;
	margin-bottom: 10px;
	padding: 10px 20px 10px 0;
	overflow: auto;
	scrollbar-width: thin;
}

.sidebar {
	/* wpサイドバー有りの右サイドバー */
	width: 240px;
	margin-top: 30px;
	margin-bottom: 10px;
	border: 1px solid #00cccc;
	border-radius: 0 12px;
	overflow: auto;
	padding: 20px;
	text-align: left;
	scrollbar-width: thin;
}

/* ========HEADER======== */
.title a:link {
	color: #333333;
}

.title a:visited {
	color: #333333;
}

.lead {
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	font-weight: bold;
	color: #333333;
	text-indent: 0;
	margin: 0 0 20px;
}

.lead br {
	display: none;
}

.lead span {
	display: block;
}

.lead span br {
	display: block;
}

/* ========GLOBAL NAVIGATION======== */
.global-nav {
	display: block;
}

.global-nav ul {
	width: 100%;
	height: 35px;
}

.nav_pc {
	display: block;
}

.nav_mobile {
	display: none;
}

.global-nav li {
	position: relative; /*これを入れるとサブメニューが下の要素に潜り込まない！*/
	z-index: 1;
	float: left;
	width: calc(100% / 6);
	height: 35px;
	transition: 0.5s;
}

.global-nav li a {
	display: block;
	line-height: 35px;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
	color: #ffffff;
	background: #99cccc;
}

.global-nav li a:hover {
	background-color: #00cccc;
}

.global-nav .on {
	background-color: #666666;
	color: #ffffff;
}

.global-nav .on_works {
	background-color: #999999;
}

/* ========SUBMENU======== */
.global-nav li li {
	background-color: #00cccc;
	width: 100%;
	height: 0;
	overflow: hidden;
}

.global-nav li:hover>ul>li {
	color: #ffffff;
	background-color: #99cccc;
	height: 35px;
	overflow: visible;
}

/* ========MAIN======== */
/*
main p:first-child {
	margin-top: 1.6rem;
}
*/

.container {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

li.contents {
	color: #333333;
	/* padding: 0; */
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

li.contents:before {
	content: '●';
	color: #00cccc;
	margin-left: 0.2rem;
	margin-right: 0.6rem;
	vertical-align: 0.1rem;
}

h3.article_category:before {
	content: '';
}

span.categorybox {
	border: 1px solid #00cccc;
	color: #000000;
	font-size: 1.2rem;
	border-radius: 0 6px;
	padding: 3px 6px 2px;
	margin-left: 10px;
	vertical-align: 5%;
}

span.categorybox_top {
	border: 1px solid #00cccc;
	color: #000000;
	font-size: 1.2rem;
	border-radius: 0 6px;
	padding: 3px 4px 2px;
}

div.articlelinks {
	font-size: 1.4rem;
	width: 100%;
}

span.oldlinks a {
	display: block;
	width: 7.2rem;
	height: 2.4rem;
	float: left;
	line-height: 2.4rem;
	text-align: center;
	font-size: 1.2rem;
	color: #ffffff;
	background-color: #00cccc;
	border-radius: 4px;
}

span.newlinks a {
	display: block;
	width: 8.4rem;
	height: 2.4rem;
	float: right;
	line-height: 2.4rem;
	text-align: center;
	font-size: 1.2rem;
	color: #ffffff;
	background-color: #00cccc;
	border-radius: 4px;
}

span.oldlinks a:hover {
	color: #FFAA33;
	background-color: #ddeeee;
}

span.newlinks a:hover {
	color: #FFAA33;
	background-color: #ddeeee;
}

.wp-block-group {
	background-color: #ddeeee;
	border-radius: 0 10px;
	padding: 5px 20px 0;
	margin: 2.4rem 0 3.4rem;
}

.wp-block-embed__wrapper {
	margin: 0 auto;
	padding: 1.2rem;
}

.wp-block-embed-twitter {
	margin: 0 auto;
}

.lists {
	background-color: #ddeeee;
	border-radius: 0 10px;
	padding: 20px;
	margin: 2.4rem 0;
}

.wp-block-group h3:before {
	content: '';
}

.wp-block-group h3.todaysfavorite {
	font-weight: bold;
	color: #339999;
	font-size: 1.6rem;
	line-height: 2.4rem;
	border: 2px dotted  #ffffff;
	border-right: none;
	border-left: none;
	padding: 2px 16px 0 16px;
}

.wp-block-group h3.todaysfavorite_song {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2.8rem;
	color: #666666;
}

.wp-block-group p.todaysfavorite_song {
	font-size: 1.6rem;
	line-height: 2.8rem;
	color: #666666;
}

.wp-block-group iframe {
	width: 520px;
	margin: 10px auto;
}

.wp-block-image {
	display: block;
	margin: 1.6rem 0 0;
}

figure.wp-block-image img {
	display: block;
	margin: 2.0rem 0 1.0rem;
}

/* ========POLA WP======== */
.pola {
	width: 250px;
	margin: 5px 5px 15px 13px;
	padding: 20px 15px 10px 15px;
	border: 1px solid #eeeeee;
	border-radius: 0 12px;
	box-shadow: 3px 3px 3px 2px #eeeeee;
}

.pola h4 {
	color: #333333;
	margin: 0;
	padding: 0;
	font-weight: semibold;
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
}

.pola img {
	display: block;
	margin: 0 auto 10px;
	width: 220px;
}

figcaption {
	color: #333333;
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
	line-height: 2.4rem;
	text-align: justify;
	text-justify: distribute;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

/* ========SIDEBAR CUSTOMIZE========= */
.sidebar caption {
	color: #333333;
	text-align: left;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	border-left: 8px solid #00cccc;
	margin: 0 0 10px;
	padding: 0 0 0 8px;
}

.sidebar h2 {
	color: #333333;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	border-left: 8px solid #00cccc;
	margin: 20px 0 10px 0;
	padding: 0 0 0 8px;
}

.sidebar h2.archive_title {
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	border-left: 8px solid #00cccc;
	margin: 0 0 10px 0;
	padding: 0 0 0 8px;
}

.sidebar li {
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	line-height: 2.6rem;
	color: #669999;
}

.sidebar li.blogs {
	margin: 0 0 10px;
	font-weight: normal;
	font-size: 1.4rem;
	letter-spacing: 0.15rem;
	line-height: 2.4rem;
}

.sidebar span.sidebar_blogs_date {
	font-size: 1.4rem;
	color: #333333;
	border: 1px solid #00cccc;
	border-radius: 0 4px;
	padding: 2px 4px;
}

.sidebar table {
	color: #333333;
	table-layout: fixed;
	width: 200px;
	text-align: center;
	font-size: 1.6rem;
}

.sidebar td#today {
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
	background-color: #99cccc;
}

.sidebar td#today:hover {
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
	background-color: #00cccc;
}

.sidebar td#today a {
	font-weight: bold;
	color: #ffffff;
	border-bottom: none;
}

.sidebar td#today a:hover {
	font-weight: bold;
	color: #ffffff;
	border-bottom: none;
	background-color: #00cccc;
}

.wp-calendar-nav {
	font-size: 1.6rem;
}

span.wp-calendar-nav-next {
	float: right;
}

/* ========FOOTER======== */
address {
	color: #333333;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	font-style: normal;
	padding: 20px 0;
	border-top: 1px solid #00cccc;
	font-family: "Garamond", "Times New Roman", serif;
	font-weight: bold;
}

address br{
	display: none;
}

.address_index {
	color: #666666;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	font-style: normal;
	padding:0 auto 10px;
	border-top: 1px solid #ffffff;
	font-family: "Garamond", "Times New Roman", serif;
	font-weight: bold;
}


.address_index br{
	display: none;
}

/* ========MEDIA QUERIES======== */
@media screen and (max-width: 767px) {
	html {
		font-size: 50%;
	}
	
	body {
		background: #ffffff;
    -webkit-touch-callout: none; /* Safari */
    user-select: none;
	}

	/*文字サイズ・行送り調整*/
	h1 {
		padding: 90px 0 0;
		line-height: 10.0rem;
		text-align: center;
		font-weight: normal;
		font-size: 3.6rem;
		font-variant-ligatures: normal;
	}
	
	h4 {
		line-height: calc(2.4rem * 0.8);
	}

	p {
		line-height: calc(3.2rem * 0.8);
		hanging-punctuation: none;
	}

	p.small_1 {
		line-height: calc(2.4rem * 0.8);
	}

	p.small_1_kome {
		line-height: calc(2.4rem * 0.8);
	}
	
	blockquote {
	line-height: calc(3.2rem * 0.8);
	hanging-punctuation: none;
}

	blockquote cite {
	line-height: calc(2.4rem * 0.8);
	}
	
	li.contents {
	line-height: calc(3.2rem * 0.8);
	hanging-punctuation: none;
	}
	
	figcaption {
	line-height: calc(3.2rem * 0.8);
	}

	/*レイアウト調整*/
	.wrapper {
		width: 100%;
		margin: 0;
		padding: 0 20px;
		border: none;
		animation: fadeIn 0s ease 0s 1 normal;
		-webkit-animation: fadeIn 0s ease 0s 1 normal;
	}
	
	main {
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		overflow: scroll;
	}

	.lead {
		text-align: center;
	}

	.lead br {
		display: block;
	}
	
	.lead span {
		display: none;
	}
	
	.pola {
		width: 100%;
		margin: 10px auto;
		box-shadow: none;
	}
	
	address {
		line-height: 2.0rem;
		font-size: 1.2rem;
		font-weight: normal;
		margin-top: 10px;
		padding: 10px;
	}

	address br{
		display: block;
	}

	/*GLOBAL NAVI*/
	.nav_pc {
		display: none;
	}

	.nav_mobile {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
	}
	
	.global-nav ul {
		height: 90px;
	}

	.global-nav>li {
		width: calc(100% / 3);
		height: 45px;
	}

	.global-nav li {
		width: calc(100% / 3);
		height: 45px;
	}
	
	.global-nav li a {
		line-height: 45px;
		font-size: 1.4rem;
		font-weight: normal;
	}

	.global-nav li ul li {
		width: inherit;
	}
	
	.on_mobile {
		display: block;
	}
	
	.global-nav li:hover>ul>li {
		height: 45px;
	}
	
	/*WP用カスタマイズ*/
	.main_wrapper_wp {
	/* wpサイドバー有りのmainのwrapper */
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		border: none;
	}

	.contents_wp {
	/* wpサイドバー有りの左本文 */
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.sidebar {
	/* wpサイドバー有りの右サイドバー */
		display: none;
	}

	.wp-block-group h3.todaysfavorite {
		line-height: calc(2.4rem * 0.8);
	}
	
	.wp-block-group h3.todaysfavorite_song {
		line-height: calc(2.8rem * 0.8);
	}

	.wp-block-group p.todaysfavorite_song {
		line-height: calc(2.8rem * 0.8);
	}
	
	.wp-block-group iframe {
		width: 100%;
		margin: 10px auto;
	}
}