/*
Theme Name: AREA SEO
Requires PHP: 7.4
Version: 2024.2
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* header -------------------------------------*/
#header {
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
	z-index: 100;
}
#header .header-inner {
	align-items: center;
}
#menu-g-nabi a {
	color: #000;
	font-weight: 600;
	font-size: 1.6rem;
	padding: 2rem 0;
	margin: 0 3rem;
}
#menu-g-nabi a:hover {
	color: #000;
}
#menu-g-nabi .menu-item-has-children {
	position: relative;
	display: inline-flex;
	align-items: center;
}
#menu-g-nabi .menu-item-has-children::after {
	content: "";
	display: inline-block;
	background-color: transparent;
	border: 2px solid;
	border-color: #000 #000 transparent transparent;
	transform: rotate(135deg);
	width: 8px;
	height: 8px;
	box-sizing: border-box;
	margin-right: 6px;
	position: absolute;
	right: 2px;
}
@media screen and (min-width: 769px) {
	#header .header-inner {
		padding: 1rem 3rem;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
	}
	#header .site_logo {
		max-width: 250px;
	}
	#header .site_logo h1 {
		margin: 0;
		padding: 0;
		line-height: 0;
	}
/* --PCで非表示-- */
	#menu {
		display: none;
	}
/* --------- */
	#menu-g-nabi {
		display: flex;
		align-items: center;
	}
	#menu-g-nabi ul li a {
		margin: 0;
		padding: 1rem;
	}
	#menu-g-nabi .sub-menu {
		display: none;
		position: absolute;
		bottom: -5rem;
		background-color: #fff;
		flex-wrap: wrap;
		box-sizing: border-box;
		padding-bottom: 1.5rem;
	}
	#menu-g-nabi ul li {
		position: relative;
	}
	#menu-g-nabi .has-child_2 .sub-menu {
		display: none;
		position: absolute;
		bottom: -5rem;
		background-color: #fff;
		flex-wrap: wrap;
		box-sizing: border-box;
		padding-bottom: 1.5rem;
	}
	#menu-g-nabi .has-child_2 ul li {
		position: relative;
	}
	#menu-g-nabi .menu-item-has-children::before {
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		bottom: -15px;
		z-index: -1;
	}
	#menu-g-nabi .menu-item-has-children:hover .sub-menu {
		display: inline-flex;
		transition: all 0.4s ease-in-out;
	}
	#menu-g-nabi .menu-item-has-children:hover .sub-menu li a {
		font-size: 1.5rem;
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
	}
	.sp_nav.hamburger {
		display: none;
	}
}
/* sp-menu ------------------------------------*/
.sp_nav {
	width: 3rem;
	height: 100%;
}
.hamburger {
	background-color: transparent;
	border-color: transparent;
	z-index: 99;
	position: absolute;
	top: 0;
	right: 1.5rem;
	padding: 0;
	cursor: pointer;
}
/* sp-menu line --------*/
.hamburger span {
	width: 100%;
	height: 3px;
	background-color: #292929;
	position: relative;
	transition: all 0.4s ease-in-out;
	display: block;
	border-radius: 30px;
}
.hamburger span:nth-child(1) {
	top: 0;
}
.hamburger span:nth-child(2) {
	margin: 6px 0;
}
.hamburger span:nth-child(3) {
	top: 0;
}
/* sp-menu open --------*/
#menu.active {
	transform: translatey(0);
	display: block;
}
.hamburger.active span:nth-child(1) {
	top: 10px;
	transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
	opacity: 0;
}
.hamburger.active span:nth-child(3) {
	top: -8px;
	transform: rotate(-45deg);
}
.no-scroll {
	overflow: hidden;
	height: 100%;
}
@media screen and (max-width: 768px){
	#header .header-inner {
		padding: 1rem 2rem;
		height: 55px;
	}
	#header .site_logo {
		max-width: 140px;
	}
	#menu {
		display: none;
		position: absolute;
		right: 0;
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		transform: translatey(calc(-100% + -75px));
		background-color: #fff;
		transition: all 0.4s ease-in-out;
		margin-top: 55px;
		z-index: -1;
		overflow: scroll;
		padding-bottom: 100px;
		box-sizing: border-box;
	}
	#menu-g-nabi .sub-menu {
		display: none;
	}
	#menu-g-nabi .has-child .sub-menu.active, #menu-g-nabi .has-child_2 .sub-menu.active {
		display: block;
	}
	#menu-g-nabi {
		flex-direction: column;
		display: flex;
		align-items: flex-start;
	}
	#menu-g-nabi li {
		width: 100%;
	}
	#menu-g-nabi a {
		width: 96%;
		margin: 0 auto;
		padding: 1.5rem 2rem;
		box-sizing: border-box;
		display: block;
		border-bottom: 1px solid #A5A5A5;
	}
	#menu-g-nabi .has-child, #menu-g-nabi .has-child_2 {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}
	#menu-g-nabi .menu-item-has-children::after {
		top: 2rem;
		right: 2rem;
		transition: all 0.4s ease-in-out;
	}
	#menu-g-nabi .menu-item-has-children.active::after {
		transform: rotate(315deg);
		transition: all 0.4s ease-in-out;
		top: 2.5rem;
	}
	.sub-menu.active {
		width: 100%;
		background-color: #F5F5F5;
	}
	.sub-menu.active li:last-child {
		border-bottom: none !important;
	}
}

html {
	font-size: 62.5%;
}
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	color: #292929;
	background-color: #f9f9f9;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}
figure, picture {
	width: 100%;
	line-height: 0;
	display: inline-block;
}
img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
p{
	font-size: 1.6rem;
}
a {
	color: #000000;
	display: block;
	text-decoration: unset;
	transition: all 0.4s ease-in-out;
}
a:active, a:focus, a:focus-visible, a:focus-within, a:visited, a:target {
	color: #000000;
}
.screen-reader-text:focus {
	color: #000000;
}
select {
	-webkit-appearance: none;
	appearance: none;
}
.inner {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.center {
	text-align: center;
}
.flex {
	display: flex;
}
iframe {
	max-width: 100%;
	width: 100%;
	position: unset !important;
	visibility: unset !important;
}
/* slider ---------------------------------------*/
.my-post-slider {
	margin: 2rem auto;
}
.slide-item {
	display: block;
	text-decoration: none;
	color: inherit;
}
.slide-thumb img {
	width: 100%;
	height: auto;
}
.slide-content {
	padding: 10px 0;
}
.slide-cat {
	font-size: 1.25rem;
	font-weight: 500;
	color: #fff;
	position: absolute;
	background-color: #142C50;
	top: 1em;
	left: 1em;
	padding: 0.25rem 1rem;
	display: block;
}
.slide-title {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 1px;
}
.slide-date {
	font-size: 1.2rem;
	color: #666;
}
.post-tags.flex {
	gap: 0.25rem 1rem;
	flex-wrap: wrap;
	margin: 1rem 0 1.5rem;
}
.post-tags.flex li {
	gap: 0.25rem;
}
.post-tags.flex li::before {
	content: "#";
}
/* common --------------------------------------*/
#wrapper {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
#main-content {
	margin-top: 65px;
	flex-direction: column;
	flex: 1;
	position: relative;
	z-index: 1;
}
.entry-content{
	padding: 3rem 0;
}
/* Sub main-visual ----------------------------*/
.subpage-head-content h1 {
	font-size: 3rem;
	font-weight: 600;
}
.breadcrumb {
	font-size: 0.75em;
	margin: 2rem auto;
}
.breadcrumb a{
	display: inline-block;
}
.subpage-head-content .breadcrumb, .breadcrumb .home {
	color: #a5a5a5;
}
.subpage-header {
	display: flex;
	align-items: center;
	position: relative;
	height: 215px;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}
/*archive*/
.archive .post-list {
	flex-wrap: wrap;
	gap: 1rem;
}
.post-box {
	width: calc((100% - 2rem) / 3);
}
/*post-page*/
.post-wrapper.inner.flex {
	justify-content: space-between;
	gap: 1rem;
}
.post-wrapper > article {
	background-color: #fff;
}
.post-wrapper > aside{
	background-color: #eee;
	padding: 1rem;
}
#ez-toc-container{
	width: 100%;
}
.post-eyecatch{
	max-width: 100%;
}
#sidebar {
	flex-direction: column;
	gap: 1rem;
}
#sidebar h2 {
	font-size: 1.8rem;
	font-weight: 600;
}
#sidebar .pickup,
#sidebar .keyword-tags {
	background-color: #fff;
	padding: 1rem;
}
.pickup-articles.flex{
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1rem;
}
.pickup-link.flex {
	gap: 0.5rem;
}
.pickup-thumb {
	width: 70px;
}
.pickup-content {
	width: calc(100% - (100px + 0.5rem));
}
.pickup-content h3 {
	font-size: 0.9em;
}
.pickup-content li {
	font-size: 0.75em;
}
.pickup-content .post-tags.flex {
	margin-bottom: 0;
}
@media screen and (min-width:1241px){
	.post-wrapper > article {
		width: calc(100% - (1rem + 300px));
		background-color: #fff;
		padding: 3rem;
	}
	.post-wrapper > aside{
		width: 300px;
		height: 100%;
	}
}
@media screen and (min-width:769px) and (max-width:1240px){
	.post-wrapper > article {
		width: calc(100% - (1rem + 250px));
		background-color: #fff;
		padding: 2rem;
	}
	.post-wrapper > aside{
		width: 250px;
		height: 100%;
	}
}
@media screen and (max-width:768px){
	.post-wrapper.inner.flex {
		flex-direction: column;
		justify-content: flex-start;
		gap: 2rem;
	}
	.post-wrapper > article {
		width: 100%;
		padding: 1.5rem;
	}
	.post-wrapper > aside{
		width: 100%;
	}
}
/* footer -------------------------------------*/
#footer {
	background-color: #292929;
	color: #fff;
}
#copyright {
	text-align: center;
	border-top: 1px solid #fff;
	padding: 0.5rem 0;
}
#copyright p {
	font-size: 1.2rem;
}
/* Contact ------------------------------------*/
.form-area {
	padding: 1rem;
	background-color: #fff;
	max-width: 80%;
	margin: 0 auto;
}
.form-area label {
	font-size: 2rem;
	font-weight: 600;
}
.form-area .contact-note {
	color: #A5A5A5;
}
.required, .arbitrary {
	display: inline-block;
	padding: 0.25rem 2rem;
	border-radius: 30px;
	font-size: 0.7em;
	color: #fff;
	margin-left: 1rem;
}
.required {
	background-color: #DF005E;
}
.arbitrary {
	background-color: #A5A5A5;
}
.form-item {
	margin: 4rem 0;
}
.wpcf7-list-item {
	margin: 0 2.2em 0 0;
}
.wpcf7-list-item label {
	font-weight: 400;
	font-size: 2rem;
}
.wpcf7-checkbox span{
	font-size: 1.7rem;
}
.text-in input, .form-item.text-in textarea, .wpcf7-form-control.wpcf7-select {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	width: 100%;
	box-sizing: border-box;
	padding: 1.5rem 1rem;
	margin-top: 1rem;
	border: 1px solid #A5A5A5;
	background-color: #F5F5F5;
}
.wpcf7-form-control.wpcf7-select {
	max-width: 60%;
	font-size: 1.6rem;
}
.form-item.text-in input::placeholder, .form-item.text-in textarea::placeholder {
	font-family: "Noto Sans JP", sans-serif;
	color: #A5A5A5;
	font-weight: 500;
	opacity: unset;
}
.form-submit-area {
	max-width: 80%;
	margin: 0 auto;
}
.form-submit-area .submit-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.form-submit-area .submit-btn span {
	margin: 2rem auto;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	text-align: center;
	max-width: 80%;
	margin: 0 auto 10rem;
	padding: 1.5rem;
}
.wpcf7-form-control.wpcf7-submit.has-spinner {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #0C5742;
	box-shadow: unset;
	border: unset;
	border-radius: 100px;
	width: 350px;
	box-sizing: border-box;
	padding: 1.5rem 0;
	margin: 5rem auto 0;
}
.type-selects {
	color: #292929 !important;
}
.form-area .select_wrapper {
	max-width: 60%;
	position: relative;
	margin: 0;
}
.form-area .select_wrapper::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 5%;
	width: 0.8rem;
	height: 0.8rem;
	border-right: 2px solid #292929;
	border-bottom: 2px solid #292929;
	box-sizing: border-box;
	transform: rotate(45deg) translate(-50%, 0);
}
.select_wrapper .wpcf7-form-control.wpcf7-select{
	max-width: 100%;
}
/*Media Query ---------------------------------*/
@media screen and (max-width: 1240px) {
	.inner {
		max-width: 92%;
	}
}
@media screen and (max-width: 768px) {
	#sidebar{
		margin-bottom: 3rem;
	}
	#main-content {
		margin-top: 55px;
	}
	#content {
		margin-top: 55px;
	}
}