@charset "UTF-8";
/*
Theme Name: yokkaichi-onaka
Theme URI: 
Description: yokkaichi-onaka 専用
Author: fu-mi.
Author URI: -
version: 1.0
*/

/*------------------------------------------------
	fonts styles
-------------------------------------------------*/
body { font-family: 'source-han-sans-jp-variable', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', helvetica, arial, clean, sans-serif;}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
	.selector {
			property: value;
	}
	body {
		font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', helvetica, arial, clean, sans-serif;
	}
}
/*------------------------------------------------
	reset styles
--------------------------------------------------*/
li {
	list-style: none;
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
}
img {
	vertical-align: top;
}
table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
/*------------------------------------------------
	clear styles
--------------------------------------------------*/
.clear:after {
	content: "";
	display: block;
	clear: both;
}
/*------------------------------------------------
	base styles
--------------------------------------------------*/
:root {
	--txt-color: #595757;
	--txt-color2: #000;
	--color-main-g: #5d8749;
	--color-main-o: #efab36;
	--color-sub-g: #98bc47;
	--color-sub-g2: #dce3d0;
	--color-sub-gr: #f3f4f4;
	--color-sub-ye: #f2f2d9;
	--font-tsuku: 'fot-tsukuardgothic-std', sans-serif;
	--font-din: 'din-2014', sans-serif;
}
html {
	font-family: 'source-han-sans-jp-variable', sans-serif;
	font-variation-settings: "wght" 500;
	font-size: 62.5%;
	background-color: #fff;
}
html.wf-active {
}
html, body {
	height: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	color: var(--txt-color);
	font-weight: 400;
	font-size: 1.5rem;
	line-height: calc(26 / 15);
	letter-spacing: .08em;
	position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
	body {
		width: 1040px;
		margin: 0 auto;
	}
}
h1, h2, h3, h4, h5, p, dt, dd, li {
	font-feature-settings: "palt";
}
i svg {
	vertical-align: middle;
}
.section {
	width: 100%;
	min-width: 1040px;
	padding-top: 100px;
	padding-bottom: 110px;
	position: relative;
}
.section-same {
	padding-top: 30px;
}
.section-green {
	background-color: var(--color-sub-g2);
}
.section-gray {
	background-color: var(--color-sub-gr);
}
.footer, .top-section-news {
	background-color: var(--color-sub-gr);
}
.div-section {
	width: 100%;
	min-width: 1040px;
}
.content, .foot {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.header {
	width: 100%;
	min-width: 1040px;
	height: 608px;
	background-color: var(--color-sub-c);
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.section-top-eyecatch {
	width: 100%;
	min-width: 1040px;
	height: 720px;
	background-image: url(images/top-eyecatch-bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	overflow: hidden;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.section-top-eyecatch {
		background-image: url(images/top-eyecatch-bg-2x.png);
	}
}
.header {
	width: 100%;
	height: 150px;
}
.header > div {
	width: 1000px;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	transition: all .3s;
}
@media screen and (min-width:1280px) {
	.header > div {
		width: 1280px;
		padding-left: 40px;
	}
}
.header .logo {
 padding-top: 40px;
}
.head-tel {
	width: 240px;
	height: 60px;
	margin-left: auto;
	margin-right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	background-color: var(--color-main-g);
	color: #fff;
	margin-bottom: 20px;
}
.head-tel p {
	display: flex;
	align-items: center;
	justify-content: center;
}
.head-tel i {
	height: 18px;
	padding-top: 1px;
}
.head-tel i img {
	vertical-align: top;
}
.head-tel span {
	font-family: var(--font-tsuku);
	font-size: 2.0rem;
	line-height: calc(18 / 20);
	letter-spacing: .12em;
	margin-left: 5px;
}
.head-tel2 {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 28px;
}
.head-tel2 > p {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 15px;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.0rem;
	letter-spacing: .12em;
	color: #5d8749;
}
.head-tel2 > p i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 6px;
}
.head-tel2 > a {
	width: 60px;
	height: 50px;
	background-color: #98bc47;
	border-bottom-left-radius: 7px;
	border-bottom-right-radius: 7px;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.head-tel2 > a i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 5px;
}
.head-tel2 > a p {
	font-family: var(font-din);
	font-size: 1.1rem;
	line-height: 1;
	letter-spacing: .07em;
	padding-left: .07em;
	text-align: center;
	
}
.gnav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.gnav > ul {
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
}
.gnav > ul > li {
	height: 40px;
	position: relative;
}
.gnav > ul > li + li {
	margin-left: 40px;
	position: relative;
}
.gnav > ul > li > a {
	width: 100%;
	height: 40px;
	text-decoration: none;
	transition: all .3s;
	position: relative;
	color: var(--txt-color);
	padding-left: 5px;
	padding-right: 5px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.gnav > ul > li > a:hover {
	opacity: .7;
}
.gnav > ul > li > a > p {
	font-family: var(--font-tsuku);
	font-size: 1.6rem;
	line-height: calc(26 / 16);
	letter-spacing: .04em;
	padding-left: .04em;
	font-feature-settings: "palt";
}
.gnav > ul > li > a > p img {
	vertical-align: bottom;
}
.gnav > ul > li > a > span {
	font-family: var(--font-din);
	font-weight: 700;
	font-size: 1.0rem;
	line-height: calc(15 / 10);
	letter-spacing: .15em;
	padding-left: .15em;
	color: var(--color-main-g);
}
.gnav > ul > li:first-child > a {
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 0;
}
.gnav > ul > li:last-child > a {
	padding-right: 0;
}
.gnav > ul > li > a:hover {
}
.top-head01 .gnav {
	width: 100%;
	height: 45px;
}
.top-head01 .gnav > ul > li > a {
	color: #fff;
}
.top-head01 .gnav > ul > li + li::before {
	background-color: #fff;
}
.top-head01 .gnav > ul > li > a > p svg .ico-home {
	fill: #fff;
}
.top-head01 .gnav > ul > li > a:hover::after {
	background-color: #fff;
}
.fnav .gnav {
	margin-top: 70px;
	justify-content: center;
	height: 70px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.fnav .gnav > ul {
}
.fnav .gnav > ul > li {
	position: relative;
}
.fnav .gnav > ul > li + li::before {
	content: "";
	width: 1px;
	height: 30px;
	position: absolute;
	left: -18px;
	top: 5px;
	background-color: var(--color-main-g);
}
.fnav .gnav > ul > li > a {
}
.fnav .gnav > ul > li + li::before {
}

.eyecatch {
	width: 100%;
	min-width: 1040px;
	height: 200px;
	background-image: url(images/eyecatch-bg.jpg);
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
.eyecatch h1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.eyecatch h1 span {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 3.2rem;
	line-height: calc(36 / 32);
	letter-spacing: .05em;
	padding-left: .05em;
	color: var(--txt-color);
}
.eyecatch h1 span + span {
	font-family: var(--font-din);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: calc(28 / 15);
	letter-spacing: .15em;
	padding-left: .15em;
	color: var(--color-main-g);
}








.mds {
	text-align: center;
}
.mds span {
	font-family: var(--font-din);
	font-weight: 700;
	font-size: 5.0rem;
	line-height: calc(50 / 50);
	letter-spacing: .15em;
	padding-left: .15em;
	color: var(--color-main-g);
	display: block;
}
.mds span::first-letter {
	color: var(--color-main-o);
}
.mds h2, .mds h3 {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(26 / 18);
	letter-spacing: .5em;
	padding-left: .5em;
	color: var(--txt-color);
	margin-top: 12px;
}

.mds2 {
	text-align: center;
	color: #fff;
	padding-bottom: 32px;
	position: relative;
}
.mds2::after {
	content: "";
	width: 92px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: calc(50% - 46px);
	
}
.mds2 h2, .mds2 h3 {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.4rem;
	line-height: calc(36 / 24);
	letter-spacing: .05em;
	padding-left: .05em;
}












.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 50px;
	border-radius: 25px;
	background-color: var(--color-main-g);
	font-family: var(--font-tsuku);
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: .05em;
	padding-left: .05em;
	text-decoration: none;
	color: #fff;
	transition: all .3s;
	position: relative;
}
.btn:hover {
	opacity: .7;
}
.btn::after {
	content: "";
	width: 16px;
	height: 16px;
	background-image: url(images/ico-arrow-side-w.svg);
	background-size: cover;
	position: absolute;
	right: 16px;
	top: calc(50% - 8px);
}

.footer {
	width: 100%;
	min-width: 1040px;
	padding-top: 90px;
	padding-bottom: 0px;
	background-color: var(--color-sub-gr);
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.footer {
		
	}
}
.foot-map iframe {
	vertical-align: bottom;
}
.foot-map > a.btn {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	background-color: var(--txt-color);
}
.foot-btm {
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
}
.foot-btm > div:first-child {
	width: 430px;
}
.foot-btm > div + div {
	width: 480px;
}
.tel {
	display: flex;
	align-items: center;
	font-family: var(--font-tsuku);
	font-size: 2.8rem;
	line-height: calc(42 / 28);
	letter-spacing: .1em;
	margin-top: 20px;
	color: var(--color-main-g);
}
.tel i {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
}

.foot-addresss {
	font-family: var(--font-tsuku);
	font-size: 1.5rem;
	line-height: calc(26 / 15);
	letter-spacing: .05em;
	margin-top: 5px;
	color: #000;
}
.foot-addresss + .foot-addresss {
	margin-top: 5px;
}
.foot-addresss + .time {
	margin-top: 20px;
	color: #000;
}
.foot-btm > div + div > p:first-child {
	font-family: var(--font-tsuku);
	font-size: 2.0rem;
	line-height: calc(36 / 20);
	letter-spacing: .05em;
	color: var(--color-main-g);
	border-bottom: 1px solid var(--color-main-g);
	padding-bottom: 5px;
}
.foot-btm > div + div > figure {
	margin-top: 24px;
	position: relative;
	width: 100%;
	height: 250px;
}
.foot-btm > div + div > figure img {
	position: absolute;
	top: 0;
	right: 0;
}
.foot-btm > div + div > figure + p {
	margin-top: 10px;
	font-variation-settings: "wght" 700;
}
.time table {
	width: 100%;
	table-layout: auto;
}
.time table th, .time table td {
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	color: #000;
}
.time table thead th, .time table thead td {
	border-bottom: none;
	font-size: 1.2rem;
	line-height: calc(26 / 12);
	letter-spacing: .15em;
	padding-left: .15em;
	color: #fff;
	background-color: var(--color-main-g);
	padding-top: 5px;
	padding-bottom: 5px;
}
.time table thead th {
	width: 36%;
}
.time table thead td {
	width: calc((100% - 36%) / 7);
}
.time table tbody th {
	padding-top: 9px;
	padding-bottom: 9px;
	font-size: 1.4rem;
	line-height: calc(26 / 14);
	letter-spacing: .15em;
	font-feature-settings: "palt";
	padding-left: 10px;
}
.time table tbody th + th {
	text-align: right;
	padding-right: 20px;
}
.time table tbody th, .time table tbody td  {
	background-color: #fff;
}
.time table tbody tr + tr th, .time table tbody tr + tr td {
	border-top: 1px solid #adadae;
}
.time table tbody td {
	font-size: 1.4rem;
	font-weight: bold;
	font-variation-settings: "wght" 700;
	color: #000;
}
.time table tbody td span {
	color: var(--color-main-g);
}
.time > p {
	margin-top: 14px;
	color: #000;
}
.copyright {
	width: 100%;
	min-width: 1040px;
	height: 190px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 18px;
	font-size: 1.1rem;
	letter-spacing: .15em;
	padding-left: .15em;
	color: #fff;
	background-color: var(--color-main-g);
}
.flex-btm {
	width: 605px;
	height: 70px;
	border-top-left-radius: 10px;
	background-color: #7d7d7d;
	position: fixed;
	right: 0px;
	bottom: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow : -1.85px -1.85px 6.48px rgba(0, 0, 0, 0.2);
}
.flex-btm > div {
	width: 120px;
	height: 100%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex-btm > div > p {
	font-family: var(--font-tsuku);
	font-size: 1.4rem;
	line-height: calc(19 / 14);
	text-align: center;
}
.flex-btm ul {
	width: calc(100% - 120px);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 10px;
	background-color: #fff;
}
.flex-btm ul > li {
	width: 390px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex-btm ul > li:first-child {
	justify-content: space-between;
}
.flex-btm ul > li:first-child > a {
	width: 390px;
	height: 50px;
	background-color: #2382d7;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 15px;
	padding-right: 15px;
	text-decoration: none;
}
.flex-btm ul > li:first-child > a p {
	font-size: 1.1rem;
	line-height: calc(16 / 11);
	letter-spacing: .140em;
	color: #fff;
	padding-left: 1.140em;
	margin-left: 12px;
	position: relative;
}
.flex-btm ul > li:first-child > a p::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
.flex-btm ul > li:last-child {
	width: 70px;
}
.flex-btm ul a div {
	width: 136px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	text-decoration: none;
	font-family: var(--font-tsuku);
	font-size: 1.6rem;
	line-height: calc(23 / 16);
	letter-spacing: .04em;
	border-radius: 5px;
	color: #2382d7;
	transition: all .3s;
}
.flex-btm ul > li:last-child a {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: transparent;
}
.flex-btm ul a:hover {
	opacity: .7;
}
.flex-btm2 {
	width: 590px;
	height: 100px;
	position: fixed;
	bottom: 50px;
	left: calc(50% - 295px);
}
.flex-btm2 > a {
	transition: all .3s;
}
.flex-btm2 > a:hover {
	opacity: .7;
}
.flex-btm2 > a::before {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background : rgba(35, 24, 21, .3);
	mix-blend-mode: multiply;
	position: absolute;
	z-index: -1;
	top: 5px;
	left: 5px;	
}

.top-eyecatch {
	width: 100%;
	height: 520px;
	position: relative;
}
.top-eyecatch > p {
	position: absolute;
	top: 0;
	left: calc(50% - 211px);
	
}
.top-eyecatch > figure {
	position: absolute;
}
.top-eyecatch > figure:nth-of-type(1) {
	top: 0;
	left: calc(50% - 600px);
}
.top-eyecatch > figure:nth-of-type(2) {
	top: 0;
	left: calc(50% - 420px);
}
.top-eyecatch > figure:nth-of-type(3) {
	bottom: 0;
	left: calc(50% - 600px);
}
.top-eyecatch > figure:nth-of-type(4) {
	bottom: 50px;
	left: calc(50% - 251px);
}
.top-eyecatch > figure:nth-of-type(5) {
	top: 0;
	left: calc(50% - 60px);
}
.top-eyecatch > figure:nth-of-type(1) img {
	border-radius: 10px;
}
.top-eyecatch > figure:nth-of-type(2) img {
	border-radius: 10px;
}
.top-eyecatch > figure:nth-of-type(3) img {
	border-radius: 10px;
}
.top-eyecatch > figure:nth-of-type(5) img {
	border-radius: 10px;
}
.top-kaiin-section {
	width: 100%;
	height: 120px;
	background-image: url(images/top-kaiin-section-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	padding-top: 0;
	padding-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.top-kaiin-section p {
	font-family: var(--font-tsuku);
	font-size: 3.2rem;
	line-height: calc(36 / 32);
	letter-spacing: .05em;
	padding-left: .05em;
	color: #fff;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.top-kaiin-section {
		background-image: url(images/top-kaiin-section-bg-2x.png);
	}
}


.top-news-box {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	border-top: 1px solid #adadae;
}
.mds-news {
	display: flex;
	align-items: center;
	position: relative;
	padding-top: 10px;
	height: 80px;
}
.mds-news::before {
	content: "";
	width: 100px;
	height: 10px;
	background-color: var(--color-sub-g);
	position: absolute;
	top: 0;
	left: 0;
}
.mds-news h2 {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: .05em;
}
.mds-news span {
	display: block;
	font-family: var(--font-din);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: calc(24 / 12);
	letter-spacing: .15em;
	margin-left: 14px;
	color: var(--color-main-g);
}
.news_feed {
	
}
.topics_list + .topics_list {
	border-top: 1px solid #adadae;
}
.topics_head {
	padding: 16px 45px 16px 0;
	display: flex;
	position: relative;
}
.date {
	font-size: 1.5rem;
	line-height: calc(26 / 15);
	letter-spacing: 0.15em;
	color: #000;
	padding-right: 60px;
	font-variation-settings: "wght" 400;
}
.topics_list h3 {
	font-size: 1.5rem;
	line-height: calc(26 / 15);
	color: #000;
	letter-spacing: 0.15em;
	font-variation-settings: "wght" 400;
}
.topics_head figure {
	width: 26px;
	height: 26px;
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -10px;
	background-image: url(images/ico-arrow-under.svg);
	background-size: 26px auto;
}
.topics_head.active figure {
	background-image: url(images/ico-arrow-under.svg);
	transform: scale(1, -1);
}
.topics_head:hover {
	cursor: pointer;
}
.topics_head:hover .date, .topics_head:hover h3, .topics_head:hover figure {
	opacity: 0.8;
}
.topics_content {
	padding: 20px 45px 50px 0;
	display: none;
}
.topics_head.active + .topics_content {
	display:block;
}
.topics_content {
	margin-top: 0;
}
.topics_content p {
	margin-top: calc(40em / 15);
	color: #000;
	font-variation-settings: "wght" 400;
}
.topics_content p:first-child {margin-top: 0;}
.topics_content p strong {
	font-variation-settings: "wght" 700;
}
.topics_content p em { font-style: italic; }
.topics_content p a {
	text-decoration: underline;
	color: var(--color-main-g);
}
.topics_content p a:hover {
	text-decoration: none;
}
.topics_content p img {
	max-width: 100%;
	height: auto;
}
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }

#loading {
	width: 100%;
	height: 100px;
	background: url(images/loading.svg) no-repeat center center;
	background-size: 50px auto;
	display: none;
}
.ajaxLoad a {
	display: flex;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.ajaxLoad a:hover {
	opacity: 0.8;
}
.top-news-box a.btn {
	width: 170px;
	height: 30px;
	border-radius: 15px;
	font-size: 1.5rem;
}
.top-news-box a.btn::after {
	background-image: url(images/ico-more.svg);
	width: 12px;
	height: 12px;
	right: auto;
	left: 12px;
	top: calc(50% - 6px);
}
.top01-section .mds + p {
	margin-top: 56px;
	text-align: center;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1;
	letter-spacing: .05em;
	color: var(--color-main-g);
}
.top01-box {
	background-color: var(--color-sub-gr);
	margin-top: 30px;
	border-radius: 16px;
	padding-top: 35px;
	padding-bottom: 42px;
	padding-left: 75px;
	padding-right: 75px;
	background-image: url(images/top01-box-bg-2x.png);
	background-size: 218px auto;
	background-repeat: no-repeat;
	background-position: right bottom;
}
.top01-box li {
	height: 75px;
	display: flex;
	align-items: center;
}
.top01-box li + li {
	border-top: 1px solid #adadae;
}
.top01-box li span {
	width: 42px;
	height: 38px;
	background-image: url(images/top01-no-bg.svg);
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	color:#fff;
	font-family: var(--font-din);
	font-weight: 700;
	font-size: 2.8rem;
	margin-right: 15px;
}
.top01-box li p {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(26 / 18);
	letter-spacing: .05em;
	color: #000;
}
.top02-wrap {
	padding-top: 1px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top02-box {
	width: 420px;
	margin-top: 86px;
}
.top02-box > div {
	position: relative;
}
.top02-box > div > span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -45px;
	left: 26px;
	font-family: var(--font-din);
	font-weight: 200;
	font-style: italic;
	font-size: 8.4rem;
	line-height: calc(90 / 84);
	letter-spacing: .05em;
	color: var(--color-main-g);
}
.top02-box h3 {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.1rem;
	line-height: calc(26 / 21);
	letter-spacing: .05em;
	color: var(--color-main-g);
	margin-top: 14px;
}
.top02-box p {
	margin-top: 10px;
	color: #000;
	font-variation-settings: "wght" 400;
}
.top03-section {
	padding-top: 0;
	padding-bottom: 0;
}
.top03-section > .content {
	background-image: url(images/top03-box-bg.svg);
	background-repeat: no-repeat;
	background-size: 262px auto;
	background-position: left center;
	padding-top: 60px;
	padding-bottom: 70px;
	text-align: center;
}
.top03-section p {
	margin-top: 30px;
	display: inline-block;
	text-align: left;
	line-height: calc(30 / 15);
	color: #fff;
}
.top03-section a.btn {
	width: 320px;
	height: 52px;
	border-radius: 26px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	background-color: #fff;
	color: var(--txt-color);
	font-size: 1.8rem;
	letter-spacing: .05em;
	padding-left: .05em;
}
.top03-section a.btn::after {
	background-image: url(images/ico-arrow-side.svg);
}
.top04-wrap > p {
	text-align: center;
	margin-top: 50px;
	color: #000;
}
.top04-box {
	background-color: #fff;
	border-radius: 10px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 45px;
	padding-right: 50px;
}
p + .top04-box {
	margin-top: 60px;
}
.top04-box + .top04-box {
	margin-top: 40px;
}
.top04-box > div {
	display: flex;
	align-items: center;
}
.top04-box > div p {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(24 / 18);
	letter-spacing: .15em;
	padding-left: 35px;
}
.top04-box a.btn {
	width: 200px;
	font-size: 1.8rem;
	letter-spacing: .05em;
}
.top04-box a.btn::after {
	right: 14px;
}

.top05-box01 {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.top05-box01 > div {
	width: 610px;
}
.top05-box01 > div p {
	color: #000;
}
.top05-box01 > div p + p {
	margin-top: calc(26em / 15);
}
.top05-box01 > div p.sign {
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	margin-top: calc(28em / 18);
}

.top05-box02 {
	padding-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top05-box02 > div {
	margin-top: 45px;
	width: 460px;
}
.top05-box02 h3 {
	width: 100%;
	padding-left: 18px;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(20 / 18);
	letter-spacing: .15em;
	padding-top: 5px;
	padding-bottom: 5px;
	color: #fff;
	background-color: var(--color-main-g);
}
.top05-box02 p, .top05-box02 ul {
	margin-top: 10px;
	color: #000;
}
.top05-box02 ul li {
	position: relative;
	padding-left: 1.08em;
}
.top05-box02 ul li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}


.top05-box03 {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.top05-box03 > div {
	width: 460px;
	background-color: #fff;
	border-radius: 10px;
	padding-top: 40px;
	padding-bottom: 44px;
	padding-left: 40px;
	padding-right: 40px;
}
.top05-box03 h3 {
	border-bottom: 1px solid #adadae;
	padding-bottom: 15px;
	padding-left: 18px;
	position: relative;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(30 / 18);
	letter-spacing: .15em;
	color: #000;
}
.top05-box03 h3::before {
	content: "";
	width: 5px;
	height: 30px;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
}
.top05-box03 table {
	width: 252px;
	table-layout: auto;
	margin-left: 20px;
}
.top05-box03 table th {
	font-weight: 500;
	font-variation-settings: "wght" 500;
	color: #000;
	text-align: left;
}
.top05-box03 table th span {
	color: var(--color-main-o);
}
.top05-box03 table td {
	text-align: right;
	color: #000;
}
.top05-box03 table + table {
}
.top05-box03 table + table th {
	padding-left: 30px;
	font-feature-settings: "palt";
}

.contact01-box > p {
	line-height: calc(30 / 15);
	letter-spacing: .15em;
	padding-left: .15em;
	text-align: center;
	color: var(--txt-color2);
}
.contact01-box > div {
	margin-top: 60px;
	border: 1px solid var(--color-main-g);
	background-color: var(--color-sub-ye);
	border-radius: 15px;
	width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 29px;
	padding-bottom: 29px;
	padding-left: 49px;
	padding-right: 49px;
}
.contact01-box > div h2 {
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 2.6rem;
	line-height: calc(30 / 26);
	letter-spacing: .05em;
	padding-left: .05em;
	text-align: center;
	color: var(--color-main-g);
	padding-bottom: 22px;
	border-bottom: 1px solid var(--color-main-g);
}
.contact01-box > div ul {
	margin-top: 22px;
}
.contact01-box > div li {
	position: relative;
	font-size: 1.5rem;
	line-height: calc(30 / 15);
	padding-left: 1.7rem;
}
.contact01-box > div li::before {
	content: "";
	display: block;
	width: 1.0rem;
	height: 1.0rem;
	border-radius: 50%;
	background-color: var(--color-main-g);
	position: absolute;
	top: calc((30 - 7) / 2 * .1rem);
	left: 0;
}
.contact02-box {
	margin-top: 60px;
}
.contact02-box > p:first-child {
	text-align: center;
	color: var(--txt-color2);
}
.contact02-box table {
	width: 100%;
	table-layout: auto;
	margin-top: 20px;
}
.contact02-box table th, .contact02-box table td {
	background-color: #fff;
	border: 1px solid #9fa0a0;
	padding-top: 20px;
	padding-bottom: 20px;
}
.contact02-box table th {
	background-color: #f1f4ea;
	width: 30%;
	text-align: left;
	vertical-align: text-top;
	padding-left: 14px;
	padding-right: 15px;
	position: relative;
	padding-top: 24px;
	padding-bottom: 24px;
	font-weight: 700;
	font-variation-settings: "wght" 700;
	color: #221f20;
}
.contact02-box table th p {
	font-size: 1.6rem;
	line-height: calc(40 / 16);
}
.contact02-box table th span {
	width: 60px;
	height: 26px;
	background-color: #e60012;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 32px;
	right: 12px;
	font-size: 1.5rem;
	line-height: calc(26 / 15);
}
.contact02-box table td {
	padding-left: 26px;
	padding-right: 26px;
	color: #221f20;
}
.contact02-box table td > div {
	border: 1px solid #9fa0a0;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 26px;
	padding-right: 26px;
	line-height: calc(26 / 16);
}
.contact02-box table td > div h3, .contact02-box table td > div h4 {
	font-weight: 700;
	font-variation-settings: "wght" 700;
	font-size: 1.5rem;
}
.contact02-box table td > div h4 {
	margin-top: calc(26em / 15);
}
.contact02-box table td > div + p {
	margin-top: 20px;
	color: #e60012;
}
.contact02-box input[type='checkbox'] {
	margin-right: 5px;
}
.wpcf7-list-item {
	margin-left: 0!important;
}
.contact02-box input[type='text'], .contact02-box input[type='tel'], .contact02-box input[type='email'], .contact02-box textarea {
	border: 1px solid #c9caca;
	border-radius: 2px;
	line-height: calc(28 / 15);
	width: 100%;
	height: 40px;
	padding-left: 10px;
	padding-right: 10px;
}
.contact02-box input::placeholder {
	color: #c6c6c9;
}
.contact02-box textarea {
	height: 200px;
	padding-top: 5px;
	padding-bottom: 5px;
}
.contact02-box table + p input[type='submit'] {
	width: 200px;
	height: 50px;
	background-color: var(--color-main-g);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border-radius: 25px;
	margin-top: 46px;
	margin-left: auto;
	margin-right: auto;
	transition: all .3s;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 1.8rem;
	line-height: calc(30 / 18);
	letter-spacing: .05em;
	padding-left: .05em;
	cursor: pointer;
}
input[type='submit']:hover {
	opacity: .7;
}
.wpcf7 + p {
	text-align: center;
	margin-top: 40px;
	color: var(--txt-color2);
}

.preparation {
	width: 100%;
	height: 520px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.preparation p {
	text-align: center;
	font-family: var(--font-tsuku);
	font-weight: 700;
	font-size: 3.2rem;
	line-height: calc(36 / 32);
	letter-spacing: .05em;
	padding-left: .05em;
}
.preparation p + p {
	margin-top: 60px;
	font-size: 2.5rem;
	line-height: calc(36 / 25);
}

.fade-box {
	opacity: 0;
	transition: 2s ease;
	transform: translate(0, 1rem);
}
.fade-box.fade-up {
	opacity: 1;
	transform: translate(0, 0);
}


.anker, .anker-z {
	position: relative;
}
.anker > span {
	width: 100%;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
}
.anker-z > span {
	width: 100%;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
}