@charset "UTF-8";

/* =============================================

  # 基本設定

  ## 配色

  - #a7d28d;
  - #32a99c;
  - #a4db83;
  - #b7eb97;
  - #ff2400;
  - #f4f6f8;
  - rgba(244, 246, 248, *);

  - $white: #fff;
  - $black: #333;

  ## ブレイクポイント

  PC 1101
  TB 1100 - 770
  SP 769

/* ==========================================================================

common

========================================================================== */
.colorsList {
	color: #a7d28d;
	color: #32a99c;
	color: #a4db83;
	color: #b7eb97;
	color: #ff2400;
	color: #f4f6f8;
}

* {
	box-sizing: border-box;
}

html {
	text-size-adjust: 100%;
}

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;
	font-size: 1.6rem;
	line-break: normal;
	line-height: 1.7;
	color: #333;
	width: 100%;
	overflow-x: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

html,
body {
	/*height: 100%;*/
	line-height: 1.6;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	main {
		overflow: hidden;
	}
}

table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

table th,
table td {
	border-collapse: collapse;
	border-spacing: 0;
}

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

.links {
	text-decoration: underline;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.links:hover {
		text-decoration: none;
	}
}

.single strong {
	font-weight: bold;
	background: -moz-linear-gradient(transparent 50%, #b7eb97 50%);
	background: -webkit-linear-gradient(transparent 50%, #b7eb97 50%);
	background: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0.5, transparent), color-stop(0.5, #b7eb97));
	background: -o-linear-gradient(transparent 50%, #b7eb97 50%);
	background: linear-gradient(transparent 50%, #b7eb97 50%);
}

.bold {
	color: #a7d28d;
	font-weight: bold;
}

img {
	max-width: 100%;
	display: block;
	font-size: 0;
	line-height: 0;
	height: auto;
	vertical-align: bottom;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	a:hover img {
		opacity: .7;
	}
}

select::-ms-expand {
	display: none;
}

label {
	font-weight: normal;
}

button {
	margin: 0;
	padding: 0;
	border: none;
	background: initial;
}

input[type='button'],
input[type='submit'],
input[type='search'],
input[type='reset'],
button {
	-webkit-appearance: none;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
	margin: 0;
	padding: 0;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-size: 100%;
}

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

.wp-post-image,
.reImg02 {
	max-width: 100%;
	height: auto;
}

/* 769px以下 */
@media screen and (max-width: 769px) {

	.wp-post-image,
	.reImg02 {
		width: 100%;
	}
}

.modP {
	margin-bottom: 1em;
}

.modP:last-child {
	margin-bottom: 0;
}

.contentNotice {
	font-size: 13px;
	font-size: 1.3rem;
}

.contentText strong,
.contentNotice strong {
	font-weight: bold;
}

.contentText i,
.contentNotice i {
	font-style: italic;
}

.contentText p,
.contentNotice p {
	margin-bottom: 1em;
}

.contentText p:last-child,
.contentNotice p:last-child {
	margin-bottom: 0;
}

.contentText+.btnA {
	margin-top: 1em;
}

.contentText .nonList {
	padding: 30px 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.contentText .nonList {
		padding: 15px 0;
	}
}

/*  
clearfix
-------------------------------------------------------------*/
.clearfix {
	zoom: 1;
}

.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

/* パンくずリスト
-------------------------------------------------------------*/
.bread {
	margin-top: 20.75%;
	border-bottom: 1px solid #ddd;
	background: #fff;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 769px) {
	.bread {
		margin-top: 43.23277%;
		font-size: 1.3rem;
	}
}

@media screen and (min-width: 769px) {
	.bread .breadList li a:hover {
		text-decoration: underline;
	}
}

.bread .breadList {
	color: #a7d28d;
	max-width: 1480px;
	margin: 0 auto;
	padding: 11px 20px;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.bread .breadList li {
	position: relative;
	font-size: 1.3rem;
	letter-spacing: .05em;
	padding-right: 15px;
	margin-right: 5px;
}

.bread .breadList li:last-child {
	margin-right: 0;
	padding-right: 0;
}

.bread .breadList li:after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	content: '>';
	z-index: 2;
	margin: auto 0;
	display: inline-block;
}

.bread .breadList li:last-child:after {
	display: none;
}

.bread .breadList li a {
	color: #a7d28d;
}

.bread .breadList li br {
	display: none;
}

/*  
SNSスタイル
-------------------------------------------------------------*/
.snsWrap {
	padding: 30px;
	background: #f2f2f2;
	margin-top: 40px;
	text-align: center;
}

.snsWrap .ttlF {
	margin-bottom: 1em;
}

.snsWrap .roboto {
	display: block;
}

/*  
基本大見出しスタイル
-------------------------------------------------------------*/
.ttlMain {
	color: #a7d28d;
	text-align: center;
	line-height: 1;
	font-weight: bold;
	margin: 0 0 3.3%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain {
		margin: 0 0 10.453%;
	}
}

.ttlMain .roboto {
	font-size: 7.5rem;
	letter-spacing: .13em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain .roboto {
		font-size: 3.5rem;
	}
}

/* COMPANY用 */
.ttlMain.companyTtl {
	margin: 0 0 -1.1%;
}

.ttlMain .sub {
	display: block;
	font-size: 2rem;
	letter-spacing: .2em;
	padding: 1% 0 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain .sub {
		font-size: 1.6rem;
		padding: 2.5% 0 0;
	}
}

/*  
基本大見出しスタイル（下層ページ用）
-------------------------------------------------------------*/
.ttlMain.under .roboto {
	font-size: 4.8rem;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.under .roboto {
		font-size: 2.5rem;
	}
}

.ttlMain.under .sub {
	font-size: 2rem;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.under .sub {
		font-size: 1.3rem;
	}
}

.ttlMain.notFound {
	font-size: 3rem;
	letter-spacing: .05em;
	margin: 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain.notFound {
		font-size: 1.8rem;
		margin: 0 0 30px;
	}
}


/*  
ローディング
-------------------------------------------------------------*/
html.fix,
body.fix {
	overflow: hidden;
}

.loadingArea {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #a7d28d;
	z-index: 100;
}

.loadingArea #loading {
	height: 1px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.loadingArea #loading svg {
	width: 100%;
	height: 2px;
}

#animatedElem {
	position: relative;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
	height: 100vh;
}

#animatedElem::after {
	content: '';
	position: absolute;
	height: 0;
	left: 50%;
	top: 50%;
	width: 100%;
	z-index: -1;
	background: #FFFFFF;
	-webkit-transition: all 0.75s ease 0s;
	-moz-transition: all 0.75s ease 0s;
	-o-transition: all 0.75s ease 0s;
	transition: all 0.75s ease 0s;
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

#animatedElem.start:after {
	height: 100%;
}


/* ==========================================================================

Web Font

========================================================================== */
.en {
	font-family: 'Anton', '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;
}

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

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

.yu {
	font-family: "Yu Mincho", "YuMincho", serif;
}


/* ==========================================================================

RWD

========================================================================== */
.pc,
.pcOnly {
	display: block;
}

.sp,
.spOnly {
	display: none;
}

/* 769px以下 */
@media screen and (max-width: 769px) {

	.pc,
	.pcOnly {
		display: none;
	}

	.sp,
	.spOnly {
		display: block;
	}
}

/* レスポンシブチェック
-------------------------------------------------------------*/
#responsibleCheck {
	width: 1px;
	height: 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#responsibleCheck {
		width: 2px;
	}
}


/* ==========================================================================

アニメーション

========================================================================== */
.trans {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/*  3D Appear */
.deg {
	position: relative;
	perspective: 1000px;
}

.deg.back {
	z-index: -1;
}

.deg>[data-type="left"] {
	transition: all 1s ease;
	transform: rotateY(90deg) translateX(-100px);
	opacity: 0;
}

.deg>[data-type="right"] {
	transition: all 1s ease;
	transform: rotateY(-90deg) translateX(100px);
	opacity: 0;
}

.deg.active>* {
	transform: rotateY(0deg);
	opacity: 1;
}

/*  Scrolling Appear */
.scroll {
	transition: transform 1.0s ease, opacity 1.0s ease;
}

.scroll[data-type="up"] {
	transform: translate3d(0, 50px, 0);
	opacity: 0.01;
}

.scroll[data-type="down"] {
	transform: translate3d(0, -100px, 0);
	opacity: 0.01;
}

.scroll[data-type="left"] {
	transform: translate3d(-100px, 0, 0);
	opacity: 0.01;
}

.scroll[data-type="right"] {
	transform: translate3d(100px, 0, 0);
	opacity: 0.01;
}

.scroll[data-type="fade"] {
	opacity: 0;
}

.scroll[data-type="up"].active,
.scroll[data-type="down"].active,
.scroll[data-type="left"].active,
.scroll[data-type="right"].active,
.scroll[data-type="fade"].active {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

.scroll[data-type="width"] {
	transition: all 1.0s ease;
	max-width: 100%;
	width: 100%;
	min-height: 62px;
	padding: 20px 0 0;
	opacity: 1;
}

.scroll[data-type="width"].active {
	width: 350px;
	padding: 20px 70px 0;
	opacity: 1;
}

.scroll[data-type="text"] {
	transition: all 1.0s ease;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale3d(1.3, 1.3, 1) rotate3d(1, -3, -1, -.1turn) translate3d(-50px, 100px, 0);
	transform: scale3d(1.3, 1.3, 1) rotate3d(1, -3, -1, -.1turn) translate3d(-50px, 100px, 0);
	/* 	transition-delay: 2s; */
}

.scroll[data-type="text"].active {
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
	transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
	transition: all 0.8s linear;
	/* 	transition-delay: 2s; */
}

.scroll[data-type="text"].dur {
	transition-delay: 0.1s;
}

.scroll[data-type="text"].dur2 {
	transition-delay: 0.2s;
}

.scroll[data-type="text"].dur3 {
	transition-delay: 0.3s;
}

.scroll[data-type="text"].dur4 {
	transition-delay: 0.4s;
}

.scroll[data-type="text"].dur5 {
	transition-delay: 0.5s;
}

.scroll[data-type="text"].dur6 {
	transition-delay: 0.6s;
}

.scroll[data-type="text"].dur7 {
	transition-delay: 0.7s;
}

.scroll[data-type="text"].dur8 {
	transition-delay: 0.8s;
}

.scroll[data-type="text"].dur9 {
	transition-delay: 0.9s;
}

.scroll[data-type="text"].dur10 {
	transition-delay: 1s;
}

.scroll[data-type="text"].dur11 {
	transition-delay: 1.1s;
}

.scroll[data-type="text"].dur12 {
	transition-delay: 1.2s;
}

.scroll[data-type="text"].dur13 {
	transition-delay: 1.3s;
}

.scroll[data-type="text"].dur14 {
	transition-delay: 1.4s;
}

.scroll[data-type="text"].dur15 {
	transition-delay: 1.5s;
}

.scroll[data-type="text"].dur16 {
	transition-delay: 1.6s;
}

.scroll[data-type="text"].dur17 {
	transition-delay: 1.7s;
}

.scroll[data-type="text"].dur18 {
	transition-delay: 1.8s;
}

.scroll[data-type="text"].dur19 {
	transition-delay: 1.9s;
}

.scroll[data-type="text"].dur20 {
	transition-delay: 2s;
}

.scroll[data-type="text"].dur25 {
	transition-delay: 2.5s;
}

.scroll[data-type="text"].dur30 {
	transition-delay: 3s;
}

.scroll[data-type="text"].dur35 {
	transition-delay: 3.5s;
}

.scrollup {
	opacity: 0;
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.scrollup.action {
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
	opacity: 1;
}

.scrollSlide {
	opacity: 0;
	-webkit-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

.scrollSlide.top {
	opacity: 0;
	-webkit-transform: translateY(-150px);
	transform: translateY(-150px);
}

.scrollSlide.left {
	opacity: 0;
	-webkit-transform: translateX(150px);
	transform: translateX(150px);
}

.scrollSlide.right {
	opacity: 0;
	-webkit-transform: translateX(-150px);
	transform: translateX(-150px);
}

.scrollSlide.action {
	-webkit-transform: translateX(0px);
	transform: translateX(0px);
	opacity: 1;
}

.scrollZoom {
	opacity: 0;
	-webkit-transform: scale3d(0, 0, -1);
	transform: scale3d(0, 0, -1);
	-webkit-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

.scrollZoom.action {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	opacity: 1;
}


/* ==========================================================================

インナーのスタイル

========================================================================== */

.inner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 5;
}

.inner.center {
	z-index: 10;
}

.bgColor {
	background-color: #ebebeb;
}

.bgColor.inner {
	padding-bottom: 100px;
}



.subTtlB .en {
	font-size: 4.0rem;
	line-height: 1.3;
	display: inline-block;
	vertical-align: top;
}

.subTtlB .min {
	font-size: 1.5rem;
	line-height: 1.3;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 35px 0 0 40px;
	margin: 0;
}

.subTtlB .min:before {
	content: "";
	position: absolute;
	height: 90px;
	width: 1px;
	top: -10px;
	left: 20px;
	background: #333;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.subTtlC {
	position: relative;
	top: -35px;
	text-align: center;
}

.subTtlC .en {
	display: block;
	font-size: 6.0rem;
	line-height: 1;
}

.subWrap .subTtlC .en {
	display: block;
	font-size: 4.0rem;
	line-height: 1;
}

@media screen and (max-width: 769px) {
	.subWrap .subTtlC .en {
		font-size: 2.4rem;
	}
}

.subTtlC .jp {
	display: block;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: bold;
	position: relative;
	margin: 10px 0 0;
}

.subTtlD {
	text-align: center;
	display: block;
	font-weight: bold;
	font-size: 2.4rem;
}

.ttlA {
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	font-weight: bold;
	margin-bottom: 10px;
	position: relative;
}

.ttlA span {
	padding: 10px 10px 5px 15px;
	position: relative;
	display: inline-block;
}

.ttlA:before,
.ttlA:after,
.ttlA span:before,
.ttlA span:after {
	content: "";
	display: block;
	position: absolute;
	background: #333;
}

.ttlA:before {
	width: 40px;
	height: 1px;
	left: -5px;
	top: 0;
}

.ttlA:after {
	width: 1px;
	height: 40px;
	left: 0;
	top: -5px;
}

.ttlA span:before {
	width: 40px;
	height: 1px;
	right: -5px;
	bottom: 0;
}

.ttlA span:after {
	width: 1px;
	height: 40px;
	right: 0;
	bottom: -5px;
}

.ttlB {
	font-size: 2rem;
	font-weight: bold;
}

.ttlC {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: .2em;
}

.ttlD {
	text-align: center;
	line-height: 1.4;
}

.ttlD .en {
	display: block;
	font-size: 4rem;
}

.ttlD .jp {
	position: relative;
	text-align: center;
}

.ttlD .jp:after,
.ttlD .jp:before {
	content: " ";
	width: 40px;
	height: 1px;
	display: inline-block;
	background: rgba(28, 28, 28, .9);
	vertical-align: top;
	margin-top: 10px;
}

.ttlD i {
	font-style: normal;
	display: inline-block;
	vertical-align: top;
	padding: 0 10px;
	font-size: 1.6rem;
}

.ttlE {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.ttlF {
	text-align: center;
	line-height: 1.4;
}

.ttlF .en {
	display: block;
	font-size: 2rem;
}

.ttlF .jp {
	position: relative;
	text-align: center;
}

.pageTtl {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 0 0 80px;
	z-index: 10;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.pageTtl .en {
	display: inline-block;
	font-size: 8.0rem;
	line-height: 1;
	letter-spacing: 0.2em;
}

.pageTtl .jp {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: bold;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 80px 0 0 55px;
	margin: 0;
}

.pageTtl .jp:before {
	content: "";
	position: absolute;
	height: 90px;
	width: 1px;
	top: 40px;
	left: 25px;
	background: #333;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}


/*btn*/
.btnA {
	width: 100%;
	max-width: 300px;
	height: 70px;
	border: 1px solid #a7d28d;
	font-size: 2.0rem;
	color: #a7d28d;
	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;
	transition: border 0.2s linear, background 0.2s linear;
}

.btnA.btnAw {
	border: 1px solid #ffffff;
	color: #ffffff;
}

@media screen and (min-width: 769px) {
	.btnA:hover {
		border: 1px solid #a7d28d;
		background-color: #a7d28d;
		color: #ffffff;
	}

	.btnA.btnAw:hover {
		border: 1px solid #ffffff;
		background-color: #ffffff;
		color: #32a99c;
	}
}

.btnB a {
	width: 150px;
	height: 40px;
	display: block;
	border: 1px solid #fff;
	border-radius: 20px;
	color: #fff;
	text-align: center;
	line-height: 38px;
	font-size: 1.4rem;
	margin-left: auto;
	margin-right: auto;
}

.btnB a:visited {
	color: #fff;
}

@media screen and (min-width: 769px) {
	.btnB a:hover {
		background: #fff;
		color: rgba(28, 28, 28, 0.9);
	}
}

/*txtBox*/
.twoBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: top;
	-ms-flex-align: top;
	align-items: top;
	width: 100%;
}

.twoBox .txtBox {
	width: 54%;
}

.twoBox .imgBox {
	width: 40%;
}


/* ==========================================================================

汎用性　Box style

========================================================================== */
.oneBox {
	padding: 35px;
	width: 100%;
	background-color: #fff;
}

.oneBox .contentText {
	margin-top: 25px;
	padding: 25px;
	background-color: #eee;
}

.mw1000 {
	width: 100%;
	max-width: 1000px;
	height: auto;
}

.mw1000 .oneBox {
	padding: 50px;
}

/*縦幅固定角丸*/
.eyeCatching {
	border-radius: 50%;
	background: #c7850b;
	color: #ffffff;
	display: block;
	width: 150px;
	height: 150px;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

/*dl*/
.dlA {
	font-size: 1.6rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.dlA dt {
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	background-color: #097c70;
	width: 25%;
	padding: 8px 0;
	margin-top: 5px;
	text-align: center;
}

.bgChange .dlA dt {
	background-color: #c7850b;
}

.dlA dd {
	width: 75%;
	padding: 0 15px;
	margin-top: 5px;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 1.3;
}

.dlA dt:first-child,
.dlA dt:first-child+dd {
	margin-top: 0;
}

.dlB {
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 800px;
}

.dlB.title+.dlB {
	margin-top: 0;
}

.w600 {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 800px;
}

.privacyWrap .dlB {
	margin-top: 20px;
}

.dlB dt {
	background: rgba(28, 28, 28, 0.2);
	text-align: center;
	font-weight: bold;
	padding: 10px 0;
}

.dlB dd {
	border-bottom: 1px solid rgba(28, 28, 28, 0.9);
	padding: 10px 0;
	width: 100%;
	display: block;
}

.dlB dd p {
	margin-bottom: 1.5em;
}

.dlB dd p:last-child {
	margin-bottom: 0;
}

.dlB dd .itemName {
	text-align: left;
}

.dlB dd .price {
	text-align: right;
}

.dlB dd small {
	display: block;
}

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

.dlB li li {
	margin: 15px 0 15px 1.5em;
}

.dlB .number {
	font-style: normal;
	font-weight: bold;
	width: 2em;
	white-space: nowrap;
	display: inline-block;
	text-indent: 0;
	vertical-align: top;
}

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

.dlB .one {
	margin-bottom: 15px;
	display: block;
}

.privacy .dlB dd {
	border-bottom: none;
}

.dlC {
	font-size: 1.6rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.dlC dt {
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	background-color: #097c70;
	width: 20%;
	padding: 8px 0;
	margin-top: 10px;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.bgChange .dlC dt {
	background-color: #c7850b;
}

.dlC dd {
	width: 80%;
	padding: 8px 15px;
	margin-top: 10px;
	font-size: 1.6rem;
	line-height: 1.3;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.dlC dt:first-child,
.dlC dt:first-child+dd {
	margin-top: 0;
}

/*threeCnt*/
.threeCnt {
	margin-bottom: 100px;
}

.threeCnt .boxList {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}

.threeCnt .boxList li {
	height: 100%;
	/*width: calc(33.33% - 10px);*/
	width: 31.944444444444443%;
	position: relative;
	margin-right: 2.083333333333333%;
	margin-bottom: 2.071428571428571%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.threeCnt .boxList li {
		margin-bottom: 7.97142%;
	}

	.threeCnt .boxList li:last-child {
		margin-bottom: 0;
	}
}

.threeCnt .boxList li:nth-child(3n) {
	margin-right: 0;
}

.threeCnt .boxList li a {
	text-decoration: underline;
	color: #ffffff;
}

.threeCnt .boxList li a .btnWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	padding: 20px;
	color: #fff;
	background-color: rgba(50, 169, 156, 0.8);
}

.threeCnt .boxList li a .btnWrap p {
	width: 100%;
	text-align: center;
}

.threeCnt .boxList li a .btnWrap .small {
	font-size: 1.8rem;
	font-weight: bold;
}

.threeCnt .boxList li a .btnWrap .btnA {
	margin-top: 40px;
}


/*fourCnt*/
.fourCnt .boxList {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.fourCnt .boxList li {
	width: 23%;
}

.fourCnt .boxList::before {
	content: "";
	display: block;
	width: 23%;
	order: 1;
}

.fourCnt .boxList::after {
	content: "";
	display: block;
	width: 23%;
}

.fourCnt .box {
	position: relative;
}

.fourCnt .boxList+.btnA {
	margin-top: 50px;
}




.message,
.feature {
	position: relative;
}

.message .rightBg {
	right: 0;
	bottom: 0;
}

.message .imgBox {
	position: relative;
	top: -150px;
}

.message .imgBox .img:first-child {
	width: 60%;
}

.message .imgBox .img:last-child {
	position: absolute;
	width: 60%;
	right: 0;
	margin-top: -50px;
}

.ba {
	position: relative;
}

.ba .rightBg {
	right: 0;
	bottom: auto;
	top: -350px;
	padding-bottom: 400px;
}

.baItem {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.baItem+.baItem {
	margin-top: 90px;
}

.baName {
	width: 21.5%;
	border: 1px solid #333;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.baName h3 {
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 2px;
	width: 100%;
	text-align: center;
}

.baName span {
	font-size: 1.8rem;
}

.option {
	font-size: 2.0rem;
	font-weight: bold;
	width: 100%;
	text-align: center;
}

.baImage {
	width: 41.7%;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.baImage figure {
	width: 50%;
	position: relative;
}

.ba .eyeCatching {
	font-weight: bold;
	position: absolute;
	left: -20px;
	top: -40px;
	z-index: 5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.stats,
.res {
	width: 100%;
	display: block;
	text-align: center;
}

.stats.en {
	font-size: 3.5rem;
	line-height: 1.2;
}

.stats.en span {
	font-size: 2.0rem;
}

.baImage figcaption {
	font-size: 3.0rem;
	line-height: 1;
	font-weight: normal;
	color: #ffffff;
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 20px;
}

.res.en {
	font-size: 2.0rem;
}

.baResult {
	width: 34.3%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.ba .dlA {
	width: 100%;
	height: 44%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.baMessage {
	width: 100%;
	min-height: 56%;
	border: 1px solid #333;
	padding: 10px 25px;
	font-size: 1.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.baMessage p+p {
	margin-top: 1.5em;
}

/*
.small{
	font-size: 1.2rem;
}
*/
.slashBtn {
	margin-top: -45px;
	margin-bottom: 50px;
	position: relative;
}

.slashBtn .rightBg {
	right: 0;
	bottom: auto;
	top: -74px;
}

.slashBtn li {
	width: 50%;
	position: relative;
}

.slashBtn li:last-child {
	margin-top: 50px;
}

.slashBtn li .bgWrap {
	position: relative;
	left: 0;
	bottom: 0;
	width: 100%;
	padding-top: 67.2%;
	z-index: 1;
}

.slashBtn li .bgWrap svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slashBtn li a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	padding: 105px 120px 50px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.slashBtn li a .btnWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	color: #fff;
	background-color: rgba(50, 169, 156, 0.8);
}

.slashBtn li a .btnWrap p {
	width: 100%;
	text-align: center;
}

.slashBtn li a .btnWrap .ttl {
	font-size: 5.0rem;
	line-height: 1;
	letter-spacing: 2px;
}

.slashBtn li a .btnWrap .small {
	font-size: 1.8rem;
	font-weight: bold;
}

.slashBtn li a .btnWrap .btnA {
	margin-top: 40px;
	cursor: pointer;
	transition: border 0.2s linear, background 0.2s linear;
}

/*feedWrap*/
.feedWrap {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 100px;
}

.gallery:last-child .feedWrap {
	margin-bottom: 0;
}

.feedWrap #sb_instagram #sbi_load {
	font-family: 'Anton', '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;
}

.feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
	width: 100%;
	max-width: 300px;
}

.feedWrap #sb_instagram #sbi_load .sbi_follow_btn a {
	width: 100%;
	height: 70px;
	border: 1px solid #32a99c;
	font-size: 2.0rem;
	line-height: 1.2;
	color: #32a99c;
	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;
	transition: border 0.2s linear, background 0.2s linear;
	padding: 0;
	margin: 0 auto;
	border-radius: 0;
	background-color: transparent;
	text-align: center;
	box-shadow: none;
}

.feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
	height: 2em;
}

@media screen and (min-width: 769px) {
	.feedWrap #sb_instagram #sbi_load .sbi_follow_btn a:hover {
		background: #32a99c;
		color: #ffffff;
	}
}

.facilityList li.listoff {
	display: none;
}

.facility .boxList li {
	margin-top: 30px;
}

.facility .boxList li:nth-child(1),
.facility .boxList li:nth-child(2),
.facility .boxList li:nth-child(3),
.facility .boxList li:nth-child(4) {
	margin-top: 0;
}

.facilityBtn[data-flag="open"] span:first-child,
.facilityBtn[data-flag="close"] span:last-child {
	display: none;
}

.facilityBtn[data-flag="open"] span:last-child,
.facilityBtn[data-flag="close"] span:first-child {
	display: inline;
}

.staffBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 20px;
	background-color: rgba(255, 255, 255, 0.8)
}

.staffBox+.staffBox {
	margin-top: 30px;
}

.staffBox .imgBox {
	width: 52%;
}

.staffBox .txtBox {
	width: 45%;
}

.staffBox .label {
	padding: 2px;
	display: inline;
	font-size: 1.4rem;
	line-height: 1.2;
	letter-spacing: 0;
	background-color: #097c70;
	color: #ffffff;
}

.bgChange .staffBox .label {
	padding: 5px;
	background-color: #333;
	line-height: 3;
}

@media screen and (max-width: 769px) {
	.bgChange .staffBox .label {
		padding: 5px;
		line-height: 1.4;
		font-size: 1.3rem;
	}
}

.staffBox .label+h3 {
	margin-top: 5px;
}

.staffBox .ruby {
	font-size: 2.0rem;
	letter-spacing: 0.1em;
}

.staffBox .contentText {
	margin-top: 30px;
}

/*price*/
.priceBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
	width: 100%;
}

.priceBox+.priceBox {
	margin-top: 50px;
}

.priceBox .imgBox {
	width: 38%;
}

.priceBox .txtBox {
	width: 58%;
}

.priceBox .contentText {
	margin-top: 30px;
}

.priceBox .contentNotice {
	margin-top: 15px;
}

.priceBox .dlA {
	margin-top: 30px;
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}

.priceBox .dlA dt {
	width: 20%;
}

.priceBox .dlA dd {
	width: 80%;
	padding: 8px 15px;
}


/* ==========================================================================

header

========================================================================== */
.siteHeader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}

.siteHeader .siteHeaderInner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 3.125% 0 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		padding: 0;
		height: 70px;
	}
}

.siteHeader .siteHeaderInner .logoWrap {
	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;
	width: 11.25%;
	margin: 0 auto;
}

.siteHeader .siteHeaderInner .logoWrap a {
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner .logoWrap {
		padding: 1vw 70px 1vw 5vw;
		width: 100%;
		height: 100%;
		text-align: left;
	}

	.siteHeader .siteHeaderInner .logoWrap img {
		width: auto;
		height: auto;
		max-width: 180px;
		max-height: calc(70px - 2vw);
	}
}

/* 下層ページ用 */
.siteHeader.underPage {
	position: fixed;
}

/* 
ナビゲーション ===================================================== */
#menuNavi {
	position: fixed;
	right: 0;
	top: 5.3125%;
	z-index: 99;
	background-color: rgba(244, 246, 248, .7);
	padding: 2.2% 2.33% 1.880% 1.4544%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi {
		display: none;
		right: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 0;
	}
}

.shows {
	display: block !important;
}

.hides {
	display: none !important;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi .menuInner {
		position: relative;
		overflow-y: auto;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

#menuNavi ul li {
	margin: 0 0 24%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul.land {
		height: 100%;
	}

	#menuNavi ul li {
		margin: 0 0 5.345%;
		text-align: center;
	}
}

#menuNavi ul li:last-of-type {
	margin-bottom: 0;
}

#menuNavi ul li a {
	display: block;
	position: relative;
	line-height: 1;
	letter-spacing: .2em;
	font-size: 0.875vw;
	/*14px 1600pxベース*/
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul li a {
		font-size: 4.375vw;
		/*font-size: 1.8rem;*/
		text-align: center;
		line-height: 2.8;
		display: inline-block;
	}
}

#menuNavi ul li a:hover {
	color: #ff2400;
}

#menuNavi ul li a.current {
	color: #ff2400;
}

#menuNavi ul li a.current:before {
	content: '';
	z-index: 100;
	position: absolute;
	top: 0;
	left: -32.345%;
	bottom: 0;
	margin: auto 0;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	background: #ff2400;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#menuNavi ul li a.current:before {
		border-radius: 0;
		left: 0;
		width: 100%;
		height: 2px;
		margin: 0 auto;
		bottom: 0;
		right: 0;
		top: 85%;
	}
}

/* 
ハンバーガーボタン ===================================================== */
.mainMenu {
	top: 20px;
	right: 5vw;
	z-index: 99;
	position: fixed;
}

.mainMenu a {
	width: 44px;
	height: 27px;
	display: block;
}

.mainMenu a span {
	top: 50%;
	left: 50%;
	width: 35px;
	margin: -1px 0 0 -13px;
	height: 2px;
	display: block;
	position: absolute;
	text-indent: -9999px;
	background: #333;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.mainMenu a span:before,
.mainMenu a span:after {
	top: 50%;
	left: 0;
	width: 35px;
	height: 2px;
	content: '';
	display: block;
	position: absolute;
	background: #333;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.mainMenu a span:before {
	margin-top: -10px;
}

.mainMenu a span:after {
	margin-top: 8px;
}

.mainMenu a span.iconClose {
	background: transparent;
}

.mainMenu a span.iconClose:before,
.mainMenu a span.iconClose:after {
	margin-top: -1px;
	background: #333;
}

.mainMenu a span.iconClose:before {
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.mainMenu a span.iconClose:after {
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}


/* ==========================================================================

mainVisual（メインビジュアル）

========================================================================== */
#contents01 {
	padding-top: 43.75%;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#contents01 {
		height: 100vh;
		background-position-x: -230px;
	}
}

section.mainVisual {
	opacity: 0;
	padding-top: 43.75%;
	overflow: hidden;
	background: url(../img/index/bg_mv.jpg) center center no-repeat;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	/* 背景固定 */
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual {
		height: 100vh;
		overflow: hidden;
	}
}

section.mainVisual .txtBox {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	text-align: center;
	color: #fff;
}

/* 425px以下 */
@media screen and (max-width: 425px) {
	section.mainVisual .txtBox {
		position: absolute;
		top: 45%;
		-webkit-transform: translateY(-45%) translateX(-50%);
		transform: translateY(-45%) translateX(-50%);
	}

}

section.mainVisual .txtBox h1,
section.mainVisual .txtBox h2 {
	white-space: nowrap;
	font-size: 3.125vw;
	/*50px 1600pxベース*/
	display: inline-block;
	letter-spacing: 0.21em;
	padding: 0 0 .41%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {

	section.mainVisual .txtBox h1,
	section.mainVisual .txtBox h2 {
		font-size: 5.125vw;
		padding: 0 0 2.11%;
		white-space: unset;
	}
}

/* 425px以下 */
@media screen and (max-width: 425px) {

	section.mainVisual .txtBox h1,
	section.mainVisual .txtBox h2 {
		font-size: 7.125vw;
		padding: 0 0 3.41%;
	}
}

section.mainVisual .txtBox .mainReadTxt {
	overflow: hidden;
	text-align: center;
	font-size: 1.5625vw;
	/*25px 1600pxベース*/
	letter-spacing: .22em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox .mainReadTxt {
		line-height: 1.5;
		font-size: 2.91vw;
		letter-spacing: 0.24em;
	}
}

/* 425px以下 */
@media screen and (max-width: 425px) {
	section.mainVisual .txtBox .mainReadTxt {
		line-height: 1.5;
		font-size: 4.25vw;
		letter-spacing: 0.24em;
	}
}

section.mainVisual .txtBox .mainReadTxt span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: center;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox .mainReadTxt span {
		padding: 0 10px;
	}
}

section.mainVisual .txtBox .mainReadTxt span::before,
section.mainVisual .txtBox .mainReadTxt span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 14.35%;
	height: 1px;
	background: #fff;
}

section.mainVisual .txtBox .mainReadTxt span::before {
	right: 100%;
}

section.mainVisual .txtBox .mainReadTxt span::after {
	left: 100%;
}

section.mainVisual .txtBox br {
	display: none;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual .txtBox br {
		display: block;
	}
}


/* ==========================================================================

mainVisual.underPage（メインビジュアル下層用）

========================================================================== */
section.mainVisual.underPage {
	padding-top: 20.75%;
	background: url(../img/index/bg_mv.jpg) center 68% no-repeat;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage {
		height: auto;
		padding-top: 43.23277%;
		background: url(../img/index/bg_mv.jpg) center center no-repeat;
		-moz-background-size: cover;
		-webkit-background-size: cover;
		-o-background-size: cover;
		-ms-background-size: cover;
		background-size: cover;
		overflow: hidden;
	}
}

section.mainVisual.underPage .txtBox .main_title {
	text-align: center;
	line-height: 1;
	padding-top: 35%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title {
		padding-top: 15%;
	}
}

section.mainVisual.underPage .txtBox .main_title.one {
	padding-top: 19%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title.one {
		padding-top: 15%;
	}
}

section.mainVisual.underPage .txtBox .main_title .mainTtl {
	display: block;
	line-height: 1;
	font-size: 2.851vw;
	font-weight: bold;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title .mainTtl {
		font-size: 6.251vw;
	}
}

section.mainVisual.underPage .txtBox .main_title .sub {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: center;
	line-height: 1;
	font-size: 1.01vw;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.mainVisual.underPage .txtBox .main_title .sub {
		font-size: 3.999vw;
		padding: 0 6px;
	}
}

section.mainVisual.underPage .txtBox .main_title .sub::before,
section.mainVisual.underPage .txtBox .main_title .sub::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 14.35%;
	height: 1px;
	background: #fff;
}

section.mainVisual.underPage .txtBox .main_title .sub::before {
	right: 100%;
}

section.mainVisual.underPage .txtBox .main_title .sub::after {
	left: 100%;
}


/* ==========================================================================

ABOUT

========================================================================== */
section.about {
	margin-top: 43.75%;
	padding: 3.09375% 0 2.09375%;
	background: #fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about {
		margin-top: 100vh;
		padding: 0 0 10.5%;
	}
}

section.about .aboutBox {
	position: relative;
	z-index: 1;
}

section.about .aboutBox:first-child {
	margin-bottom: 3.09375%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox:first-child {
		margin-bottom: 0;
	}
}

/* 
見出し ===================================================== */
section.about .aboutBox .subTtlA {
	position: absolute;
	left: 5%;
	top: 9.4375%;
	color: #a7d28d;
	background: #fff;
	z-index: 10;
	padding: 1.2623% 1% 2.524%;
	white-space: nowrap;
}

/* 1000px以下 */
@media screen and (max-width: 1000px) {
	section.about .aboutBox .subTtlA {
		width: auto;
		padding-right: 2%;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA {
		text-align: center;
		position: static;
		width: 100%;
		padding: 8% 3.4%;
	}
}

section.about .aboutBox .subTtlA .roboto {
	font-size: 4.6875vw;
	font-weight: bold;
	display: inline-block;
	vertical-align: top;
	letter-spacing: .11em;
	line-height: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .roboto {
		font-size: 3.5rem;
	}
}

section.about .aboutBox .subTtlA .jp {
	font-size: 1.4rem;
	font-weight: bold;
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding: 16.75% 0 0 2.35%;
	margin: 0;
	line-height: 1;
	letter-spacing: .13em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .jp {
		font-size: 1.6rem;
		padding: 2.5% 0 0;
		vertical-align: baseline;
		display: block;
	}
}

section.about .aboutBox .subTtlA .jp:before {
	content: '';
	position: absolute;
	height: 109.4%;
	width: 2px;
	top: 26.5%;
	left: -2.5%;
	background: #a7d28d;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .subTtlA .jp:before {
		height: 0%;
		width: 0px;
		top: 4.4%;
	}
}

/* 
メイン画像 ===================================================== */
section.about .aboutBox .imgBox {
	width: 85.125%;
	margin-left: auto;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .imgBox {
		width: 100%;
		margin-left: 0;
	}
}

/* 
サブ見出し ===================================================== */
section.about .aboutBox h4 {
	width: 36.375%;
	margin: -3.125% 0 0 5%;
	position: relative;
	z-index: 1;
	float: left;
	line-height: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 {
		width: 100%;
		margin: 0;
		float: none;
		background: #a7d28d;
		color: #fff;
		padding: 3.125% 5vw;
	}
}

section.about .aboutBox h4 span {
	background: #a7d28d;
	color: #fff;
	display: inline;
	font-size: 3.5rem;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 2;
	padding: 0.25em;
	padding-left: 0;
	padding-right: 0;
	-webkit-box-decoration-break: clone;
	-ms-box-decoration-break: clone;
	-o-box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	outline: 1px solid #a7d28d;
	box-shadow: 0.25em 1px 0 #a7d28d, 0.25em -1px 0 #a7d28d, -0.25em 1px 0 #a7d28d, -0.25em -1px 0 #a7d28d;
}

/* IE11 */
@media all and (-ms-high-contrast: none) {

	*::-ms-backdrop,
	section.about .aboutBox h4 span {
		line-height: 2.3;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 span {
		background: none;
		display: block;
		font-size: 1.8rem;
		padding: 0;
		line-height: 1.6;
		letter-spacing: .16em;
		box-shadow: none;
	}
}


/* 1080px以下 */
@media screen and (max-width: 1080px) {

	/*
	section.about .aboutBox .subTtlA {
		width:34%;
	}
	*/
	section.about .aboutBox h4 span {
		font-size: 2.4vw;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox h4 span {
		font-size: 1.8rem;
	}
}

/* 
コンテンツテキスト ===================================================== */
section.about .aboutBox .contentText {
	width: 47.6875%;
	background: #a4db83;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 2.2;
	float: right;
	margin: -3.09375% 5% 0 0;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .contentText {
		float: none;
		width: 100%;
		margin: 0;
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

section.about .aboutBox .contentText p {
	padding: 5.25% 5%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.about .aboutBox .contentText p {
		padding: 6.2% 5.55%;
	}
}

/* ==========================================================================

SERVICE

========================================================================== */
section.service {
	background: #fff;
	position: relative;
	z-index: 1;
	padding: 4.50341% 0 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service {
		padding: 10.5% 0 0;
	}
}

/* 
リスト ===================================================== */
section.service .serviceInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px 3.1597222222222223%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner {
		padding: 0 5vw 10.5%;
		margin: 0;
		max-width: inherit;
	}
}

/* 見出しスタイル */
section.service .serviceInner h4 {
	overflow: hidden;
	text-align: center;
	font-size: 4rem;
	color: #a7d28d;
	line-height: 1;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 5.17361% 0 2.1455%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 {
		font-size: 2.3rem;
		margin: 0 0 9.531%;
	}
}

section.service .serviceInner h4.ieEdge {
	line-height: 1.3;
}

section.service .serviceInner h4 span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: left;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 span {
		text-align: center;
		line-height: 1.3;
	}
}

section.service .serviceInner h4 span::before,
section.service .serviceInner h4 span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 2px;
	background: #a7d28d;
}

section.service .serviceInner h4 span::before {
	right: 100%;
}

section.service .serviceInner h4 span::after {
	left: 100%;
}

section.service .serviceInner h4 span br {
	display: none;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .serviceInner h4 span br {
		display: block;
	}
}

/* リード文 */
.readTxt {
	text-align: center;
	line-height: 2.4;
	margin: 0 0 3.125%;
	letter-spacing: .1em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.readTxt {
		line-height: 1.8;
		text-align: left;
		margin: 0 0 8.6725%;
	}
}

section.service .threeCnt:last-of-type {
	margin-bottom: 0;
}

section.service figcaption .serviceTtl {
	background: #a7d28d;
	color: #fff;
	position: relative;
	padding: 4.130434782608695% 5.521739%;
}

section.service figcaption .serviceTtl h5 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .2em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service figcaption .serviceTtl h5 {
		font-size: 1.8rem;
	}
}

section.service figcaption .contentText {
	background: #a4db83;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.8;
	padding: 6.2% 5.55%;
	min-height: 258px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service figcaption .contentText {
		font-size: 1.4rem;
		min-height: inherit;
		height: auto !important;
	}
}


/* 
ワンサービス ===================================================== */
section.service .oneServiceBox {
	background: url(../img/index/bg_one_service.gif) center center;
	-moz-background-size: 4px;
	-webkit-background-size: 4px;
	-o-background-size: 4px;
	-ms-background-size: 4px;
	background-size: 4px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceBox {
		padding: 10.5% 5vw 12.5%;
	}
}

section.service .oneServiceInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 5.034722222222222% 20px 5.277777777777778%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

/* 見出しスタイル */
section.service .oneServiceInner h4 {
	overflow: hidden;
	text-align: center;
	font-size: 4rem;
	color: #a7d28d;
	line-height: 1;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 0 0 2.361111%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 {
		font-size: 2.3rem;
		margin: 0 0 9.531%;
	}
}

section.service .oneServiceInner h4.ieEdge {
	line-height: 1.3;
}

section.service .oneServiceInner h4 span {
	position: relative;
	display: inline-block;
	padding: 0 15px;
	text-align: left;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 span {
		text-align: center;
		line-height: 1.3;
	}
}

section.service .oneServiceInner h4 span::before,
section.service .oneServiceInner h4 span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 2px;
	background: #a7d28d;
}

section.service .oneServiceInner h4 span::before {
	right: 100%;
}

section.service .oneServiceInner h4 span::after {
	left: 100%;
}

section.service .oneServiceInner h4 span br {
	display: none;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner h4 span br {
		display: block;
	}
}

section.service .oneServiceInner .contentText {
	max-width: 937px;
	margin: 2.777% auto 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner .contentText {
		margin: 14px auto 0;
	}
}

section.service .oneServiceInner .contentText p {
	font-size: 1.4rem;
	padding: 19px 25px;
	color: #fff;
	background: #a4db83;
	line-height: 1.8;
	letter-spacing: .1em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.service .oneServiceInner .contentText p {
		line-height: 1.8;
		padding: 6.2% 5.55%;
	}
}


/* ==========================================================================

VOICE

========================================================================== */
section.voice {
	background: #f6f6f6;
	padding: 4.50341% 0 2.5625%;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice {
		padding: 10.5% 5vw;
	}
}

section.voice .voiceInner {
	/* 幅決め */
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .voiceInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

.ttlMain.voice {
	margin: 0 0 9.3916%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ttlMain {
		margin: 0 0 10.453%;
	}
}

section.voice .ttlA {
	color: #a7d28d;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: .09em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .ttlA {
		font-size: 2rem;
		padding: 10px 10px 0;
	}
}

section.voice .ttlA span {
	padding: 15px 22px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .ttlA span {
		padding: 0;
	}
}

section.voice .ttlA:before,
section.voice .ttlA:after,
section.voice .ttlA span:before,
section.voice .ttlA span:after {
	background: #a7d28d;
}

section.voice .oneBox {
	margin: 0 0 10.672358591248667%;
	background: #fff;
}

section.voice .oneBox:last-of-type {
	margin: 0;
}

section.voice .oneBox .contentText {
	font-size: 1.4rem;
	margin-top: 2.8%;
	padding: 19px 25px;
	color: #fff;
	background: #a4db83;
	line-height: 1.8;
	letter-spacing: .1em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.voice .oneBox .contentText {
		padding: 6.2% 5.55%;
	}
}

section.voice .oneBox .contentText h5 {
	margin-bottom: 10px;
}


/* ==========================================================================

WORK

========================================================================== */
section.work {
	padding: 2.11% 0 .67%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work {
		padding: 10.5% 5vw;
	}
}

section.work .workInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work .workInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.work .threeCnt {
	margin-bottom: 0;
}

section.work figcaption .workTtl {
	background: #a7d28d;
	color: #fff;
	position: relative;
	padding: 4.130434782608695% 6.521739130434782%;
	overflow: hidden;
}

section.work figcaption .workTtl h4 {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: .2em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl h4 {
		font-size: 1.8rem;
	}
}

section.work figcaption .workTtl p {
	margin: 0;
	background: #ff2400;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	white-space: nowrap;
	letter-spacing: .1em;
	text-align: center;
	padding: 1% 3.61%;
	font-size: 1.3rem;
	display: block;
	float: right;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl p {
		font-size: 1.4rem;
	}
}

section.work figcaption .workTtl p.ieEdge {
	right: 13.43%;
	top: 29.5%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .workTtl p.ieEdge {
		top: 23.5%;
	}
}

section.work figcaption .contentText {
	background: #a4db83;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 1.8;
	padding: 6.2% 5.55%;
	min-height: 141px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.work figcaption .contentText {
		font-size: 1.4rem;
		min-height: inherit;
		height: auto !important;
	}
}


/* ==========================================================================

FAQ

========================================================================== */
section.faq {
	padding: 3.0625% 0 5.0625%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq {
		padding: 10.5% 5vw;
	}
}

section.faq .faqInner {
	/* 幅決め */
	max-width: 977px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .faqInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.faq .ttlA {
	color: #a7d28d;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: .09em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .ttlA {
		font-size: 2rem;
	}
}

section.faq .ttlA span {
	padding: 15px 22px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .ttlA span {
		padding: 0;
	}
}

section.faq .ttlA:before,
section.faq .ttlA:after,
section.faq .ttlA span:before,
section.faq .ttlA span:after {
	background: #a7d28d;
}

section.faq .oneBox {
	padding: 0;
	margin: 0 0 10.2454%;
	background: none;
}

section.faq .oneBox:last-of-type {
	margin: 0;
}

section.faq .oneBox .contentText {
	font-size: 1.4rem;
	margin-top: 2.6%;
	padding: 25px;
	color: #fff;
	background: #a4db83;
	line-height: 1.8;
	letter-spacing: .1em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.faq .oneBox .contentText {
		padding: 6.2% 5.55%;
	}
}


/* ==========================================================================

COMPANY

========================================================================== */
section.company {
	padding: 4.2625% 0 3.0625%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company {
		padding: 10.5% 5vw;
	}
}

section.company .companyInner {
	/* 幅決め */
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company .companyInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

section.company h4 {
	text-align: center;
	font-size: 4rem;
	color: #a7d28d;
	line-height: 1;
	position: relative;
	font-weight: bold;
	letter-spacing: .2em;
	margin: 6.6901408% 0 3.511111%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company h4 {
		font-size: 2.3rem;
		margin: 10.6901408% 0 9.531%;
	}
}

section.company h4:after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 2px;
	margin: auto;
	background: #a7d28d;
	content: '';
	z-index: -1;
}

section.company h4 span {
	background: #f6f6f6;
	display: inline-block;
	padding: 0 15px;
}

section.company table {
	margin: 0 auto;
	width: 80%;
	letter-spacing: .05em;
	border-collapse: separate;
	border-spacing: 0 10px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table {
		width: 100%;
		border-spacing: 0;
	}
}

section.company table th {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	width: 18.75%;
	vertical-align: middle;
	background: #ddd;
	text-align: center;
	line-height: 99px;
	font-size: 1.6rem;
}

section.company table th:last-of-type {
	margin-bottom: 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table th {
		font-size: 1.4rem;
		width: 100%;
		display: block;
		line-height: 44px;
		text-align: left;
		padding: 0 5.55%;
	}
}

section.company table td {
	display: table-cell;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 30px 0 31px 39px;
	width: 81.25%;
	vertical-align: middle;
	font-size: 1.6rem;
	line-height: 2.2;
	word-break: break-all;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.company table td {
		font-size: 1.4rem;
		border: none;
		width: 100%;
		display: block;
		line-height: 1.8;
		padding: 10px 5.55% 20px 5.55%;
	}

	section.company table tr:last-child td {
		padding-bottom: 0;
	}
}

section.company table td:last-of-type {
	margin-bottom: 0;
}

/* 
googlemap ===================================================== */
.ggmap {
	position: relative;
	padding-top: 35.573%;
	height: 0;
	overflow: hidden;
	width: 86.861%;
	margin: 0 auto 3.1597222222222223%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.ggmap {
		width: 100%;
		padding-top: 56.25%;
		margin: 0 auto 9.159722%;
	}
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* ==========================================================================

BLOG

========================================================================== */
section.blog {
	padding: 3.0625% 0 4.4375%;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.blog {
		padding: 10.5% 5vw;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.blog .inner {
		padding: 0;
	}
}

/* 
下部ブログページへのリンク ===================================================== */
.blogTxtLink p {
	letter-spacing: .1em;
	line-height: 1;
	padding: 2.35% 0 0;
	font-size: 1.6rem;
	text-align: right;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogTxtLink p {
		font-size: 1.5rem;
		padding: 0;
	}
}

.blogTxtLink a {
	color: #a7d28d;
	text-decoration: underline;
	position: relative;
}

.blogTxtLink a:hover {
	text-decoration: none;
}

/* 
BLOG（メイン、下層ページ） ===================================================== */
.blogInner {
	/* 幅決め */
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogInner {
		padding: 0;
		margin: 0;
		max-width: inherit;
	}
}

.blogList {
	margin: 0 auto;
	border-top: 1px solid #333;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList {
		width: 100%;
		margin: 0 auto 25px;
	}
}

.blogList li {
	border-bottom: 1px solid #333;
}

.blogList li a {
	position: relative;
	display: block;
	padding: 1.5% 1.5% 1.5% 0;
}

.blogList li a:hover {
	background: #eee;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a {
		padding: 20px;
	}
}

.blogList li a:after {
	content: "";
	position: absolute;
	width: 18px;
	height: 21px;
	right: 25px;
	top: 50%;
	margin: -10px 0 0;
	z-index: 5;
	background: url(../img/arrow_01.png) no-repeat 0 0;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a:after {
		display: none;
	}
}

@media screen and (min-width: 769px) {
	.blogList li a:hover {
		/*background: #fff;*/
	}

	.blogList li a:hover img {
		opacity: 1;
	}
}

.blogList .imgWrap {
	width: 15%;
	position: relative;
}

.imgWrapIn {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 100%;
}

.imgWrapIn img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .imgWrap {
		width: 25%;
	}
}

.blogList figure {
	margin: 0;
	padding: 0;
	width: 100%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList li a figure {
		-webkit-align-items: flex-start;
		-ms-flex-align: flex-start;
		align-items: flex-start;
	}
}

.blogList figcaption {
	padding-left: 32px;
	width: 85%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList figcaption {
		padding-left: 20px;
		width: 75%;
	}
}

.blogList .date {
	width: 100%;
	color: #a7d28d;
	font-size: 1.5rem;
	letter-spacing: 0.2em;
	margin-bottom: 7px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .date {
		font-size: 1.5rem;
	}
}

.blogList .title {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.2em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList .title {
		font-size: 1.5rem;
	}
}

.blogList .txtWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.blogList+.alignC {
		padding: 0 5vw;
	}
}

.blog .ttlInner .meta time {
	color: #a7d28d;
}

.blogArticleList {
	border-top: 1px solid #ddd;
}

.blogArticleList li {
	border-bottom: 1px solid #ddd;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: start;
	justify-content: start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

.blogArticleList li .imgWrap {
	width: 200px;
	padding: 10px 0;
	display: block;
}

.blogArticleList li .ttlWrap {
	width: 100%;
	flex: 1;
	padding-left: 30px;
}

.blogArticleList li .category a {
	color: #a7d28d;
	font-weight: bold;
}

@media screen and (min-width: 769px) {
	.blogArticleList li .category a:hover {
		text-decoration: underline;
	}
}

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

.blogArticleList .blogTtl {
	font-weight: bold;
}

@media screen and (min-width: 769px) {
	.blogArticleList .blogTtl a:hover {
		text-decoration: underline;
	}
}

/*  
ページャー
-------------------------------------------------------------*/
.pagination {
	margin-top: 40px;
}

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

.pagination-box {
	text-align: center;
	font-size: 1.4rem;
}

.pagination-box span {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	margin-right: 10px;
	background: #32a99c;
	color: #fff;
}

.pagination-box span:last-child {
	margin-right: 0;
}

.pagination-box span.link {
	background: none;
}

.pagination-box a {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-decoration: none;
	background: #fff;
	color: rgba(28, 28, 28, .9);
}

@media screen and (min-width: 769px) {
	.pagination-box a:hover {
		background: #32a99c;
		color: #fff;
	}

	.pagination-box span.link:hover {
		background: #32a99c;
		color: #fff;
	}

	.pagination-box span.link:hover a {
		color: #fff;
	}
}

/* ==========================================================================

footer

========================================================================== */
.footer {
	background: #a7d28d;
	width: 100%;
	padding: 2.75% 0 2.75%;
}

.copy {
	text-align: center;
	line-height: 1;
	display: block;
	color: #fff;
	font-weight: bold;
}

.copy small {
	letter-spacing: .08em;
	font-size: 1.6rem;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.copy small {
		font-size: 1.2rem;
	}
}

/* 
TOPへ戻る ===================================================== */
#topBtn {
	position: fixed;
	bottom: 28px;
	right: 20px;
	z-index: 98;
	display: none;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	#topBtn {
		bottom: 5vw;
		right: 5vw;
	}
}

#topBtn a {
	display: block;
	width: 40px;
	height: 40px;
	color: #fff;
	line-height: 40px;
	font-size: 2rem;
	background: #a7d28d;
	border: 1px solid rgba(255, 255, 255, .8);
	text-align: center;
}


/* ==========================================================================

404 Not Found

========================================================================== */
.cntWrap.notFound {
	z-index: 1;
	position: relative;
	background: #fff;
	min-height: 580px;
	padding: 5.03472% 20px 5.27777%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.cntWrap.notFound {
		padding: 10.5% 5vw;
		min-height: inherit;
	}

	.cntWrap.notFound .inner {
		padding: 0;
	}
}

.cntWrap.notFound .oneBox {
	text-align: center;
	padding: 50px 0;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.cntWrap.notFound .oneBox {
		text-align: left;
		padding: 0;
		font-size: 1.5rem;
	}
}

.cntWrap.notFound .oneBox a:hover {
	text-decoration: none;
}


/* ==========================================================================

汎用

========================================================================== */
.alignC {
	text-align: center;
}

.ma {
	margin-left: auto;
	margin-right: auto;
}

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

.mb10 {
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.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;
}

/*blog*/
.tableContents {
	background: #fff !important;
	border: 1px solid #e3e3e3 !important;
}

.image+.singleContent {
	margin-top: 20px;
}

.singleContent {
	width: 100%;
}

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

.singleContent p {
	margin-bottom: 1.5em;
}

.singleContent p:last-child {
	margin-bottom: 0;
}

.headingWrap .category a {
	color: #a7d28d;
	font-weight: bold;
}

@media screen and (min-width: 769px) {
	.headingWrap .category a:hover {
		text-decoration: underline;
	}
}

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

.headingWrap time {
	color: #a7d28d;
}

.singleTtl {
	text-align: left;
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.subWrap {
	margin-top: 50px;
	/*border-top: 1px solid rgba(28, 28, 28, .5);*/
}

.categoryDl {
	padding: 70px 0;
	margin-bottom: 70px;
	/*border-bottom: 1px solid rgba(28, 28, 28, .5);*/
}

.categoryDl ul {
	font-size: 0;
	text-align: center;
}

.categoryDl li {
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 10px;
}

@media screen and (max-width: 769px) {
	.categoryDl li {
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
	}
}

.categoryDl li:last-child {
	margin-right: 0;
}

.categoryDl li a {
	display: block;
	border-radius: 15px;
	border: 1px solid rgba(28, 28, 28, 0.9);
	padding: 0 20px;
}

@media screen and (max-width: 769px) {
	.categoryDl li a {
		margin: 0 60px;
		padding: 6px 0;
		border-radius: 18px;
	}
}

@media screen and (min-width: 769px) {
	.categoryDl li a:hover {
		background: rgba(28, 28, 28, 0.9);
		color: #fff;
	}
}

dt.ttlMain .roboto {
	font-size: 4.5rem !important;
}

@media screen and (max-width: 769px) {
	dt.ttlMain .roboto {
		font-size: 3rem !important;
	}
}

dt.ttlMain .sub {
	font-size: 1.8rem !important;
}

@media screen and (max-width: 769px) {
	dt.ttlMain .sub {
		font-size: 1.4rem !important;
	}
}

.subWrap .latest {
	border-top: 1px solid #ddd;
}

.subWrap .latest a {
	display: block;
	border-bottom: 1px solid #ddd;
	padding: 20px;
}

@media screen and (max-width: 769px) {
	.subWrap .latest a {
		font-size: 1.5rem;
	}
}

@media screen and (min-width: 769px) {
	.subWrap .latest a:hover {
		background: #f0f0f0;
	}
}

.subWrap .latest time {
	padding-right: 2em;
}

.subWrap .latest a br {
	display: none;
}


@media screen and (max-width: 1000px) {
	body {
		min-width: 100%;
	}

	.pageTtl .en {
		font-size: 6.4rem;
	}

	.tiltBox .inner.mw1000 {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	.slashBtn li a {
		padding: 65px 10px 10px;
	}

	.slashBtn li a .btnWrap .btnA {
		margin-top: 10px;
	}

	.threeCnt .boxList li a {
		padding: 10px;
	}

	.fourCnt .boxList {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.fourCnt .boxList li {
		width: 49%;
		margin-top: 30px;
	}

	.fourCnt .boxList li:nth-child(1),
	.fourCnt .boxList li:nth-child(2) {
		margin-top: 0;
	}

	.facility .boxList li:nth-child(3),
	.facility .boxList li:nth-child(4) {
		margin-top: 30px;
	}
}


/* ==========================================================================

SP

========================================================================== */
@media screen and (max-width: 769px) {
	.inner {
		padding-left: 5vw;
		padding-right: 5vw;
		width: 100%;
		max-width: none;
	}

	.bgColor.inner {
		background-color: transparent;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 50px;
	}

	.txtBox {
		width: 94%;
	}

	.bgChange {
		padding-bottom: 20px;
	}

	/*ttl*/
	.subTtlB .en {
		font-size: 3.0rem;
	}

	.subTtlB .min {
		font-size: 1.3rem;
		line-height: 1.3;
		padding: 30px 0 0 24px;
	}

	.subTtlB .min:before {
		height: 60px;
		width: 1px;
		top: 0px;
		left: 10px;
	}

	.subTtlC {
		top: -20px;
	}

	.blogInner .subTtlC {
		top: -10px;
	}

	.subTtlC .en {
		font-size: 3.0rem;
	}

	.subTtlC .jp {
		font-size: 1.5rem;
		margin: 5px 0 0;
	}

	.subTtlD {
		font-size: 1.8rem;
	}

	.ttlA {
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}

	.ttlA span {
		padding: 0;
	}

	.ttlA:before,
	.ttlA:after,
	.ttlA span:before,
	.ttlA span:after {
		content: "";
		display: none;
	}

	.ttlB {
		font-size: 1.5rem;
	}

	.ttlC {
		font-size: 2rem;
	}

	.ttlD .en {
		font-size: 2.4rem;
	}

	.ttlD i {
		font-size: 1.4rem;
		padding: 0 5px;
	}

	.ttlD .jp:after,
	.ttlD .jp:before {
		width: 30px;
	}

	.ttlE {
		font-size: 1.4rem;
	}

	.ttlF .en {
		font-size: 1.6rem;
	}

	.snsWrap .ttlF .en {
		font-size: 3rem;
	}

	.pageTtl {
		padding: 0 0 0 5vw;
	}

	.pageTtl .en {
		font-size: 3.5rem;
	}

	.pageTtl .jp {
		font-size: 1.6rem;
		padding: 30px 0 0 32px;
	}

	.privacyPage .pageTtl .jp {
		display: none;
	}

	.privacyPage .privacy .modPCenter {
		text-align: left;
	}

	.dlB li li {
		margin: 15px 0;
	}

	.dlB dt {
		padding: 10px;
	}

	.pageTtl .jp:before {
		height: 60px;
		width: 1px;
		top: 0px;
		left: 20px;
	}

	/*btn*/
	.btnA {
		font-size: 1.4rem;
		max-width: 100%;
		height: 60px;
	}

	.btnA a {
		width: 100%;
	}

	/* ==========================================================================

	Box style

	========================================================================== */
	.twoBox {
		display: block;
	}

	.twoBox .txtBox {
		width: 100%;
	}

	.twoBox .imgBox {
		margin-top: 20px;
		width: 100%;
	}

	.oneBox,
	.mw1000 .oneBox {
		padding: 5vw;
	}

	.voice .oneBox {
		padding: 0;
	}

	.oneBox .contentText {
		margin-top: 10px;
		padding: 5vw;
	}

	/*縦幅固定角丸*/
	.eyeCatching {
		width: 110px;
		height: 110px;
	}

	/*dl*/
	.dlA {
		font-size: 1.6rem;
	}

	.dlA dt {
		width: 45%;
		padding: 8px 0;
	}

	.dlA dd {
		width: 55%;
		padding: 0 15px;
		font-size: 2.0rem;
	}

	.w600,
	.dlB {
		width: 100%;
	}

	.dlB dd {
		display: block;
	}

	.dlB dd .itemName {
		display: block;
		width: 100%;
		font-weight: bold;
	}

	.dlB dd .price {
		display: block;
		width: 100%;
	}

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

	.dlC dt {
		font-weight: bold;
		font-size: 1.4rem;
		width: 100%;
		padding: 4px 0;
		margin-top: 5px;
		display: block;
	}

	.dlC dd {
		width: 100%;
		padding: 4px 8px;
		margin-top: 5px;
		font-size: 1.4rem;
		line-height: 1.3;
		display: block;
	}

	/*threeCnt*/
	.threeCnt {
		margin-bottom: 50px;
	}

	.threeCnt .inner {
		padding-left: 0;
		padding-right: 0;
	}

	.threeCnt .boxList {
		display: block;
	}

	.threeCnt .boxList li {
		width: 100%;
	}

	.threeCnt .boxList li a {
		padding: 15px;
	}

	.threeCnt .boxList li a .btnWrap .ttl {
		font-size: 3.0rem;
	}

	.threeCnt .boxList li a .btnWrap .small {
		font-size: 1.5rem;
	}

	.threeCnt .boxList li a .btnWrap .btnA {
		max-width: 225px;
		margin-top: 15px;
	}

	/*fourCnt*/
	.fourCnt .boxList {
		display: block;
	}

	.fourCnt .boxList li {
		width: 100%;
	}

	.fourCnt .boxList::before,
	.fourCnt .boxList::after {
		display: none;
		width: 100%;
	}

	.fourCnt .boxList li:nth-child(2) {
		margin-top: 40px;
	}

	.fourCnt .boxList li+li {
		margin-top: 40px;
	}

	.fourCnt .box figcaption {}

	.fourCnt .boxList+.btnA {
		margin-top: 25px;
	}

	.message .rightBg,
	.feature .rightBg {
		display: none;
	}

	.message .imgBox {
		position: relative;
		top: 0;
		margin-bottom: -100px;
	}

	.message .imgBox .img:first-child {
		width: 68%;
	}

	.message .imgBox .img:last-child {
		position: absolute;
		width: 68%;
		right: 0;
		margin-top: -25px;
	}

	.feature .tiltBox .inner {
		padding-top: 70px;
	}

	.ba {
		margin-bottom: 15px;
	}

	.ba .subTtlA .en {
		display: block;
	}

	.ba .subTtlA .jp {
		display: block;
		padding: 0;
	}

	.ba .subTtlA .jp:before {
		display: none;
	}

	.ba .rightBg {
		display: none;
	}

	.ba .tiltBox {
		margin-bottom: 0;
	}

	.ba .tiltBox .inner {
		padding-top: 60px;
		padding-bottom: 50px;
	}

	.baItem {
		display: block;
	}

	.baItem+.baItem {
		margin-top: 45px;
	}

	.baName {
		width: 100%;
		display: block;
		border: none;
		border-top: 1px solid #333;
		border-bottom: 1px solid #333;
		display: block;
		padding: 25px 0;
		text-align: center;
	}

	.baName h3 {
		font-size: 2.4rem;
	}

	.baName span {
		font-size: 1.4rem;
	}

	.option {
		font-size: 1.8rem;
	}

	.baImage {
		margin-top: 50px;
		width: 100%;
	}

	.ba .eyeCatching {
		font-weight: bold;
		position: absolute;
		left: -25px;
		top: -45px;
		z-index: 5;
	}

	.ba .ttl {
		font-size: 1.4rem;
	}

	.ba .stats.en {
		font-size: 2.5rem;
	}

	.ba .stats.en span {
		font-size: 1.4rem;
	}

	.ba .res.en {
		font-size: 1.4rem;
	}

	.baImage figcaption {
		font-size: 2.0rem;
		line-height: 1;
		bottom: 10px;
	}

	.baResult {
		width: 100%;
		display: block;
		margin-top: 20px;
	}

	.ba .dlA {
		width: 100%;
		height: auto;
	}

	.baMessage {
		width: 100%;
		display: block;
		border: none;
		padding: 0;
		margin-top: 20px;
		font-size: 1.4rem;
	}

	.small {
		font-size: 1.2rem;
	}

	.slashBtn {
		margin-top: -30px;
		margin-bottom: 25px;
	}

	.slashBtn .rightBg {
		display: none;
	}

	.slashBtn .inner {
		padding-left: 0;
		padding-right: 0;
	}

	.slashBtn ul {
		display: block;
	}

	.slashBtn li {
		width: 100%;
		position: relative;
	}

	.slashBtn li:last-child {
		margin-top: 20px;
	}

	.slashBtn li .bgWrap {
		position: relative;
		left: 0;
		bottom: 0;
		width: 100%;
		padding-top: 90.625%;
		z-index: 1;
	}

	.slashBtn li a {
		padding: 60px 5vw 5vw;
	}

	.slashBtn li:last-child a {
		padding: 5vw 5vw 60px;
	}

	.slashBtn li a .btnWrap .ttl {
		font-size: 3.0rem;
	}

	.slashBtn li a .btnWrap .small {
		font-size: 1.5rem;
	}

	.slashBtn li a .btnWrap .btnA {
		max-width: 225px;
		margin-top: 20px;
	}

	.feedWrap {
		max-width: none;
		margin: 0 auto 50px;
	}

	.feedWrap #sb_instagram #sbi_load {
		padding: 0 5vw;
		margin-top: 0;
	}

	.feedWrap #sb_instagram #sbi_load .sbi_follow_btn {
		margin: 20px auto 0;
	}

	.feedWrap #sb_instagram svg:not(:root).svg-inline--fa {
		height: 2em;
	}

	.facility .boxList li {
		margin-top: 0;
	}

	.facility .boxList li+li,
	.facility .boxList li:nth-child(2),
	.facility .boxList li:nth-child(3),
	.facility .boxList li:nth-child(4) {
		margin-top: 15px;
	}

	.staffBox {
		display: block;
		width: 100%;
		padding: 10px;
	}

	.staffBox+.staffBox {
		margin-top: 15px;
	}

	.staffBox .imgBox,
	.staffBox .txtBox {
		width: 100%;
	}

	.staffBox .txtBox {
		margin-top: 15px;
	}

	.staffBox .label+h3 {
		margin-top: 15px;
	}

	.staffBox .ttlC,
	.staffBox .ruby {
		text-align: center;
	}

	.staffBox .ruby {
		font-size: 1.3rem;
	}

	.staffBox .contentText {
		margin-top: 15px;
	}

	/*price*/
	.priceBox {
		display: block;
		width: 100%;
	}

	.priceBox+.priceBox {
		margin-top: 25px;
	}

	.priceBox .imgBox,
	.priceBox .txtBox {
		width: 100%;
	}

	.priceBox .txtBox {
		margin-top: 15px;
	}

	.priceBox .contentText,
	.priceBox .contentNotice {
		margin-top: 15px;
	}

	.priceBox .dlA {
		margin-top: 15px;
		display: block;
	}

	.priceBox .dlA dt {
		width: 100%;
		padding: 4px;
		font-size: 1.4rem;
	}

	.priceBox .dlA dd {
		width: 100%;
		padding: 4px;
		text-align: center;
		font-size: 1.5rem;
	}

	/*faq voice */
	.faq .tiltBox .inner,
	.voice .tiltBox .inner {
		padding: 5vw 5vw 50px;
	}

	/*access*/
	.access .tiltBox .inner {
		padding-top: 5vw;
		max-width: none;
	}

	.subWrap {
		margin-top: 25px;
	}

	.subWrap .latest a {
		padding: 10px 0;
	}

	.categoryDl {
		padding-top: 30px;
		padding-bottom: 10px;
		margin-bottom: 25px;
	}

	/* blog */
	.blogCnt .cntWidth1000 {
		padding: 20px;
	}

	.blogArticleList .blogTtl {
		font-size: 1.5rem;
	}

	.blogArticleList li .category a {
		display: block;
		font-size: 1.3rem;
		line-height: 1.4;
	}

	.blogArticleList li .ttlWrap {
		padding-left: 10px;
	}

	.blogArticleList li .ttlWrap time {
		font-size: 1.5rem;
	}

	.blogArticleList time:after {
		content: "";
	}

	.blogArticleList li .imgWrap {
		width: 25%;
		display: block;
		padding: 20px 0;
	}

	.blogArticleList li .ttlWrap {
		width: 73%;
	}

	.subWrap .latest time {
		display: block;
	}

	.singleTtl {
		font-size: 2rem;
		line-height: 1.6;
	}

	/* ==========================================================================

	Box style

	========================================================================== */
	.notFound .oneBox {
		padding: 25px;
	}

	.tel .en {
		font-size: 2.5rem;
		margin-left: 15px;
	}

	.contact .jp {
		font-size: 1.6rem;
		margin-left: 10px;
	}

	.footBtnWrap li.contact .wrap {
		padding: 10vw 5vw;
	}

	.infoWrap {
		display: none;
	}

	.snsWrap {
		padding: 15px;
		margin-top: 20px;
	}

	/*margin*/
	.mb10 {
		margin-bottom: 5px;
	}

	.mb15 {
		margin-bottom: 7px;
	}

	.mb20 {
		margin-bottom: 10px;
	}

	.mb30 {
		margin-bottom: 15px;
	}

	.mb40 {
		margin-bottom: 20px;
	}

	.mb50 {
		margin-bottom: 25px;
	}

	.mb70 {
		margin-bottom: 35px;
	}

	.mb80 {
		margin-bottom: 40px;
	}

	.mb90 {
		margin-bottom: 45px;
	}

	.mb100 {
		margin-bottom: 50px;
	}

	.mb120 {
		margin-bottom: 60px;
	}

	.mb150 {
		margin-bottom: 75px;
	}

	.privacy,
	.mw_wp_form .consent {
		max-width: 90%;
	}

	section.contact .privacy .modPCenter {
		text-align: left;
		margin-bottom: 1em;
	}
}

.cntWrap.blog {
	background: #fff;
}

/* update class */

section.service figcaption .serviceTtl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	line-height: 1.3;
}

section.work figcaption .workTtl p {
	float: none;
	margin-bottom: 1em;
	display: inline-block;
}

section.service .oneServiceInner h4 {
	line-height: 1.2;
}

@media screen and (min-width:770px) {
	#menuNavi {
		padding-left: 35px;
	}

	#menuNavi ul li a.current:before {
		left: -40px;
	}
}

/***** refusal *****/
.refusal {
	text-align: right;
	margin-top: 30px;
	width: 100%;
	max-width: 768px;
	margin: 30px auto 0;
}

.refusal img {
	width: 100%;
	max-width: 300px;
	margin-left: auto;
}

@media screen and (max-width: 770px) {
	.refusal {
		margin: 15px auto 0;
	}

	.refusal img {
		max-width: 270px;
	}
}

.privacy dd a {
	word-break: break-all;
}

.google_privacy {
	margin-top: 1em;
}

img[src$="reloclub_logo.jpg"],
img[src$="fukuri_logo.jpg"] {
	max-width: 200px;
}

.siteHeader .siteHeaderInner .logoWrap {
	max-width: 220px;
	width: 100%;
}

@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		height: 60px;
	}

	.siteHeader .siteHeaderInner .logoWrap {
		padding: 0 10px 0 20px;
		max-width: calc(100% - 60px);
		margin: 0;
		width: 100%;
	}

	.siteHeader .siteHeaderInner .logoWrap a {
		text-align: center;
	}

	.siteHeader .siteHeaderInner .logoWrap img {
		max-width: 220px;
		vertical-align: middle;
		display: inline-block;
	}
}

.siteHeader .siteHeaderInner {
	justify-content: center;
}

@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner {
		justify-content: flex-start;
	}

	.siteHeader .siteHeaderInner .logoWrap {
		display: block;
	}

	.siteHeader .siteHeaderInner .logoWrap a {
		line-height: 1;
		font-size: initial;
	}
}

#contents09 {
	min-height: 250px;
}

/* 20210812 */
.siteHeader .siteHeaderInner .logoWrap {
	margin: 0;
}

@media screen and (max-width: 769px) {
	.siteHeader .siteHeaderInner .logoWrap {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.siteHeader .siteHeaderInner .logoWrap a {
		width: auto;
		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;
	}
}

/***** 20210111 *****/
.formWrap textarea {
	vertical-align: top;
}


/***** 202205 SEO *****/
#menuNavi {
	top: 30px;
}

.mainMenu a {
	position: relative;
}

section.mainVisual .txtBox .main_title,
section.mainVisual .txtBox .main_title {
	font-size: inherit;
	letter-spacing: inherit;
}

section.mainVisual.underPage .txtBox .main_title .sub {
	display: inline-block;
	position: relative;
	top: 0.5em;
	font-size: 1.8rem;
	letter-spacing: .1em;
	padding: 0 .5em;
}

section.mainVisual.underPage .txtBox .main_title .mainTtl {
	letter-spacing: .2em;
}

@media screen and (max-width: 769px) {
	#menuNavi {
		top: 0px;
	}

	.siteHeader .siteHeaderInner {
		height: 100%;
	}

	.siteHeader .siteHeaderInner .logoWrap {
		align-items: flex-start;
		padding: 20px;
	}

	section.mainVisual.underPage {
		padding-top: 200px;
	}

	.bread {
		margin-top: 200px;
	}

	section.mainVisual.underPage .txtBox .main_title .mainTtl {
		font-size: 3rem;
	}
}

@media screen and (max-width: 500px) {
	section.mainVisual.underPage .txtBox .main_title .mainTtl {
		font-size: 7vw;
		line-height: 1.2;
	}

	section.mainVisual.underPage .txtBox .main_title .sub {
		font-size: 4vw;
		top: 0.2em;
	}
}

.c-post-content h4 {
	margin-top: 30px;
	margin-bottom: 20px;
	padding: 0 0 5px 10px;
	font-size: 1.6rem;
	line-height: 1.5;
}

.c-author-txt-sns-list-item-link span {
	transform: translate(4%);
}

.p-global-header {
	display: block;
}

/*** h1 ***/
.page-title {
	font-size: 1.5rem;
	line-height: 1.6;
	background-color: #3a3b3c;
	color: #fff;
	padding: 13px 30px;
	height: 50px;
	transition: height .1s linear, padding .1s linear;
}

.l-main.is-index {
	padding-top: 0 !important;
}

.is-overed .page-title {
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.page-title h1,
.page-title p {
	font-size: 1.5rem;
	line-height: 1.6;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media screen and (max-width: 991px) {
	.page-title {
		padding: 8px 15px;
		height: 40px;
		white-space: nowrap;
	}

	.page-title h1,
	.page-title p {
		font-size: 1.2rem;
		line-height: 2;
	}
}

/* author */
.snsWrap {
	margin: 40px 20px 50px;
}

.c-auther-title {
	font-weight: bold;
	margin-top: 50px;
	font-family: "Lato", "Noto Sans JP", Arial, Helvetica, sans-serif;
	color: #d5d5d5;
	letter-spacing: .2em;
	font-size: 1.4rem;
	padding-left: .5em;
}

.c-author {
	margin-top: 1em;
	position: relative;
	border-top: 2px solid #d5d5d5;
	border-bottom: 2px solid #d5d5d5;
}

.c-author-label {
	display: inline-block;
	position: relative;
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: .8em;
}

.c-author-label label {
	padding: .2em 0;
	letter-spacing: .2em;
	position: relative;
	color: #d5d5d5;
	font-weight: bold;
}

@media screen and (max-width: 769px) {
	.c-auther-title {
		padding: 0;
	}

	.c-author {
		margin-top: .5em;
	}

	.c-author-label {
		width: 100%;
		text-align: center;
	}

	section.mainVisual.underPage .txtBox .main_title .sub {
		letter-spacing: .1em;
	}
}

.c-author-container {
	display: flex;
	flex-wrap: wrap;
	padding: 30px 30px 30px 0;
	align-items: flex-start;
}

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

.c-author-figure {
	display: flex;
	justify-content: center;
	width: 240px;
	height: 240px;
	overflow: hidden;
}

.c-author-img {
	max-width: none;
	width: auto;
	height: auto;
}

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

}

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

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

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

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

.c-author-txt-name {
	margin-bottom: 1em;
	font-weight: bold;
	display: flex;
	align-items: baseline;
}

.c-author-txt-name-main {
	font-size: 2.4rem;
	padding-right: 15px;
	line-height: 1.5;
	color: #a7d28d;
	letter-spacing: .2em;
}

@media screen and (max-width: 769px) {
	.c-author-txt-name {
		display: block;
		text-align: center;
	}

	.c-author-txt-name-main {
		font-size: 20px;
		font-size: 2rem;
		padding: 0;
	}

	.snsWrap {
		margin: 20px 0px 25px;
	}
}

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

@media screen and (max-width: 769px) {
	.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;
}

.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: 1.5em;
}

@media screen and (max-width: 769px) {
	.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;
		margin-bottom: 1em;
	}
}

.c-author-txt-list-item-link {
	background: #d5d5d5;
	color: #ffffff;
	transition: all .2s ease;
	margin: .3em 0 0;
	display: inline-block;
	font-weight: bold;
	line-height: 1.3rem;
	padding: .4em 1em;
	letter-spacing: .2em;
}

@media screen and (min-width: 770px) {
	.c-author-txt-list-item-link:hover {
		background: #e5e5e5;
	}
}

.c-author-txt-sns-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	padding-top: .5em;
	padding-right: 1em;
}

.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: 2.2rem;
	margin: 0 0 0 1.4em;
	transition: color .5s ease;
	color: #d5d5d5;
}

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

	.c-author-txt-sns-list {
		padding-right: 0;
	}
}

@media screen and (min-width: 770px) {
	.c-author-txt-sns-list-item-link:hover {
		opacity: .8;
	}
}

/*** gurtenberg nav ***/
.singleContent {
	position: relative;
}

div#toc_container {
	width: 100%;
	margin-top: 6em;
	margin-bottom: 50px;
	padding: 15px;
	border: 1px solid #ddd;
	background: #fff;
}

#toc_container a {
	padding-left: .5em;
	text-decoration: underline !important;
}

div#toc_container a:hover {
	text-decoration: none !important;
	border: none;
}

@media screen and (max-width: 991px) {
	div#toc_container {
		padding: 20px;
	}
}

#toc_container p.toc_title {
	margin: 0 0 1em;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: left;
	position: relative;
	padding-left: .9em;
	text-align: left !important;
	position: absolute;
	top: -2.5em;
	left: 0;
}

#toc_container p.toc_title::before {
	content: none;
	font-size: 12px;
	left: 0;
	position: absolute;
	bottom: .6em;
}

div#toc_container p.toc_title+ul.toc_list {
	margin-top: 0;
}

div#toc_container ul li {
	margin-bottom: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
}

div#toc_container>ul>li:before {
	content: '○';
	left: 0;
}

div#toc_container ul ul {
	margin-top: 10px;
	margin-left: 0;
}

div#toc_container ul li ul li {
	margin-bottom: 0;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.6;
	color: #666;
}

div#toc_container ul li ul li:before {
	content: '・ ';
	font-size: 1.6rem;
	position: relative;
}

div#toc_container ul ul ul {
	margin-top: 0.5em;
}

div#toc_container ul li ul li ul li {
	text-indent: 1em;
}

div#toc_container>ul ul {
	padding-left: 2.5em;
	margin-bottom: 1em;
}

div#toc_container>ul ul ul {
	padding-left: 1em;
}

div#toc_container>ul ul a {
	padding-left: 0;
}

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

	div#toc_container ul li,
	div#toc_container ul li ul li {
		font-size: 13px;
		font-size: 1.3rem;
		margin-bottom: 15px;
	}

	div#toc_container>ul ul {
		padding-left: .5em;
	}

	#toc_container p.toc_title {
		font-size: 1.6rem;
	}
}

/*** 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%;
}

/*----------------------------------------
isGutenberg
----------------------------------------*/
.isGutenberg h2 {
	font-size: 2rem;
	border-bottom: 1px solid #ccc;
	margin-bottom: 1em;
	font-weight: bold;
	text-align: left;
	line-height: 1.4;
}

.isGutenberg h3 {
	padding: 10px;
	background: #eee;
	margin-bottom: 1em;
	font-weight: bold;
	margin-top: 1.5em;
	text-align: left;
}

.isGutenberg h4 {
	margin-bottom: 1em;
	margin-top: 1.8rem;
	text-align: left;
}

.isGutenberg ul li:before {
	content: "・";
	position: absolute;
	left: 0em
}

.isGutenberg ul li {
	margin-left: 1.2em;
}

.isGutenberg ol {
	counter-reset: item;
}

.isGutenberg ol li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}

.isGutenberg ol li:before {
	counter-increment: item;
	content: counter(item)'.';
	padding-right: 0.5em;
	font-weight: bold;
}

.isGutenberg .wp-block-rss,
.isGutenberg .wp-block-latest-posts,
.isGutenberg .wp-block-categories {
	border: none;
	padding: 0;
}

.wp-block-embed-youtube iframe {
	width: 100%;
	height: 53vw;
	max-height: 550px;
}

@media screen and (max-width: 769px) {
	.wp-block-embed-youtube iframe {
		height: 49vw;
	}

	.isGutenberg h2 {
		font-size: 16px;
	}
}

/*----------------------------------------
privacy
----------------------------------------*/
.c-form-consent {
	padding-top: 0;
}

.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-section {
	position: relative;
}

.c-section:not(:last-child) {
	margin-bottom: 120px;
}

.c-section.is-privacy {
	padding-top: 100px;
}

@media screen and (max-width: 767px) {
	.c-section:not(:last-child) {
		margin-bottom: 60px;
	}

	.c-section.is-privacy {
		padding-top: 40px;
	}
}

.c-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;
	}
}

.is-privacy a:not([class]),
.c-form__consent a {
	text-decoration: underline;
	position: relative;
}

.is-privacy a:not([class]):hover,
.c-form__consent a:hover {
	color: #a7d28d;
}

.formWrap dl+p.c-form__consent {
	padding: 0 1em .5em;
	text-align: center;
	letter-spacing: 0.1rem;
	max-width: 1000px;
	font-size: 1.5rem;
}

.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;
	}
}

@media screen and (max-width: 500px) {
	.formWrap dl+p.c-form__consent {
		font-size: 3.7vw;
	}
}

.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-sub-link
----------------------------------------*/
.p-footer-sub-link {
	text-align: center;
	padding: 0px 1em 0;
}

.p-footer-sub-link {
	background: #ebebeb;
}

.p-footer-sub-link-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: auto;
	padding: 1em 0;
}

@media screen and (max-width: 1024px) {
	.p-footer-sub-link-list {
		justify-content: center;
	}
}

.p-footer-sub-link-item {
	margin: 0 5px;
}

.p-footer-sub-link-link {
	position: relative;
	display: block;
	overflow: hidden;
	padding: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 900;
	letter-spacing: 1.5px;
	letter-spacing: 0.15rem;
	transition: color cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	line-height: 1em;
	text-decoration: underline;
}

.p-footer-sub-link-link:hover {
	color: #a7d28d;
}

.p-footer-sub-link-link:hover::before {
	-webkit-animation: nav-link-enter 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	animation: nav-link-enter 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.p-post-eyecatch-src {
	display: inline;
}

.p-post-eyecatch::after {
	content: none;
}

.c-breadcrumbs-item:last-child .c-breadcrumbs-link {
	pointer-events: none;
}

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

section.mainVisual .txtBox {
	padding: 0 1em;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

section.mainVisual.underPage .txtBox .main_title {
	padding: 0;
	margin-top: 40px;
}

.page-title~main#cnt section.mainVisual.underPage .txtBox .main_title {
	margin-top: 90px;
}

@media screen and (max-width: 500px) {
	section.mainVisual.underPage .txtBox .main_title {
		letter-spacing: .1em;
	}

	.page-title~main#cnt section.mainVisual.underPage .txtBox .main_title {
		margin-top: 70px;
	}
}

/***** 20221214 *****/
.mw_wp_form_confirm .is-confirm-none {
	display: none;
}

/***** 20230124 *****/
/* section.contact {
	min-height: calc(100vh - 185px) !important;
} */

@media screen and (max-width: 767px) {
	section.contact {
		min-height: 250px !important;
	}
}

/** 20230623 **/
figure {
	margin-bottom: 0 !important;
}

/* 20230825 */
.a2a_s_share1 svg path:first-child {
	fill: #222 !important;
}

/* 20231219 */
.c-guid-desc {
	word-break: break-all;
}

div#toc_container>ul>li:before {
	padding-left: 1em;
}

div#toc_container a {
	margin-left: 1em;
}

/* 20240201 contact form 7 */

/* ==========================================================================

CONTACT

========================================================================== */
section.contact {
	padding: 5% 0 0;
	background: #f6f6f6;
	position: relative;
	z-index: 1;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact {
		padding: 10.5% 5vw 0;
	}
}

section.contact .formWrapOuter {
	padding: 0 0 4.4375%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .formWrapOuter {
		padding: 0 0 8.375%;
	}
}

section.contact .formWrap {
	background: #ebebeb;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 3.125% 0 4.0625%;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .formWrap {
		width: 100%;
		padding: 5vw 0;
	}
}

section.contact .modPCenter {
	text-align: center;
}

section.contact .comp {
	min-height: 340px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .comp {
		min-height: inherit;
		margin-bottom: 19.45%;
	}
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact .comp .modPCenter {
		text-align: left;
	}
}

.pointCenter {
	text-align: center;
	margin-bottom: 1.55em;
	line-height: 1.7;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.pointCenter {
		font-size: 1.4rem;
		margin-bottom: 1.2em;
		text-align: left;
	}
}

.pointCenter.bottom {
	margin-bottom: 2.75em;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.pointCenter.bottom {
		margin-bottom: 1.4em;
	}
}

section.contact h4.ttlC {
	text-align: center;
	margin-bottom: 40px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	section.contact h4.ttlC {
		margin-bottom: 20px;
	}
}

.formWrap dl {
	width: 75%;
	margin: 0 auto;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dl {
		width: 90%;
	}
}

.formWrap dt {
	font-size: 1.4rem;
}

.formWrap dd {
	margin: 15px 0 30px;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dd {
		margin: 10px 0 15px 0;
	}
}

.formWrap dd:last-of-type {
	margin: 15px 0 53px;
}

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

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

.formWrap textarea,
.formWrap input[type="text"],
.formWrap input[type="email"],
.formWrap input[type="tel"],
.formWrap select,
.formWrap input[type="date"],
.formWrap input[type="number"] {
	border: 1px solid #ddd;
	background: #fff;
	height: 40px;
	padding: 0 10px;
	width: 100%;
}

.formWrap textarea {
	height: 196px;
	vertical-align: top;
}

.formWrap dl+p {
	max-width: 300px;
	margin: 0 auto;
}

.formWrap .formBtnWrap {
	position: relative;
}

.formWrap .formBtn {
	text-align: center !important;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	height: 70px;
	font-size: 1.6rem;
	letter-spacing: .1em;
	background: #fff;
	border: 2px solid #a7d28d;
	color: #a7d28d;
	cursor: pointer;
	transition: border .2s linear, background .2s linear;
	/*
	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;
	*/
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap dl+p {
		max-width: inherit;
		width: auto;
		margin: 0;
	}

	.formWrap .formBtn {
		width: 90%;
		height: 60px;
		font-size: 1.4rem;
		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;
	}
}

.formWrap .formBtn+.formBtn {
	margin: 30px auto 0;
	border: 1px solid #ccc;
	color: #ccc;
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.formWrap .formBtn+.formBtn {
		margin: 15px auto 0;
	}
}

/* 769px以上 */
@media screen and (min-width: 769px) {
	.formWrap .formBtn:hover {
		border: 2px solid #a7d28d;
		background: #a7d28d;
		color: #ffffff;
	}

	.formWrap .formBtn+.formBtn:hover {
		border: 2px solid #a7d28d;
		background: #a7d28d;
		color: #ffffff;
	}
}

.formElement {
	padding: 150px 0
}

/* 769px以下 */
@media screen and (max-width: 769px) {
	.formElement {
		padding: 70px 0 50px;
	}
}

.formWrap input[type="radio"]+span {
	cursor: pointer;
}

.formWrap input[type="checkbox"] label,
.formWrap input[type="radio"] label {
	white-space: nowrap;
}

.formWrap textarea {
	padding: 20px;
}

.formWrap select {
	border: 1px solid #ddd;
	height: 30px;
}

input[type='radio'] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.formWrap input[type="radio"]+span {
	position: relative;
	display: inline-block;
	padding-left: 32px;
	line-height: 24px;
	min-height: 24px;
}

.formWrap input[type="radio"]+span:before {
	position: absolute;
	display: inline-block;
	border-radius: 50%;
	background: #fff;
	content: '';
	box-sizing: border-box;
}

.formWrap input[type="radio"]+span:after {
	position: absolute;
	display: inline-block;
	border-radius: 50%;
	content: '';
}

.formWrap input[type="radio"]+span:before {
	top: 12px;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #dedede;
	transform: translateY(-50%);
}

.formWrap input[type="radio"]+span:after {
	top: 12px;
	left: 12px;
	width: 12px;
	height: 12px;
	background: #a7d28d;
	opacity: 0;
	-webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	-webkit-transform: translateY(-50%) translateX(-50%) scale3d(0.8, 0.8, 1);
	transform: translateY(-50%) translateX(-50%) scale3d(0.8, 0.8, 1);
}

input[type='radio']:checked+span:after {
	opacity: 1;
	-webkit-transform: translateY(-50%) translateX(-50%) scale3d(1, 1, 1);
	transform: translateY(-50%) translateX(-50%) scale3d(1, 1, 1);
}

input[type=checkbox] {
	display: none;
}

input[type="checkbox"]+span {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	padding: 0 0 0 24px;
}

input[type="checkbox"]+span: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);
}

input[type="checkbox"]+span: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+span:after {
	opacity: 1;
}

.privacy {
	margin: 20px 0 10px 0;
	display: block;
	height: 200px;
	overflow: auto;
	padding: 16px;
	border: 1px solid #ccc;
	font-size: 1.2rem;
	margin: 0 auto 1em;
	background-color: #fffff7;
}

.privacy_title {
	text-align: center;
	font-weight: bold;
	margin-bottom: 1rem;
}

.mw_wp_form .privacy dl {
	width: auto;
}

.privacy dt {
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.privacy .num {
	font-style: normal;
	font-weight: bold;
	display: table-cell;
	padding-right: 10px;
	white-space: nowrap;
}

.privacy .content {
	display: table-cell;
}

.privacy,
.formWrap .consent {
	max-width: 75%;
}

.formWrap .consent {
	text-align: center;
	margin: 0 auto 2em;
}

.formWrap .consent * {
	cursor: pointer;
}

/* 769px以下 */
@media screen and (max-width: 769px) {

	.privacy,
	.formWrap .consent {
		width: 100%;
	}

	.formWrap .privacy dl dd span {
		display: table-cell !important;
	}
}

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

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

.wpcf7-list-item:first-child {
	margin-left: 0;
}

.wpcf7-not-valid-tip {
	padding-top: 5px;
}

.formWrap input,
.formWrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #000;
	min-height: 45px;
	border-radius: 0;
}

.formWrap textarea {
	border-radius: 0;
}

.wpcf7 input[type="file"] {
	min-height: auto;
	width: 100%;
	background-color: transparent;
}

input::-webkit-date-and-time-value {
	text-align: left;
}

.wpcf7 .consent {
	text-align: center;
	margin: 0 auto 2em;
}

.wpcf7 .consent * {
	cursor: pointer;
}

span.wpcf7-spinner {
	position: absolute;
	top: 110%;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
}

.wpcf7 form .formWrap .wpcf7-response-output {
	max-width: 75%;
	margin-right: auto;
	margin-left: auto;
	font-family: "游ゴシック", "Yu Gothic", '游ゴシック体', 'YuGothic', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
}

@media screen and (max-width: 769px) {
	.wpcf7 form .formWrap .wpcf7-response-output {
		max-width: 90%;
	}
}

.wpcf7-form.submitting .wpcf7-submit {
	pointer-events: none;
	cursor: auto;
}

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

	.privacy,
	.wpcf7 .consent {
		max-width: 90%;
	}
}

/*** 20240517 ***/
.blogList li a:after {
	background-image: url('data:image/svg+xml;utf8,<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="36pt" height="42pt" viewBox="0 0 36 42" style="" preserveAspectRatio="xMidYMid meet"><g fill="%23a7d28d" stroke="%23a7d28d"><path d="M 3.280 3.301 C 4.260 4.106 11.572 8.509 19.530 13.086 C 27.489 17.663 34.000 21.674 34.000 22.000 C 34.000 22.326 27.489 26.337 19.530 30.914 C 5.432 39.022 -0.203 42.696 3.000 41.694 C 6.667 40.547 35.500 23.075 35.500 22.000 C 35.500 21.341 28.525 16.746 20.000 11.789 C 4.637 2.855 -0.325 0.336 3.280 3.301 "/></g></svg>');
	background-size: contain;
}

/***** 20240517 *****/
.a2a_s_share1 svg path:first-child {
	fill: #fff !important;
}

/** 20240530 **/
.logoWrap a {
	text-align: center;
}

.logoWrap a img {
	display: inline;
}

.formWrap {
	display: none;
}

.service_agreement .threeCnt .boxList li {
	width: calc(25% - 15px);	
}
.service_agreement .threeCnt .boxList li:nth-child(3n) {
	margin-right: 2.083333333333333%;
}
.service_agreement .threeCnt .boxList li:nth-child(4n) {
	margin-right: 0;
}
@media screen and (max-width: 769px) {
	.service_agreement .threeCnt .boxList li {
		width: 100%;
	}
}