@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* GENERAL */
.sans-serif {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

:root {
	--black: #161616;
	--dark_green: #3A8688;
	--red: #D65E4E;
	--gray: #ADAEAE;
	--font_serif: "Noto Serif JP", serif;
}

.d_none {
	display: none !important;
}
.txt_green {
	color: var(--dark_green);
}
.txt_eng {
	letter-spacing: .1em;
	font-family: var(--font_serif);
}

@media screen and (max-width: 600px) {
}


h1, h2, h3 {
  font-weight: normal !important;
}
p a {
	transition: .15s;
}
p a:hover {
	opacity: .7;
}
.p-postList.-type-simple .p-postList__body {
	display: flex;
	justify-content: left;
	gap: 1.5em;
}
.p-postList__times time.c-postTimes__posted {
	color: #ABA8A8;
	font-size: .9rem;
}
time.c-postTimes__posted::before {
	display: none;
}
.-type-simple .p-postList__link {
	padding: 1.5em .25em 1.2em;
}
#content a.swell-block-button__link {
	border: 1px solid var(--dark_green);
	width: 310px !important;
	max-width: 100%;
	font-weight: normal !important;
	line-height: 2 !important;
	transition: .5s;
}
#content a.swell-block-button__link:hover {
	border: 1px solid #333333;
	background: transparent;
	color: #333333;
}
.header_contact_btn a.swell-block-button__link {
	width: 100px !important;
	color: #333333;
	padding: 8px;
}
#fix_header .header_contact_btn a {
	color: #333333;
}
#fix_header .header_contact_btn a:hover {
	
}
[data-partsid="116"] a.swell-block-button__link {
	width: auto !important;
	color: #333333;
	padding: 8px 20px;
}

.home [data-partsid="116"] a.swell-block-button__link {
	width: auto !important;
	color: #fff;
	padding: 8px 20px;
}

#breadcrumb {
	display: none;
}

.grecaptcha-badge { visibility: hidden; }

/* header */
#header {
	background: none;
}
.l-header__inner {
	min-height: 80px;
}
#header .menu-item {
	font-family: "Noto Serif JP", serif;
}
.c-smallNavTitle {
	color: var(--gray);
}
.header_contact_btn a {
	width: 150px;
	padding: 8px 25px 8px 8px;
}
.header_contact_btn a svg.__icon {
	right: 15px;
}
.c-gnav>.menu-item>a .ttl {
	font-size: 1rem;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 959px) {
	
	.l-header__inner {
		min-height: auto;
	}
}

#sp_menu .c-widget__title {
	display: none;
}
#sp_menu .menu-item a {
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	display: flex;
	flex-direction: column;
	padding: 1.2em .1em;
	border-color: var(--gray);
}
#sp_menu .c-listMenu a:before {
	display: none;
}
#sp_menu .menu-item a .c-smallNavTitle {
	font-family: "Cormorant Garamond", serif;
	margin-left: 0;
}
html[data-scrolled="true"] .l-header__customBtn .icon-mail:before {
	content: url('http://54.168.1.126/wp-content/uploads/2025/09/mail.svg');
}
html[data-scrolled="false"] .l-header__customBtn .icon-mail:before {
	content: url('http://54.168.1.126/wp-content/uploads/2025/09/mail_wt.svg');
}

/* footer */
#footer_all ul {
	margin: auto;
	width: 680px;
	max-width: 100%;
	justify-content: center;
}
#footer_all ul li {
	font-size: 0.8rem;
	margin: .25em 1em;
	padding-left: 1em;
}
#footer_all ul li:first-child {
	list-style-type: none;
}
#footer_all ul li a {
	text-decoration: none;
}

@media screen and (max-width: 959px) {
	#footer_all ul li {
		padding-left: 0;
	}
}

#before_footer_widget {
    margin-top: 0;
}
#f_contact {
}
#f_contact a {
	width: 100%;
}
.l-footer__widgetArea {
	padding-bottom: 0;
}
.w-footer__box {
	padding-bottom: 0;
}
.c-widget .textwidget>:not(:last-child) {
	margin-bottom: 0;
}
#footer .copyright {
	color: #D2CDCD;
}

@media screen and (max-width: 959px) {
	#footer_all ul {
		flex-direction: column;
		align-items: center;
	}	
	#footer_all ul li {
		font-size: 1rem;
		list-style-type: none;
		position: relative;
		margin-bottom: 20px;
	}
	#footer_all li::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -18px;
		left: 50%;
		width: 4px;
		height: 4px;
		background-color: #fff;
		border-radius: 50%;
	}
	#footer_all li:last-of-type {
		margin-bottom: 0;
	}
	#footer_all li:last-of-type::after {
		display: none;
	}
	.contact_left p,
	.contact_left h2 {
		text-align: center !important;
	}
	.contact_comment {
		text-align: center;
	}
	#footer_contact h2,
	#footer_contact h2 span,
	#footer_contact .contact_comment,
	#footer_contact .contact_comment span {
		font-size: 1.4em !important;
	}
}

/* main */
.l-content {
	margin-bottom: 0;
	padding-top: 0;
}
#main_content .post_content {
	margin-top: 0;
}

/* TOP */


/* 固定ページ */
.page .l-header {
	box-shadow: none;
}
#body_wrap:not(.home).page #content {
	top: -80px;
}
.page h1.c-pageTitle {
  display: none;
}
.page .l-mainContent__inner>.post_content {
  margin: 2em 0;
}

@media screen and (max-width: 959px) {
	#body_wrap:not(.home).page #content {
		top: -40px;	
	}
}

/* Blog */
.blog .l-header {
	position: absolute !important;
	top: 0;
	box-shadow: none;
}
.blog h1.c-pageTitle {
  display: none;
}
.blog #content {
	margin-bottom: 100px;
}
.blog .p-postList {
	max-width: 800px;
	margin: auto;
}

/* CONTACT */
form {
	margin: auto;
	max-width: 650px;
}
form p {
	font-weight: bold;
}
form label {
	display: block;
	margin-bottom: 30px;
	line-height: 2;
}
form input.wpcf7-text {
	width: 100%;
	border-color: var(--gray);
	background: #fff;
	border-radius: 0;
	padding: .75em;
	margin-top: 8px;
}
form .wpcf7-checkbox {
}
form .wpcf7-form-control-wrap {
	margin-bottom: 20px;
	display: block;
}
form .wpcf7-list-item {
}
form .wpcf7-textarea {
	width: 100%;
	border-color: var(--gray);
	background: #fff;
	border-radius: 0;
	padding: .75em;
	margin-top: 8px;
}
form .wpcf7-list-item label {
	line-height: 1.2;
	font-weight: normal;
	margin-bottom: 0;
}
form label.textarea {
	margin-top: 30px;
}
form .form_required {
	padding: 1px 5px;
	margin-left: 5px;
	font-size: 90%;
	font-weight: bold;
	color: #fff;
	background: var(--red);
}
form .submit_btn {
	display: inline-block;
	position: relative;
}
form .submit_btn::after {
	content: url("");
	position: absolute;
	top: 16px;
	right: 20px;
}
form .wpcf7-submit {
	width: 300px;
	max-width: 100%;
	padding: 15px;
	display: block;
	margin: auto;
	color: #fff;
	font-weight: normal;
	background: var(--dark_green);
	border: none;
	transition: .5s;
}
form .wpcf7-submit:hover {
	filter: brightness(1.2);
}
@media screen and (max-width: 600px) {
	form .submit_btn {
		width: 100%;
	}
	form .wpcf7-submit {
		width: 100%;
	}
}
.wpcf7 form .wpcf7-response-output {
	border-radius: 5px;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--dark_green);
}

/* blog */
.single-post #content {
	margin-top: 100px;
}
#top_title_area img.l-topTitleArea__img {
	animation: blogimg 60s infinite alternate;
}
@keyframes blogimg {
	0% {
		filter: blur(0px);
		transform: scale(1);
	}
	50% {
		filter: blur(10px);
		transform: scale(1.05);
	}
	100% {
		filter: blur(0px);
		transform: scale(1);
	}
}
.c-filterLayer.-texture-dot:after {
	display: none;
}
.single-post main article {
	padding-bottom: 60px;
}
.single-post main article h1,
.single-post main article h2,
.single-post main article h3,
.single-post main article h4 {
	font-family: var(--font_serif);
	font-weight: normal;
}
.single-post main article h1 {
	font-size: 2rem;
	color: var(--dark_green);
	background: #F8F8F8;
}
.single-post main article h2 {
	font-size: 1.75rem;
	color: var(--dark_green);
	margin-left: 0;
	margin-right: 0;
	border-bottom: 1px solid;
    padding-bottom: .75em;
	display: inline-block;
}
.single-post main article h3 {
	font-size: 1.5rem;
	color: var(--dark_green);
	padding-left: 1em;
}
.single-post main article h3::before {
	content: "−";
	color: var(--dark_green);
}
.single-post main article h4 {
	font-size: 1.25rem;
	color: #333333;
}

.single-post h2.l-articleBottom__title {
	border-left: none;
	display: block;
}


