/*
Theme Name: シンプルテーマ
Description: シンプルなWordPressのテーマ
Author: 自分
Version: 1.0
*/

:root {
	/*基本文字色*/
	--color_default: rgb(44, 44, 44);
	/*緑*/
	--color_main_01: #c57da6;
	--color_white: #fff;
	--color_blue: #0052bf;
	/*PC幅*/
	--width_pc: calc(100% - 20px);
	--width_pc_inner: calc(100% - 40px);
	--max_width_pc: 1340px;
	--width_pc_narrow: 640px;
}


/*============================================================
General settings
============================================================*/
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

iframe {
	vertical-align: top;
}

body {
	margin: 0px;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	color: var(--color_default);
	font-size: 16px;
	line-height: 1.8;
}

body,
th,
td {
	font-size: 16px;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: var(--color_default);
}


/*============================================================
HEADER
============================================================*/
header#hd {
	width: 100%;
	position: relative;
}

#logo {
	text-align: center;
	margin: 10px auto;
	width: 180px;
}

#hd_nav_sub {

	position: absolute;
	top: 0px;
	right: 0px;
	display: none;
}

#hd_nav_sub ul {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#hd_nav_sub ul li {
	width: 38px;
	margin: 0px 5px;
	padding: 0px;
	list-style-type: none;
	font-size: 8px;
	color: var(--color_main_01);
	text-align: center;
	cursor: pointer;
}

#hd_nav_sub ul li a {
	color: var(--color_main_01);
	text-decoration: none;
}

#hd_nav_sub ul li span {
	display: block;
}


#hd_nav_sub ul li img {
	width: 40px;
}


/*言語切替*/
#hd_nav_lang {
	width: var(--width_pc);
	max-width: var(--max_width_pc);
	position: absolute;
	top: 0px;
}

#hd_nav_lang #hd_nav_close {
	display: none;
}

#hd_nav_lang ul {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

#hd_nav_lang ul li {
	margin: 0px 5px;
	padding: 0px;
	list-style-type: none;
	font-size: 16px;
	color: var(--color_main_01);
	text-align: center;
}

#hd_nav_lang ul li a {
	color: var(--color_main_01);
	text-decoration: none;
}

/*メニューの帯*/
aside#hd_nav_global {
	margin: 10px 0px 0px 0px;
	background-color: var(--color_main_01);
}

aside#hd_nav_global ul {
	width: var(--width_pc);
	max-width: var(--max_width_pc);
	margin: 0px auto;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

aside#hd_nav_global ul li {
	margin: 0px;
	padding: 0px;
	position: relative;
	color: var(--color_white);
	list-style-type: none;
	text-align: center;
}

aside#hd_nav_global ul li+li::before {
	position: absolute;
	width: 1px;
	height: 30px;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255, 255, 255, 0.5);
	content: "";
}

aside#hd_nav_global ul li a {
	color: var(--color_white);
	text-decoration: none;
	display: block;
	padding: 10px 40px;
}

aside#hd_nav_global ul li a span {
	display: block;
	font-weight: 500;
}

aside#hd_nav_global ul li a span+span {
	font-size: 12px;
	font-weight: 400;
}

#hd_global_nav_sp {
	display: none;
}




/*============================================================
枠
============================================================*/
#wrap_contents {
	width: var(--width_pc);
	max-width: var(--max_width_pc);
	margin: 40px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#wrap_contents main {
	width: calc(100% / 4 * 3 - 20px);
	margin: 0px 20px 0px 0px;
}

.wrap_content+.wrap_content {
	margin-top: 80px;
}

#wrap_contents aside#sidebar {
	width: calc(100% / 4 * 1 - 20px);
	margin: 20px 0px 0px 20px;
}

.wrap_3columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.wrap_3columns>section {
	width: calc(100% / 3 - 20px);
	display: flex;
	flex-direction: column;
}
.wrap_3columns>section .wrap_3columns_img{
	aspect-ratio: 16/9;
	overflow: hidden;
}

.wrap_3columns>section h3+div {
	flex-grow: 1;
}

/*============================================================
サイドバー
============================================================*/
#sidebar h2 {
	font-size: 24px;
	text-align: center;
	margin: 20px auto;
	line-height: 1.5;
}

#sidebar h2 strong {
	font-family: "Noto Serif JP";
	font-size: 24px;
	font-weight: 500;
	display: block;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	position: relative;
}

#sidebar h2 strong::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 4px;
	background-color: #ccc;
	left: 50%;
	bottom: -8px;
	transform: translateX(-50%);
}

#sidebar h2 span {
	font-size: 14px;
	font-weight: 400;
}

#wrap_side_newsletter {
	background-color: #f2f2f2;
	padding: 20px 10px;
	margin-bottom: 20px;
}

#wrap_side_newsletter input[name="email"] {
	width: calc(100% - 0px);
	padding: 10px 10px;
	font-size: 18px;
	border: solid 1px #ccc;
}

#sidebar #wrap_side_newsletter h2 strong {
	font-size: 90%;
}

#wrap_side_newsletter input[name="email"]:focus {
	outline: solid 2px #999;
}

#wrap_side_newsletter .nf-form-fields-required{
	display: none;
}

#sidebar #wrap_side_events, #sidebar #wrap_side_posts{
	background-color: #f2f2f2;
	padding: 20px 10px;
	margin:0px 0px 40px 0px;
}

#sidebar #wrap_posts_events {
	background-color: #f2f2f2;
	padding: 20px 10px;
}

#sidebar .wrap_side_event,
#sidebar .wrap_side_ppst {
	padding: 10px 15px 20px 15px;
}

#sidebar .wrap_side_event+section,
#sidebar .wrap_side_post+section {
	border-top: solid 1px #ccc;
	padding-top: 20px;
}

#sidebar .wrap_side_event h3,
#sidebar .wrap_post_event h3 {
	font-size: 18px;
	margin: 5px 0px;
}

#sidebar h3 a {
	color: var(--color_default);
	text-decoration: none;
}

#sidebar .wrap_side_event ul {
	margin: 0px;
	padding: 0px;
}

#sidebar .wrap_side_event ul li {
	margin: 0px;
	padding: 0px 00px 0px 26px;
	list-style-type: none;
	position: relative;
}

#sidebar .wrap_side_event ul li::before {
	content: "";
	width: 12px;
	height: 12px;
	background-repeat: no-repeat;
	position: absolute;
	left: 0px;
	top: 10px;
}


.li_event_time::before {
	background-image: url(./assets/images/common/ic_calendar.svg);
}

.li_event_place::before {
	background-image: url(./assets/images/common/ic_place.svg);
}

#sidebar .wrap_side_img {
	aspect-ratio: 16/9;
	overflow: hidden;
}

#sidebar #wrap_side_blog_categories{
	margin:40px 0px 0px 0px;
	padding:15px 15px;	
	background-color:#f2f2f2;
}
#sidebar #wrap_side_blog_categories ul{
	margin:0px;
	padding:0px;

}
#sidebar #wrap_side_blog_categories ul li{
		margin:0px;
	padding:0px 15px;
	list-style-type:none;
position: relative;
}
#sidebar #wrap_side_blog_categories ul li::before{
	content:"▶";
	font-size:8px;
	top:50%;
	right:15px;
position: absolute;
	transform:translateY(-50%);
}
#sidebar #wrap_side_blog_categories ul li+li{
	border-top:solid 1px #999;
}
#sidebar #wrap_side_blog_categories ul li a{
	display: block;
	padding:10px 0px;
	color:var(--color_default);
	text-decoration: none;
}





/*============================================================
パーツ
============================================================*/
.btn_s_01 {
	text-align: center;
	margin: 10px auto;
	width: 60%;
	max-width: 200px;
}

.btn_s_01 a,
.btn_s_01 button,
.btn_s_01 input[type="submit"] {
	width: 100%;
	border: none;
	display: block;
	margin: 0px auto;
	background-color: #444;
	color: #fff;
	text-decoration: none;
	position: relative;
	padding: 10px 10px;
	line-height: 1.5;
}

.btn_s_01 a::before,
.btn_s_01 button::before {
	content: "▶";
	font-size: 8px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

.btn_s_02 {
	text-align: center;
	margin: 10px auto;
}

.btn_s_02 a {
	text-align: center;
	display: block;
	margin: 0px auto;
	color: #444;
	text-decoration: none;
	position: relative;
}

.btn_s_02 a::before {
	content: "▶";
	font-size: 8px;
	position: relative;
	top: 50%;
	left: -5px;
	transform: translateY(-50%);
}



/*============================================================
コンテンツ
============================================================*/
#wrap_ft_profile>section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#wrap_ft_profile>section>div {
	width: calc(100% / 3 - 20px);
}

#wrap_ft_profile>section>section {
	width: calc(100% / 3 * 2 - 20px);
}




/*============================================================
Footer
============================================================*/
footer {
	margin: 80px auto 20px auto;
	padding: 20px 0px 0px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-top: solid 1px #666;
	width: var(--width_pc);
	max-width: var(--max_width_pc);
}

#ft_copy {
	margin: 0px;
}

aside#nav_ft_menu>ul {
	margin: 0px 0px 0px auto;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

aside#nav_ft_menu ul li {
	margin: 0px 10px;
	padding: 0px 12px 0px 0px;
	list-style-type: none;
	position: relative;
}

aside#nav_ft_menu ul li::before {
	content: "▶";
	font-size: 8px;
	display: inline-block;
	margin-left: 5px;
	position: absolute;
	top: 50%;
	right: 0px;
	transform: translateY(-50%);
}

aside#nav_ft_menu ul li a {
	color: var(--color_default);
	text-decoration: none;
}



/*========================================================================================================================
SPSPSPSPSPSPSPSP
========================================================================================================================*/
@media screen and (max-width: 640px) {

	/*============================================================
ヘッダー
============================================================*/
	#logo {
		width: 120px;
	}

	#hd_nav_sub {
		display: block;
	}

	#hd_nav_sub .menu_off {
		display: none;
	}


	aside#hd_nav_global ul li a {
		padding: 5px 10px;
	}

	aside#hd_nav_global ul li a span {
		font-size: 14px;
	}

	aside#hd_nav_global ul li a span+span {
		font-size: 10px;
	}

	aside#hd_nav_global ul li+li.hd_btn_ikebana::before {
		display: none;
	}

	#hd_nav_global .hd_btn_home {
		display: none;
	}

	#hd_nav_global .hd_btn_ikebana {
		display: block;
	}

	#hd_nav_global .hd_btn_cultural {
		display: block;
	}

	#hd_nav_global .hd_btn_decoration {
		display: block;
	}

	#hd_nav_global .hd_btn_profile {
		display: none;
	}

	#hd_nav_global .hd_btn_contact {
		display: none;
	}

	#hd_nav_sub .btn_menu_clicked .menu_on {
		display: none;
	}

	#hd_nav_sub .btn_menu_clicked .menu_off {
		display: block;
	}



	#hd_nav_lang {
		position: fixed;
		padding: 10px 20px;
		background-color: #fff;
		top: 80px;
		right: 100px;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
		display: none;
		width: 180px;
	}

	#hd_nav_lang #hd_nav_close {
		display: block;
		position: absolute;
		top: 0px;
		right: 0px;
		width: 20px;
		height: 20px;
		cursor: pointer;
	}

	#hd_nav_lang ul {
		margin: 0px;
		padding: 0px;
		display: block;
	}

	#hd_nav_lang ul li {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
	}

	#hd_nav_lang ul li+li {
		border-top: dashed 2px #ddd;
	}

	#hd_nav_lang ul li a {
		padding: 10px 0px;
		display: block;
	}

	/*ハンバーが内メニュー*/


	#hd_global_nav_sp {
		position: fixed;
		padding: 10px 20px;
		background-color: #fff;
		top: 80px;
		left: 50%;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
		display: none;
		width: calc(var(--width_pc) - 40px);
		max-width: var(--max_width_pc);
		transform: translateX(-50%);
		z-index: 10;
	}

	#hd_global_nav_sp #hd_nav_close {
		display: block;
		position: absolute;
		top: 0px;
		right: 0px;
		width: 20px;
		height: 20px;
		cursor: pointer;
	}

	#hd_global_nav_sp ul {
		margin: 0px;
		padding: 0px;
		display: block;
	}

	#hd_global_nav_sp ul li {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
	}

	#hd_global_nav_sp ul li+li {
		border-top: dashed 2px #ddd;
	}

	#hd_global_nav_sp ul li a {
		padding: 10px 0px;
		display: block;
		color: var(--color_main_01);
		text-decoration: none;
	}
#hd_global_nav_sp ul li+li span+span{
	display: none;
}


	/*============================================================
枠
============================================================*/
	#wrap_contents {
		flex-direction: column;

	}

	#wrap_contents main {
		width: var(--width_pc);
		max-width: var(--max_width_pc);
		margin: 0px auto;
	}

	.wrap_content+.wrap_content {
		margin-top: 80px;
	}

	#wrap_contents aside#sidebar {
		width: 100%;
		max-width: 100%;
		margin: 60px auto;
	}


	.wrap_3columns>section {
		width: calc(100% / 1 - 0px);
	}

	.wrap_3columns>section+section {
		margin-top: 60px;
	}

	.wrap_3columns>section h3+div {
		flex-grow: inherit;
	}




	/*============================================================
サイドバー
============================================================*/
#wrap_contents aside#sidebar{
	margin-bottom:0px;
}
	#sidebar #wrap_side_events {
		margin-top: 40px;
		padding: 20px 10px;
	}

	#sidebar .wrap_side_event,
	#sidebar .wrap_side_ppst {
		padding: 0px 0px;
	}

	#wrap_side_events>section,
	#wrap_side_posts>section {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.wrap_side_event,
	.wrap_side_post {
		width: calc(100% / 2 - 10px);
		margin: 10px 5px;
	}

	#sidebar .wrap_side_event+section,
	#sidebar .wrap_side_post+section {
		padding-top: 0px;
	}
#sidebar h2 strong::before{
	width: 100px;
}

	#sidebar .wrap_side_event ul {
		font-size: 14px;
	}
	/*============================================================
FOOTER
============================================================*/
footer{
	margin-top:0px;
	flex-direction: column-reverse;
}
#ft_copy{
	margin-top:20px;
	width: 100%;
	text-align: center;
}
aside#nav_ft_menu>ul{
	justify-content: center;
}
	/*============================================================
閉じカッコ
============================================================*/
}