/*
Theme Name: moriguchi
Theme URI: https://moriguchi-n.com/
Description: WordPress 用
Version: 1
Author: moriguchi
Author URI: https://moriguchi-n.com/
*/

@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;900&display=swap');


/*//////////////////////////////////////////////////////////

	 1: Application all
	 2: Flame layout
	 3: Decoration
	 4: Entry

//////////////////////////////////////////////////////////*/

/*=========================================================

	Application all

==========================================================*/

html,body{
	margin: 0;
	padding: 0;
}
html{-webkit-text-size-adjust: 100%;}

body{
	text-align: center;
	font-family: 'Zen Maru Gothic';
	font-weight: 500;
	line-height: 1.5;
	font-size: 17px;
	color: #422f00;
	width: 100%;
	background: #fbfae9;
}
body::after{
	content: "";
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	background: linear-gradient(to bottom, #efe0c5 0%, #fbfae9 100%);
}

a{
	position: relative;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(57,139,210,0.7);
	color: #422f00;
	transition: all .3s;
}
a::after{
	transition: all .3s;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #f5d100;
	transform-origin: left top;
	transform: scale(0, 1);
}
a:hover::after{
	transform: scale(1, 1);
}

img{
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	border: 0;
}

h1,h2,h3,h4,h5,h6{
	font-weight: 900;
	font-size: 16px;
	margin: 0;
}

table{
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: 0;
}
th,td{
	box-sizing: border-box;
	text-align: left;
	vertical-align: top;
	font-weight: 500;
	padding: 0;
	margin: 0;
}

ul,ol{
	list-style-position: outside;
	padding: 0;
	margin: 0 0 0 20px;
}

form,fieldset,p,dl,dd{
	padding: 0;
	margin: 0;
	border: 0;
}

input,select,textarea,button{
	box-sizing: border-box;
	font-family: 'Zen Maru Gothic';
	font-weight: 500;
	font-size: 16px;
	color: #422f00;
}
input,button{line-height: 1;}
button{
	transition: all .3s;
}
button:hover{
	cursor: pointer;
}

select {
	/*appearance: none;*/
	position: relative;
	color: #422f00;
	height: 40px;
	padding: 0 16px 0 10px;
	border: none;
	border-radius: 5px;
	border: 1px solid #ccc;
	background: #fff;
}

hr{
	display: none;
	clear: both;
	height: 1px;
	padding: 0;
	margin: 0;
	border: 0;
}

strong,b{
	font-weight: 900;
}

address,em{
	font-style: normal;
}

::selection {
	color:#fff;
	background: #9ac602;
}
::-moz-selection {
	color:#fff;
	background: #9ac602;
}


@media screen and (min-width: 737px){ /* PC */
	.brsp,
	.space-sp{
		display: none;
	}
	
	a[href^="tel:"]{
		pointer-events: none;
		text-decoration: none;
		color: #422f00;
	}
}
@media screen and (max-width: 736px){ /* SP */
	.brpc,
	.space-pc{
		display: none;
	}
}



/*=========================================================

	Flame layout

==========================================================*/

#header{
	text-align: left;
}

#contents{
}

.layout{
	text-align: left;
}

#footer{
	position: relative;
	margin-top: 80px;
}

@media screen and (min-width: 737px){ /* PC */
	.layout{
		width: 1000px;
		margin: auto;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#header{
		width: 100%;
	}
	
	.layout{
		text-align: left;
		padding: 0 15px;
	}
}



/*=========================================================

	Decoration

==========================================================*/

/*	Header
***********************************************************/

#header a::after{
	display: none;
}

#navigation-area ul{
	list-style: none;
	margin: 0;
}



/*	Contents
***********************************************************/

.pagetitle{
	font-size: 180%;
	padding-top: 30px;
	margin-bottom: 80px;
}
.pagetitle span{
	display: block;
	font-size: 60%;
	font-weight: 500;
	color: #bd8d53;
	margin-bottom: 5px;
}

.section{
	margin-top: 80px;
}
.section > h3,
.section > h4{
	position: relative;
	font-size: 150%;
	padding-bottom: 14px;
	margin-bottom: 30px;
	border-bottom: 2px solid #e2dec2;
}
.section > h3::after,
.section > h4::after{
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	display: block;
	width: 150px;
	border-bottom: 2px solid #f5d100;
}

.section > h3 span{
	font-size: 80%;
	font-weight: 400;
}

.error-url{
	color: #a00;
	margin-bottom: 15px;
}

.button{
	display: inline-block;
	line-height: 50px;
	padding: 0 30px;
	border-radius: 25px;
	border: 1px solid #f5d100;
	box-shadow: 0 4px 0 #f5d100;
	background: #fff;
}
.button:hover{
	transform: translateY(4px);
	box-shadow: none;
}
.button::after{
	display: none;
}


/*	Footer
***********************************************************/

body#index footer #time-table{
	display: none;
}

#time-table{
	margin-top: 80px;
}
#time-table .layout{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#time-table .time-table-wrap > p{
	text-align: center;
	margin-bottom: 15px;
}

#time-table .time-table-wrap p.time-temporary{
	font-size: 85%;
	margin-top: 10px;
}
#time-table .time-table-wrap p.time-temporary span{
	color: #e53935;
}

#time-table .time-table-detail{
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 5px 5px 0 #f1efd9;
}
#time-table .layout table{
	table-layout: fixed;
	background: #fff;
}
#time-table .layout table th,
#time-table .layout table td{
	text-align: center;
	vertical-align: middle;
	padding: 10px;
}
#time-table .layout table thead th,
#time-table .layout table thead td{
	color: #fff;
	background: #422f00;
}
#time-table .layout table tbody tr:not(:first-child) th,
#time-table .layout table tbody tr:not(:first-child) td{
	border-top: 1px solid #e2dec2;
}
#time-table .layout table td.text{
	font-size: 60%;
}
#time-table .layout table td.text span{
	font-size: 130%;
	color: #e53935;
}

#time-table .time-table-contact{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px;
	margin-top: 15px;
}
#time-table .time-table-contact strong{
	font-size: 180%;
}

.fever-attention{
	box-sizing: border-box;
	padding: 20px;
	border-radius: 10px;
	background: #ffd54f;
}
.fever-attention h3 span{
	font-size: 150%;
	color: #e53935;
}
.fever-attention ul li{
	margin-top: 10px;
}
.fever-attention ul li em{
	color: #e53935;
}

#calendar-wrap{
	margin-top: 80px;
}

ul.footer-navi{
	display: flex;
	gap: 30px;
	list-style: none;
	margin: 0;
}
ul.footer-navi i{
	margin-right: 5px;
}

#footer .pagetop{
	text-align: right;
	padding: 15px 0;
}
#footer .pagetop a{
	display: inline-block;
	text-align: center;
	line-height: 50px;
	color: #fff;
	width: 50px;
	border-radius: 25px;
	background: #f5d100;
}
#footer .pagetop a:hover{
	background: #f5b800;
}
#footer .pagetop a::after{
	display: none;
}

small.copyright{
	display: block;
	text-align: center;
	color: #fff;
	padding: 15px 0;
	background: #422f00;
}


@media screen and (min-width: 737px){ /* PC */
	#header{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#header h1{
		padding-left: 50px;
	}
	#header h1 img{
		width: auto;
		height: 80px;
	}
	
	.menu-trigger{display: none;}
	
	#navigation ul{
		display: flex;
		gap: 10px;
		padding: 30px 50px 30px 0;
	}
	#navigation ul li a{
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 5px;
		line-height: 1.1;
		text-align: center;
		font-size: 90%;
		width: 140px;
		height: 140px;
		padding: 10px;
		border-radius: 10px;
		border: 5px solid rgba(67,47,1,0.7);
		background: rgba(255,255,255,0.5);
	}
	#navigation ul li a:hover{
		background: rgba(255,255,255,0.9);
	}
	#navigation ul li a strong{
		font-weight: 500;
	}
	#navigation ul li a strong span{
		font-size: 70%;
	}
	#navigation ul li a img{
		width: 60px;
		margin-top: auto;
	}
	
	#navigation ul li a i{
		display: none;
	}
	
	#time-table .layout .time-table-detail{
		width: 500px;
	}
	
	#time-table .layout .time-table-contact{
		align-items: flex-end;
	}
	
	#time-table .layout .fever-attention{
		width: 450px;
	}
	#time-table .layout table th{
		width: 150px;
	}
	
	.pagetop{
		position: relative;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#header{
		padding-bottom: 30px;
	}
	#header h1{
		box-sizing: border-box;
		padding: 15px 0 0 15px;
		height: 60px;
	}
	#header h1 img{
		max-width: none;
		width: auto;
		height: 60px;
	}
	
	#header #header-navi{
		position: fixed;
		z-index: 9999;
		top: 10px;
		right: 10px;
	}
	
	#navigation-area{
		width: 60px;
		height: 60px;
	}
	
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .3s;
		box-sizing: border-box;
	}
	.menu-trigger{
		cursor: pointer;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		border-radius: 30px;
		background: #422f00;
	}
	.menu-trigger span{
		position: absolute;
		left: 15px;
		width: 30px;
		height: 2px;
		background: #fff;
	}
	.menu-trigger span:nth-of-type(1){
		top: 19px;
	}
	.menu-trigger span:nth-of-type(2){
		top: 29px;
	}
	.menu-trigger span:nth-of-type(3){
		top: 39px;
	}
	
	.menu-trigger.active span:nth-of-type(1){
		transform: translateY(10px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2){
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3){
		transform: translateY(-10px) rotate(45deg);
	}
	
	#navigation{
		display: none;
		position: absolute;
		z-index: 1000;
		top: 70px;
		right: 0;
	}
	#navigation ul{
		box-sizing: border-box;
		width: 280px;
		padding: 15px 30px;
		border-radius: 10px;
		background: #422f00;
	}
	#navigation ul li:not(:last-child){
		border-bottom: 1px solid rgba(255,255,255,0.3);
	}
	#navigation ul a{
		display: flex;
		align-items: center;
		color: #fff;
		padding: 15px 0;
	}
	#navigation ul li a strong span{
		font-size: 80%;
		font-weight: 400;
	}
	#navigation ul li a img{
		display: none;
	}
	#navigation ul li a i{
		color: #f5d100;
		margin-left: auto;
	}
	
	#time-table .layout table{
		font-size: 90%;
	}
	#time-table .layout table th{
		width: 100px;
	}
	
	#time-table .time-table-contact{
		text-align: center;
		justify-content: center;
	}
	
	.fever-attention{
		margin-top: 30px;
	}
	.fever-attention h3{
		text-align: center;
	}
	
	#calendar-wrap{
		font-size: 80%;
	}
	
	#footer ul.footer-navi{
		display: none;
	}
	
	#footer .pagetop{
		padding-top: 0;
	}
}



/*=========================================================

	Entry

==========================================================*/

.entry{
	background: #fff;
	border-bottom: 1px solid #e2dec2;
}
.entry:first-child{
	border-top: 1px solid #e2dec2;
}

.entry a{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	text-align: left;
	padding: 30px 15px;
}
.entry a::after{
	display: none;
}
.entry a h3{
}
.entry a .entry-info{
	order: -1;
	text-align: center;
	font-size: 80%;
	color: #fff;
	width: 130px;
	padding: 7px 0;
	margin-right: 15px;
	background: #bd8d53;
}
.entry a i{
	transition: all .3s;
	margin-left: auto;
}
.entry a:hover i{
	color: #f5b800;
}

.entry-wrap{
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
.entry-wrap .entry-title{
	font-size: 150%;
	width: 100%;
	margin: 15px 0 30px 0;
}
.entry-wrap .entry-info{
	order: -1;
	text-align: center;
	font-size: 80%;
	color: #fff;
	width: 130px;
	padding: 7px 0;
	background: #bd8d53;
}

.article p ~ p{
	margin-top: 15px;
}

.pagenav-list{/* 記事一覧の方 */
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	text-align: center;
	padding-top: 50px;
}
.pagenav-list span,
.pagenav-list a{
	display: inline-block;
	text-decoration: none;
	line-height: 50px;
	width: 50px;
	border-radius: 25px;
}
.pagenav-list span:first-child,
.pagenav-list a:first-child{
	margin-left: 0;
}
.pagenav-list a{
	background: #f5d100;
}
.pagenav-list a::after{
	display: none;
}
.pagenav-list span.current{
	background: #f5b800;
}
.pagenav-list a:hover{
	background: #f5b800;
}


.pagenav{/* シングル記事の方 */
	width: 100%;
	padding-top: 50px;
	margin-top: 50px;
	border-top: 1px solid #e2dec2;
}
.pagenav::after{
	content: '';
	display: block;
	clear: both;
}
.pagenav div{
	width: 48%;
}
.pagenav div.prev{
	float: left;
}
.pagenav div.next{
	float: right;
	text-align: right;
}
.pagenav div.prev i{
	margin-right: 5px;
}
.pagenav div.next i{
	margin-left: 5px;
}


@media screen and (min-width: 737px){ /* PC */
	#entry-list,
	.entry-wrap{
		width: 1000px;
		margin: auto;
	}
}

@media screen and (max-width: 736px){ /* SP */
	#entry-list,
	.entry-wrap{
		padding: 0 15px;
	}
	
	.entry a .entry-info{
		margin-bottom: 10px;
	}
	
	.entry a .entry-title{
		width: calc(100% - 50px);
	}
}



/*=========================================================

	Event Organiser

==========================================================*/

.eo-fullcalendar-reset.fc-unthemed .fc-today{
	background: #fff !important;
}

/*「土」の見出しの背景色*/
.eo-fullcalendar .fc-day-header.fc-sat {
	background: #d2e8ff;
}
/*「日」の見出しの背景色*/
.eo-fullcalendar .fc-day-header.fc-sun {
	background: #ffd0d0;
}
/*「土」の枠の背景色*/
.eo-fullcalendar tbody .fc-sat,
.eo-fullcalendar tbody .fc-sat.fc-today{
	background: #f5faff !important;
}
/*「日」の枠の背景色*/
.eo-fullcalendar tbody .fc-sun,
.eo-fullcalendar tbody .fc-sun.fc-today{
	background: #fff2f2 !important;
}

/* 開始時刻を非表示 */
.fc-day-grid-event .fc-time {
	display: none;
}
/* 予定の余白 */
.eo-fullcalendar .fc-event {
	font-size: 80% !important;
	padding: 3px;
}
/* 詳細ページリンク */
.eo-fullcalendar .fc-event {
	pointer-events: none;
}
/* 日付 */
.fc-ltr .fc-basic-view .fc-day-number{
	padding: 10px !important;
}

.fc td,
.fc th{
	border-color: #e2dec2 !important;
}

.fc .fc-widget-header th.fc-day-header{
	padding: 10px 0 !important;
}


/*
#time-table .layout table thead th,
#time-table .layout table thead td{
	color: #fff;
	background: #422f00;
}
*/
