@charset "UTF-8";

/*
Theme Name: Birdy & Buddy
Theme URI: https://village-bb.com
Description: 
Version: 1.0
*/

:root {
	--color-main: #00A497;
	--color-accent: #F39800;
	--color-sub1: #68C5E7;
	--color-sub2: #FFD900;
	--color-text: #3E4E56;
	--color-copyright: #006C63;
	--color-column: #F0F9FD;
	--color-contact: #CCEDEA;
}

/*!
 * ress.css • v5.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

/*!
 * icomoon
 * CC BY 4.0
 * icomoon.io/#icons-icomoon
 */
@font-face {
	font-family: 'icomoon';
	src:
		url('common/fonts/icomoon.ttf?73t101') format('truetype'),
		url('common/fonts/icomoon.woff?73t101') format('woff'),
		url('common/fonts/icomoon.svg?73t101#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-youtube:before {content: "\e906"}
.icon-instagram:before {content: "\e907"}
.icon-feedly:before {content: "\e905"}
.icon-pinterest:before {content: "\e904"}
.icon-twitter:before {content: "\e903"}
.icon-hatena:before {content: "\e902"}
.icon-line:before {content: "\e901"}
.icon-facebook:before {content: "\e900"}
.icon-clip:before {content: "\e9cd"}
.icon-mail:before {content: "\ea86"}
.icon-rss:before {content: "\ea9b"}
.icon-rss2:before {content: "\ea9c"}



body {
	scroll-behavior: smooth;
	min-width: 1100px;
	background: #fff;
	color: var(--color-text);
	font-family: sans-serif;
	font-family: 'BIZ UDPGothic', 'Noto Sans JP', 'Noto Sans CJK', sans-serif;
	font-size: 18px;
	line-height: 1.1;
	font-feature-settings: 'palt';
	letter-spacing: 1px;
	background-image: url("data:image/svg+xml,%3Csvg height='2120.77542' viewBox='0 0 2204.99278 2120.77542' width='2204.99278' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='m520.979822-478.056149c471.255496 216.617781 282.753298 866.471122 659.757698 1083.088903 377.00439 216.617781-282.753301 649.853346-659.757698 541.544456s-848.259893-433.235566-659.757694-866.471127c188.502198-433.235561 188.502198-974.780012 659.757694-758.162232z'/%3E%3Cfilter id='b' height='100.8%25' width='100.9%25' x='-.5%25' y='-.3%25'%3E%3CfeOffset dx='0' dy='2' in='SourceAlpha' result='shadowOffsetOuter1'/%3E%3CfeGaussianBlur in='shadowOffsetOuter1' result='shadowBlurOuter1' stdDeviation='2'/%3E%3CfeColorMatrix in='shadowBlurOuter1' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/%3E%3C/filter%3E%3C/defs%3E%3Cg fill='none' opacity='.05' transform='matrix(.48480962 .87461971 .87461971 -.48480962 553.025494 729.480433)'%3E%3Cuse fill='%23000' filter='url(%23b)' xlink:href='%23a'/%3E%3Cuse fill='%2300a497' xlink:href='%23a'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 3000px 3000px;
	background-position: calc(50% - -100px) -1370px;
	background-repeat: no-repeat;
}
body > .wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow-x: hidden;
}
strong, a {
	font-weight: 700;
}
img { max-width: 100%; height: auto; }
select, input, textarea { color: var(--color-text); background: #fff; }
a { color: var(--color-main); font-weight: bold; text-decoration: none;transition: all .2s ease; }
figure { line-height: 0; }
figcaption { line-height: 1.1; }
.disabled { opacity: 0.3; -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); filter: grayscale(100%); }
.center { text-align: center; }
.block-center { text-align: center; }
.block-center > * { display: inline-block; text-align: left; }
.clearfix:after { content: ""; display: block; clear: both; }
.view-pc { display: block; }
.view-sp { display: none; }

h1, h2 {
	line-height: 1;
}
h3, h4, h5 {
	line-height: 1.5;
}
.font-title,
.list-system li,
.list-faq summary::before,
h1, h2 {
	font-family: "heisei-maru-gothic-std", sans-serif;
	font-weight: 800;
	font-style: normal;
}
.font-catch {
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
}
header,
.font-catch-b,
.button-cta,
.button a,
.button button,
.button input[type="button"],
.button input[type="submit"],
a.button,
button.button,
.section-system td.price,
h3, h4, h5,
body.page:not(.home) main h2,
body.page:not(.home) main h3,
body.page:not(.home) main h4,
body.page:not(.home) main h5,
body.single main h2,
body.single main h3,
body.single main h4,
body.single main h5 {
	font-family: "dnp-shuei-mgothic-std", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0;
}

body > .wrapper {
	transition: opacity 2s ease;
}
.loading,
html.wf-active .loading {
	display: none;
}

/* ローディング表示 */
body > .wrapper {
	opacity: 0;
}
html.wf-loading body {
	max-height: 90vh;
	overflow: hidden;
}
html.wf-loading body > .wrapper {
	opacity: 0;
}
html.wf-active body {
	max-height: unset;
	overflow: unset;
}
html.wf-active body > .wrapper {
	opacity: 1;
}
html.wf-loading .loading {
	position: fixed;
	top: 50%;
	left: 50%;
	display: block;
	width: 140px;
	height: 170px;
	margin-left: -70px;
	margin-top: -85px;
	padding: 20px;
	background: #fff;
	border-radius: 10px;
	font-size: 12px;
	text-align: center;
}
html.wf-loading .loading img {
	margin-bottom: 10px;
}

::-webkit-input-placeholder { color: #999 }
::-moz-placeholder { color: #999 }
:-ms-input-placeholder { color: #999 }
::-ms-input-placeholder { color: #999 }
::placeholder { color: #999 }

::-moz-selection { background: var(--color-sub2); text-shadow: none; }
::selection { background: var(--color-sub2); text-shadow: none; }
input::-moz-selection, textarea::-moz-selection{ background: var(--color-main); color:#fff }
input::selection,textarea::selection{ background: var(--color-main); color:#fff }

.clear::before { content: ''; display: block; clear: both; }
.pc-br { display: block; }
main .wpcf7-spinner {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 24px;
}

@media (hover: hover) and (pointer: fine) {
	a:hover { opacity: 0.7; transform: scale(1.03); }
	/* a:hover img { opacity: 0.7; } */
}



/* header
-------------------------------------------------------------------------------*/
header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1080px;
	padding: 30px 0 120px;
	letter-spacing: 0;
}
header li {
	list-style: none;
}
#nav-toggle {
	display: none;
}
header > nav {
	display: flex;
	gap: 30px;
	align-items: center;
}
.nav-list {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}
.nav-main,
.nav-focus {
	display: flex;
	gap: 20px;
}
.nav-focus a,
.nav-focus-li a {
	color: var(--color-accent);
}
.nav-button {
	display: flex;
	align-items: center;
	justify-content: center;
}
.button a,
.button button,
.button input[type="button"],
.button input[type="submit"],
a.button,
button.button,
.nav-button a,
.button-cta {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 30px;
	background: var(--color-accent);
	color: #fff;
	font-size: 20px;
	line-height: 1;
}
.button a,
.button button,
.button input[type="button"],
.button input[type="submit"],
a.button,
button.button,
.button-cta {
	padding: 15px 50px;
	font-size: 24px;
}
.button a,
.button button,
.button input[type="button"],
.button input[type="submit"],
a.button,
button.button {
	background: var(--color-main);
	color: #fff;
}
.bg-header {
	position: absolute;
	bottom: -70px;
	left: -180px;
	z-index: -1;
}



/* main
-------------------------------------------------------------------------------*/
main {
	width: 100%;
	padding-bottom: 50px;
	line-height: 1.8;
}
body.home main {
	padding-bottom: 0;
}
main > section + section {
	margin-top: 150px;
}
main h2 {
	margin-bottom: 40px;
}
main h3 {
	margin: 40px 0;
	font-size: 36px;
	text-align: center;
}
main h3 span {
	display: inline-block;
}

.section-title {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 181px;
	line-height: 1.2;
	text-align: center;
}
.section-title:before {
	content: '';
	position: absolute;
	top: -30px;
	left: calc( 50% - 150px );
	width: 300px;
	height: 226px;
	background-image: url("data:image/svg+xml,%3Csvg height='181' viewBox='0 0 241 181' width='241' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m112.692227-36.0637823c70.927946 28.37117829 42.556768 113.4847133 99.299124 141.8558913 56.742357 28.371179-42.556767 85.113535-99.299124 70.927946-56.7423564-14.185589-127.6703022-56.742356-99.2991239-113.4847132 28.3711784-56.74235664 28.3711784-127.6703025 99.2991239-99.2991241z' fill='%23ffd900' transform='matrix(.5591929 -.82903757 .82903757 .5591929 -4.569307 127.842784)'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% auto;
	z-index: 1;
}
.section-title-name,
.section-title-detail {
	display: block;
	width: 100%;
	z-index: 2;
}
.section-title-name {
	margin-bottom: 10px;
	color: #fff;
	font-size: 30px;
}
.section-title-detail {
	color: var(--color-main);
	font-size: 50px;
}
.section-bracket {
	display: inline-block;
	width: 1px;
	height: 1px;
	opacity: 0.01;
	overflow: hidden;
}

.section-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 1080px;
	margin: 0 auto;
	font-size: 20px;
}
.section-hero .catch {
	line-height: 1;
}
.section-hero p {
	font-size: 19px;
}
.section-hero figure {
	position: absolute;
	top: 0;
	right: 0;
}
.section-hero .button-cta {
	color: var(--color-accent);
	background: #fff;
	border: 3px solid var(--color-accent);
}
.bg-hero {
	position: absolute;
	bottom: -670px;
	left: 50%;
	margin-left: -1120px;
	z-index: -1;
}
.section-hero .button-wrap {
	margin-top: 0;
	text-align: left;
}

section.section {
	position: relative;
	width: 900px;
	margin-left: auto;
	margin-right: auto;
	line-height: 2;
}
section.section p {
	margin-top: 0.75em;
}

main section.section-concept h2 {
	margin-bottom: 100px;
}
.section-concept h3.title-icon {
	position: relative;
}
main h3.title-icon {
	margin: 50px 0;
}
.section-concept h3::before {
	content: '';
	position: absolute;
	top: calc( 50% - 75px );
	left: calc( 50% - 75px );
	display: block;
	width: 150px;
	height: 150px;
	background-image: url("data:image/svg+xml,%3Csvg height='200' viewBox='0 0 200 200' width='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m70 40c30-30 80-20 100 20s10 70-10 90-40 40-80 30-70-40-60-90 20-20 50-50z' fill='%23F39800' opacity='.8'/%3E%3C/svg%3E");
	background-size: contain;
	opacity: 0.2;
	z-index: -1;
}

.section-column {
	margin-top: 30px;
	padding: 25px 30px;
	background: var(--color-column);
	border-radius: 20px;
}
.section-column h3 {
	margin: 0 0 20px;
	color: var(--color-sub1);
	font-size: 30px;
}
.section-column figure {
	margin-top: 20px;
	text-align: center;
}
.section-column figure img {
	border-radius: 20px;
}

.section-balance {
	margin-top: 40px;
	padding: 80px 0 100px;
	background-image: url("data:image/svg+xml,%3Csvg height='815.639598' viewBox='0 0 900 815.639598' width='900' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m422.554822 2964.7075c247.768961-148.66138 495.537922 49.55379 569.86861 297.32275s-123.88448 495.53792-371.653441 545.09172c-247.768961 49.55379-470.761026-198.21517-421.207234-445.98413s-24.776896-247.76896 222.992065-396.43034z' fill='%23ffd900' opacity='.1' transform='matrix(0 1 -1 0 3813.5 -192.6067)'/%3E%3C/svg%3E");
	background-size: 100% 100%;
}
.section-balance ul {
	list-style: none;
}
main .section-balance h3 {
	margin-top: 0;
}
.section-balance figure {
	text-align: center;
}

.section-program {
	
}
.bg-program {
	position: absolute;
	top: -640px;
	left: calc(-50% - 200px);
	z-index: -1;
}
.list-column-frame {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 30px;
	list-style: none;
}
.list-column-frame li {
	width: calc( (100% - 60px) / 3 );
	padding: 30px;
	background: #fff;
	box-shadow: 0 0 0 5px var(--color-main) inset;
	border-radius: 30px;
}
main .list-column-frame h3 {
	margin: 15px 0;
	color: var(--color-main);
	font-size: 21px;
	line-height: 1.2;
}
main .list-column-frame p {
	font-size: 15px;
	line-height: 1.6;
}
.list-column-frame figure {
	margin: -20px -20px 0;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

main .section-schedule h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80px;
	margin: 20px 0 15px;
	color: var(--color-main);
	font-size: 26px;
	white-space: nowrap;
}
main .section-schedule > h3 {
	width: 100%;
	height: auto;
	margin: 40px 0 0;
}
.section-schedule-tables {
	display: flex;
	gap: 10px 30px;
	line-height: 1.8;
}
.section-schedule-tables > div {
	width: 100%;
}
.section-schedule th {
	padding-right: 15px;
	color: var(--color-main);
	text-align: left;
	letter-spacing: 0;
	vertical-align: top;
	white-space: nowrap;
}
.section-schedule-table {
	margin-top: 40px;
}
.section-schedule-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
	table-layout: fixed;
}
.section-schedule-table th,
.section-schedule-table td {
	padding: 7px 0;
	border-radius: 10px;
	line-height: 1.5;
	text-align: center;
}
.section-schedule-table th {
	background: #A6E7E2;
}
.section-schedule-table td {
	background: #D7F2F1;
	letter-spacing: 0;
}
.section-schedule-table th.day,
.section-schedule-table td.day {
	width: 15%;
}
section.section .section-program-message p:first-child {
	margin-top: 0;
}
.section-program-message h4 {
	color: var(--color-main);
}

.section-message {
	
}
.bg-message {
	position: absolute;
	top: -600px;
	left: calc( 50% - 2000px );
	width: 4000px;
	height: auto;
	z-index: -1;
}

.section-message figure {
	border-radius: 20px;
	line-height: 0;
	overflow: hidden;
}
section.section-message p {
	margin: 0 0 0.75em;
}
.float-start {
	float: left;
	margin: 0.5em 50px 50px 0;
}
.float-end {
	float: right;
	margin: 0.5em 0 50px 50px;
}

.bg-system {
	position: absolute;
	top: -60px;
	left: calc( 50% - 450px );
	height: 700px;
	z-index: -1;
}
.list-system {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	list-style: none;
	text-align: center;
}
.list-system li {
	width: 330px;
	padding: 10px;
	background: #D7F2F1;
	border-radius: 20px;
	line-height: 1.2;
}
.list-system li.monthly{
	width: 380px;
	background: #A6E7E2;
}
.list-system dt {
	font-size: 20px;
}
.list-system dd {
	font-size: 34px;
}
.list-system dd small {
	display: block;
	font-size: 20px;
}
.list-system dd .yen {
	margin-left: 3px;
	font-size: 24px;
}

table.table-system {
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
	table-layout: fixed;
}
table.table-system th,
table.table-system td {
	padding: 7px;
	border-radius: 10px;
	line-height: 1.5;
	text-align: center;
}
table.table-system th {
	background: #A6E7E2;
}
table.table-system td {
	background: #D7F2F1;
	letter-spacing: 0;
}
table.table-system td.price {
	font-size: 1.7em;
}
table.table-system td.price span {
	margin-left: 3px;
	font-size: 0.7em;
}
table.table-system td.note {
	font-size: 0.9em;
}
table.table-system tr td:last-child {
	text-align: left;
}

.list-faq {
	list-style: none;
}
.list-faq li + li {
	margin: 1em 0;
}
.list-faq details {
	padding-left: 46px;
}
.list-faq summary {
	display: flex;
	cursor: pointer;
	gap: 10px;
	margin-left: -46px;
	color: var(--color-main);
	font-weight: bold;
}
.list-faq summary::before {
	content: '＋';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	min-width: 34px;
	height: 36px;
	padding-left: 2px;
	background: var(--color-sub2);
	color: var(--color-main);
	border-radius: 100%;
	font-size: 24px;
}
.list-faq details[open] summary::before {
	content: '－';
}
div.button,
.button-wrap {
	margin-top: 40px;
	text-align: center;
}

section.section-contact {
	width: 100%;
	padding: 200px 0 100px;
	background: var(--color-contact);
	overflow: hidden;
}
main > section + section.section-contact {
	margin-top: 0;
}
.bt-contact {
	position: absolute;
	top: -370px;
	left: -25%;
	width: 150%;
	height: 500px;
	z-index: 0;
}
.section-contact .inner {
	position: relative;
	width: 900px;
	margin: 0 auto;
	z-index: 2;
}
.section-contact .section-title::before {
	background-image: url("data:image/svg+xml,%3Csvg height='181' viewBox='0 0 241 181' width='241' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m112.692227-36.0637823c70.927946 28.37117829 42.556768 113.4847133 99.299124 141.8558913 56.742357 28.371179-42.556767 85.113535-99.299124 70.927946-56.7423564-14.185589-127.6703022-56.742356-99.2991239-113.4847132 28.3711784-56.74235664 28.3711784-127.6703025 99.2991239-99.2991241z' fill='%23ffffff' transform='matrix(.5591929 -.82903757 .82903757 .5591929 -4.569307 127.842784)'/%3E%3C/svg%3E");
}
.section-contact .section-title-name {
	color: var(--color-sub2);
}

form dl {
	margin: 20px 0;
}
form dt {
	font-weight: bold;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea {
	width: 100%;
	padding: 10px 13px;
	border-radius: 10px;
	font-size: 18px;
	line-height: 1.5;
}
textarea {
	min-height: 150px;
}



/* page
-------------------------------------------------------------------------------*/
body.page:not(.home) main {
	padding: 0 0 100px;
	font-size: 16px;
}
body.page:not(.home) main h1 {
	margin-bottom: 80px;
}
body.page:not(.home) main h2,
body.page:not(.home) main h3,
body.page:not(.home) main h4,
body.page:not(.home) main h5 {
	margin: 1em 0;
	text-align: left;
	line-height: 1.2;
}
body.page:not(.home) main h2 {
	font-size: 24px;
}
body.page:not(.home) main h3 {
	font-size: 20px;
}
body.page:not(.home) main h4 {
	font-size: 18px;
}
ol.list,
body.page:not(.home) main ul,
body.page:not(.home) main ol {
	margin: 1em 0 1em 1.7em;
}



/* single
-------------------------------------------------------------------------------*/
article::after {
	content: '';
	display: block;
	clear: both;
}
body.single h1.section-title {
	margin-bottom: 50px;
}
body.single main article h2,
body.single main article h3,
body.single main article h4,
body.single main article h5,
body.single main article p {
	margin: 1em 0;
	text-align: left;
}
body.single main article h2 {
	font-size: 2em;
}
body.single main article h3 {
	font-size: 1.8em;
}
body.single main article h4 {
	font-size: 1.6em;
}
body.single main article h5 {
	font-size: 1.4em;
}

article ul,
article ol {
	margin-left: 1.7em;
}

article .alignleft {
	float: left;
}
article .alignright {
	float: right;
}
article .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
article blockquote.alignleft,
article img.alignleft {
	margin: 7px 24px 7px 0;
}
.wp-caption.alignleft {
	margin: 7px 14px 7px 0;
}
article blockquote.alignright,
article img.alignright {
	margin: 7px 0 7px 24px;
}
article .wp-caption.alignright {
	margin: 7px 0 7px 14px;
}
article blockquote.aligncenter,
article img.aligncenter,
.wp-caption.aligncenter {
	margin-top: 7px;
	margin-bottom: 7px;
}
article blockquote.alignleft,
article blockquote.alignright {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	padding-top: 17px;
	width: 50%;
}
article blockquote.alignleft p,
article blockquote.alignright p {
	margin-bottom: 17px;
}
article .wp-caption {
	margin-bottom: 24px;
}
article .wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}
article .wp-caption {
	color: #767676;
}
article .wp-caption-text {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
	font-size: 12px;
	font-style: italic;
	line-height: 1.5;
	margin: 9px 0;
	padding-right: 10px;
}
article .wp-smiley {
	border: 0;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
article .wp-block-image .alignright {
	max-width: 50%;
}
figure.wp-block-table {
	line-height: unset;
}



/* archive
-------------------------------------------------------------------------------*/
.list-archive {
	margin-top: 100px;
}
main .list-archive h3 {
	margin-bottom: 0;
	text-align: left;
}
.list-archive img {
	aspect-ratio: 260/200;
	object-fit: cover;
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 40px 0;
	text-align: center;
	line-height: 0.9;
}
.pagination > * {
	display: block;
	padding: 10px 11px;
	border-radius: 5px;
}
.pagination > a {
	background: var(--color-main);
	color: #fff;
}
.pagination > span {
	background: var(--color-sub2);
	color: var(--color-main);
	font-weight: bold;
}

.comingsoon,
section.section .comingsoon {
	margin: 100px 0;
	text-align: center;
}





/* footer
-------------------------------------------------------------------------------*/
footer {
	width: 100%;
	background: var(--color-main);
	color: #fff;
}
footer a {
	color: #fff;
	text-decoration: underline;
}
.footer-about {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 40px;
	width: 100%;
	padding: 40px 0;
}
.footer-about-detail {
	margin-top: -10px;
	line-height: 1.5;
}
.footer-about-detail table {
	border-collapse: separate;
	border-spacing: 20px;
}
.footer-about-detail th {
	font-weight: bold;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}
.footer-copyright {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	padding: 20px;
	background: #006C63;
	font-size: 15px;
	text-align: center;
}
.footer-corporate {
	padding: 40px 0;
	background: #006C63;
}
.footer-corporate .footer-about-detail {
	display: flex;
	justify-self: center;
}
div.footer-button-wide {
	margin: -10px 0 40px;
}
footer a.button {
	width: 280px;
	background: #fff;
	color: var(--color-main);
	text-decoration: none;
}

footer .footer-instagram {
	max-width: 930px;
	margin: 0 auto;
	padding: 0 15px 30px;
}
footer #sb_instagram .sb_instagram_header {
	text-align: center;
}
footer #sb_instagram .sb_instagram_header .sbi_header_text {
	display: inline-flex;
}



/* Print styles
-------------------------------------------------------------------------------*/
@media print {
	
}


/* Media queries
-------------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {
	body {
		font-size: 16px;
	}
	body,
	body > .wrapper > *,
	.section-hero,
	section.section {
		min-width: unset;
		width: 100%;
	}
	.view-pc { display: none; }
	.view-sp { display: block; }
	.center.sp-left {
		text-align: left;
	}
	
	.button a,
	.button button,
	a.button,
	button.button,
	.button-cta {
		width: 100%;
		padding: 15px 0;
		text-align: center;
		font-size: 20px;
	}
	.button-wrap {
		width: 100%;
	}
	.pc-br { display: none; }
	
	header {
		display: block;
		padding: 15px;
	}
	header h1 img {
		width: 260px;
	}
	#nav-toggle {
		display: inline;
		position: absolute;
		top: -50px;
	}
	header > nav,
	.nav-main,
	.nav-focus {
		flex-direction: column;
		width: 100%;
		text-align: center;
	}
	.nav-open {
		position: absolute;
		top: 25px;
		right: 25px;
		width: 40px;
		height: 40px;
		background: var(--color-main);
		border-radius: 10px;
		cursor: pointer;
	}
	.nav-open::before,
	.nav-open::after,
	.nav-open span {
		content: '';
		position: absolute;
		top: 8px;
		left: 8px;
		display: block;
		width: 24px;
		height: 5px;
		border-radius: 10px;
		background: var(--color-sub2);
	}
	.nav-open span {
		top: 17px;
	}
	.nav-open::after {
		top: 26px;
	}
	header > nav {
		display: none;
		margin-top: 20px;
	}
	#nav-toggle:checked ~ header > nav {
		display: flex;
	}
	.nav-list {
		gap: 20px;
	}
	
	main > section + section {
		margin-top: 50px;
	}
	
	.section-hero {
		align-items: center;
		padding: 50px 30px 0;
	}
	.section-hero figure {
		position: static;
	}
	.section-hero p {
		font-size: 16px;
	}
	
	section.section {
		padding: 30px 15px;
	}
	.section-title-name {
		margin-bottom: 0;
		font-size: 24px;
	}
	.section-title-detail {
		font-size: 36px;
		line-height: 1.3;
	}
	.section-title-detail span {
		display: inline-block;
	}
	main h3 {
		font-size: 24px;
	}
	.section-balance {
		margin-left: -15px;
		margin-right: -15px;
		padding: 50px 15px;
		background-position: center center;
		background-size: auto 100%;
	}
	main .section-balance h3 {
		margin: 0 0 20px 0;
	}
	.section-balance ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		line-height: 1;
	}
	.section-balance li {
		width: calc( 50% - 10px );
	}
	.section-balance li:nth-child(3) {
		width: 100%;
		margin: -30px 0;
		text-align: center;
	}
	.section-balance li:nth-child(3) img {
		width: calc( 50% - 10px );
	}
	
	.list-column-frame {
		flex-direction: column;
		width: 280px;
		margin-left: auto;
		margin-right: auto;
	}
	.list-column-frame li {
		width: 100%;
	}
	.section-schedule-tables {
		display: block;
	}
	main .section-schedule h3 {
		height: unset;
	}
	
	.section-message figure.float-start,
	.section-message figure.float-end {
		float: none;
		width: 75%;
		margin: 20px auto;
	}
	
	.list-system li {
		width: 75%;
	}
	.list-system li.monthly {
		width: 90%;
	}
	
	section.section-contact {
		padding-top: 100px;
	}
	.section-contact .inner {
		width: 100%;
	}
	
	.bg-header {
		left: -280px;
		bottom: -200px;
		width: 1000px;
		height: auto;
	}
	.bg-program {
		left: calc(-50% - 1000px);
	}
	.bg-message {
		top: -310px;
	}
	.bt-contact {
		top: -450px;
		left: -50%;
		width: 200%;
	}
	
	table.table-system,
	table.table-system thead,
	table.table-system tbody,
	table.table-system tr,
	table.table-system th,
	table.table-system td {
		display: block;
	}
	table.table-system tr {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
	}
	table.table-system th,
	table.table-system td {
		width: calc( (100% - 10px) / 2 );
	}
	table.table-system tbody tr {
		margin-top: 10px;
		padding: 10px;
		background: #D7F2F1;
		border-radius: 10px;
	}
	table.table-system tbody th,
	table.table-system tbody td {
		padding: 0;
		background: none;
	}
	table.table-system tbody td:first-child {
		font-weight: bold;
	}
	table.table-system tr th.note {
		display: none;
	}
	table.table-system tr td.note {
		width: 100%;
	}
	
	body.page:not(.home) .section-title-detail {
		font-size: 30px;
	}
	
	article .wp-block-image .alignleft,
	article .wp-block-image .alignright {
		max-width: 100%;
		margin: 1em auto;
	}
	
	.footer-about {
		display: block;
		padding: 30px;
	}
	.footer-about-detail th {
		white-space: nowrap;
	}
	.footer-about-logo {
		margin-bottom: 20px;
	}
	.footer-about-detail {
		margin-left: -20px;
		margin-right: -20px;
	}
	
}
