@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Overpass:200,300,400,600,700');
@import url('https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese');

/* common =================================================================================================================*/

* {
	box-sizing: border-box;
}

body {
	font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-break:normal;
	letter-spacing: 0.5px;
	line-height: 1.7;
	color: #666;
	background: #fff;
	width:100%;
	overflow-x:hidden;
	position: relative;
}
	@media screen and (min-width: 771px) {
		body {
			font-size:1.4rem;
		}
	}
	@media screen and (max-width: 770px) {
		body {
			font-size:1.3rem;
			padding-top:0px;
			min-width:320px;
		}
	}

.en {
	font-family: 'Overpass', "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break:break-all;
	letter-spacing:0.1em;
}

.enB {
	font-family: 'Source Code Pro', "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break:break-all;
	letter-spacing:0.1em;
	font-weight:700;
}

.enC {
	font-family: 'Source Code Pro', "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break:break-all;
	letter-spacing:0.1em;
	font-weight:400;
}
@media screen and (min-width: 771px) {
	.sp {
		display: none !important;
	}
}
@media screen and (max-width: 770px) {
	.pc {
		display: none !important;
	}
}

a {
	text-decoration: none;
	color: #515151;
}

img {
	vertical-align:top;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

.imgWrap .wp-post-image ,
.reImg {
	width: 100%;
	height: auto;
}

.reImg02 {
	max-width:100%;
	height:auto;
}

	@media screen and (min-width: 771px) {
		a:hover img {
			opacity:0.7;
		}
	}
	@media screen and (max-width: 770px) {
		a:active img {
			opacity:0.7;
		}
	}

/*cntWidth1000*/
.cntWidth1000 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}

main {
	position: relative;
	width: 100%;
}
	@media screen and (min-width: 771px) {
		main {
			margin: 0 auto 100px;
		}
	}
	@media screen and (max-width: 770px) {
		main {
			margin: 0 auto 50px;
		}
	}
	
	.aboutCnt,.flowCnt {
		margin: 0 auto 0px;
	}

.nonDisplay {
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 30px 20px;
	text-align: center;
}
.modaal-inline.modaal-fullscreen .modaal-container {
	background:rgba(101, 209, 231,0.7) ;
}
/* Pace Loading =================================================================================================================*/
/* JSで制御 ローディングが終わり次第解除されます */
#wrap {
	display: none;
}


#loaderWrapper {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(101, 209, 231,1) ;
	z-index: 10000;
}
#loaderContainer {
	display: none;
	position: fixed;
	top: 0%;
	width: 100%;
	text-align: center;
	color: #fff;
	z-index: 20000;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

/* テキスト部分 -----------------------------------------------------------------------------------*/
.pace .pace-progress {
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
}


/* 共通タイトル 設定 =================================================================================================================*/
.ttlA, .ttlA-L, .menuTitle {
	width: 100%;
	display: inline-block;
}
	.ttlA, .menuTitle {
		text-align: center;
	}
	
	@media screen and (min-width: 771px) {
		.ttlA, .ttlA-L, .menuTitle {
			margin: 0 0 60px;
		}
	}
	@media screen and (max-width: 770px) {
		.ttlA, .ttlA-L, .menuTitle {
			margin: 0 0 30px;
		}
	}

.ttlA .en, .ttlA-L .en, .menuTitle,
.ttlA span:only-of-type.jp, .ttlA-L span:only-of-type.jp  {
	background: -webkit-linear-gradient(45deg, #51bed5, #7aea9a);
	background: linear-gradient(45deg, #51bed5, #7aea9a);
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255,255,255,0.0);
	color: #51bed5;
	font-weight: 200;
}
	@media all and (-ms-high-contrast:none){
		.ttlA .en, .ttlA-L .en, .menuTitle {
			background: none!important;
		}
	}
	
	@media screen and (min-width: 771px) {
		.menuTitle {
			font-size: 4rem;
			line-height: 5rem;
		}
		.ttlA .en, .ttlA-L .en {
			font-size: 6rem;
			line-height: 7rem;
		}
		.ttlA span:only-of-type.jp, .ttlA-L span:only-of-type.jp {
			font-size: 5rem;
			line-height: 6rem;
			font-weight: 400;
		}
		.ttlA span:not(:only-of-type).jp, .ttlA-L span:not(:only-of-type).jp {
			font-size: 1.8rem;
		}
	}
	@media screen and (max-width: 770px) {
		.menuTitle {
			font-size: 2.8rem;
			line-height: 3.8rem;
		}
		.ttlA .en, .ttlA-L .en {
			font-size: 4rem;
			line-height: 1;
		}
		.ttlA span:only-of-type.jp, .ttlA-L span:only-of-type.jp {
			font-size: 3.6rem;
			line-height: 1;
		}
		.ttlA span:not(:only-of-type).jp, .ttlA-L span:not(:only-of-type).jp {
			font-size: 1.6rem;
		}
	}

.ttlA span.jp, .ttlA-L span.jp {
	display: inline-block;
	width: 100%;
}

.ttlF {
	font-size:3rem;
	text-align:center;
	line-height:1.4;
	margin-bottom:1em;
}

.ttlF span {
	display:block;
	font-size:1.4rem;
}

.singleTtl {
	text-align:left;
	font-size:2.6rem;
	font-weight:bold;
}
	@media screen and (min-width: 771px) {
		.singleTtl {
			font-size:2.6rem;
		}
	}
	@media screen and (max-width: 770px) {
		.singleTtl {
			font-size:2.2rem;
		}
	}

.lineGradient::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	opacity: 0.2;
}


/* btn =================================================================================================================*/
.moreBtn {
	display: inline-block;
	width: 100%;
}
	@media screen and (max-width: 770px) {
		.moreBtn {
			text-align: center;
		}
	}
	.moreBtn.centerBtn {
		text-align: center;
	}
	
	@media screen  and (min-width: 771px) and (max-width: 960px) {
		#indexMenuSection .indexMenuContainer .moreBtn {/* トップページ 当店の特徴 */
			text-align: right;
			padding: 0 10% 0 0;
		}
	}

.moreBtn ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.moreBtn ul li {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
	.moreBtn ul li.icon a {
		font-size: 2.5rem;
		line-height: 1;
	}
	.moreBtn ul li.icon a img {
		width: 100%;
		height: auto;
	}

.moreBtn ul li a {
	width: auto;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	overflow: hidden;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
	.moreBtn ul li:not(.icon) a {
		padding: 10px 0 14px;
	}
	
	.moreBtn ul li:not(.icon) a::before,.moreBtn ul li:not(.icon) a::after {
		width: 100%;
		height: 4px;
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
	
	.moreBtn ul li:not(.icon) a::before {
		transition: -webkit-transform 0s;
		transition: transform 0s;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		z-index: 1;
		background: #51bed5;
		background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
		background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	}
	.moreBtn ul li:not(.icon) a:hover::before {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
		transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	}
	
	.moreBtn ul li:not(.icon) a::after {
		background: #51bed5;
		background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
		background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
		transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
		z-index: 0;
	}
	.moreBtn ul li:not(.icon) a:hover::after {
		transition: -webkit-transform 0s;
		transition: transform 0s;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		background: #fff;
	}

.btnA  a {
	color:#51bed5;
	border:1px solid #51bed5;
	border-radius:30px;
	display:block;
	width:250px;
	height:60px;
	line-height:60px;
	text-align:center;
	margin: 0 auto;
	font-size: 1.6rem;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
	@media screen and (min-width: 771px) {
		.btnA a:hover {
			background:#51bed5;
			color:#fff;
		}
	}
	@media screen and (max-width: 770px) {
		.btnA a:active {
			background:#51bed5;
			color:#fff;
		}
	}

.entryBtn a {
	color: #fff;
	background: #51bed5;
	display:block;
	width:250px;
	height:60px;
	line-height:60px;
	text-align:center;
	margin: 0 auto;
	border-radius: 10px;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	font-size: 1.6rem;
	font-weight: bold;
}
	@media screen and (min-width: 771px) {
		.entryBtn a:hover {
			opacity: 0.7;
		}
	}
	@media screen and (max-width: 770px) {
		.entryBtn a:active {
			opacity: 0.7;
		}
	}

/* Hoverアクション =================================================================================================================*/
a.hoverALine {
	position: relative;
	padding: 0 0 10px;
}
	
	a.hoverALine.current::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 2px;
	}
	
	@media screen and (min-width: 771px) {
		a.hoverALine:not(.current)::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 2px;
			background: #51bed5;
			-webkit-transform-origin: right top;
			transform-origin: right top;
			-webkit-transform: scaleX(0);
			transform: scaleX(0);
			-webkit-transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
			transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
		}
		a.hoverALine:not(.current):hover::after {
			-webkit-transform-origin: left top;
			transform-origin: left top;
			-webkit-transform: scale(1);
			transform: scale(1);
		}
		
		a.hoverALine.current::after {
			background: #51bed5;
		}
	}
	@media screen and (max-width: 770px) {
		a.hoverALine:not(.current):active::after {
			-webkit-transform-origin: left top;
			transform-origin: left top;
			-webkit-transform: scale(1);
			transform: scale(1);
		}
	}


/* siteHeader =================================================================================================================*/
.siteHeader {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 30;
	background:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
}
	@media screen and (min-width: 771px) {
		.siteHeader {
			height: 80px;
			-webkit-align-items: center;
			align-items: center;
		}
	}
	@media screen and (max-width: 770px) {
		.siteHeader {
			height: 50px;
			-webkit-align-items: stretch;
			align-items: stretch;
		}
	}

.siteHeaderInner {
	width: 100%;
	position: relative;
	background:#fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	padding: 0px 0 0px 3%;
	margin: auto;
}
	@media screen and (max-width: 770px) {
		.siteHeader .siteHeaderInner {
			margin: 0 auto;
		}
	}

.logo {
	margin: 0 auto 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
}

.logo a {
	display:block;
	line-height:1;
	margin: auto 0;
}
.mainNav {
	width: calc(100% - 160px);
	margin: 0;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
}

.mainNav ul.humNavi {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}
	
.mainNav ul.humNavi li {
	vertical-align:middle;
}

.snsList {
	width: auto;
	margin: 0 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
	padding: 0 0px 0 0px;
}
	@media screen and (max-width: 770px) {
		.snsList {
			width: 100%;
		}
	}

.snsList li {
	max-width: 20px;
	width: 100%;
}
	.snsList li:not(:last-of-type) {
		margin-right: 30px;
	}

.snsList li .fab {
	font-size: 2rem;
}
	@media screen and (min-width: 771px) {
		.snsList li .fab {
			color: #999999;
		}
		
		.snsList li a:hover .fab {
			opacity: 0.7;
		}
	}
	@media screen and (max-width: 770px) {
		.snsList li .fab {
			color: #fff;
		}
		
		.snsList li a:active .fab {
			opacity: 0.7;
		}
	}

@media screen and (max-width: 770px) {
	/* TEL・ハンバーガーナビ部分 -----------------------------------------------------------------------------------*/
	.phone {
		position: absolute;
		right: 50px;
		top: 0;
	}
	
	.hum {
		position:absolute;
		right:0;
		top:0;
	}

	.phone a, .hum a {
		width:50px;
		height:50px;
		text-align:center;
		display:block;
	}
		.hum a {
			background: #51bed5;
		}
		.phone a {
			background: #7aea9a;
		}

	.phone a img, .hum a img {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
	}

	/*hamburger*/
	.closeBT {
		position: absolute;
		right: 10px;
		top: 10px;
		z-index:99;
	}

	.humNavi {
		padding:10% 0;
	}

	.humNavi .fas {
		margin-right:5px;
	}

	.humNavi li a {
		display:block;
		padding:10px 0;
		color:#fff;
		font-weight:bold;
		margin: 0 0 5px;
	}

	#humTel ,
	#hum {
		display:none;
	}
}

/* Main Visual =================================================================================================================*/
.mainVisual {
	width: 100%;
	position: relative;
	overflow: hidden;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
}
	@media screen and (min-width: 771px) {
		.mainVisual {
			margin: 80px auto 30px;
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
			padding: 0 0 0px;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisual {
			margin: 50px auto 30px;
			-webkit-flex-flow: column wrap;
			flex-flow: column wrap;
		}
	}

/* テキスト部分 -----------------------------------------------------------------------------------*/
.mainVisual .mainVisualTextWrap {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	z-index: 11;
	width: 100%;
	margin: 0 auto;
}

.mainVisualTextContainer {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	z-index: 11;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	height: 100%;
}

	@media screen and (min-width: 771px) {
		.mainVisual .mainVisualTextContainer {
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisual.index .mainVisualTextContainer {
			width: 100%;
			-webkit-flex-flow: column wrap;
			flex-flow: column wrap;
		}
		.mainVisual.page .mainVisualTextContainer {
			width: 100%;
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
		}
	}

.mainVisual .mainVisualTextArea {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	color: #555;
	z-index: 1;
	height: 100%;
}
	@media screen and (min-width: 771px) {
		.mainVisual .mainVisualTextArea {
			width: 44%;
			max-width: 600px;
			-webkit-justify-content: flex-start;
			justify-content: flex-start;
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
			padding: 0px 20px 0 0px;
		}
		
		.mainVisual.index .mainVisualTextArea {
			margin: auto 0;
		}
		.mainVisual.page .mainVisualTextArea {
			margin: 0 0 0;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisual.page .mainVisualTextArea {
			margin: auto 0 auto auto;
			width: 50%;
		}
		
		.mainVisual.index .mainVisualTextArea {
			padding: 0 20px 20%;
			width: 100%;
			margin: auto auto;
			-webkit-justify-content: flex-end;
			justify-content: flex-end;
			-webkit-flex-flow: column wrap;
			flex-flow: column wrap;
		}
		.mainVisual.page .mainVisualTextArea {
			-webkit-justify-content: flex-start;
			justify-content: flex-start;
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
		}
	}

.mainVisual .mainVisualTextArea .mainVisualH {
	width: 100%;
	padding: 0 0 0;
	-webkit-transition: all 0.3s ease-in;
	transition: all 0.3s ease-in;
	z-index: 10;
	position: relative;
}
	.mainVisual.index .mainVisualTextArea .mainVisualH {
		margin: 0 auto 40px;
	}
	
	@media screen and (min-width: 771px) {
		.mainVisual.index .mainVisualTextArea .mainVisualH {
			padding: 0 0 0 30px;
		}
		.mainVisual.page .mainVisualTextArea .mainVisualH {
			margin: 0 auto 30px 80px;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisual.page .mainVisualTextArea .mainVisualH {
			margin: 0 auto 10px 20px;
		}
	}

.mainVisual .mainVisualTextArea .mainVisualH span {
	display: block;
	width: 100%;
	max-width: 100%;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	line-height:1.3;
}

.mainVisual .mainVisualTextArea .mainVisualH .en {
	line-height: 1.3;
	font-weight: 200;
}
.mainVisual .mainVisualTextArea .mainVisualH .jp {
	font-weight: 500;
	letter-spacing: 2px;
}
	@media screen and (min-width: 1601px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 5.9rem;
			margin: 0 0 10px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:only-of-type.jp {
			font-size: 3.7rem;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:not(:only-of-type).jp {
			font-size: 2.1rem;
			line-height: 2rem;
		}
	}
	
	@media screen and (min-width: 1521px) and (max-width: 1600px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 5.8rem;
			font-size: 3.8vw;
			margin: 0 0 10px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:only-of-type.jp {
			font-size: 3.3rem;
			font-size: 2.3vw;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:not(:only-of-type).jp {
			font-size: 2rem;
			font-size: 1.3vw;
			line-height: 2rem;
		}
	}
	
	@media screen and (min-width: 1351px) and (max-width: 1520px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 5rem;
			font-size: 4vw;
			margin: 0 0 10px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:only-of-type.jp {
			font-size: 3.2rem;
			font-size: 2.4vw;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:not(:only-of-type).jp {
			font-size: 1.8rem;
			font-size: 1.4vw;
			line-height: 2rem;
		}
	}
	
	@media screen and (min-width: 771px) and (max-width: 1350px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 4.4rem;
			font-size: 4vw;
			margin: 0 0 10px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:only-of-type.jp {
			font-size: 2.1rem;
			font-size: 2.4vw;
			letter-spacing: 0.7px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:not(:only-of-type).jp {
			font-size: 1.8rem;
			font-size: 1.4vw;
			line-height: 2rem;
		}
	}
	@media screen and (min-width: 601px) and (max-width: 770px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 4.8rem;
			font-size: 6.6vw;
		}
	}
	
	@media screen and (max-width: 600px) {
		.mainVisual .mainVisualTextArea .mainVisualH .en {
			font-size: 3.3rem;
			font-size: 8.4vw;
		}
	}
	
	@media screen and (max-width: 770px) {
		.mainVisual.index .mainVisualTextArea .mainVisualH .en {
			margin: 0 0 10px;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:only-of-type.jp {
			font-size: 2.2rem;
			font-size: 6vw;
		}
		
		.mainVisual .mainVisualTextArea .mainVisualH span:not(:only-of-type).jp {
			font-size: 1.4rem;
			line-height: 1.4rem;
		}
	}

.mainVisual .mainVisualTextArea .mvTextDeco {
	width: 100%;
	display: inline-block;
}


.mainVisual .mainVisualTextArea .mvTitleImage {
	display: inline-block;
	position: absolute;
	top: 8%;
	left: 0;
	right: 0;
	z-index: 0;
}
.mvTextImg {
	width: 100%;
}

.mvTextImg img {
	width: 100%;
}

	@media screen and (min-width: 771px) {
		.mainVisual .mainVisualTextArea .mvTitleImage {
			width: 95%;
		}
		.mvTextImg {
			max-width: 530px;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisual.index .mainVisualTextArea .mvTitleImage {
			width: 40%;
		}
		.mainVisual.page .mainVisualTextArea .mvTitleImage {
			width: 70%;
			top: -7%;
		}
	}



/* SCROLL DOWN部分 -----------------------------------------------------------------------------------*/
.scrollWrap {
	width: 100%;
	position: relative;
	margin: 0px 0 10px;
	z-index: 29;
	text-align: center;
	display: inline-block;
}

.scrollWrap .scrollArrow {
	width: 98px;
	display: inline-block;
	text-align: center;
	z-index: 29;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
	.scrollWrap .scrollArrow:hover {
		bottom: -5px;
	}

.scrollWrap .scrollArrow img {
	width: 100%;
	height: auto;
	position: relative;
}


/* マスク部分 -----------------------------------------------------------------------------------*/
.mainVisual .mainVisualMask {
	width: 100%;
	position: absolute;
	bottom: -3%;
	left: 0;
	right: 0;
	z-index: 20;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
	.mainVisual.index .mainVisualMask {
		padding-top: 8.6%;
	}
	.mainVisual.page .mainVisualMask {
		padding-top: 7%;
	}


.mainVisual .mainVisualMask .mvMask {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.mainVisual .mvMask .st0, .contentMask .mvMask .st0 {
	fill: #fff;
}

.mainVisual .mvMask .st1, .contentMask .mvMask .st1 {
	fill: #edf8fb;
}

/* ライン部分 -----------------------------------------------------------------------------------*/
.mainVisualLine {
	max-width: 380px;
	min-height: 100%;
	position: absolute;
	top: 0;
	bottom: -50%;
	z-index: -1;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}
	@media screen and (min-width: 771px) {
		.mainVisualLine {
			width: 60%;
		}
		.mainVisual.index .mainVisualLine {
			left: 2%;
		}
		.mainVisual.page .mainVisualLine {
			left: 5%;
		}
	}
	@media screen and (max-width: 770px) {
		.mainVisualLine {
			width: 40%;
			right: 5%;
		}
	}

.mainVisualLine .lineLeft {
	width: 60%;
	max-width: 400px;
	background: #51bed5;
	background: -moz-linear-gradient(left, #51bed5 0%, #7aea9a 75%, #e3faeb 75%, #e3faeb 100%);
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 75%,#e3faeb 75%,#e3faeb 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 75%,#e3faeb 75%,#e3faeb 100%);
}
.mainVisualLine .lineRight {
	width: 40%;
	max-width: 280px;
	background: #fff;
}
	.mainVisualLine span {
		height: 100%;
		display: inline-block;
		margin: 0;
		opacity: 0.7;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}

.mainVisual .mainVisualImage {
	display: inline-block;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	position: relative;
}
	@media screen and (min-width: 771px) {
		.mainVisual .mainVisualImage::before,
		.mainVisual .mainVisualImage::after {
			content: "";
			width: 150px;
			position: absolute;
			top: 0;
			bottom: 0;
			z-index: 1;
		}
		.mainVisual .mainVisualImage::before {
			left: 0;
			background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
			background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		}
		.mainVisual .mainVisualImage::after {
			right: 0;
			background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
			background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
		}
	}

@-webkit-keyframes fadeInRight20 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight20 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight20 {
	-webkit-animation-name: fadeInRight20;
	animation-name: fadeInRight20;
}

@-webkit-keyframes blur {
	from {
		opacity: 0;
		transform: translate3d(0px,0px,0px) scale(1.2);
		filter: blur(15px);
	}
	to {
		opacity: 1;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(0px);
	}
}
@keyframes blur {
	from {
		opacity: 0;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(15px);
	}
	to {
		opacity: 1;
		transform: translate3d(0px,0px,0px) scale(1);
		filter: blur(0px);
	}
}
/*
.blur {
	-webkit-animation-name: blur;
	animation-name: blur;
}
*/


/* Concept Menu ※同一レイアウトタイプなので統合してます 部分的に違うものがありますのでご注意ください =================================================================================================================*/
#indexConceptSection,
#indexMenuSection {
	width: 100%;
	position: relative;
	display: inline-block;
	margin: 0 auto 0;
	padding: 0 0;
	overflow: hidden;
}
	#indexConceptSection {
		background: no-repeat center bottom;
	}
	#indexMenuSection {
		background: no-repeat center bottom;
	}
	@media screen and (min-width: 771px) {
		#indexConceptSection,
		#indexMenuSection {
			background-size: cover;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection,
		#indexMenuSection {
			background-size: contain;
			margin-bottom: 20px;
		}
	}

/* マスク -----------------------------------------------------------------------------------*/
#indexConceptSection div[class*="indexConceptMask"],
#indexMenuSection .indexMenuMask {
	height: auto;
	width: 100%;
	position: absolute;
	left: 0%;
	right: 0%;
	z-index: 9;
}
	#indexConceptSection .indexConceptMask01 {
		top: 0%;
		padding-top: 15%;
	}
	#indexConceptSection .indexConceptMask02 {
		bottom: 0;
		padding-top: 9.5%;
	}
	#indexMenuSection .indexMenuMask {
		bottom: -3%;
		padding-top: 13%;
	}

#indexConceptSection .indexConceptMask01 .mask01,
#indexConceptSection .indexConceptMask02 .mask02,
#indexMenuSection .indexMenuMask .mask01 .st0 {
	width: 100%;
	height: auto;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
}
	#indexConceptSection .indexConceptMask01 .mask01 {
		top: -5px;
	}
	#indexConceptSection .indexConceptMask02 .mask02,
	#indexMenuSection .indexMenuMask .mask01 .st0 {
		bottom: -5px;
	}
	#indexConceptSection .mask01 .st0, #indexConceptSection .mask02 .st0 {
		fill: #f2fcfc;
	}
	#indexConceptSection .mask01 .st1, #indexConceptSection .mask02 .st1,
	#indexMenuSection .indexMenuMask .mask01 .st0 {
		fill: #fff;
	}

/* コンテナー -----------------------------------------------------------------------------------*/
#indexConceptSection .indexConceptContainer,
#indexMenuSection .indexMenuContainer {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
	@media screen and (min-width: 771px) {
		#indexConceptSection .indexConceptContainer,
		#indexMenuSection .indexMenuContainer {
			padding: 50px 0;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer,
		#indexMenuSection .indexMenuContainer {
			padding: 20px;
		}
	}

/* テキストブロック部分 -----------------------------------------------------------------------------------*/
#indexConceptSection .indexConceptContainer .indexConceptArticle,
#indexMenuSection .indexMenuContainer .indexMenuArticle {
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
	display: inline-block;
}
	#indexConceptSection .indexConceptContainer .indexConceptArticle::after,
	#indexMenuSection .indexMenuContainer .indexMenuArticle::after {
		content: "";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle {
			margin: 0;
		}
		#indexMenuSection .indexMenuContainer .indexMenuArticle {
			width: 100%;
			margin: 0 0 40px;
		}
	}

/* Concept側 テキストブロック タイトルイメージ部分 -----------------------------------------------------------------------------------*/
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTitleImg {
	width: 40%;
	max-width: 739px;
	margin: 0 auto 0 2%;
}
	@media screen  and (min-width: 771px) and (max-width: 960px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTitleImg {
			width: 70%;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTitleImg {
			width: 100%;
			margin: 0 auto 0;
		}
	}

#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTitleImg img {
	width: 100%;
}
@media screen and (max-width: 767px) {
	#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTitleImg img {
		width: 75%;
	}
}

/* Menu側 テキストブロック タイトルイメージ部分 -----------------------------------------------------------------------------------*/
#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTitleImg {
	width: 40%;
	max-width: 728px;
	margin: 0 auto 0 40%;
}
	@media screen  and (min-width: 771px) and (max-width: 960px) {
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTitleImg {
			width: 60%;
			margin: 0 auto 0 30%;
		}
	}
	@media screen and (max-width: 770px) {
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTitleImg {
			width: 100%;
			margin: 0 auto 0;
		}
	}
#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTitleImg img {
	width: 100%;
}


/* テキストブロック テキスト部分 -----------------------------------------------------------------------------------*/
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea,
#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea {
	display: block;
	width: 50%;
}
	#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea {
		width: calc(100% - 15% - 20px);
		margin: -13% 20px 0 15%;
	}
	#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea {
		margin: -10% 0 0 auto;
	}
	@media screen and (min-width: 771px) {
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea {
			padding: 0 20px 0 0;
		}
	}

#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea .ttlA-L {
	display: block;
}
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea .ttlA-L span.jp {
	display: block;
}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea .ttlA-L {
			display: block;
			width: 100%;
		}
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea .ttlA-L span.jp {
			display: block;
			width: 100%;
		}
	}
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea p,
#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea p {
	display: inline-block;
	width: 100%;
	margin: 0 0 20px
}
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea p {
	display: block;
}
	@media screen  and (min-width: 771px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea p,
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea p {
			font-size: 1.6rem;
			line-height: 3.3rem;
		}
	}
	@media screen  and (min-width: 771px) and (max-width: 960px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea {
			width: auto;
			margin: 0 3% 0 10%;
		}
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea {
			width: 60%;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea,
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea {
			width: 100%;
			margin: -25% 0 0;
		}
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea {
			display: -webkit-flex;
			display: flex;
			-webkit-justify-content: flex-start;
			justify-content: flex-start;
			-webkit-align-content: flex-start;
			align-content: flex-start;
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
			-webkit-align-items: flex-start;
			align-items: flex-start;
		}
		
		#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea p,
		#indexMenuSection .indexMenuContainer .indexMenuArticle .indexMenuTextArea p {
			width: 100%;
			font-size: 1.4rem;
			line-height: 3.1rem;
		}
	}
#indexConceptSection .indexConceptContainer .indexConceptArticle .indexConceptTextArea .moreBtn {
	display: block;
}


/* イメージ部分 -----------------------------------------------------------------------------------*/
#indexConceptSection .indexConceptContainer .indexConceptImages,
#indexMenuSection .indexMenuContainer .indexMenuImages {
	width: 43%;
	max-width: 530px;
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}
	#indexConceptSection .indexConceptContainer .indexConceptImages {
		margin: 0 0 20px 20px;
		float: right;
	}
	#indexMenuSection .indexMenuContainer .indexMenuImages {
		margin: -23% auto 0 3%;
	}
	@media screen  and (min-width: 771px) and (max-width: 960px) {
		#indexConceptSection .indexConceptContainer .indexConceptImages {
			width: 52%;
			margin: 0 0 10px 10px;
		}
		#indexMenuSection .indexMenuContainer .indexMenuImages {
			width: 52%;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptImages,
		#indexMenuSection .indexMenuContainer .indexMenuImages {
			float: none;
			width: 90%;
			margin: 0 auto 0;
		}
		#indexConceptSection .indexConceptContainer .indexConceptImages {
			margin-top: 40px;
			order: 1;
		}
	}

#indexConceptSection .indexConceptContainer .indexConceptImages li,
#indexMenuSection .indexMenuContainer .indexMenuImages li {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
}
	@media screen and (min-width: 771px) {
		#indexConceptSection .indexConceptContainer .indexConceptImages li:first-of-type,
		#indexMenuSection .indexMenuContainer .indexMenuImages li:first-of-type {
			width: 70%;
			max-width: 470px;
		}
		#indexConceptSection .indexConceptContainer .indexConceptImages li:last-of-type,
		#indexMenuSection .indexMenuContainer .indexMenuImages li:last-of-type {
			width: 50%;
			max-width: 350px;
		}
		#indexConceptSection .indexConceptContainer .indexConceptImages li:first-of-type {
			margin: 0 0 0 auto;
		}
		
		#indexMenuSection .indexMenuContainer .indexMenuImages li:first-of-type {
			margin: 0 auto 0 0;
		}

		#indexConceptSection .indexConceptContainer .indexConceptImages li:last-of-type {
			margin: -23% auto 0 0;
		}
		#indexMenuSection .indexMenuContainer .indexMenuImages li:last-of-type {
			margin: -23% 0 0 auto;
		}
	}
	@media screen and (max-width: 770px) {
		#indexConceptSection .indexConceptContainer .indexConceptImages li:first-of-type,
		#indexMenuSection .indexMenuContainer .indexMenuImages li:first-of-type {
			width: 60%;
			max-width: 450px;
		}
		#indexConceptSection .indexConceptContainer .indexConceptImages li:last-of-type,
		#indexMenuSection .indexMenuContainer .indexMenuImages li:last-of-type {
			width: 44%;
			max-width: 336px;
		}
		#indexConceptSection .indexConceptContainer .indexConceptImages li:first-of-type {
			margin: 0 auto 0 0;
		}
		#indexMenuSection .indexMenuContainer .indexMenuImages li:first-of-type {
			margin: 0 0 0 auto;
		}

		#indexConceptSection .indexConceptContainer .indexConceptImages li:last-of-type {
			margin: -23% 10% 0 auto;
		}
		#indexMenuSection .indexMenuContainer .indexMenuImages li:last-of-type {
			margin: -23% auto 0 10%;
		}
	}

#indexConceptSection .indexConceptContainer .indexConceptImages li img,
#indexMenuSection .indexMenuContainer .indexMenuImages li img {
	width: 100%;
}


/* Feature =================================================================================================================*/

/* コンテナー -----------------------------------------------------------------------------------*/
#indexFeatureSection {
	width: 100%;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 auto 50px;
	padding: 0 0;
	overflow: hidden;
}

#indexFeatureSection .indexFeatureContainer {
	width: 100%;
	max-width: 1480px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 10;
}

/* リスト -----------------------------------------------------------------------------------*/
#indexFeatureSection .indexFeatureContainer ul.indexFeatureList {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 50px;
}

	@media screen and (min-width: 771px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li {
			width: 31%;
			display: inline-block;
		}
		
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li:not(:last-of-type) {
			margin-right: 3.5%;
		}
		
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li:nth-of-type(2) {
			margin-top: 4%;
		}
		
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li:last-of-type {
			margin-top: 8%;
		}
	}
	
	@media screen and (max-width: 770px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li {
			width: 100%;
		}
		
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li:not(:last-of-type) {
			margin-bottom: 40px;
		}
	}

/* テキスト部分 -----------------------------------------------------------------------------------*/
#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dt {
	order: 1;
	width: 100%;
	position: relative;
	text-align: center;
}
	@media screen and (min-width: 771px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dt .title {
			font-size: 1.8rem;
		}
	}
	@media screen and (max-width: 770px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dt .title {
			font-size: 1.6rem;
		}
	}

#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl span {
	max-width: 100%;
	text-align: center;
}

#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd {
	width: 100%;
	order: 0;
	position: relative;
}
	@media screen and (min-width: 771px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd {
			margin-bottom: 16%;
		}
	}
	@media screen and (max-width: 770px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd {
			margin-bottom: 13%;
		}
	}

#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd .numberGradient {
	width: 100px;
	height: 100px;
	border-radius: 100%;
	position: absolute;
	bottom: -30px;
	left: calc(50% - 50px);
	z-index: 10;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}
	@media screen and (max-width: 960px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd .numberGradient {
			width: 80px;
			height: 80px;
			left: calc(50% - 40px);
			bottom: -15px;
		}
	}
	.numberGradient::after {
		z-index: -1;
		content: "";
		opacity: 0.6;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		border-radius: 100%;
		display: inline-block;
		background: #1e5799;
		background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
		background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	}

.numberGradientWrap {
	position: relative;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}

	#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd .numberGradientWrap::after {
		width: 40px;
		height: 1px;
		content: "";
		position: absolute;
		bottom: -40px;
		left: calc(50% - 20px);
		background: #51bfd5;
	}
	@media screen and (max-width: 960px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl dd .numberGradientWrap::after {
			bottom: -25px;
		}
	}

.numberGradient span.en, .numberGradient span.count {
	max-width: 100%;
	display: inline-block;
	width: 100%;
	color: #fff;
}
	#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl .numberGradient span.en {
		font-size: 1.2rem;
	}
	
	@media screen and (min-width: 771px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl .numberGradient span.count {
			font-size: 4rem;
			line-height: 1;
		}
	}
	@media screen and (max-width: 770px) {
		#indexFeatureSection .indexFeatureContainer ul.indexFeatureList li dl .numberGradient span.count {
			font-size: 3.4rem;
			line-height: 1;
		}
	}


/* Gallery （インスタグラム）=================================================================================================================*/

/* コンテナー -----------------------------------------------------------------------------------*/
#indexGallerySection {
	width: 100%;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 auto 50px;
	padding: 0 0;
	overflow: hidden;
}

#indexGallerySection .indexGalleryContainer {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}

/* リスト -----------------------------------------------------------------------------------*/
#indexGallerySection .indexGalleryContainer #sb_instagram {
	width: 100%;
	display: block;
	margin: 0 0 0px;
	padding: 0!important;
}

#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images {
	float: none!important;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item .sbi_photo_wrap {
	padding-top: 100%;
	width: 100%;
}

#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item .sbi_photo_wrap .sbi_photo {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

	@media screen and (min-width: 771px) {
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item {
			width: 22%;
			margin: 0 2% 4% 2% !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:only-child {
			margin-left: 0 !important;
			margin-right: 0 !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(1),
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(4n + 1) {
			margin-left: 0 !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(4n) {
			margin-right: 0 !important;
		}
	}
	
	@media screen and (max-width: 770px) {
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item {
			width: 48%;
			margin: 0 2% 4% 2% !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(1),
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(4n + 1) {
			margin-left: 2% !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(4n) {
			margin-right: 2% !important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(odd) {
			margin-left: 0!important;
		}
		#indexGallerySection .indexGalleryContainer #sb_instagram #sbi_images > div.sbi_item:nth-of-type(even) {
			margin-right: 0!important;
		}
	}


/* Blogリスト =================================================================================================================*/
/* コンテナー -----------------------------------------------------------------------------------*/
#indexBlogSection {
	width: 100%;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 auto 0px;
	padding: 0 0 50px;
	overflow: hidden;
}
	#indexBlogSection::after {
		background: #edf8fb;
		content: "";
		position: absolute;
		top: 7%;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -10;
	}

#indexBlogSection .indexBlogContainer {
	width: 100%;
	max-width: 1480px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}

/* ブログ一覧共通設定 ※トップページ（振り分けクラス：indexBlog）・ブログページ（振り分けクラス：lowBlog）共通 -----------------------------------------------------------------------------------*/
.blogArticleList {
	width: 100%;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 40px;
}
	.blogInner .blogListWrap > *:last-child {
		margin-bottom: 0;
	}
	@media screen and (min-width: 771px) {
		.blogArticleList.indexBlog {
			-webkit-justify-content: center;
			justify-content: center;
		}
		.blogArticleList.lowBlog {
			-webkit-justify-content: flex-start;
			justify-content: flex-start;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList {
			-webkit-justify-content: flex-start;
			justify-content: flex-start;
		}
	}

.blogArticleList li {
	position: relative;
	padding: 0;
}
	@media screen and (min-width: 771px) {
		.blogArticleList.indexBlog li {
			width: 22%;
			margin: 0 4% 0 0;
		}
		.blogArticleList.indexBlog li:last-of-type {
			margin-right: 0;
		}
		
		.blogArticleList.lowBlog li {
			display: inline-block;
			vertical-align: top;
			width: 47.5%;
			font-size: 1.4rem;
			margin-right: 5%;
			padding: 0px;
			background: #fff;
			margin-bottom: 50px;
		}
		.blogArticleList.lowBlog li:nth-of-type(2n) {
			margin-right:0;
		}
		.blogArticleList.lowBlog li:nth-last-of-type(-n + 2) {
			margin-bottom: 0px;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList li {
			margin: 0 auto 20px;
			width: 100%;
		}
		.blogArticleList li:last-of-type {
			margin: 0 auto;
		}
	}
.blogArticleList li figure {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	width: 100%;
}

/* 記事画像部分 -----------------------------------------------------------------------------------*/
.blogArticleList li .imgWrap {
	display: inline-block;
	position: relative;
}

.blogArticleList li .imgWrap > * {
	width: 100%;
	display: inline-block;
}
	@media screen and (min-width: 771px) {
		.blogArticleList li .imgWrap {
			width: 100%;
			margin: 0 0 30px;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList li .imgWrap {
			width: 44%;
			margin: 0 auto 0 0;
		}
	}

/* 記事テキスト部分 -----------------------------------------------------------------------------------*/
.blogArticleList li figure figcaption {
	display: inline-block;
	margin: 0 0 0px;
	position: relative;
}
	@media screen and (min-width: 771px) {
		.blogArticleList li figure figcaption {
			width: 100%;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList li figure figcaption {
			width: 51%;
		}
	}

.blogArticleList li figure .imgContainer {
	position: relative;
	padding-top: 67%;
	border-radius: 20px;
	overflow: hidden;
}

.blogArticleList li figure .imgContainer span,
.blogArticleList li figure .imgContainer a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.blogArticleList li figure .imgContainer img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}


/* 記事日付・カテゴリ部分 -----------------------------------------------------------------------------------*/
.blogArticleList .meta {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}
	@media screen and (min-width: 771px) {
		.blogArticleList .meta {
			margin: 0 0 12px;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList .meta {
			margin: 0 0 7px;
		}
	}

.blogArticleList .meta .category {
	background: #51bed5;
	color: #fff;
	border-radius: 8px;
	width: auto;
	max-width: 100%;
	text-align: left;
	margin: 0 10px 0 0;
	display: inline-block;
}

.blogArticleList .meta .category span {
	display: inline-block;
	width: auto;
	max-width: 100%;
	word-break: break-all;
}

	@media screen and (min-width: 771px) {
		.blogArticleList .meta .category {
			font-size: 1.3rem;
			padding: 5px 10px 4px;
			margin-bottom: 3px;
			line-height: 1.3;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList .meta .category {
			font-size: 1.1rem;
			padding: 5px 5px 5px;
			margin-bottom: 3px;
			line-height: 1.4;
		}
	}
	
	_:-ms-fullscreen, :root .blogArticleList .meta .category {
		padding: 5px 5px 3px;
	}

.blogArticleList.lowBlog .meta .category:hover {
	opacity: 0.7;
}

.blogArticleList .meta time {
	color: #51bed5;
	font-weight: bold;
	font-size: 1.3rem;
	margin-bottom: 3px;
}
	@media screen and (max-width: 359px) {
		.blogArticleList .meta time {
			font-size: 1.1rem;
		}
	}

.blogArticleList .blogTtl {
	width: 100%;
	max-width: 100%;
	display: inline-block;
	font-weight: bold;
	font-size: 1.6rem;
}
	@media screen and (min-width: 771px) {
		.blogArticleList .blogTtl {
			font-size: 1.6rem;
		}
	}
	@media screen and (max-width: 770px) {
		.blogArticleList .blogTtl {
			font-size: 1.4rem;
		}
	}


/* Footer =================================================================================================================*/

/* コンテナー -----------------------------------------------------------------------------------*/
.siteFooter {
	margin: 0px;
	position: relative;
}

.siteFooter .contactWrap {
	background: no-repeat center top;
	background-size: cover;
	text-align: center;
	padding: 50px 20px 70px;
	width: 100%;
}

.siteFooter .contactWrap .contactContainer {
	max-width: 940px;
	background: #fff;
	margin: 0 auto;
	border-radius: 20px;
}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer {
			padding: 50px;
			width: 90%;
		}
	}
	@media screen and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer {
			width: 100%;
			padding: 30px 1em;
		}
	}

.siteFooter .contactWrap .contactContainer ul.contactList {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 auto 30px;
	padding: 0 0px 30px;
	text-align: center;
	position: relative;
}
	.siteFooter .contactWrap .contactContainer ul.contactList::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 1px;
		display: inline-block;
		background: #51bed5;
		background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
		background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	}

.siteFooter .contactWrap .contactContainer ul.contactList li {
	margin: 0 auto;
}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li {
			width: 50%;
		}
	}
	@media screen and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li {
			width: 100%;
		}
	}


/* 電話番号部分 -----------------------------------------------------------------------------------*/
.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dt,
.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dt {
	width: 100%;
}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dt,
		.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dt {
			margin: 0 0 20px;
			font-size: 1.6rem;
		}
	}
	
	@media screen and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel {
			margin: 0 0 20px;
		}
		
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dt,
		.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dt {
			font-size: 1.5rem;
			margin: 0 0 10px;
		}
	}

.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd span {
	display: inline-block;
	width: 100%;
}

.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
	font-weight: bold;
	background: -webkit-linear-gradient(45deg, #51bed5, #7aea9a);
	background: linear-gradient(45deg, #51bed5, #7aea9a);
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255,255,255,0.0);
	color: #51bed5;
}
	@media all and (-ms-high-contrast:none){
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
			background: none!important;
		}
	}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
			font-size: 3.4rem;
			line-height: 3.4rem;
		}
	}
	
	@media screen and (min-width: 480px) and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
			font-size: 2.6rem;
			line-height: 3rem;
			letter-spacing: 1px;
		}
	}
	@media screen and (max-width: 479px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
			font-size: 2.2rem;
			line-height: 2.8rem;
			letter-spacing: 0.5px;
		}
	}

.siteFooter .contactWrap .contactContainer ul.contactList li .hours {
	font-size: 1.3rem;
	padding: 10px 0 0;
	width: 100%;
	display: inline-block;
}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li .hours {
			padding: 10px 0 0;
		}
	}
	@media screen and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer ul.contactList li .hours {
			padding: 3px 0 0;
		}
	}

/* Contactボタン部分 -----------------------------------------------------------------------------------*/

.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dd .contactBtn {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
}

.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dd .contactBtn a {
	width: 230px;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 15px 0;
	margin: 0 auto;
	display: block;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	color: #fff;
	border-radius: 5px;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
	.siteFooter .contactWrap .contactContainer ul.contactList li.contact dl dd .contactBtn a:hover {
		opacity: 0.7;
	}

/* ロゴ・住所部分 -----------------------------------------------------------------------------------*/
.siteFooter .contactWrap .contactContainer dl.footerAdd {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.siteFooter .contactWrap .contactContainer dl.footerAdd dd address > span {
	width: 100%;
	display: block;
}
	@media screen and (min-width: 771px) {
		.siteFooter .contactWrap .contactContainer dl.footerAdd dt img {
			height: 50px;
		}
		
		.siteFooter .contactWrap .contactContainer dl.footerAdd {
			-webkit-flex-flow: row nowrap;
			flex-flow: row nowrap;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dt {/* ロゴ部分 */
			width: auto;
			margin: 0 50px 0 0;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd {/* 住所部分 */
			width: auto;
			text-align: left;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd address > span:first-of-type {
			margin: 0 0 5px 0;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd address > span span {/* 郵便番号部分 */
			margin-right: 0.5em;
		}
	}
	@media screen and (max-width: 770px) {
		.siteFooter .contactWrap .contactContainer dl.footerAdd dt img {
			height: 40px;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd {
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dt {/* ロゴ部分 */
			width: 100%;
			margin: 0 0 30px;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd {/* 住所部分 */
			width: 100%;
			text-align: center;
		}
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd address > span span {/* 郵便番号部分 */
			display: inline-block;
			width: 100%;
		}
	}
	@media screen and (max-width: 359px) {
		.siteFooter .contactWrap .contactContainer dl.footerAdd dd address > span:last-of-type {
			font-size: 1.1rem;
		}
	}


/* コピーライト部分 -----------------------------------------------------------------------------------*/
.copyRight {
	font-size: 1.2rem;
	text-align: center;
	display: block;
	padding: 30px;
	background: #51bed5;
	color: #fff;
}

/* Blog =================================================================================================================*/
.blogCnt {
	padding: 0px 0;
}

.blogInner {
	width:100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.blogInner .blogListWrap, .blogInner .singleArticle {
	display:inline-block;
	vertical-align:top;
}
	@media screen and (min-width: 771px) {
		.blogInner .blogListWrap, .blogInner .singleArticle {
			width: 73%;
			max-width: 726px;
			margin: 0 auto 0 0;
		}
	}
	@media screen and (max-width: 770px) {
		.blogInner .blogListWrap, .blogInner .singleArticle {
			width: 100%;
			margin: 0 auto 15%;
		}
	}

/* サイドカラム カテゴリ・最新記事一覧部分 -----------------------------------------------------------------------------------*/
.blogInner .subWrap {
	display:inline-block;
	vertical-align:top;
	margin: 0;
}
	@media screen and (min-width: 771px) {
		.blogInner .subWrap {
			width:24%;
		}
	}
	@media screen and (max-width: 770px) {
		.blogInner .subWrap {
			width: 100%;
		}
	}

.subWrap .categoryDl {
	margin-bottom:20px;
}

.subWrap .latest li a ,
.subWrap .categoryDl dd li a {
	padding:10px;
	display:block;
}

.subWrap .latest li a::before ,
.subWrap .categoryDl dd li a::before {
	border-bottom:1px solid #ccc;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.subWrap .latest li a time {
	display:block;
	color: #51bed5;
}

.subWrap .subTtls {
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	color:#fff;
	padding:5px 10px;
}

/* ページャー =================================================================================================================*/
.pagination {
	position: relative;
	margin: 0;
}

.pagination .page-of {
	display: none;
}

.pagination-box {
	text-align: center;
	font-size: 1.4rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}

.pagination-box > * {
	display: inline-block;
	margin-right: 10px;
	color: #454545;
}
.pagination-box span.current {
	background: #51bed5;
	color: #fff;
}

.pagination-box span a {
	text-decoration: none;
	display: inline-block;
	width: 100%;
	height: 100%;
}
	.pagination-box > *:last-child {
		margin-right: 0;
	}
	@media screen and (min-width: 771px) {
		.pagination-box > * {
			width: 50px;
			height: 50px;
			line-height: 50px;
		}
		
		.pagination-box > *:hover {
			background: #51bed5;
			color: #fff;
		}

		.pagination-box > *:hover a {
			color: #fff;
		}
	}
	@media screen and (max-width: 770px) {
		.pagination-box > * {
			width: 30px;
			height: 30px;
			line-height: 30px;
		}
		
		.pagination-box > *:active {
			background: #51bed5;
			color: #fff;
		}

		.pagination-box > *:active a {
			color: #fff;
		}
	}


/*imgLeft*/
.imgLeft {
	display:table;
}

.imgLeft .imgWrap {
	display:table-cell;
	width:40%;
	vertical-align:top;
}

.imgLeft figcaption {
	display:table-cell;
	vertical-align:top;
	width:60%;
	padding-left:40px;
}

.imgLeft .color {
	margin-bottom:0.5em;
	font-weight:bold;
}

/* Single =================================================================================================================*/
.headingWrap {
	display: inline-block;
	width: 100%;
	margin: 0 0 20px;
}

.headingWrap .meta .category a {
	color:#51bed5;
	font-weight:bold;
}

.headingWrap .meta .category a:hover {
	text-decoration:underline;
}

.headingWrap  .meta time:after{
	content:"|";
	display:inline-block;
	padding:0 10px;
}

.singleContent {
	width: 100%;
	display: inline-block;
}
.singleContent img {
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
}

.singleContent .aligncenter {
	display: block;
	margin: 0 auto;
}

.singleContent .alignright { float: right; }
.singleContent .alignleft { float: left; }
.singleContent img[class*="wp-image-"],
.singleContent img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}

/* clearfix */
.singleContent .clearfix {
	overflow: hidden;
	zoom: 1;
}
.singleContent .clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.snsWrap {
	background:#f2f2f2;
	text-align:center;
}
	@media screen and (min-width: 771px) {
		.snsWrap {
			padding:30px;
			margin:40px 0 30px;
		}
	}
	@media screen and (max-width: 770px) {
		.snsWrap {
			padding:15px;
			margin:20px 0 30px;
		}
	}

/* 下層コンテンツ =================================================================================================================*/
.contentWrap {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	margin: 0 auto 50px;
}
	.contentWrap:last-of-type {
		margin-bottom: 0;
	}

.contentWrapMb0 {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	margin: 0 auto 0px;
}

.contentWrap800 {
	width: 100%;
	max-width: 840px;
	margin: 0 auto 50px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentWrap800Mb0 {
	width: 100%;
	max-width: 840px;
	margin: 0 auto 0px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentWrap900 {
	width: 100%;
	max-width: 940px;
	margin: 0 auto 50px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentWrap900Mb0 {
	width: 100%;
	max-width: 940px;
	margin: 0 auto 0px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentWrap1000 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 30px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentWrap1000Mb0 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 0px;
	position: relative;
	z-index: 10;
	padding: 0 20px;
}

.contentArticle {
	margin: 0 0 50px;
	line-height: 3rem;
}
	@media screen and (min-width: 771px) {
		.contentArticle {
			font-size: 1.6rem;
		}
	}

.contentVisual {
	border-radius: 20px;
	overflow: hidden;
	margin: 0 0;
}


/* マスク部分 -----------------------------------------------------------------------------------*/
.contentMask {
	width: 100%;
	padding-top: 7%;
}
	.contentMask:not(.absolute) {
		position: relative;
	}
	.contentMask.absolute {
		position: absolute;
		left: 0;
		right: 0;
		z-index: -1;
	}
		@media screen and (min-width: 771px) {
			.contentMask.absolute {
				top: 20%;
			}
		}
		@media screen and (max-width: 770px) {
			.contentMask.absolute {
				top: 40%;
			}
		}

.contentMask .mvMask {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.imageMaskBlock {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.imageMaskBlock img{
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

.contentImageMask {
	padding-top: 12.4%;
	position: absolute;
	bottom: -7%;
	left: -5px;
	right: -5px;
	z-index: 5;
	overflow: hidden;
}

.listMask {
	position: absolute;
	bottom: 0;
	left: 0px;
	right: 0px;
}

.listMask .st0 {
	fill: #fff;
}


/* 交互リスト部分 -----------------------------------------------------------------------------------*/
ul.alternateUl {
	width: 100%;
	position: relative;
}

ul.alternateUl li {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	background: #ffffff;
	background: -webkit-linear-gradient(top, #ffffff 0%,#ffffff 20%,#ffffff 20%,#edf8fb 100%);
	background: linear-gradient(to bottom, #ffffff 0%,#ffffff 20%,#ffffff 20%,#edf8fb 100%);
	padding: 50px 0;
}
	ul.alternateUl li:first-of-type {
		padding-top: 0px;
	}

.alternateListWrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1040px;
}

ul.alternateUl li .imageTitleBlock {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 100%;
	position: relative;
	z-index: 1;
}
	@media screen and (min-width: 771px) {
		ul.alternateUl li .imageTitleBlock {
			-webkit-flex-flow: row nowrap;
			flex-flow: row nowrap;
		}
		
		.contentFeature ul.alternateUl li .imageTitleBlock {
			margin: 0 0 30px;
		}
	}
	@media screen and (max-width: 770px) {
		ul.alternateUl li .imageTitleBlock {
			-webkit-flex-flow: row wrap;
			flex-flow: row wrap;
		}
		.contentFeature ul.alternateUl li .imageTitleBlock {
			margin: 0 0 20px;
		}
	}

ul.alternateUl li .imageTitleBlock .imageBlock {
	border-radius: 20px;
	overflow: hidden;
}
	@media screen and (min-width: 771px) {
		ul.alternateUl li .imageTitleBlock .imageBlock {
			width: 55%;
			max-width: 500px;
			margin: 0;
		}
		ul.alternateUl li:nth-of-type(even) .imageTitleBlock .imageBlock {
			order: 1;
		}
	}
	@media screen and (max-width: 770px) {
		ul.alternateUl li .imageTitleBlock .imageBlock {
			width: 100%;
			margin: 0 0 30px;
			order: 0;
		}
	}

ul.alternateUl li .imageTitleBlock .titleBlock {
	position: relative;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}
	@media screen and (min-width: 771px) {
		ul.alternateUl li .imageTitleBlock .titleBlock {
			width: 45%;
			margin: 0;
		}
		ul.alternateUl li:nth-of-type(odd) .imageTitleBlock .titleBlock {
			padding: 0 0 0 70px;
		}
		ul.alternateUl li:nth-of-type(even) .imageTitleBlock .titleBlock {
			padding: 0 70px 0 0;
			order: 0;
		}
	}
	@media screen and (max-width: 770px) {
		ul.alternateUl li .imageTitleBlock .titleBlock {
			width: 100%;
		}
		ul.alternateUl li:nth-of-type(even) .imageTitleBlock .titleBlock {
			order: 1;
		}
	}

ul.alternateUl li .imageTitleBlock .titleBlock .number {
	z-index: 1;
	border-radius: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	text-align: center;
}

.alternateListText {
	width: 100%;
}

	@media screen and (min-width: 771px) {
		ul.alternateUl li .imageTitleBlock .titleBlock .number {
			width: 100px;
			height: 100px;
			position: absolute;
			top: calc(50% - 50px);
		}
		ul.alternateUl li:nth-of-type(odd) .titleBlock .number {
			left: -50px;
		}
		ul.alternateUl li:nth-of-type(even) .titleBlock .number {
			order: 1;
			right: -50px;
		}
		ul.alternateUl li .titleBlock h3 {
			font-size: 2rem;
			width: 100%;
		}
		
		ul.alternateUl li .imageTitleBlock .titleBlock .number span.en {
			font-size: 1.4rem;
		}
		ul.alternateUl li .imageTitleBlock .titleBlock .number span.count {
			font-size: 4rem;
			line-height: 1;
		}
		.contentFlow ul.alternateUl li .imageTitleBlock .titleBlock .flowTitle {
			margin: 0 0 20px;
		}
		.alternateListText {
			font-size: 1.6rem;
			line-height: 3rem;
		}
	}
	@media screen and (max-width: 770px) {
		ul.alternateUl li .imageTitleBlock .titleBlock .number {
			width: 60px;
			height: 60px;
			position: relative;
		}
		
		ul.alternateUl li .imageTitleBlock .titleBlock .number span.en {
			font-size: 1rem;
		}
		ul.alternateUl li .imageTitleBlock .titleBlock .number span.count {
			font-size: 2.4rem;
			line-height: 1;
		}
		
		ul.alternateUl li .imageTitleBlock .titleBlock .flowTitle {
			font-size: 1.7rem;
			padding: 0 0 0 15px;
			width: calc(100% - 60px);
		}
		
		ul.alternateUl li:nth-of-type(even) .titleBlock h3 {
			order: 1;
		}
		.alternateListText {
			font-size: 1.4rem;
			line-height: 2.8rem;
		}
		
		.contentFlow ul.alternateUl li .imageTitleBlock .alternateListText {
			padding-top: 20px;
			order: 3;
		}
	}

ul.alternateUl li .imageTitleBlock .titleBlock h3 span {
	display: inline-block;
	width: 100%;
}

/* Aboutコンテンツ =================================================================================================================*/
.contentAbout {
	background: no-repeat center bottom;
	background-size: cover;
	overflow: hidden;
}
/*
	@media screen and (min-width: 771px) {
		.contentFeature {
			padding-top: 80px;
    		margin-top: -80px;
		}
	}
	@media screen and (max-width: 770px) {
		.contentFeature {
			padding-top: 50px;
    		margin-top: -50px;
		}
	}
*/

.contentStaff ul {
	width: 100%;
	position: relative;
}

.contentStaff ul li {
	width: 100%;
	padding: 50px 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
	.contentStaff ul li:not(:last-of-type) {
		border-bottom: 1px dotted #666;
		padding-bottom: 50px;
	}
	.contentStaff ul li:first-of-type {
		padding-top: 0px;
	}

.contentStaff ul li .imageBlock {
	text-align: center;
}
	@media screen and (min-width: 771px) {
		.contentStaff ul li .imageBlock {
			width: 230px;
			margin: 0 auto 0 0;
		}
	}
	@media screen and (max-width: 770px) {
		.contentStaff ul li .imageBlock {
			margin: 0 auto 30px;
			width: 100%;
		}
	}

.contentStaff ul li .imageBlock img {
	width: 230px;
}

.contentStaff ul li .textBlock {
	margin: 0;
}
	@media screen and (min-width: 771px) {
		.contentStaff ul li .textBlock {
			width: 66%;
		}
	}
	@media screen and (max-width: 770px) {
		.contentStaff ul li .textBlock {
			width: 100%;
		}
	}

.contentStaff ul li .textBlock h3 {
	margin: 0 0 30px;
	padding: 0 0 30px;
	position: relative;
}
	.contentStaff ul li .textBlock h3::after {
		content: "";
		width: 40px;
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #51bfd5;
	}
.contentStaff ul li .textBlock h3 > span {
	display: inline-block;
	width: 100%;
}
	.contentStaff ul li .textBlock h3 > span.position,
	.contentStaff ul li .textBlock dl > dt {
		font-size: 1.3rem;
		font-weight: bold;
	}
	.contentStaff ul li .textBlock h3 > span.name {
		font-size: 2.4rem;
	}
	.contentStaff ul li .textBlock h3 > span.en {
		font-size: 1.4rem;
	}

.contentStaff ul li .textBlock dl {
	margin: 0 0 30px;
}

.contentStaff ul li .textBlock dl dd, .contentStaff ul li .textBlock .comment {
	font-size: 1.4rem;
}

.contentAccess {
	padding: 50px 0;
}
	.contentAccess::after {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -1;
		display: inline-block;
		background: #51bed5;
		content: "";
		opacity: 0.1;
	}

.contentAccess .accessInfo {
	margin: 0 0 30px;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.accessInfo > figure {
	border-radius: 20px;
	overflow: hidden;
}
	@media screen and (min-width: 771px) {
		.accessInfo > figure {
			width: 55%;
			max-width: 550px;
			margin: 0 auto 0 0;
		}
		.accessInfo > div {
			width: 40%;
			max-width: 400px;
			margin: 0 0 0;
		}
	}
	@media screen and (max-width: 770px) {
		.accessInfo > figure {
			width: 100%;
			margin: 0 auto 20px;
		}
		.accessInfo > div {
			width: 100%;
			margin: 0 0 0px;
		}
	}

.contentAccess .accessInfo > div > dl {
	width: 100%;
	padding: 10px;
	border-bottom: 1px dotted #666;
}

.contentAccess .accessInfo > div > dl dt {
	font-size: 1.3rem;
	font-weight: bold;
}

.contentAccess .accessInfo.contentAccess > dl > dd > dl dd {
	font-size: 1.4rem;
}

.gmap {
	width: 100%;
	height: auto;
	position: relative;
}
	@media screen and (min-width: 771px) {
		.gmap {
			padding-top: 40%;
		}
	}
	@media screen and (max-width: 770px) {
		.gmap {
			padding-top: 60%;
		}
	}

.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


/* Faqコンテンツ =================================================================================================================*/
.contentFaq ul li {
	margin: 0 0 10px;
}
	.contentFaq ul li:last-of-type {
		margin-bottom: 0;
	}

.contentFaq ul li > .question {
  font-size: 1.17em;
	padding: 10px 20px;
	position: relative;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}

.contentFaq ul li > .question i {
	width: 40px;
	height: 40px;
	line-height: 40px;
	margin: auto 15px auto 0;
	display: inline-block;
	border-radius: 100%;
	font-weight: bold;
	font-style: inherit;
	text-align: center;
	background: #51bed5;
	color: #fff;
}

.contentFaq ul li > .question span {
	width: calc(100% - (40px + 15px));
	margin: 0;
	display: inline-block;
}

.contentFaq ul li > p {
	padding: 20px 20px;
}


/* Menuコンテンツ =================================================================================================================*/
.contentMenu ul.menuListUl {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.contentMenu ul.menuListUl > li {
	margin: 0 auto 50px;
}
	.contentMenu ul.menuListUl > li:last-of-type {
		margin-bottom: 0;
	}

.contentMenu ul.menuListUl dl.menuContainer {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}

/* メインタイトル部分 -----------------------------------------------------------------------------------*/
.contentMenu ul.menuListUl dl.menuContainer dt {
	width: 100%;
	margin: 0 auto 0px;
	position: relative;
}

.numberWrap {
	position: relative;
	width: 100%;
	display: inline-block;
	margin: 0 auto 30px;
}

.contentMenu ul.menuListUl dl.menuContainer dt .number {
	position: relative;
	z-index: 1;
	border-radius: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
	text-align: center;
	margin: 0 auto;
}
	@media screen and (min-width: 771px) {
		.contentMenu ul.menuListUl dl.menuContainer dt .number {
			width: 100px;
			height: 100px
		}
		.contentMenu ul.menuListUl dl.menuContainer dt .number span.count {
			font-size: 4rem;
			line-height: 1;
		}
	}
	@media screen and (max-width: 770px) {
		.contentMenu ul.menuListUl dl.menuContainer dt .number {
			width: 70px;
			height: 70px;
		}
		.contentMenu ul.menuListUl dl.menuContainer dt .number span.count {
			font-size: 3rem;
			line-height: 1;
		}
	}

.contentMenu ul.menuListUl dl.menuContainer dt .number span.en {
	font-size: 1.2rem;
}


/* イメージ・料金表・説明テキスト部分 -----------------------------------------------------------------------------------*/
.contentMenu ul.menuListUl dl.menuContainer dd {
	width: 100%;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
}

.contentMenu ul.menuListUl dl.menuContainer dd .imageBlock {
	padding: 0 20px;
	margin: 0 0 30px;
}

.contentMenu ul.menuListUl dl.menuContainer dd .imageBlock img {
	border-radius: 20px;
	overflow: hidden;
	display: inline-block;
	width: auto;
}

.contentMenu ul.menuListUl dl.menuContainer dd .menusTxt {
	padding: 0 20px;
	margin: 0 0 30px;
}

/* 料金表部分 -----------------------------------------------------------------------------------*/
.service_name, ul.priceList, div.serviceNote  {
	position: relative;
	width: 100%;
	max-width: 840px;
}

.service_name {
  font-size: 1.17em;
	padding: 20px;
	text-align: center;
	margin: 0 auto 0px;
}
	@media screen and (min-width: 771px) {
		ul.menusPriceUl > li:not(:last-of-type) {
			margin-bottom: 50px;
		}
	}
	@media screen and (max-width: 770px) {
		ul.menusPriceUl > li:not(:last-of-type) {
			margin-bottom: 30px;
		}
	}
ul.priceList {
	padding: 0 0px;
	margin: 0 auto 0px;
}
	ul.priceList:not(:last-child) {
		margin-bottom: 20px;
	}

ul.priceList li {
	border-bottom: 1px solid #e0e0e0;
	padding: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: center;
	align-items: center;
}

ul.priceList li h4 .title {
	font-weight: bold;
	margin-bottom: 5px;
  font-size: 1.4rem;
}

ul.priceList li p.price {
	width: 150px;
	margin: 0;
}
	@media screen and (min-width: 771px) {
		ul.priceList li h4 {
			width: calc(100% - 170px);
			margin: 0 auto 0 0;
      font-size: 1.4rem;
		}
		ul.priceList li p.price {
			width: 150px;
		}
	}
	@media screen and (max-width: 770px) {
		ul.priceList li h4 {
			width: 100%;
			margin: 0 auto 10px;
      font-size: 1.3rem;
		}
		ul.priceList li p.price {
			width: 100%;
		}
    ul.priceList li h4 .title {
      font-size: 1.3rem;
    }
	}

ul.priceList li p.price span {
	text-align: right;
}

ul.priceList li span {
	display: inline-block;
	width: 100%;
	max-width: 100%;
}

ul.priceList li .free {
	display: inline-block;
	width: 100%;
	max-width: 100%;
}

div.serviceNote {
	padding: 0 20px;
	margin: 0px auto 0;
}


/* Recruit =================================================================================================================*/
.recruitListUl li {
	width: 100%;
	margin: 0 0 50px;
}

.recruitMain {
	width: 100%;
	max-width: 900px;
	padding: 0 0px;
	margin: 0 auto 50px;
}

.recruitH {
	font-weight: bold;
	letter-spacing: 0.5px;
	text-align: center;
	margin: 0 auto 30px;
	position: relative;
	width: 100%;
}
	@media screen and (min-width: 771px) {
		.recruitH {
			font-size: 2rem;
			padding: 20px;
		}
	}
	@media screen and (max-width: 770px) {
		.recruitH {
			font-size: 1.6rem;
			padding: 15px;
		}
	}

.recruitListUl li .imageMaskBlock {
	margin: 0 auto 30px;
}

.recruitMainText {
	position: relative;
	margin: 0 auto 30px;
}

/* Recruit Single =================================================================================================================*/
h3.recruitH {
  font-size: 1.17em;
	background: #dcf2f7;
	margin-bottom: 0;
}

.requirementsContainer {
	padding: 30px 0px 0;
	width: 100%;
	max-width: 800px;
	margin: 0 auto 50px;
}

.recruitFlowContainer {
	padding: 0px 0px 0;
	width: 100%;
	max-width: 800px;
	margin: 0 auto 0px;
}


dl.requirementsList, dl.flowList {
	border-bottom: 1px solid #ebebeb;
	padding: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

dl.requirementsList dt, dl.flowList dt {
	font-weight: bold;
}

	@media screen and (min-width: 771px) {
		dl.requirementsList dt {
			width: 150px;
			margin: 0;
		}
		dl.requirementsList dd {
			width: calc(100% - (150px + 20px));
			margin: 0 0 0 auto;
		}
	}
	@media screen and (max-width: 770px) {
		dl.requirementsList dt {
			width: 100%;
			margin: 0 0 15px;
		}
		dl.requirementsList dd {
			width: 100%);
			margin: 0 0 0;
		}
	}

dl.requirementsList span, dl.flowList span {
	max-width: 100%;
	display: inline-block;
	width: auto;
}

dl.flowList dt {
	width: 100%;
	margin: 0 0 15px;
}

dl.flowList dt .num {
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	position: relative;
	color: #fff;
	margin: 0 10px 0 0;
}
	dl.flowList dt .num::after {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		background: #a8deea;
		border-radius: 100%;
		z-index: -1;
	}

dl.flowList dd {
	width: 100%;
	margin: 0 0 0px;
}


/* パンくず =================================================================================================================*/
.bred {
	border-top: 1px solid #eee;
	padding: 30px 5%;
	width: 100%;
	font-size:1.3rem;
}

.bred p {
	width: 100%;
	margin: 0 auto;
	padding: 0 0px;
}

.bred i {
	margin:0 0.5em;
	font-style: inherit;
}

.bred  a {
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.bred a:hover {
	color:#51bed5;
}

/* Form  =================================================================================================================*/
/* Form部分 -----------------------------------------------------------------------------------*/
.mw_wp_form {
	overflow: hidden;
}

.formWrapOuter {
	padding: 0px 0;
}

.formWrapOuter .ttlC {
	text-align: center;
}

.modPCenter {
	text-align: center;
	margin-bottom: 1em;
}
	.modPCenter:last-of-type {
		margin-bottom: 3em;
	}

.formWrap {
	background: #edf8fb;
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 50px 20px;
}

.formWrap dl {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.formWrap dt {
	font-size: 1.6rem;
	font-weight: bold;
}

.formWrap dd {
	margin: 15px 0 30px 0;
	word-break: break-all;
}

.formWrap .required {
	background: #51bed5;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 15px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap .any {
	background: #cdcdcd;
	font-size: 1.2rem;
	color: #fff;
	font-weight: normal;
	height: 25px;
	line-height: 25px;
	display: inline-block;
	padding: 0 15px;
	margin-right: 10px;
	position: relative;
	top: -2px;
}

.formWrap textarea, .formWrap input[type="email"], .formWrap input[type="text"] {
	border: 1px solid #ddd;
	background: #fff;
	height: 40px;
	padding-left: 15px;
	width: 100%;
}

.formWrap textarea {
	height: 15em;
}

.formWrap .formBtn {
	font-size:1.6rem;
	font-weight: bold;
	position: relative;
	display:block;
	text-align:center;
	width: 100%;
	max-width: 300px;
	height:60px;
	line-height:60px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	cursor:pointer;
	margin:0 auto;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	color: #fff;
	border-radius: 5px;
}

.formWrap .formBtn:hover {
	opacity: 0.7;
}

.modoruBtn {
	margin-top: 30px !important;
}

@media screen and (max-width: 770px) {
	.formWrapOuter .modPCenter {
		text-align: left;
	}
	.formElement {
		padding: 0px 0 0px;
	}
	.formWrap {
		width: 100%;
		padding: 20px 0;
	}
	.formWrap dl {
		width: 90%;
	}
	.prWrap {
		width: 90%;
		font-size: 1.3rem;
		margin: 0 auto;
	}
	.formWrap .formBtn {
		width: 80%;
		font-size: 1.4rem;
	}
	.formWrap .privacy dt {
		font-size: 1.4rem;
		padding: 10px;
	}
}

/* Entry Privacy部分 =================================================================================================================*/
.prWrap .privacy {
	height: 180px;
	overflow-y: auto;
	padding: 20px;
	background: #fff;
	border: 4px solid #ddd;
	font-size: 1.4rem;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 40px auto;
}

.privacy .dlB {
	width: 100%;
}

.privacy .dlB i {
	font-style: normal;
}

.dlB li {
	margin-bottom: 15px;
	padding-left: 2em;
	text-indent: -2em;
}

.dlB dt {
	background: #edf8fb;
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}

.dlB .content {
	width: 100%;
	display: inline-block;
	text-indent: 0;
	vertical-align: top;
}

select {
	border: 1px solid #ddd;
	height: 30px;
	background: #fff;
}

.agreeBox {
	margin: 0 auto 30px auto;
	text-align: center;
}

.formElement {
	padding: 0px 0
}

.mwform-radio-field-text {
	cursor: pointer;
}

.mwform-checkbox-field label, .mwform-radio-field label {
	white-space: nowrap;
}

.mw_wp_form .horizontal-item+.horizontal-item {
	margin-left: auto !important;
	margin-right: 10px !important;
}

dl.formWrapDl select.date, .formWrap input[type="text"].hasDatepicker {
	width: auto;
}

.formWrap textarea {
	padding: 20px;
}

.formWrap textarea, .formWrap input {
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
}
input[type="radio"] {
	position: relative;
	-moz-appearance: button;
	-webkit-appearance: button;
	appearance: button;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	content: "";
	background-color: #FFFFFF;
	border: 1px solid #999999;
	-webkit-border-radius: 24px;
	border-radius: 24px;
	vertical-align: middle;
	cursor: pointer;
}
input[type="radio"]:checked{
  background-image: radial-gradient(circle at 50% 50%, #454545 40%, transparent 50%);
}
input[type="radio"]:checked:after {
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
	content: "";
	width: 12px;
	height: 12px;
	background: #454545;
	-webkit-border-radius: 12px;
	border-radius: 12px;
}
input[type=checkbox] {
	display: none;
}

.mwform-checkbox-field-text {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	padding: 0 0 0 24px;
}

.mwform-checkbox-field-text:after {
	position: absolute;
	top: 50%;
	left: 6px;
	display: block;
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #454545;
	border-bottom: 3px solid #454545;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.mwform-checkbox-field-text:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	margin-top: -9px;
	width: 18px;
	height: 18px;
	border: 1px solid #999999;
	background-color: #fff;
	content: '';
}

input[type=checkbox]:checked+.mwform-checkbox-field-text:after {
	opacity: 1;
}

.mw_wp_form .formWrap .horizontal-item {
	margin-left: 0;
	margin-right: 10px;
}

.mw_wp_form .formWrap .horizontal-item+.horizontal-item {
	margin-left: 0;
}



/* pgtop =================================================================================================================*/
#pgTop {
	padding-top:50px;
	margin-top:-50px;
}

#topBtn {
	position:fixed;
	bottom:2vh;
	right:10px;
	display:none;
	z-index:99;
}

#topBtn a {
	width:40px;
	height:40px;
	color:#fff;
	line-height:40px;
	font-size:2rem;
	background: #51bed5;
	text-align:center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-content: center;
	align-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}
	@media screen and (min-width: 771px) {
		#topBtn a:hover {
			opacity: 0.7;
		}
	}
	@media screen and (max-width: 770px) {
		#topBtn a:active {
			opacity: 0.7;
		}
	}


/*margin*/
.mt20 {
margin-top: 20px;
}

.mb20 {
margin-bottom: 20px;
}

.mb30 {
margin-bottom: 30px;
}

.mb40 {
margin-bottom: 40px;
}

.mb50 {
margin-bottom: 50px;
}

.mb70 {
	margin-bottom:70px;
}

.mb80 {
	margin-bottom:80px;
}

.mb90 {
	margin-bottom:90px;
}

.mb100{
	margin-bottom:100px;
}

.mb120{
	margin-bottom:120px;
}

.mb150{
	margin-bottom:150px;
}


/*
	update class (header)
*/

.blogInner.single .singleContent{
	font-size:1.6rem;
}
@media screen and (max-width:770px) {
	#indexBlogSection::after {
		top:40px;
	}
}

.logo {
	display:inline;
}
.logo {
	max-width: 200px;
	width:100%;
}
.logo a {
	display:block;
	line-height:1;
	margin: auto 0;
}
.logo img {
	max-height:50px;
	height:auto;
}
.siteHeader {
	height:80px;
}
.siteHeaderInner {
	-webkit-align-items: center;
	align-items: center;
}
.siteHeader .siteHeaderInner {
	padding: 0px 3.5em;
	margin: 0;
}
.mainNav ul.humNavi {
	margin-right:0;
}
.mainNav ul.humNavi li {
	margin-right: 2em;
}
.mainNav ul.humNavi li a {
	font-size: 1.6rem;
}
.snsList {
	width: auto;
	margin: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-content: center;
	align-content: center;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap;
	-webkit-align-items: center;
	align-items: center;
	padding: 0 0px 0 0px;
}
.snsList li, .snsList li:not(:last-of-type) {
	margin:0 1em;
}
@media screen and (max-width: 1200px) {
	.logo {
		margin:0;
		text-align: center;
	}
	.logo a img {
		max-height: 40px;
	}
	.siteHeader {
		height: 100px;
	}
	.siteHeaderInner {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.siteHeader .siteHeaderInner {
		padding: 0px 1em;
	}
	.order_top {
		order:-1;
	}
	.snsList {
		position: absolute;
		right: 0;
		top: 0;
	}
	.mainNav {
		width:100%;
		margin:1em auto 0 auto;
		position: static;
	}
	.mainNav ul.humNavi{
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	.mainNav ul.humNavi li {
		margin-right: 0;
	}
}
@media screen and (max-width: 770px) {
	.logo {
		margin:0;
		text-align: left;
	}
	.logo a {
		padding: 5px 0 5px;
	}
	.logo a img {
		max-width:200px;
		max-height:40px;
		height:auto;
	}
	.order_01 {
		display:none;
	}
	.siteHeader {
		height: 50px;
	}
	.siteHeader .siteHeaderInner {
		margin: 0 auto;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
	}
	.humNavi li a {
		font-size:1.6rem;
	}
	.snsList {
		position: static;
		right: auto;
		top: auto;
	}
	.snsList li {
		margin: 0 2em 0 0 !important;
	}
}

.footerAdd.w45 {
	justify-content:space-around;
}
.siteFooter .contactWrap .contactContainer dl.footerAdd.w45 dt, .siteFooter .contactWrap .contactContainer dl.footerAdd.w45 dd {
	width:45%;
	margin:0;
}

@media screen and (max-width: 770px) {
	.siteFooter .contactWrap .contactContainer dl.footerAdd.w45 dt, .siteFooter .contactWrap .contactContainer dl.footerAdd.w45 dd {
		width:100%;
		margin:0;
	}
	.siteFooter .contactWrap .contactContainer dl.footerAdd.w45 dt {
		margin-bottom: 30px;
	}
}



hr {
	border : none;
	width:100%;
	height:1px;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	margin: 10px 0 20px 0px;
}
hr.tel {
	margin:1em 0 2em 0;
}
.shopInfo {
	text-align:left;
	line-height:1.8;
}
.shopInfo strong {
	font-size:1.1em;
	display:inline-block;
}
.contactList strong {
	font-size:1.1em;
	display:inline-block;
	margin-bottom:0.5em;
}
.shopInfo .each {
	margin-bottom:0em;
	line-height:1.5;
}
.footerAdd a.logo {
	max-width:25%;
	margin:0;
	display: inline-block;
	text-align:left;
}

.column .each {
	margin-bottom:1.5em;
}

.openTime {
	text-align:left;
	line-height:1.4;
}
.contactList {
}
.contactList label {
	font-size:1.6rem;
	margin-bottom:0.8em;
	display:block;
}
.contactList .column {
	width:50%;
}
.contactList .column > div {
	height:auto;
}
.contactList .telNum {
	font-weight: bold;
	background: -webkit-linear-gradient(45deg, #51bed5, #7aea9a);
	background: linear-gradient(45deg, #51bed5, #7aea9a);
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255,255,255,0.0);
	color: #51bed5;
	font-size: 3.4rem;
	line-height:1;
	display: block;
	margin-bottom:5px;
}
.contactList .contactBtn a {
	width: 230px;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 1.2em 0;
	margin: 0 auto;
	display: block;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	color: #fff;
	border-radius: 5px;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	line-height:1;
}

@media screen and (min-width: 771px) {
	.siteFooter .contactWrap .contactContainer ul.contactList li.tel dl dd .telNum {
		font-size: 3.4rem;
		line-height: 3.4rem;
	}
}
h3.shopName {
	text-align:center;
	font-size:3rem;
	margin-bottom:1em;
	line-height:1.5;
}
@media screen and (max-width: 770px) {
	.shopInfo, .contactList .column, p.tel,p.fax {
		width:100%;
	}
	.footerAdd a.logo {
		margin:0 auto 1.5em auto;
		text-align:center;
		max-width:100%;
	}
	.each {
		text-align:center;
	}
	h3.shopName {
		font-size:2rem;
	}
	.contactList .telNum {
		font-size:2.8rem;
		letter-spacing:0;
	}
}
@media all and (-ms-high-contrast:none){
	.contactList .telNum {
		background: none!important;
	}
}
@media screen and (min-width: 771px) {
	.contactList .telNum {
		font-size: 3.4rem;
		line-height: 3.4rem;
	}
}

@media screen and (min-width: 480px) and (max-width: 770px) {
	.contactList .telNum {
		font-size: 2.6rem;
		line-height: 3rem;
		letter-spacing: 1px;
	}
}
@media screen and (max-width: 479px) {
	.contactList .telNum {
		font-size: 2.2rem;
		line-height: 2.8rem;
		letter-spacing: 0.5px;
	}
}
/***** refusal *****/
.refusal {
  text-align: right;
  margin-top: 30px;
}
.refusal img {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
}
@media screen and (max-width: 770px) {
  .refusal {
    margin-top: 15px;
  }
  .refusal img {
    max-width: 270px;
  }
}


/* ブログ小カテゴリ対応 */
.subWrap .categoryDl dd li a {
	position: relative;
}

.subWrap .categoryDl dd li a.current::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 2px;
}

@media screen and (min-width: 771px) {
	.subWrap .categoryDl dd li a:not(.current)::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #51bed5;
		-webkit-transform-origin: right top;
		transform-origin: right top;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
		transition: transform .3s cubic-bezier(.25,.46,.45,.94) 0ms;
	}
	.subWrap .categoryDl dd li a:not(.current):hover::after {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	.subWrap .categoryDl dd li a.current::after {
		background: #51bed5;
	}
}
@media screen and (max-width: 770px) {
	.subWrap .categoryDl dd li a:not(.current):active::after {
		-webkit-transform-origin: left top;
		transform-origin: left top;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.subWrap .categoryDl dd li ul.children > li > a {
  padding-left: 1.5em;
}
.mw_wp_form_confirm .lead_input, .mw_wp_form_confirm .privacy,.mw_wp_form_confirm .agreeBox {
	display:none;
}
.lead_confirm{
	display: none;
}
.mw_wp_form_confirm .lead_confirm{
	display: block;
}

/* Instagram Btn */
#indexGallerySection #sb_instagram #sbi_load {
	font-family: 'Overpass', "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break:break-all;
	letter-spacing:0.1em;
	font-weight: 400;
	margin-top: 30px;
	position: relative;
}
#indexGallerySection #sb_instagram .sbi_follow_btn svg {
	height: 1.8em;
	position: absolute;
	top: 0px;
	margin-right: 0;

}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn {
	display: inline-block;
	text-align: center;
}

#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a {
	width: auto;
	display: inline-block;
	font-size: 1.6rem;
	color: #515151;
	padding: 50px 0 14px;
	font-weight: bold;
	text-align: center;
	position: relative;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	background-color: transparent;
	text-align: center;
	box-shadow: none;
	overflow: hidden;
	border-radius: 0;
}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a::before,
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a::after {
	width: 100%;
	height: 4px;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a::before {
	transition: -webkit-transform 0s;
	transition: transform 0s;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	z-index: 1;
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a:hover::before {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	-webkit-transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a::after {
	background: #51bed5;
	background: -webkit-linear-gradient(left, #51bed5 0%,#7aea9a 100%);
	background: linear-gradient(to right, #51bed5 0%,#7aea9a 100%);
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	-webkit-transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	z-index: 0;
}
#indexGallerySection #sb_instagram #sbi_load .sbi_follow_btn a:hover::after {
	transition: -webkit-transform 0s;
	transition: transform 0s;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	background: #fff;
}

@media screen and (max-width: 770px) {
	#indexGallerySection #sb_instagram #sbi_load {
		margin-top: 10px;
	}
	#indexMenuSection .indexMenuMask {
		bottom: -1%;
	}
	#indexMenuSection {
		padding-bottom: 20px;
	}
}
/* 20210901 */
_:-ms-fullscreen, :root .ttlA {
	padding-top: 4px;
}
.formWrap .ttlF {
	font-size: 2rem;
}
@media screen and (max-width: 770px){
	.mw_wp_form_complete .formWrap {
		padding: 20px;
	}
	.mw_wp_form_complete .formWrap p {
		text-align: left;
	}
}
.a2a_kit .a2a_label {display:none !important;}

/***** 20210927 refusal *****/
.refusal {
  line-height: 1;
}
.refusal img {
  width: 100%;
  max-width: 285px;
  max-height: 14px;
  vertical-align: top;
}
@media screen and (max-width: 770px) {
  .refusal img {
    max-width: 285px;
  }
}
/***** 20211117 ****/
_:-ms-lang(x)::-ms-backdrop, #indexConceptSection .indexConceptMask01 .mask01 {
	top: -25px;
}
/***** 20210111 *****/
.formWrap textarea {
	vertical-align: top;
}

/*----------------------------------------
privacy
----------------------------------------*/
.p-privacy__read {
  margin: 0 0 3em;
}
.p-privacy__ttl {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #bbb;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .p-privacy__ttl {
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 13px;
    font-size: 1.3rem;
  }
}
/*----------------------------------------
c-section
----------------------------------------*/
.c-privacy-section {
  position: relative;
  margin-bottom: 5em;
}
@media screen and (max-width: 767px) {
  .c-privacy-section:not(:last-child) {
    margin-bottom: 60px;
  }
}
.c-privacy-section.is-contact {
  margin-bottom: 0;
}
.c-section__container {
  position: relative;
  margin: 0 80px;
}
@media screen and (max-width: 767px) {
  .c-section__container {
    margin: 0 20px;
  }
}
.c-section__container.is-middle {
  margin: 0 160px;
}
@media screen and (max-width: 1199px) {
  .c-section__container.is-middle {
    margin: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-middle {
    margin: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-middle.is-sp-middle {
    margin: 0 20px;
  }
}
.c-section__container.is-small {
  margin: 0 300px;
}
@media screen and (max-width: 1600px) {
  .c-section__container.is-small {
    margin: 0 200px;
  }
}
@media screen and (max-width: 1199px) {
  .c-section__container.is-small {
    margin: 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-section__container.is-small {
    margin: 0 20px;
  }
}
.p-privacy-block {
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-block {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*----------------------------------------
c-o-list-child
----------------------------------------*/
.c-o-list-child {
  position: relative;
  text-align: justify;
}
.c-o-list-child:not(:first-child) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-o-list-child:not(:first-child) {
    margin-top: 10px;
  }
}
.c-o-list-child__item {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  padding: 0 0 0 25px;
  counter-increment: c-o-list-child-number;
}
.c-o-list-child__item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
  content: "(" counter(c-o-list-child-number) ")";
}
@media screen and (max-width: 767px) {
  .c-o-list-child__item::before {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-o-list-child__item-txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-o-list-child__item-txt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/*----------------------------------------
c-guid-desc
----------------------------------------*/
.c-guid-desc {
  margin: 0 0 20px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-guid-desc {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.p-privacy-block .c-guid-desc,
.p-shopping-guide-block .c-guid-desc {
  text-align: left;
}
.c-section.is-guide .c-guid-desc {
  padding-left: 10px;
  text-align: left;
}
@media screen and (max-width: 1024px) {
  .c-section.is-guide .c-guid-desc {
    padding-right: 5px;
    padding-left: 5px;
  }
}
:not(:last-child) > .c-guid-desc:last-child {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  :not(:last-child) > .c-guid-desc:last-child {
    margin-bottom: 40px;
  }
}
/*----------------------------------------
c-o-list
----------------------------------------*/
.c-o-list {
  position: relative;
  text-align: justify;
}
.c-o-list:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .c-o-list:not(:last-child) {
    margin-bottom: 40px;
  }
}
.c-o-list__item {
  position: relative;
  z-index: 1;
  margin: 0 0 15px;
  padding: 0 10px 0 35px;
  counter-increment: c-o-list-number;
}
@media screen and (max-width: 767px) {
  .c-o-list__item {
    margin-bottom: 10px;
    padding-left: 23px;
  }
}
.c-o-list__item:last-child {
  margin-bottom: 3em;
}
.c-o-list__item::before {
  position: absolute;
  top: 0;
  left: 3px;
  display: block;
  line-height: 1.8;
  content: counter(c-o-list-number) ".";
}
@media screen and (max-width: 767px) {
  .c-o-list__item::before {
    left: 1px;
  }
}
.c-o-list__item-txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-o-list__item-txt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-form__consent {
    padding: 2em 0 1em;
    text-align: center;
    letter-spacing: 0.1rem;
}
.c-privacy-section a:not([class]),
.c-form__consent a:not([class]) {
    text-decoration: underline;
}
.c-privacy-section a:not([class]):hover,
.c-form__consent a:not([class]):hover {
    color: #90720f;
}
@media screen and (max-width: 767px) {
  .c-form__consent,
  .p-contact-form .mwform-checkbox-field-text {
    font-size: 1.4rem;
  }
}
.p-sp-menu-items-wrap {
  height: 630px;
}
.c-u-list-child__item {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-u-list-child__item {
      font-size: 12px;
      font-size: 1.2rem;
  }
}
.c-u-list-child__item::before {
    position: absolute;
    top: 10px;
    left: 5px;
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50px;
    background: #6e6e6e;
    content: "";
}

/*** footer subnav ***/
.p-global-footer-information-subnav {
  font-size: 13px;
  font-size: 1.3rem;
  word-break: break-all;
  margin: 10px 0 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-global-footer-information-subnav {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.p-global-footer-information-subnav-item {
  display: inline-block;
}

.p-global-footer-information-subnav-item:not(:last-child)::after {
  content: "|";
  padding: 0 10px;
}

.p-global-footer-information-subnav-item-link {
  transition: opacity .2s ease;
}

@media screen and (min-width: 1024px) {
  .p-global-footer-information-subnav-item-link:hover {
    opacity: .7;
  }
}
/* 20230110 */
.p-privacy-block {
  word-break: break-all;
}


/*----------------------------------------
c-breadcrumbs
----------------------------------------*/
.c-breadcrumbs {
}

@media screen and (max-width: 1024px) {
  .c-breadcrumbs {
  }
}

.c-breadcrumbs-items {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.c-breadcrumbs-item {
  font-size: 1.3rem;
}

.c-breadcrumbs-item:last-child::after {
  display: none;
}

.c-breadcrumbs-item::after {
  display: inline-block;
  margin: 0 10px;
  content: ">";
}
.c-breadcrumbs-item:last-child .c-breadcrumbs-link {
  pointer-events:none;
}

/***** 202205 SEO *****/
/***** 支援修正 *****/
#pgTop {
  margin-top: 0;
  padding-top: 0;
}
.siteHeader {
  display: block;
  height: 80px;
}
.siteHeaderInner {
  height: auto;
}
.siteHeader .siteHeaderInner {
  padding: 1em 2em;
}
.siteHeader+.mainVisual {
}
.page-title {
	top: 0;
	position: relative;
    font-size: 1.5rem;
    line-height: 1.6;
    background-color: #151515;
    color: #fff;
    padding: 13px 50px;
	z-index: 21;
	width: 100%;
}
.page-title h1, .page-title p {
    font-size: 1.5rem;
    line-height: 1.6;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}
.page-title+.siteHeader {
	top: 50px;
}
.page-title+.siteHeader+.mainVisual {
	padding-top: 130px;
}
.pageTtl {
  z-index: 0;
}
@media screen and (max-width: 1200px){
  .siteHeader {
    height: auto;
  }
  .siteHeader .siteHeaderInner {
    padding: 1em;
  }
  .snsList {
    top: 1em;
  }
}
@media screen and (max-width: 770px){
  .siteHeader {
    height: 50px;
  }
  .siteHeader .siteHeaderInner {
    padding: 0 1em;
  }
	.page-title {
		padding: 8px 5%;
		white-space: nowrap;
	}
	.page-title h1, .page-title p {
		font-size: 1.2rem;
		line-height: 2;
	}
	.page-title+.siteHeader {
		top: 40px;
	}
	.page-title+.siteHeader+.mainVisual {
		padding-top: 100px;
	}
}

/* author */
.c-author {
  margin-top: 4em;
  position: relative;
  border-top: 1px dotted #333333;
}
.c-author-label {
  display: inline-block;
  position: relative;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: .5em;
}
.c-author-label label {
  padding: 0 0 .2em;
  letter-spacing: .1em;
  position: relative;
  border-radius: 1em;
}
@media screen and (max-width: 767px) {
  .c-author {
    margin-top: 1.5em;
  }
  .c-author-label {
    width: 100%;
    left: auto;
  }                 
}
.c-author-container {
  display: flex;
  flex-wrap: wrap;
  padding: 35px;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .c-author-container {
    padding: 50px 1em 20px;
  }
}

.c-author-figure {
  display: flex;
  justify-content: center;
  width: 200px;
  height: 200px;
  border-radius: .5em;
  overflow: hidden;
}
.c-author-img {
  max-width: none;
	width: auto;
	height: auto;
}

@media screen and (max-width: 767px) {
  .c-author-figure {
    margin: 0 auto;
  }
}

.c-author-txt {
  width: calc(100% - 200px);
  padding-left: 40px;
}

@media screen and (max-width: 767px) {
  .c-author-txt {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
}

.c-author-txt-label {
  font-size: 14px;
  font-size: 1.4rem;
  color: #51bed5;
}

@media screen and (max-width: 767px) {
  .c-author-txt-label {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.c-author-txt-name {
  position: relative;
  padding-bottom: 1em;
  margin-bottom: 1em;
  font-weight: bold;
  display: flex;
  align-items: baseline;
}
.c-author-txt-name::after {
  position: absolute;
  width:2em;
  height: 100%;
  border-bottom: 1px solid #51bed5;
  content: '';
  top: 0;
  left: 0;
}

.c-author-txt-name-main {
  font-size: 1.8rem;
  padding-right: 15px;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .c-author-txt-name {
	display: block;
  }
  .c-author-txt-name-main {
    font-size: 20px;
    font-size: 2rem;
    padding: 0;
  }
}

.c-author-txt-name-sub {
  font-size: 1.2rem;
  letter-spacing: .1em;
  font-weight: 900;
  font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
}

@media screen and (max-width: 767px) {
  .c-author-txt-name-sub {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.c-author-txt-desc {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  margin-bottom: 1em;
  color: #777777;
}

.c-author-txt-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.c-author-txt-list-item {
  font-size: 13px;
  font-size: 1.3rem;
  padding-bottom: 10px;
}

.c-author-txt-list-item:not(:last-child) {
  margin-right: 1em;
}

@media screen and (max-width: 767px) {
  .c-author-txt-list {
    margin-bottom: 1em;
  }
  .c-author-txt-list-item:not(:last-child) {
    margin-right: .5em;
  }
  .c-author-txt-list-item {
    padding: 0;
  }
}

.c-author-txt-list-item-link {
  color: #51bed5;
  transition: all .2s ease;
  padding: .3em 0 0;
  display: inline-block;
  font-weight: bold;
  line-height: 1.2;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .c-author-txt-list-item-link:hover {
    opacity: .8;
    border-bottom: 1px solid #51bed5;
  }
}

.c-author-txt-sns-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.c-author-txt-sns-label {
  font-weight: 900;
  margin-right: 2em;
  font-size: 1.5rem;
  letter-spacing: .1em;
  font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
}

.c-author-txt-sns-list-item-link {
  font-size: 20px;
  font-size: 2rem;
  margin: 0 1.5em 0 0;
  transition: color .5s ease;
}

@media screen and (max-width: 767px) {
  .c-author-txt-sns-label {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .c-author-txt-sns-list-item-link:hover {
    opacity: .8;
  }
}
@media screen and (max-width: 767px) {
  .c-author-txt-sns-list-item-link {
    margin-right: 5vw;
  }
}

/*** pass ***/
.post-password-form p:last-child {
  margin-top: 20px;
}

.post-password-form input[type="password"] {
  border: 1px solid #ccc;
  padding: 3px;
}

.post-password-form input[type="submit"] {
  color: #fff;
  background: #048abf;
  padding: 4px 10px;
}
.wp-block-video video {
  width: 100%;
}
/** normal update **/
.mw_wp_form_confirm .is-confirm-none {
	display:none;
}
@media screen and (max-width: 767px) {
  .c-breadcrumbs-items {
    overflow-x: scroll;
  }
  .c-breadcrumbs-item {
    flex-shrink: 0;
    margin: 0 0 1em 0;
  }
}
.snsList li, .snsList li:not(:last-of-type) {
  margin: 0 0.7vw;
}
.modaal-container .en.humNavi {
  padding: 60px 0 30px;
}
.modaal-container .en.humNavi li a {
  font-size: 1.6rem;
  display: block;
  padding: 10px 0;
  color: #fff;
  font-weight: bold;
  margin: 0 0 5px;
}
.modaal-container a.current::after,
.modaal-container a.hoverALine:not(.current)::after {
  background: none;
  content: none;
}
.modaal-container .snsList {
  position: static;
}
.modaal-container .snsList li .fab {
  color: #ffffff;
}
.modaal-container .snsList li {
    margin: 0 1.5em 0 0 !important;
}
.modaal-wrapper * {
  fill: #ffffff !important;
}
.modaal-container .snsList 
.modaal-container .closeBT {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 99;
}
.modaal-container .sp {
  display: inline-block !important;
}
.modaal-container .closeBT {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 99;
}
@media screen and (min-width: 768px){
  .p-title-sp {
    display: none;
  }
}
.logo a {
  display: inline-block;
}
/** 20230623 **/ figure {margin-bottom: 0 !important;}

/*** 20240202 ***/
/*多重送信防止*/
.wpcf7-form.submitting .wpcf7-submit {
  pointer-events: none;
  cursor: auto;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="email"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select {
	appearance: none;
  border: 1px solid #ddd;
	background: #fff;
	height: auto;
	padding: 8px 15px;
	width: 100%;
	max-width: 100%;
	color: #303030;
	font-size: 16px;
}

.wpcf7 input[type="date"] {
  max-width: 100%;
  min-height: 3em;
}

.wpcf7 input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
  color: #303030;
}

.wpcf7 input[type="number"] {
	min-height: 3em;
}

.wpcf7 input[type="file"] {
  max-width: 100%;
  background: transparent;
}

.wpcf7 input[type="file"]::-webkit-file-upload-button {
  font-size: 14px;
}

.wpcf7 .wpcf7-list-item {
  margin: 0 1em 8px 0;
}

.wpcf7 .wpcf7-list-item.last {
  margin-right: 0;
}

.wpcf7-list-item input[type=radio],
.wpcf7-list-item input[type=checkbox] {
  display: none;
}
.wpcf7-list-item label {
  display: inline-block;
  cursor: pointer;
}

.wpcf7-list-item input[type=radio] + span,
.wpcf7-list-item input[type=checkbox] + span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  line-height: 1.28;
}

.wpcf7-list-item input[type=radio] + span::before,
.wpcf7-list-item input[type=checkbox] + span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #999;
  background-color: #fff;
  box-sizing: border-box;
}

.wpcf7-list-item input[type=radio] + span::before {
  border-radius: 50%;
}

.wpcf7-list-item input[type=radio] + span::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #454545;
  opacity: 0;
}

.wpcf7-list-item input[type=checkbox] + span::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  display: block;
  width: 12px;
  height: 8px;
  border: 3px solid #454545;
  border-top: none;
  border-right: none;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}

.wpcf7-list-item input[type=radio]:checked + span::after,
.wpcf7-list-item input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin-right: 0;
}

.formBtnArea {
	position: relative;
	text-align: center;
	margin-bottom: 20px;
}

.formBtnArea .wpcf7-spinner {
	position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 10px);
  margin: 0;
}

@media screen and (max-width: 767px) {
	.wpcf7 .formMessage01 .modPCenter {
		text-align: left;
	}
}

.wpcf7 .formWrapOuter .wpcf7-response-output {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
}


.store .mvTitleImage img {
	width: 75%;
}
@media screen and (max-width: 500px) {
	.mainVisual .mainVisualTextArea .mainVisualH span {
    -webkit-text-stroke: .2px rgba(255,255,255,.7);
	}
}
a.-store_list {
  pointer-events: none;
}

/*gutenbergの修正*/
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  top: auto;
  padding: 3em .77em .7em;
}

.wp-block-cover .wp-block-cover__inner-container {
  position: absolute !important;
}