@charset "utf-8";

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

Parameter

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

:root {
	--color-main: #fffaf4;
	--color-main2: #fcf2e4;
	--color-main3: #f2ede8;
	--color-main4: #dbd5d0;
	--color-accent: #ec4071;
  --color-text: #111;
	--color-gray: #dcd7ca;

	--wrap-width: 1200px;
}


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

Common

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

body{
	font-size: 1.8rem;
	overflow-x: hidden;
	color: var(--color-text);
}

a{
	color: var(--color-accent);
}




/*------------------------------------------------------------
Widget
------------------------------------------------------------*/
.widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary{
	font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
}


/*------------------------------------------------------------
Color Change
------------------------------------------------------------*/
/* Black */
html.bg-blk{
	body{
		background: #000 !important;
	}

	.header-footer-group, body:not(.overlay-header) #site-header .toggle, .menu-modal .toggle{
		color: #fff !important;
	}

	.header-footer-group{
		.header-inner{
			.header-titles-wrapper{
				.header-titles{
					.site-logo{
						.custom-logo-link{
							> img{
								filter: invert(100%);
							}
						}
					}
				}
			}

			.header-navigation-wrapper{
				.primary-menu{
					> li{
						.sub-menu{
							background: #555;

							&::after{
								border-bottom-color: #555;
							}

							> li{
								> a{
									color: #fff;
								}

								.sub-menu{
									&::after{
										border-left-color: #555;
									}
								}
							}
						}
					}
				}
			}
		}
	}

	.entry-content{
		h3{
		&.wp-block-heading{
			background: #333;
		}
	 }
	 
	 .wp-block-flexible-table-block-table{
		> table{
			tbody{
				tr{
					th,td{
						background: #000;
					}
				}
			}
		}
	 }

	 button, .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"]{
		background: var(--color-main);
		border: 1px solid var(--color-text);
	 }

	 .is-style-outline{
		.wp-block-button__link:not(.has-text-color){
			color: var(--color-text);
		}
	 }

	 .wp-block-group{
		&.has-background{
			border: 1px solid var(--color-text);
			background: transparent !important;
		}
	 }

	 .wpcf7{
			border: 1px solid var(--color-text);
			background: transparent !important;

			.required{
				background: transparent;
				border: 1px solid var(--color-text);
			}

			.wpcf7-not-valid-tip{
				color: var(--color-text);
			}
	 }

	 .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
			border-color: var(--color-text);
		}
	}

	.to-the-top{
		color: var(--color-text);
	}

}



/* Yellow */
html.bg-yw{
	body{
		background: var(--color-main) !important;

		.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
			border-color: var(--color-text);
		}

		.entry-content{
			button, .button, .faux-button, .wp-block-button__link, .wp-block-file .wp-block-file__button, input[type="button"], input[type="reset"], input[type="submit"]{
				background: var(--color-main);
				border: 1px solid var(--color-text);
				color: var(--color-text);
			}
		}

		.footer-widgets-outer-wrapper{
			border-bottom: none;
		}

		.footer-nav-widgets-wrapper{
		background: var(--color-main3);

			.footer-inner{
				.footer-widgets-outer-wrapper{
					.footer-widgets-wrapper{
						.footer-widgets{
							&.column-two{
								.widget_nav_menu{
									.widget-content{
										.menu-footer_nav-container{
											.menu{
												> .menu-item{
													border-right-color: var(--color-text);

													&:first-of-type{
														border-left-color: var(--color-text);
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}

}

@media (min-width: 1000px){
	html.bg-yw{
		.header-footer-group{
			.header-inner{

				/* Navigation */
				.header-navigation-wrapper{
					background: rgba(0, 0, 0, 2%);

					.primary-menu{
						border-left-color: var(--color-text);

						> li{
							border-right-color: var(--color-text);
						}
					}

				}
			}
		}
	}
}



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

Header

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

@media (min-width: 1000px){
	.header-footer-group{
		
		&#site-header{
			background: var(--color-main);
		}

		.header-inner{
			flex-wrap: wrap;
			padding-bottom: 0;

			.header-titles-wrapper{
				display: table;
				margin-left: auto;
				margin-right: auto;
			}


			/* Navigation */
			.header-navigation-wrapper{
				width: 100vw;
				padding: 0 14px;
				margin-top: 16px;
				margin-left: calc(-50vw + 50%);
				margin-right: calc(-50vw + 50%);
				background: rgba(0, 0, 0, 5%);

				.primary-menu-wrapper{
					max-width: var(--wrap-width);
					margin-left: auto;
					margin-right: auto;
				}

				.primary-menu{
					margin: 0;
					justify-content: flex-start;
					gap: 14px 0;
					border-left: 1px solid #ddd;

					> li{
						margin: 0;
						flex: auto;
						border-right: 1px solid #ddd;
						font-size: 1.6rem;

						&:has(.icon){
							> a{
								padding-right: 2.0em;
							}

							.icon{
								right: 0.5em;
								color: var(--color-accent);
							}
						}

						> a{
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: 100%;
						}

						a{
							color: var(--color-text);
							padding: 15px 10px;

							&:hover{
								color: var(--color-accent);
							}
						}

						.sub-menu{
							background: #fff;
							box-shadow: 0px 0px 4px 4px rgba(17,17,26,0.08);
							top: calc(100% + 1rem);
							padding: 5px 0 0;


							&::after{
								border-bottom-color: #fff;
							}

							.menu-item{
								border-bottom: 1px dashed #ddd;
								margin: 0;

								&:last-of-type{
									border-bottom: none;
								}

								> a{
									padding: 10px;
									color: #111;
								}

								> .sub-menu{
									top: -5px;

									&::after{
										border-left-color: #fff;
										border-bottom-color: transparent;
									}
								}
							}
						}
					}
				}

				.header-toggles{
					display: none;
				}
			}
		}
	}

	.header-footer-group{
		.header-inner{
			position: relative;

			.header-function-wrapper{
				font-size: 1.6rem;

				> div{
					ul{
						> li{
							font-size: 1.5rem;
						}
					}
				}
			}
		}
	}

}

@media (min-width: 700px){
	.header-footer-group{
		.header-inner{
			position: relative;

			.header-function-wrapper{
				position: absolute;
				top: 10px;
				right: 0;
				display: flex;
				font-size: 1.4rem;
				gap: 10px;

				> div{
					display: flex;
					align-items: center;
					gap: 10px;

					ul{
						display: flex;
						gap: 10px;
						margin: 0;
						padding: 0;

						> li{
							margin: 0;
							padding: 5px;
							background: #eee;
							border-radius: 5px;
							list-style-type: none;
							font-size: 1.4rem;
							text-align: center;
							min-width: 3.0em;
							cursor: pointer;
							color: #111;
							border: 1px solid #ccc;
							
							&.color-blk{
								color: #fff;
								background: #000;

								> a{
									color: #fff;
								}
							}

							&.color-yw{
								background: #ffff00;
							}

							&.color-wht{
								background: #f8f8f8;
							}

							&:hover{
								opacity: 0.6;
							}

							> a{
								color: #111;
								text-decoration: none;
							}
						}
					}
				}
			}
		}
	}
}

.primary-menu ul li.menu-item-has-children:hover > ul,
.primary-menu ul li.menu-item-has-children:focus > ul,
.primary-menu ul li.menu-item-has-children.focus > ul{
	left: calc(100% + 2rem);
	right: auto;
}


.primary-menu ul ul{
	&::before{
		left: -2rem;
		right: auto;
	}
	&::after{
		border-right-color: #fff;
		border-left-color: transparent !important;
		left: -1.6rem;
		right: auto;
	}
	
}

@media (max-width: 699px){
	.header-footer-group{
		.header-inner{
			.header-function-wrapper{
				display: none;
			}
		}
	}
}

/* Breadcrumbs */
.breadcrumbs{
	background: var(--color-main2);
	padding: 16px;

	.breadcrumbs__inner{
		max-width: var(--wrap-width);
		margin-left: auto;
		margin-right: auto;
		font-size: 1.4rem;
	}
}

/*------------------------------------------------------------
Footer
------------------------------------------------------------*/
.footer-nav-widgets-wrapper{
	background: var(--color-main3);

	.footer-inner{
		.footer-widgets-outer-wrapper{
			.footer-widgets-wrapper{
				.footer-widgets{
					&.column-one{
					}
					&.column-two{
						.widget_nav_menu{
							.widget-content{
								.menu-footer_nav-container{
									.menu{
										display: flex;
										flex-wrap: wrap;
										justify-content: flex-end;
										gap: 16px 0;

										> .menu-item{
											border-right: 1px solid #ddd;
											margin: 0;
											padding: 0;

											&:first-of-type{
												border-left: 1px solid #ddd;
											}

											> a{
												font-size: 1.6rem;
												padding: 0 16px;
												color: var(--color-text);
												font-weight: normal;

												&:hover{
													color: var(--color-accent);
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

.header-footer-group{
	&#site-footer{
		background: var(--color-main4);
	}	
}

@media (min-width: 700px){
	#site-footer{
		.section-inner{
			width: 100%;
			max-width: var(--wrap-width);
		}
	}

	.footer-nav-widgets-wrapper{
		.footer-inner{
			&.section-inner{
				width: 100%;
				max-width: var(--wrap-width);
			}

			.footer-widgets-outer-wrapper{
				.footer-widgets-wrapper{
					.footer-widgets{
						&.column-one{
							width: 45%;
						}
						&.column-two{
							width: 55%;
						}
					}
				}
			}
		}
	}
}

@media (max-width: 699px) {
	.footer-nav-widgets-wrapper{
		.footer-inner{
			.footer-widgets-outer-wrapper{
				.footer-widgets-wrapper{
					.footer-widgets{
						&.column-one{
							.widget{
								.widget-content{
									.has-text-align-left{
										text-align: center;
									}
								}
							}
						}
						&.column-two{
							.widget_nav_menu{
								.widget-content{
									.menu-footer_nav-container{
										.menu{
											justify-content: center;
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

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

Contents

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

.post-inner{
	max-width: var(--wrap-width);
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 700px){
	.post-inner{
		padding-top: 24px;
	}
}

@media (max-width: 699px){
	.post-inner{
		padding-top: 24px;
	}
}

/*------------------------------------------------------------
Entry Header
------------------------------------------------------------*/
.singular{
	.entry-header{
		background: var(--color-main2);
	}
}	

.entry-header{
	.entry-header-inner{
		.entry-title{
			font-size: 3.6rem;
		}
	}
}


/*------------------------------------------------------------
Entry Content
------------------------------------------------------------*/
.entry-content{
	 > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide){
		max-width: none;
		width: auto;
	 }

	 > .alignwide:not(.wp-block-group.has-background), .entry-content > .alignfull:not(.wp-block-group.has-background){
		&.first-view{
			margin-top: 0;
		}
	 }
	 
	 /* Headline */
	 h2{
		&.wp-block-heading{
			font-size: 2.4rem;
			background-size: auto auto;
			background-color: rgba(34, 34, 34, 1);
			background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(43, 43, 43, 1) 10px, rgba(43, 43, 43, 1) 20px );
			color: #fff;
			padding: 16px;
			border-radius: 5px;
		}
	 }

	 h3{
		&.wp-block-heading{
			font-size: 2.2rem;
			background: #f1f1f1;
			border-radius: 5px;
			padding: 16px 12px;
		}
	 }

	 h4{
		&.wp-block-heading{
			font-size: 2.0rem;
			border-radius: 5px;
			padding: 0 0 16px 1.0em;
			margin: 32px 0 16px;
			position: relative;
			border-radius: 0;

			&::before{
				content: "\f0da";
				font-family: "FontAwesome";
				position: absolute;
				top: 0;
				left: 0.1em;
			}

			&::after{
				content: "";
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				height: 4px;
				background-image: repeating-linear-gradient(-45deg, #777 0, #777 1px, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 50%);
				background-size: 8px 8px;
			}
		}
	 }

	 /* Table */
	 .wp-block-flexible-table-block-table{
		> table{
			tbody{
				tr{
					th,td{
						border-color: #ccc;
						padding: 0.75em;
					}
				}
			}
		}
	 }

	 

	 /* Query */
	 .wp-block-query{
		.wp-block-post-template{
			.wp-block-post{
				display: flex;
				gap: 12px 24px;
				border-top: 1px dashed var(--color-gray);
				padding-top: 16px;
				padding-bottom: 16px;
				margin: 0;

				&:last-of-type{
					border-bottom: 1px dashed var(--color-gray);
				}

				.wp-block-post-date{
					width: 8.0em;
					font-size: 2.0rem;

					> time{
						font-size: 2.0rem;
						line-height: 1.6;
					}
				}

				.wp-block-post-title{
					width: calc(100% - 24px - 8.0em);
					margin: 0;
					padding: 0;
					font-size: 2.0rem;
					line-height: 1.9;
					background: transparent;

					> a{
						&:hover{
							opacity: 0.7;
						}
					}
				}
			}
		}
	 }

	 /* Group */
	 .wp-block-group-is-layout-flex{
			&.wp-block-group:not(.has-background):not(.alignwide):not(.alignfull){
				margin-top: 1em;
				margin-bottom: 1em;
			}
	 }

	 /* Media */
	 .wp-block-image{
		&:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter){
			margin-top: 1em;
			margin-bottom: 1em;
		}
	 }

	 .wp-block-media-text{
		.wp-block-media-text__content{
			padding: 0;
		}
	 }

	 /* Figure */
	 .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter){
		margin: 0;
	 }

	 /* list */
	.wp-block-list {
		list-style: none;
		li {
			display: flex;
			&::before{
				content: "⚫︎";
				color: #cd2653;
				font-size: 0.6em;
				margin-right: 1em;
				margin-top: .65em;
			}
		}
	}

}


@media (min-width: 700px) {
	.entry-content {
		font-size: 1.8rem;
		padding-right: 12px;
		padding-left: 12px;

		p,li{
			line-height: 1.8;
		}

		h2.wp-block-heading,
		h3.wp-block-heading {
			margin-right: -12px;
			margin-left: -12px;
		}
	}
}

@media (max-width: 699px) {
	.entry-content {
		.wp-block-query{
			.wp-block-post-template{
				.wp-block-post{
					flex-wrap: wrap;

					.wp-block-post-title{
						width: 100%;
					}
				}
			}
		}

		/* Figure */

		.alignwide{
			width: 100%;
		}
	}
}


@media (max-width: 1240px) {
	.entry-content {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media (min-width: 1280px){
	.entry-content {
		> .alignwide{
			max-width: 100%;
      width: 100%;
		}
	}
}


/* Form
-----------------------------------------------------------*/
.wpcf7{
	background: #f5f5f5;
	border-radius: 10px;
	padding: 16px;

	.required{
		font-size: 1.3rem;
		background: var(--color-accent);
		color: #fff;
		padding: 2px 10px;
		margin-left: 10px;
		border-radius: 5px;
		font-weight: bold;
	}

	.wpcf7-text,
	.wpcf7-textarea{
		margin-top: 8px;
		border-radius: 5px;
		font-size: 1.8rem;
	}


	.wpcf7-submit{
		display: table;
		margin-top: 30px;
		margin-left: auto;
		margin-right: auto;
		border-radius: 5px;

		&:hover{
			opacity: 0.8;
			text-decoration: none;
		}
	}
}


/* Easy Table of Contents
-----------------------------------------------------------*/
.entry-content {
	div#ez-toc-container {
    margin: 3.42em 0 8em;
    padding: 1.5em 2em;
		nav {
			margin-top: .5em;
			ul li,
			ul li a {
				font-weight: 400;
    		color: #333;
			}
			ul li {
    		margin-bottom: .25em;
				a {
					text-decoration: underline;
					&:hover {
						text-decoration: none;
					}
				}
			}
		}
	}
}
@media (max-width: 699px) {
	.entry-content {
		div#ez-toc-container {
			padding: 1em 1.5em 1em 1em;
		}
	}
}
@media (min-width: 700px){
	.entry-content {
		div#ez-toc-container {
			margin-left: -12px!important;
		}
	}
}

/* お知らせ一覧 アイキャッチ表示
-----------------------------------------------------------*/
.wp-block-query{
	.wp-block-post-template{
		&.is-style-card {
			display: flex;
			flex-wrap: wrap;
			.wp-block-post {
				display: block;
				width: calc(33.33% - 20px);
				&:not(:nth-child(4n)) {
					margin-right: 30px;
				}
				@media (min-width: 769px){
					border: none;
					padding: 0;
					&:last-of-type {
						border: none;
					}
				}
				@media (max-width: 768px){
					width: 100%;
					margin-right: 0!important;
					
				}
				
				.wp-block-post-featured-image {
					margin-bottom: .75em;
					width: 100%;
					padding: 75% 0 0;
					overflow: hidden;
					position: relative;
					a {
						padding: 75% 0 0;
    				overflow: hidden;
						position: absolute;
						height: 100%;
						width: 100%;
						left: 0;
						top: 0;
					}
					img {
						position: absolute;
						height: 100%;
						width: 100%;
						left: 0;
						top: 0;
						-webkit-transform: none;
						transform: none;
						object-fit: cover;
						font-family: "object-fit: cover;";
					}
				}
				.wp-block-post-date {
					width: 100%;
				}
				.wp-block-post-title {
					width: 100%;
				}
			}
		}
	}
}

.single-post {
	.featured-media {
		display: none;
	}
}

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

Footer

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