/*===========================================================
	Common	Version: 3.60
	共通CSS
===========================================================*/
html {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow:auto;
}
body {
	position: relative;
	font-family: 'M PLUS 1';
	font-weight: 400;
	font-size: 16px;
	color: #684736;
	min-width: 428px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	word-break: break-word;
}
/*------------------------------------------------------------
	Style Reset
-------------------------------------------------------------*/
* {
	box-sizing: border-box;
		-moz-box-sizing: border-box;
	min-height:0;
	min-width : 0;
 }
 ul {
	list-style: none;
}

hr {
	border: none;
	box-shadow: none;
	height: 1px;
	background: #684736;
}
iframe {
	margin: 1em 0;
}

.contents table,
table {
	border: #684736 solid 1px;
	width: 100%;
	border-width: 1px;
	border-collapse: collapse;
}
	.contents table th,
	.contents table td,
	table tr th,
	table tr td {
		border: #684736 solid 1px;
		padding: 0.5em;
	}
@media screen and (min-width: 436px) {
	.contents table,
	table {
		width: 100%;
	}
}
/*------------------------------------------------------------
	Flex Box
-------------------------------------------------------------*/
.flex-frame {
	display: block;
}
.flex-start {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
}
.flex-scllor,
/* 4列用 */
.flex-start-strech {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: nowrap;
}
	.flex-start-strech::after {
		content: '';
		width: 330px;
		height: 0;
	}
.flex-center {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}
.flex-start-wrap {
	display: block;
}
.flex-start2-wrap {
	display: block;
}

.flex-strech-wrap {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}

.feature-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
@media screen and (min-width: 436px) {
	.flex-frame {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.flex-start-wrap {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.flex-start2-wrap {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
	}
}
/*------------------------------------------------------------
	Heading
-------------------------------------------------------------*/
h1 {
	font-size: 150%;
	font-weight: 700;
	line-height: 1.1;
}
h2 {
	font-size: 150%;
	font-weight: 700;
	line-height: 1.1;
}
/*------------------------------------------------------------
	image
-------------------------------------------------------------*/
img {
	border-style:none;
	max-width: 100%;              /* 1 width/height属性によってコントロールされるアスペクト比を維持しつつ、画像のサイズを流動的に変更できるようにします。*/
	height: auto;                 /* 1 */
	vertical-align: middle;       /* 2 画像の下にできる余白を取り除きます。*/
	font-style: italic;           /* 3 altテキストを斜体にして、周囲のテキストから視覚的に相殺します。*/
	background-repeat: no-repeat; /* 4 オプション: LQIP(Low-Quality Image Placeholders)用に背景を設定。*/
	background-size: cover;       /* 4 */
	shape-margin: 0.75rem;        /* 5 オプション: 回り込みシェイプ用にshape-outsideのmarginを設定。*/
  }
a:hover img {
	-moz-opacity:0.5;
	opacity:0.5;
	filter:alpha(opacity=50);
}
/*------------------------------------------------------------
	Gallery
-------------------------------------------------------------*/
[id^="gallery-"],
[id*="gallery-"] {
	width:100% !important;
	clear:both;
}

/*ギャラリーのグレーの枠線を消す*/
	[id^="gallery-"] img,
	[id*="gallery-"] img {
		border:none !important;

		width:99% !important;
		margin-right:1% !important;
	}
		[id^="gallery-"] img:last-child,
		[id*="gallery-"] img:last-child {
			margin-right:0 !important;
		}
.gallery {
 	width: 100%;
	margin-bottom: 1em !important;
	overflow: hidden;

	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
    .gallery::after {
        display: block;
        content: "";
        width: 32%;
        height: 0;
    }
	.gallery br {
		display: none; /* clearfixの余白解除 */
	}
	.gallery-item {
        margin: 0 0 1em 0;
	}
        .gallery-icon img {
            width: 100%;
        }

.gallery-columns-1 .gallery-item {
    width: 100%;
    height: auto;
}
.gallery-columns-2 .gallery-item {
    /* width: calc(50% -0.5em); */
	width: 50%;
    height: auto;
}
.gallery-columns-3 .gallery-item {
    /* width: calc(33% - 0.5em); */
	width: 33%;
    height: auto;
}
.gallery-columns-4 .gallery-item,
.gallery-columns-5 .gallery-item {
    /* width: calc(50% - 0.5em); */
	width: 50%;
    height: auto;
}
@media screen and (min-width: 436px) {
	.gallery-columns-4 .gallery-item {
		/* width: calc(25% - 0.5em); */
		width: 25%;
		height: auto;
	}
	.gallery-columns-5 .gallery-item {
		/* width: calc(33% - 0.5em); */
		width: 33%;
		height: auto;
	}
}
/*------------------------------------------------------------
	Captions
-------------------------------------------------------------*/
.wp-caption {
	display: block;
	max-width: 100%;
	margin-bottom:24px;
	background:#fff;
	margin: 10px 0;
	padding:0;
	background: none;
}
.wp-caption-text {
	text-align:left;
	font-size:80%;
	color: #666;
	font-style:normal;
	line-height:2;
	margin:9px auto;
	clear: both;
}
	.wp-caption-text::before {
		content: '\f0d8';
		padding: 0 6px 0 5px;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
	}
.wp-caption img[class*="wp-image-"] {
	display:block;
	margin:0 auto;
	max-width: 100%;
	height: auto;
}
/*------------------------------------------------------------
	Float
	Wordpress独自タグ画像回り込み指定
-------------------------------------------------------------*/
.centered,
.aligncenter,
img.centered,
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignright,
img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
}

.aignleft,
img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
}

.alignright {
	float: none;
}
.alignleft {
	float: none;
}
@media screen and (min-width: 436px) {
	.alignright {
		float: right;
	}
	.alignleft {
		float: left;
	}
}
/*------------------------------------------------------------
	Clearfix//float使った時に下の要素に影響しない様にする
-------------------------------------------------------------*/
.clearfix:before,
.clearfix:after{
	content:"";
	display: table;
}
.clearfix:after{
	clear:both;
}
.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

/*------------------------------------------------------------
	Link
-------------------------------------------------------------*/
a,
a:visited,
a:link,
a:active {
	color: #684736;/*茶色*/
	text-decoration: none;
}
a:hover {
	color: #f98e81;/*コーラル*/
	text-decoration: none;
}
strong { font-weight: 700; }
.small {
	font-size: 80%;
	line-height: 0.8;
}
p {
	line-height: 1.5;
	margin-bottom: 5px;
}
/*------------------------------------------------------------
	Link btn
-------------------------------------------------------------*/
a.list-btn {
	display: inline;
	min-width: 30%;
	margin: 0;
	line-height: 1.5;
	text-align: right;
}
@media screen and (min-width: 436px) {
	a.list-btn {
		line-height: 2.5;
	}
}
a.link-btn {
	display: inline-block;
	max-width: 100%;
	text-align: center;
	line-height: 1.5;
	margin: 10px auto;
	padding: 5px 30px;
	background: #fff;
	border-top: 1px solid #5bc0d7;
	border-left: 10px solid #5bc0d7;
	border-right: 10px solid #5bc0d7;
	border-bottom: 1px solid #5bc0d7;
}
a.button,
a.button:link,
a.button:active,
a.button:visited {
	display: block;
	width: 100%;
	text-align: center;
	margin: 1em 0;
	padding: 1em;
	box-sizing: border-box;
	color: #fff;
	border: #684736 1px solid;
	background-color: #684736;

}
	a.button:hover {
		color: #686868;
		border: #684736 1px solid;
		background-color: #fff;
	}
	a.plan-btn {
		grid-row: 5 / 5;
		display: block;
		width: 95%;
		padding: 5px;
		margin: 0 2.5%;
		box-sizing: border-box;
		text-align: center;
		background: #5bc0d7;
		color: #fff !important;
		font-weight: bold;
		border: 2px solid #5bc0d7;
	}
		a.plan-btn:hover {
			background: #fff;
			color: #5bc0d7 !important;
			font-weight: bold;
			border: 2px solid #5bc0d7;
		}
		a.foot-btn {
			display: block;
			width: 100%;
			margin: 10px 0 0 0;
			padding: 10px;
			text-align: center;
			color: #fff;
			background: #5bc0d7;
			border: 2px solid #5bc0d7;
		}
			a.foot-btn:hover {
				color: #5bc0d7;
				background: #fff;
				border: 2px solid #5bc0d7;
			}
/*--------------------------------------------------------------
	GTranslate　切り替えスイッチ表示調整
-------------------------------------------------------------*/
.gt_switcher_wrapper {
	/* top: 100px !important; */
	right: 0 !important;
	padding: 0.5em !important;
	/* background-color: #fff !important; */
}
.gt_switcher {
	width: 130px !important;
}
a.nturl {
	padding: 1em 0 !important;
}
a.glink img {
	display: block !important;
	margin: 0 auto !important;
}
/* .gt_switcher-popup img {
	width: 50px !important;
	height: 50px !important;
} */
.gtranslate_wrapper .gt_white_content .gt_languages .glink img {
	display: inline !important;
	width: 40px !important;
	height: 40px !important;
	margin-right: 10px !important;
}
	.gt_white_content {
		top: 35% !important;
		width: 200px !important;
		height: 430px !important;
	}
	.gt_white_content .gt_languages {
		flex-flow: column nowrap !important;
		max-height: 400px !important;
	}
	.gt_white_content a {
		flex-basis: 75px !important;
	}

@media screen and (min-width: 436px) {
	.gt_switcher_wrapper {
		/* top: 5px !important;
		right: 20px !important; */
		width: 180px !important;
		height: 50px !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}
	.gt_switcher {
		width: 200px !important;
	}
	.gt_white_content {
		top: 38% !important;
		left: 47% !important;
		width: 230px !important;
		height: 550px !important;
	}
	.gt_white_content a {
		flex-basis: 200px !important;
	}
		.gt_white_content .gt_languages {
			max-height: 530px !important;
		}
			a.glink {
				width: 200px !important;
			}
			a.glink img {
				display: inline !important;
				width: 40px !important;
				height: auto !important;
			}
				.gtranslate_wrapper .gt_white_content .gt_languages .glink img {
					display: inline !important;
					width: 50px !important;
					height: 50px !important;
					margin-right: 10px !important;
				}
}
/*--------------------------------------------------------------
	reCAPTCHA　表示位置調整
-------------------------------------------------------------*/
.grecaptcha-badge {
	z-index: 90 !important;
	margin-bottom: 130px !important;
}
	.grecaptcha-badge iframe {
		margin: 0 0 !important;
	}
@media screen and (min-width: 436px) {
	.grecaptcha-badge {
		margin-bottom: 70px !important;
	}
}
/*------------------------------------------------------------
	PageTOP btn
-------------------------------------------------------------*/
#page_top {
	z-index: 99;
    position: fixed;
    bottom: 80px;
    right: 20px;
}
	#page_top a {
		color: #684736;
		text-align: center;
		text-decoration: none;
		padding: 20px 20px;
	}
	#page_top a:hover {
		color: #f98e81;
		text-decoration: none;
	}
#page_top i {
	background-color: #fff;
	border-radius: 50%;
}
/*===========================================================
	Base
===========================================================*/
.wrap {
	position: relative;
	margin: auto;
	display: block;
	width: 100%;/*overflow-x:scrollするのに指定必要*/
	height: 100%;
	padding: 0 0;
}
.contents {
	position: relative;
	min-height: 100%;
	padding: 0 0 50px 0;
	box-sizing: border-box;
}
.br-sp { display: block; }
.br-pc { display: none; }
@media screen and (min-width: 436px) and (max-width: 959px) {
	.wrap {
		width: 90%;
		margin: 0 auto;
	}
	.br-sp { display: none; }
	.br-pc { display: block; }
}
@media screen and (min-width: 960px) {
	.wrap {
		width: 1024px;
	}
	.br-sp { display: none; }
	.br-pc { display: block; }
}
/*------------------------------------------------------------
	Header
-------------------------------------------------------------*/
header {
	z-index: 99;
	position: relative;
	min-width: 100%;
	width: 100%;
	height: 100px;
	background: url(../images/border-wave.png) repeat-x bottom left;
}
	.header-logo-area {
		padding-top: 15px;
	}
	.header-btn-area {
		position: fixed;
		z-index: 99;
		bottom: 0;
		left: 0;
		width: 100%;
		box-sizing: border-box;
		padding-top: 5px;
		padding-bottom: 5px;
		background: rgba(255,255,255,0.6);
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}
		.header-btn-area img {
			width: 200px;
			height: auto;
			margin: 10px;
		}
@media screen and (min-width: 436px) {
	header {
		position: fixed;
		z-index: 99;
		min-width: 100%;
		height: 70px;
		padding: 0;
		margin: 0;
		background: url(../images/border-wave.png) repeat-x bottom left;
	}
		.header-logo-area {
			display: block;
			width: 380px;
			padding-top: 0;
		}
		.header-btn-area {
			position: static;
			display: block;
			width: 580px;
			height: 55px;
			display: flex;
			justify-content: flex-end;
			align-items: stretch;
			gap: 10px;
			background: rgba(255,255,255,0.0);
		}
			.header-btn-area img {
				width: 200px;
				height: auto;
				margin: 0;
			}
}
/*------------------------------------------------------------
	電話、問い合わせフォーム、メールマガジン
-------------------------------------------------------------*/
a.tel-btn .btn-flex,
a.contact-btn .btn-flex {
	margin: 0;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}
@media screen and (min-width: 436px) {
	a.mail-magazine .btn-flex {
		margin: 0;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
	}
}
a.tel-btn {
	display: block;
	background-color: #fff;
	border: #5bc0d7 2px solid;
	color: #5bc0d7;
	font-size: 90%;
	padding: 3px 5px;
}
	a.tel-btn i {
		padding: 0 8px 0 0;
		line-height: 1.3;
	}
	a.tel-btn div {
		padding: 1px 0 0 0;
	}
	a.tel-btn div span {
		display: block;
		margin: 0;
		padding: 0;
	}
		a.tel-btn div span:nth-child(1) {
			font-size: 80%;
			line-height: 1.0;
			color: #0d9dbd;
		}
		a.tel-btn div span:nth-child(2) {
			font-size: 145%;
			font-weight: 700;
			line-height: 1.0;
		}
@media screen and (min-width: 436px) {
		.header-btn-area a[href*="tel:"] {
			pointer-events: none;
			cursor: default;
			text-decoration: none;
		}
}
a.contact-btn,
a.mail-magazine {
	background-color:#5bc0d7;
	border: #5bc0d7 2px solid;
	color: #fff;
	font-size: 80%;
	line-height: 1.3;
	padding: 3px 5px;
}
	a.mail-magazine:hover,
	a.contact-btn:hover {
		background-color: #fff;
		border: #5bc0d7 2px solid;
		color: #5bc0d7;
	}
	a.contact-btn i,
	a.mail-magazine i {
		padding: 0 8px 0 0;
		line-height: 1.0;
		font-size: 285%;
	}
a.mail-magazine {
	z-index: 100;
	position: absolute;
	right: 0;
	/* bottom: 490px; */
	top: -480px;
	display: block;
	width: 80px;
	height: 60px;
	padding: 8px 0 0 0;
	text-align: center;
	border-left: #fff 1px solid;
	border-top: #fff 1px solid;
	border-bottom: #fff 1px solid;
}
	a.mail-magazine span {
		display: none;
		line-height: 1.5;
	}
@media screen and (min-width: 436px) {
	a.mail-magazine {
		position: static;
		width: 160px;
		height: auto;
		margin: 0;
		padding: 0 5px;
		text-align: left;
	}
		a.mail-magazine i {
			font-size: 270%;
			padding-top: 3px;
		}
		a.mail-magazine span {
			display: block;
			line-height: 1.3;
			padding-top: 5px;
		}
}

/*------------------------------------------------------------
	ディスプレイサイズで画像の出し入れ
-------------------------------------------------------------*/
img.ec-bn-pc {
	display:none;
}
img.ec-bn-sp {
	display: block;
}
.mail-magazine-sp {
	display: block;
}
@media screen and (min-width: 436px) {
	img.ec-bn-pc {
		display: block;
	}
	img.ec-bn-sp {
		display: none;
	}
}
/*------------------------------------------------------------
	Heading
-------------------------------------------------------------*/
	.page_title {
		width: 100%;
		padding: 10px 0;
		margin: 0;
		font-weight: 500;
		text-align: center;
		border-top: 4px solid #5bc0d7;
	}

/*------------------------------------------------------------
	Footer
-------------------------------------------------------------*/
footer {
	position: relative;
	bottom: 0;
	width: 100%;
	padding: 20px 5% 120px 5%;
	background: #e6f6f9;/*薄い水色*/
}
	footer .sns-area {
		width: 100%;
		height: 100%;
		margin: 0 0 10px;
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
	}
		footer .sns-area i {
			margin: 0 20px 0 0;
		}
		#copy {
			position: absolute;
			bottom: 0;
			width: 100%;
			height:120px;
			line-height: 30px;
			margin: 0;
			padding: 10px 0;
			text-align: center;
			background: #fff;
		}

@media screen and (min-width: 436px) {
	footer {
		width: 100%;
		padding: 20px 0 0 0;
		margin: 0 0 50px 0;
	}
		footer .nav-archive,
		footer .nav-page {
			width: 100%;
			height: 100%;
			margin-bottom: 10px;

			display: flex;
			justify-content: flex-start;
		}
		footer .nav-archive a,
		footer .nav-page a {
				display: inline-block;
				width: 100%;
				padding: 10px 0;
				margin-right: 20px;
			}
			#copy {
				position: absolute;
				bottom: 0;
				width: 100%;
				height:50px;
				line-height: 30px;
				margin: 0;
				padding: 10px 0;
				text-align: center;
				background: #fff;
			}
}
/*------------------------------------------------------------
	Footer Menu
-------------------------------------------------------------*/
.footer-menu-area {
	width: 90%;
	margin: 0 15px;
}
	.footer-menu-area ul {
		margin: 0;
		padding: 0;
	}
	.footer-menu-area h4 {
		display: inline-block;
		width: 100%;
	}
@media screen and (min-width: 436px) {
	.footer-menu-area {
		width: 100%;
		margin: 0 0;
	}
}
	.menu-foot-container {
		width: 100%;
		max-height: 100%;
		margin: 10px auto 5px auto;
		padding: 0;
	}
	.menu-tag-container,
	.menu-tax-container {
		display: block;
		width: 100%;
		max-height: 100%;
		margin: 0 0 5px 0;
		padding: 0;
	}
		.menu-foot-container ul {
			margin: 0 0 15px 0;
			padding: 20px 0 0 0;

			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
		}
			.menu-tag-container ul li,
			.menu-tax-container ul li,
			.menu-rec-container ul li {
				display: inline-block;
				height: 100%;
				margin: 0 15px 10px 0;
				padding: 5px 0;
			}
			.menu-foot-container ul li {
				display: inline;
				height: 100%;
				text-align: left;
				margin: 0 10px 10px 0;
				padding: 5px 0;
			}

@media screen and (min-width: 436px) {
	.menu-tag-container,
	.menu-tax-container {
		display: block;
		width: 100%;
		max-height: 100%;
		margin: 0 0 5px 0;
		padding: 0;
	}
	.menu-rec-container {
		display: block;
		width: 100%;
		max-height: 100%;
		margin: 10px 0 5px 0;
		padding: 0;
	}
	.menu-foot-container {
		width: 100%;
		max-height: 100%;
		margin: 10px auto 5px auto;
		padding: 20px 0 0 0;
		background: url(../images/wave-line.png) repeat-x top left;
	}
		.menu-tag-container ul,
		.menu-tax-container ul,
		.menu-rec-container ul {
			margin: 0 0 15px 0;
			padding: 0;
		}
		.menu-foot-container ul {
			margin: 0 0 15px 0;
			padding: 0;

			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: flex-start;
		}
			.menu-tag-container ul li,
			.menu-tax-container ul li,
			.menu-rec-container ul li {
				display: inline-block;
				height: 100%;
				margin: 0 15px 10px 0;
				padding: 5px 0;
			}
			.menu-rec-container ul li {
				font-weight: 500;
			}
			.menu-foot-container ul li {
				display: inline-block;
				height: 100%;
				text-align: center;
				margin: 0 30px 10px 0;
				padding: 5px 0;
			}
}

.plan-cat-area {
	grid-row: 3 / 4;
	width: 100%;
	margin: 0 0 10px 0;
}
	.plan-cat-area span {
		display: inline-block;
		margin: 0 5px 5px 0;
		padding: 0 5px;
		box-sizing: border-box;
		border: 1px solid #5bc0d7;
		background: #fff;
		color: #0d9dbd;
	}
.plan-price-area {
	margin: 0 0 10px 0;
	line-height: 1.0;
	align-self: flex-start;
}
	.price {
		font-size: 140%;
	}
	.intax {
		font-size: 80%;
	}
.flex-plan {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
}
@media screen and (min-width: 436px) {
	.plan-cat-area {
		width: 95%;
		height: auto;
		margin: 0 auto;
	}
	.plan-price-area {
		width: 95%;
		margin: 0 auto;
	}
}
.mark-grid {
	position: absolute;
	top: 0;
	left: 0;
}
	.area-mark {
		z-index: 80;
		display: inline-block;
		line-height: 28px;
		padding: 0 0.5em;
		margin: 0 5px 5px 0;
		background-color: #5bc0d7;
		color: #fff;
	}
	@media screen and (min-width: 436px) {
		.area-mark {
			height: 100%;
			padding: 0 0.8em;
		}
}
.plan-txt-area {
	text-align:justify;
	line-height: 1.3;
}