@charset "UTF-8";

/********************
** 1.パーツ
** 2.汎用（共通）設定
** 3.ビジュアルエディタ使用時のスタイル設定・親設定変更
*********************/

/********************************************************
 !parts
*********************************************************/

/* !h(n)eading, title
------------------------------------------------------- */
.headLine01,
.headLine01-fwB,
.headLine01-green {
	font-size: 2.3rem;
	line-height: 1.4;
}
	.headLine01-fwB { font-weight: bold;}
	.headLine01-green { color: var(--main-green);}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line {
	font-size: 2.0rem;
	line-height: 1.4;
}
	.headLine02-fwB { font-weight: bold;}
	.headLine02-green { color: var(--main-green);}
	.headLine02-b-line {
		color: var(--main-green);
		border-bottom: solid 3px var(--dark-green);
	}
	.headLine02-l-line {
		border-left: 6px solid var(--main-green);
		font-weight: bold;
		padding-left: .5em;
		margin-left: 2px;
	}

/* 02-l-line lead */
.headLine02-l-line span.lead {
	display: block;
	margin-top: 6px;
	font-size:  70%;
}

.headLine03,
.headLine03-fwB,
.headLine03-green,
.headLine03-l-line {
	font-size: 1.8rem;
	line-height: 1.4;
	margin-bottom: 1.3em;
}
	.headLine03-fwB { font-weight: bold;}
	.headLine03-green { color: var(--main-green);}
	.headLine03-l-line {
		border-left: 6px solid var(--main-green);
		font-weight: bold;
		padding-left: .5em;
		margin-left: 2px;
	}

/* title-icon */
.title-icon {
	position: relative;
	padding-left: 36px;
	line-height: 1.3;
}
	.title-icon::before{
		position: absolute;
		font-family: "icomoon";
		content: "\e906";
		top: 50%;
		left: 0;
		width: 25px;
		height: 25px;
		color: #fff;
		line-height: 25px;
		text-align: center;
		font-size: 1.6rem;
		font-weight: normal;
		background-color: #ffca2c;
		border-radius: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	.title-icon::after {
		display: block;
		position: absolute;
		content: "";
		top: 50%;
		left: 20px;
		width: 0;
		height: 0;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 12px solid #ffca2c;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}

/* !icon
------------------------------------------------------- */
.icon-tree {
	color: var(--main-green);
	font-weight: bold;
}

.icon-tree::before {
	font-family: "icomoon";
	content: "\e904";
	display: inline-block;
	vertical-align: middle;
	font-size: 3.5rem;
	font-weight: normal;
	margin: -6px -15px 0 0;
}

/* !entry
------------------------------------------------------- */
/* home */
.entry-cat {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	font-size: 80%;
	line-height: 1.2;
	text-align: center;
	padding: 2px 0;
	font-weight: bold;
}

/* post */
.btn-entry-cat {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: 80%;
	line-height: 1.2;
	min-width: 8.5em;
	text-align: center;
	font-weight: bold;
}
	.btn-entry-cat a {
		display: block;
		/*padding: 2px 4px 2px 12px;*/
		padding: 2px 12px 2px 4px;
		text-decoration: none;
		color: #fff;
	}
	.btn-entry-cat a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		/*left: 2px;*/
		right: 6px;
		display: block;
		content: "";
		width: 4px;
		height: 4px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn-entry-cat a:hover, .btn-entry-cat a:focus{
		color: inherit;
	}

/* entry-new */
.entry-new {
	color: var(--red);
	font-weight: bold;
	font-size: 80%;
}


/* !button
------------------------------------------------------- */
.btn_basic01 {
	position: relative;
	background-color: var(--main-green);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn_basic01 a {
		display: block;
		padding: .5em;
		padding-right: 22px;
		/*padding-left: 22px;*/
		text-decoration: none;
		color: #fff;
	}
	.btn_basic01 a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 10px;
		/*left: 6px;*/
		display: block;
		content: "";
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn_basic01 a:hover, .btn_basic01 a:focus {
		background-color: var(--bg-hover-rgb);
		color: inherit;
	}

.btn-tel,
.btn-request,
.btn-contact,
.btn-visit {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn-tel a, .btn-request a, .btn-contact a, .btn-visit a {
		display: block;
		padding: .5em;
		text-decoration: none;
		color: #fff;
	}
	.btn-tel a:hover, .btn-request a:hover, .btn-contact a:hover, .btn-visit a:hover { color: #fff;}

.btn-tel a::before, .btn-request a::before, .btn-contact a::before, .btn-visit a::before {
	font-family: "icomoon";
	display: inline-block;
	vertical-align: middle; /*bottom*/
	font-weight: normal;
	font-size: 2.0rem; /*2.0rem*/
	margin-right: 5px;
}
	.btn-tel a::before    { content: "\e903"; margin-bottom: -1px;}
	.btn-request a::before{ content: "\e902";}
	.btn-contact a::before{ content: "\e901";}
	.btn-visit a::before  { content: "\e905";}

/* event page : angle-down */
.btn-visit.angle-down a::before {
	font-family: "FontAwesome";
	content: "\f103";
	margin-right: 10px;
}


/* ichiran-link button */
.btn_waku01px {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}
	.btn_waku01px a{
		display: block;
		padding: .7em .5em;
		/*padding-left: 20px;*/
		padding-right: 20px;
		text-decoration: none;
		border: 1px solid #999;
		background-color: #fff;
	}
	.btn_waku01px a,
	.btn_waku01px a:hover, .btn_waku01px a:focus{
		color: #666;
	}
	.btn_waku01px a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 10px;
		/*left: 6px;*/
		display: block;
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid #999;
		border-right: 2px solid #999;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.btn_waku01px a:hover, .btn_waku01px a:focus {
		background-color: var(--bg-light-gray);
	}

/* pageContents-link button */
.btn_img-link {
	width: 100%;
	line-height: 1.1;
	text-align: left;
}
	.btn_img-link a {
		display: block;
		text-decoration: none;
		border: 1px solid var(--main-green);
		background-color: var(--main-green);
		color: #fff;
	}
	.btn_img-link a:hover, .btn_img-link a:focus {
		color: #fff;
		opacity: .8;
	}

.btn_img-link .contentsFitBox.viewport-all {
	display: table;
	border-collapse: collapse;
}
.btn_img-link .contentsFitBox.viewport-all img {
	display: table-cell;
}
.btn_img-link .contentsFitBox.viewport-all .area-text {
	display: table-cell;
	vertical-align: middle;
	width: 80%;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0 16px;
}


/* readmore
------------------------------------------------------- */
.readmore{
	position: relative;
	display: inline-block;
	background-color: var(--main-green);
	color: #fff;
	font-size: var(--fzS);
	line-height: 1.2;
}
	.readmore a {
		display: block;
		color: inherit;
		padding: .5em;
		/* padding-left: 16px; */
		padding-right: 24px;
		text-decoration: none;
	}
	.readmore a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 10px;
		/*left: 3px;*/
		display: block;
		content: "";
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
.readmore a:hover, .readmore a:focus{
	background-color: var(--bg-hover-rgb);
	color: inherit;
}


/* right */
.readmore.alignright,
body.page #contents .readmore {
	display: table;
	margin-left: auto;
	margin-top: -.5em;
}

/* size */
.article .readmore,
body.page #contents .readmore {
	font-size: var(--fzS);    /*80% →88%*/
}

/* color */
.article .readmore.bg_gray444,
body.page #contents .readmore {
	background-color: #444;
}

/* multi contents */
.readmore-wrapper {
	text-align: right;
	margin-top: -.5em;
}
	body.page #contents .readmore-wrapper .readmore,
	.article .readmore-wrapper .readmore {
		display: inline-block;
		vertical-align: top;
		margin: 0 0 .7em .7em;
	}


/* home-readmore 後差し替え */
.home-readmore,
.home-readmore-s {
	position: relative;
	display: block;
	text-align: left;
	line-height: 1.2;
	margin: 0 auto;
}
	.home-readmore {
		background-color: var(--gray444);
		color: #fff;
		font-weight: bold;
	}
	.home-readmore-s {
		border: 1px solid var(--gray444);
		font-size: var(--fzS);
	}
.home-readmore a,
.home-readmore-s a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: inherit;
	text-decoration: none;
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
	.home-readmore a {
		padding: var(--box-padding);
		padding-right: 35px;
	}
	.home-readmore-s a {
		padding: var(--box-padding-s);
		padding-right: 30px;
	}
	.home-readmore a:hover, .home-readmore a:focus {
		background-color: var(--bg-hover-rgb);
		color: inherit;
	}
	.home-readmore-s a:hover, .home-readmore-s a:focus {
		opacity: .7;
		color: inherit;
	}

.home-readmore a::after,
.home-readmore-s a::after {
	flex-shrink: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 14px;
	content: '';
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
	.home-readmore a::after {
		border-color: #fff;
	}
	.home-readmore-s a::after {
		border-color: var(--gray444);
	}
/* arrow before */
/* .home-readmore a::before,
.home-readmore-s a::before {
	flex-shrink: 0;
	margin: 0 1em 0 -.5em;
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
	.home-readmore a::before {
		border-color: #fff;
	}
	.home-readmore-s a::before {
		border-color: var(--gray444);
	}
*/

.home-readmore-wrapper {
	text-align: right;
}
.home-readmore-wrapper > .home-readmore,
.home-readmore-wrapper > .home-readmore-s {
	display: inline-block;
	vertical-align: top;
	margin: 0;
}

/* mark
------------------------------------------------------- */
/* ※付き用 annotation */
.mark-note { 
	font-size: var(--fzS); /* 85%→88%に */
	line-height: 1.3;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: .6em;
	list-style: none;
}
	ul.mark-note { margin-bottom: 0;}
	ul.mark-note li { margin-bottom: .8em;}

/* mark-disc */
.mark-disc,
ul.mark-disc li,
dl.mark-disc dd {
	position: relative;
	padding-left: 1em;
	line-height: 1.5;
	margin-bottom: .8em;
	list-style: none;
}
ul.mark-disc li:last-child,
dl.mark-disc dd:last-child {margin-bottom: 1.5em;}

.mark-disc::before,
ul.mark-disc li::before,
dl.mark-disc dd::before {
	position: absolute;
	content: "";
	top: .55em;
	left: .1em;
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background: var(--dark-green);
}
	ul.mark-disc,
	dl.mark-disc {
		position: static;
		padding-left: 0;
	}
	ul.mark-disc::before,
	dl.mark-disc::before {
		position: static;
		content: "";
	}

/* no-mark */
.no-mark,
.mark-disc li.no-mark,
.mark-disc dd.no-mark {
	position: static;
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
	.mark-disc li.no-mark::before,
	.mark-disc dd.no-mark::before {
		position: static;
		content: "";
	}

/* mark-arrow yellow */
.mark-arrow,
ul.mark-arrow li,
dl.mark-arrow dd {
	position: relative;
	padding-left: .9em;
	line-height: 1.4;
	margin-bottom: .8em;
	list-style: none;
}
ul.mark-arrow li:last-child,
dl.mark-arrow dd:last-child {
	margin-bottom: 1em;
}

.mark-arrow a {
	color: var(--main-green);
	font-weight: bold;
	text-decoration: none;
}
.mark-arrow a:hover {opacity: .8;} /*color: #00e000;*/

.mark-arrow::before,
ul.mark-arrow li::before,
dl.mark-arrow dd::before {
	position: absolute;
	content: "";
	top: .2em;
	left: 0;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left: 10px solid var(--yellow);
}
	ul.mark-arrow,
	dl.mark-arrow {
		position: static;
		padding-left: 0;
	}
	ul.mark-arrow::before,
	dl.mark-arrow::before {
		position: static;
		content: "";
		border: none;
	}

/* mark-arrow-single */
.mark-arrow-single,
ul.mark-arrow-single li,
dl.mark-arrow-single dd {
	position: relative;
	padding-left: 1em;
	line-height: 1.3;
	margin-bottom: .8em;
	list-style: none;
}
ul.mark-arrow-single li:last-child,
dl.mark-arrow-single dd:last-child {
	margin-bottom: 1em;
}

.mark-arrow-single a {
	text-decoration: none;
}

.mark-arrow-single::before,
ul.mark-arrow-single li::before,
dl.mark-arrow-single dd::before {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	left: 0;
	display: block;
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--main-green);
	border-right: 2px solid var(--main-green);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
	ul.mark-arrow-single {
		position: static;
		padding-left: 0;
	}
	ul.mark-arrow-single::before,
	dl.mark-arrow-single::before {
		position: static;
		content: "";
		border: none;
	}

/* mark-check */
.mark-check,
ul.mark-check li {
	position: relative;
	padding-left: 2em;
	line-height: 1.5;
	margin-bottom: .8em;
	list-style: none;
}
ul.mark-check li:last-child {
	margin-bottom: 1em;
}
.mark-check::before,
ul.mark-check li::before {
	position: absolute;
	top: -1px;
	bottom: 0;
	margin: auto;
	left: 0;
	display: block;
	content: "";
	width: 1em;
	height: .5em;
	border-top: 4px solid var(--main-green);
	border-right: 4px solid var(--main-green);
	transform: rotate(135deg);
}
	ul.mark-check {
		position: static;
		padding-left: 0;
	}
	ul.mark-check::before {
		position: static;
		content: "";
		border: none;
	}


/* !List
------------------------------------------------ */
.list-horizontal li {
	display: inline-block;
	vertical-align: top;
	margin-right: 2em;
}

.dl_float dt {
	float: left;
	margin-bottom: .2em;
}
.dl_float dd {
	margin-bottom: .2em;
}

.dl_table01,
.dl_table01 dt,
.dl_table01 dd {
	border-style: dashed;
	border-color: #ccc;
}

.dl_table01 {
	border-width: 0 0 1px 0;
}
	.dl_table01 dt{
		float: left;
		clear: left;
		width: 8em;
		padding: .5em 0;
		border-width: 1px 0 0 0;
	}
	.dl_table01 dd{
		margin-left: 8em;
		padding: .5em 0 .5em 1em;
		border-width: 1px 0 0 0;
	}

/* !table
------------------------------------------------ */
.table01 {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ccc;
	font-size: 1.2rem;
	margin-bottom: 2em;
	margin-top: 0;
}

.table01 caption {
	font-size: 1.4rem;
	font-weight: bold;
}

.table01 th, 
.table01 td {
	padding: 0.2em;
	border: 1px solid #ccc;
	vertical-align: middle;
}

.table01 th { background-color: #f4f4f4;}
	
.table01 thead th,
.table01 td {
	text-align: center;
}

/* option */
.table01.table-fixed { table-layout: fixed;}
.table01.table-break-all { word-break: break-all;}
.table01 tbody.no-bgcolor th { background-color: transparent;}
.table01 tbody.taC th { text-align: center;}

/* !balloon
-------------------------------------- */
.balloon-b-line,
.balloon-t-line {
    position: relative;
	padding: 0.5em;
    border: 1px solid #ccc;
    background-color: var(--bg-light-gray);
	border-radius: 5px;
}
.balloon-b-line {margin-bottom: 20px !important;}
.balloon-t-line {margin-top: 20px;}

.balloon-b-line:before, .balloon-b-line:after,
.balloon-t-line:before, .balloon-t-line:after {
    position: absolute;
	content: "";
	left: 2em;
	border: solid transparent;
	width: 0;
	height: 0;
	border-width: 10px;
}
.balloon-b-line:before, .balloon-b-line:after {top: 100%;}
.balloon-t-line:before, .balloon-t-line:after {top: -20px;}	

	.balloon-b-line:before{border-top-color: #ccc;}
	.balloon-b-line:after {border-top-color: var(--bg-light-gray); margin: -1px 0 0 0;}

	.balloon-t-line:before{border-bottom-color: #ccc; margin: -1px 0 0 0;}
	.balloon-t-line:after {border-bottom-color: var(--bg-light-gray);}

.title.balloon-b-line {
	font-weight: bold;
	font-size: 115%;
}

/* !box, waku
-------------------------------------- */
/* box */
.box01 {
	width: 100%;
	text-align: left;
	padding: 0;
}
	.box01 a {
		text-decoration: none;
	}
	.box01 .box-title {
		font-size: var(--fzL); /* 115% */
		line-height: 1.2;
		font-weight: bold;
		color: var(--main-green);
	}
	.box01 a:hover .box-title,
	.box01 .box-title a:hover {opacity: .8;} /*color: #00e000;*/

/* box01 + boder + padding */
.waku-06px {
	background-color: #fff;
	text-align: left;
	padding:  var(--box-padding); /*12px→25px*/
	border: 6px solid #e6e6e6;
}

.waku-01px {
	text-align: left;
	padding: var(--box-padding-s); /* 8px 10px →15px */
	border: 1px solid #e6e6e6;
}
/* title-bg-gray */
.waku-01px .title-bg-gray,
/*figcaption*/.title-bg-gray {
	display: table;
	text-align: left;
	margin: .3em auto .5em;
	background-color: var(--bg-light-gray);
	font-size: var(--fzL);
	font-weight: bold;
	line-height: 1.2;
}


.waku-title {
	padding-bottom: 1.5em;
    margin: 1.5em 0 1em;
    border: 2px solid var(--yellow-green);
}
.waku-title p,
.waku-title figure,
.waku-title .mark-disc {
	margin-inline: 20px;  /*10px→20px*/
}
	#contents .waku-title :last-child {
		margin-bottom: 0;
	}
/* title-bg-green */
.waku-title .title-bg-green {
	display: inline-block;
	background-color: var(--yellow-green);
    padding: .5em 10px .6em;
	margin: 0 0 1em;
    color: #fff;
	line-height: 1.2;
	/*font-size: 1.6rem;*/
	font-weight: bold;
}
.waku-title.fzS .title-bg-green.fzM {
	font-size: 110%;
}

/* waku-dotted + title-icon */
.waku-dotted {
	padding: var(--box-padding-s); /*12px 10px →15px*/
	/*padding-bottom: 12px;*/
    margin: 1.5em 0 1em;
    border: 2px dotted var(--yellow-green);
	border-radius: 8px;
}
	.waku-dotted .title-icon {
		margin: 3px 10px 12px 0;
	}

/* !contentsCol
-------------------------------------- */
.contentsCol {
	width: 100%;
	margin: 0 auto;
}

/* col1 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col1_2 {
	width: 100%;
	margin-bottom: 1.5em;
}

/* col2 */
.contentsCol .col2,
.contentsCol .col2_3,
.contentsCol .col2_4,
.contentsCol .col2_4_no-space,
.contentsCol .col2-4, 
.contentsCol .col2-5 {
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col2_4_no-space {
		width: 49%;
	}
	.contentsCol .col2:nth-child(odd),
	.contentsCol .col2_3:nth-child(odd),
	.contentsCol .col2_4:nth-child(odd),
	.contentsCol .col2_4_no-space:nth-child(odd),
	.contentsCol .col2-4:nth-child(odd),
	.contentsCol .col2-5:nth-child(odd) {
		margin-left: 0; 
	}

/* col3 */
.contentsCol .col3 {
	display: inline-block;
	vertical-align: top;
	width: 31%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col3:nth-child(3n+1) {
		margin-left: 0;
	}


/* !contentsFitBox
-------------------------------------- */
/* for responsive */
.contentsFitBox {
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 14px 0;
}

/* viewport-all */
.contentsFitBox.viewport-all {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport-all .col-fitBox {
	display: table-cell;
}

/* option */
.contentsFitBox.vaT .col-fitBox { vertical-align: top;}
.contentsFitBox.vaM .col-fitBox { vertical-align: middle;}
.contentsFitBox.vaB .col-fitBox { vertical-align: bottom;}

.no-space {}
.contentsFitBox.no-space {
	border-collapse: collapse !important;
	border-spacing: 0 0;
}


@media (min-width: 480px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.4rem;}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line { font-size: 2.2rem;}


/* !btn
----------------------------- */
.btn_img-link .contentsFitBox.viewport-all .area-text {
	width: 70%;
}

/* !contentsCol
----------------------------- */
/* col2 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col1_2 {
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0 0 1em 2%;
}
	.contentsCol .col1-4:nth-child(odd),
	.contentsCol .col1-3:nth-child(odd),
	.contentsCol .col1_2:nth-child(odd) {
		margin-left: 0; 
	}

/* col3 */
.contentsCol .col2-4,
.contentsCol .col2-5,
.contentsCol .col2-4:nth-child(odd),
.contentsCol .col2-5:nth-child(odd) {
	width: 31.4%;
	margin-left: 2%;
}
	.contentsCol .col2-4:nth-child(3n+1),
	.contentsCol .col2-5:nth-child(3n+1) {
		margin-left: 0;
	}


/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport480px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport480px .col-fitBox {
	display: table-cell;
}


}


@media (min-width: 640px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.6rem;}

.headLine02,
.headLine02-fwB,
.headLine02-green,
.headLine02-b-line,
.headLine02-l-line { font-size: 2.4rem;}

.headLine03,
.headLine03-fwB,
.headLine03-green,
.headLine03-l-line { font-size: 2.0rem;}


/* !table
-------------------------------------- */
.table01 {
	font-size: 1.3rem;
}

.table01 caption {
	font-size: 1.5rem;
}

/* !contentsCol
-------------------------------------- */
/* col3 */
.contentsCol .col1-4,
.contentsCol .col1-3,
.contentsCol .col2_3,
.contentsCol .col1-4:nth-child(odd),
.contentsCol .col1-3:nth-child(odd),
.contentsCol .col2_3:nth-child(odd) {
	width: 31.4%;
	margin-left: 2%;
}
	.contentsCol .col1-4:nth-child(3n+1),
	.contentsCol .col1-3:nth-child(3n+1),
	.contentsCol .col2_3:nth-child(3n+1) {
		margin-left: 0;
	}

/* col4 */
.contentsCol .col2_4_no-space {
	width: 25%;
	margin: 0 0 1em 0;
}

.contentsCol .col2_4,
.contentsCol .col2_4:nth-child(odd),
.contentsCol .col2-5,
.contentsCol .col2-5:nth-child(odd),
.contentsCol .col2-5:nth-child(3n+1){
	width: 23.5%;
	margin-left: 1.1%;
}
	.contentsCol .col2_4:nth-child(4n+1),
	.contentsCol .col2-5:nth-child(4n+1) {
		margin-left: 0; 
	}

/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport640px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport640px .col-fitBox {
	display: table-cell;
}

}

@media (min-width: 768px){

.headLine01,
.headLine01-fwB,
.headLine01-green{ font-size: 2.8rem;}

/* !btn
----------------------------- */
.btn-tel,
.btn-request,
.btn-contact,
.btn-visit {
	font-size: 1.7rem;
}

.btn_img-link .contentsFitBox.viewport-all .area-text {
	width: 75%;
}

/* !contentsCol
-------------------------------------- */
/* col4 */
body.parent .contentsCol .col2-4,
body.parent .contentsCol .col2-4:nth-child(odd),
body.parent .contentsCol .col2-4:nth-child(3n+1) {
	width: 23.5%;
	margin-left: 1.4%;
}
	body.parent .contentsCol .col2-4:nth-child(4n+1) {
		margin-left: 0; 
	}

/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport768px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport768px .col-fitBox {
	display: table-cell;
}


}

@media (min-width: 980px){

.headLine01,
.headLine01-green{ font-size: 3.0rem;}
.headLine01-fwB { font-size: 2.9rem;}

.headLine02,
.headLine02-green,
.headLine02-b-line { font-size: 2.5rem;}


/* !table
-------------------------------------- */
.table01 {
	font-size: 1.4rem;
}

/* !contentsCol
-------------------------------------- */
/* col4 */
.contentsCol .col1-4,
.contentsCol .col1-4:nth-child(odd),
.contentsCol .col1-4:nth-child(3n+1),
body.child .contentsCol .col2-4,
body.child .contentsCol .col2-4:nth-child(odd),
body.child .contentsCol .col2-4:nth-child(3n+1) {
	width: 23.5%;
	margin-left: 1.4%;
}
	.contentsCol .col1-4:nth-child(4n+1),
	body.child .contentsCol .col2-4:nth-child(4n+1) {
		margin-left: 0; 
	}

/* col5 */
.contentsCol .col2-5,
.contentsCol .col2-5:nth-child(odd),
.contentsCol .col2-5:nth-child(3n+1),
.contentsCol .col2-5:nth-child(4n+1) {
	width: 18.8%;
	margin-left: 1%;
}
	.contentsCol .col2-5:nth-child(5n+1) {
		margin-left: 0; 
	}


/* !contentsFitBox
-------------------------------------- */
.contentsFitBox.viewport980px {
	display: table;
	table-layout: fixed;
}
.contentsFitBox.viewport980px .col-fitBox {
	display: table-cell;
}

}

/* for title, lead etc.（疑似#content-Title設定）*/
/* width90% */ 
.narrow-width-setting {margin-inline: 5%;}
.blockC-table.narrow-width-setting, .narrow-width-setting.blockC-table {
	padding-inline: 5%;
}
@media (min-width:768px) {
  /* width85% */ 
  .narrow-width-setting {margin-inline: 7%;}
  .blockC-table.narrow-width-setting, .narrow-width-setting.blockC-table {
	padding-inline: 7%;
  }
}

/*******************************************************************************
 ! General Style
********************************************************************************/
/* !Base Fonts -------------------------------------------------------------- */
.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fzSSS { font-size: var(--fzSSS);}
.fzSS  { font-size: var(--fzSS);}
.fzS   { font-size: var(--fzS);}
.fzM   { font-size: 100%;}
.fzL   { font-size: var(--fzL); line-height: 1.4;}
.fzLL  { font-size: var(--fzLL); line-height: 1.2;}
.fzLLL { font-size: var(--fzLLL); line-height: 1.2;}
.fzLLLL{ font-size: var(--fzLLLL); line-height: 1.2;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}
.blockC-table { display: table; text-align: left; margin-left: auto; margin-right: auto;}
.blockR-table { display: table; text-align: left; margin-left: auto;}
.blockL-table { display: table; text-align: left; margin-right: auto;}
ins{text-decoration: none; background: linear-gradient(transparent 60%, #ffff66 60%);}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.hide  { display: none;}
.block { display: block;}
.no-block, .d-inline { display: inline !important;}
.ilB   { display: inline-block;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none !important;}
.ofH   { overflow: hidden;}

.no-bgcolor { background-color: transparent !important;}
.no-border { border: none !important;}

.none-text-shadow { text-shadow: none !important;}

a.no-pointer{
  pointer-events: none;
}

/* !viewport ---------------------------------------------------------------- */
.viewport480px, .viewport640px, .viewport768px, .viewport980px, .viewport-all{}

/* !Floats ------------------------------------------------------------------ */
.flL.viewport-all { float: left;}
.flR.viewport-all { float: right;}
.img-flL.viewport-all { float: left; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport-all { float: right; margin-left: 1em; margin-bottom: 14px;}

.no-max-width/*, .none-wmax*/ { max-width: none !important;}
.max-width40per { max-width: 40%;}

@media (min-width: 480px){
.img-flL.viewport480px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport480px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}
@media (min-width: 640px){
.img-flL.viewport640px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport640px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}
@media (min-width: 980px){
.img-flL.viewport980px { float: left; max-width: 45%; margin-right: 1em; margin-bottom: 14px;}
.img-flR.viewport980px { float: right; max-width: 45%; margin-left: 1em; margin-bottom: 14px;}
}

/* !Width ------------------------------------------------------------------- */
.w960   { width: 960px;}
.w800	{ width: 800px;}
.w640	{ width: 640px;}
.w480	{ width: 480px;}
.w320	{ width: 320px;}
.w280	{ width: 280px;}
.w230	{ width: 230px;}
.w200	{ width: 200px;}
.w160	{ width: 160px;}
.w140	{ width: 140px;}
.w130	{ width: 130px;}
.w120	{ width: 120px;}
.w100	{ width: 100px;}

.wHalf  { width: 49%;}
.wTri   { width: 33%;}
.wQuart { width: 24%;}
.wFull  { width: 99.9%;}
.wMax   { width: 100%;}

.w03per { width: 3%  !important;}
.w05per { width: 5%  !important;}
.w10per { width: 10% !important;}
.w13per { width: 13% !important;}
.w15per { width: 15% !important;}
.w20per { width: 20% !important;}
.w25per { width: 25% !important;}
.w30per { width: 30% !important;}
.w35per { width: 35% !important;}
.w40per { width: 40% !important;}
.w42per { width: 42% !important;}
.w45per { width: 45% !important;}
.w50per { width: 50% !important;}
.w60per { width: 60% !important;}
.w65per { width: 65% !important;}
.w70per { width: 70% !important;}
.w80per { width: 80% !important;}

.w01em { width: 1em !important;}

.wAuto { width: auto !important;}

/* !Margin ------------------------------------------------------------------ */
.ml-05em { margin-left: -0.5em !important;}
.mt01em { margin-top: 1em !important;}
.mr01em { margin-right: 1em !important;}
.mb01em { margin-bottom: 1em !important;}
.mb02em { margin-bottom: 2em !important;}
.pb01em { padding-bottom: 1em !important;}

.mt00 { margin-top: 0   !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt35 { margin-top:35px !important;}
.mt40 { margin-top:40px !important;}
.mt45 { margin-top:45px !important;}
.mt50 { margin-top:50px !important;}
.mr00 { margin-right: 0   !important;}
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right:10px !important;}
.mr12 { margin-right:12px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr25 { margin-right:25px !important;}
.mr30 { margin-right:30px !important;}
.mr35 { margin-right:35px !important;}
.mr40 { margin-right:40px !important;}
.mr45 { margin-right:45px !important;}
.mr50 { margin-right:50px !important;}
.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb12 { margin-bottom:12px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb25 { margin-bottom:25px !important;}
.mb30 { margin-bottom:30px !important;}
.mb35 { margin-bottom:35px !important;}
.mb40 { margin-bottom:40px !important;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.ml00 { margin-left: 0   !important;}
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left:10px !important;}
.ml12 { margin-left:12px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml25 { margin-left:25px !important;}
.ml30 { margin-left:30px !important;}
.ml35 { margin-left:35px !important;}
.ml40 { margin-left:40px !important;}
.ml45 { margin-left:45px !important;}
.ml50 { margin-left:50px !important;}

/* !Padding  ---------------------------------------------------------------- */
.pt00 { padding-top: 0   !important;}
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top:10px !important;}
.pt12 { padding-top:12px !important;}
.pt15 { padding-top:15px !important;}
.pt20 { padding-top:20px !important;}
.pt25 { padding-top:25px !important;}
.pt30 { padding-top:30px !important;}
.pt35 { padding-top:35px !important;}
.pt40 { padding-top:40px !important;}
.pt45 { padding-top:45px !important;}
.pt50 { padding-top:50px !important;}
.pr00 { padding-right: 0   !important;}
.pr05 { padding-right: 5px !important;}
.pr10 { padding-right:10px !important;}
.pr12 { padding-right:12px !important;}
.pr15 { padding-right:15px !important;}
.pr20 { padding-right:20px !important;}
.pr25 { padding-right:25px !important;}
.pr30 { padding-right:30px !important;}
.pr35 { padding-right:35px !important;}
.pr40 { padding-right:40px !important;}
.pr45 { padding-right:45px !important;}
.pr50 { padding-right:50px !important;}
.pb00 { padding-bottom: 0   !important;}
.pb05 { padding-bottom: 5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb12 { padding-bottom:12px !important;}
.pb15 { padding-bottom:15px !important;}
.pb20 { padding-bottom:20px !important;}
.pb25 { padding-bottom:25px !important;}
.pb30 { padding-bottom:30px !important;}
.pb35 { padding-bottom:35px !important;}
.pb40 { padding-bottom:40px !important;}
.pb45 { padding-bottom:45px !important;}
.pb50 { padding-bottom:50px !important;}
.pl00 { padding-left: 0   !important;}
.pl05 { padding-left: 5px !important;}
.pl10 { padding-left:10px !important;}
.pl12 { padding-left:12px !important;}
.pl15 { padding-left:15px !important;}
.pl20 { padding-left:20px !important;}
.pl25 { padding-left:25px !important;}
.pl30 { padding-left:30px !important;}
.pl35 { padding-left:35px !important;}
.pl40 { padding-left:40px !important;}
.pl45 { padding-left:45px !important;}
.pl50 { padding-left:50px !important;}

/* !Text Color ------------------------------------------------------------ */
.c_green-mainc { color: var(--main-green);} /* main color */
.c_gray-light { color: #c0c0c0;}
.c_black { color: var(--body-black);}
.c_gray  { color: #999;}
.c_white { color: #fff;}
.c_red   { color: var(--red);}
.c_yellow{ color: var(--yellow);} /* mark-arrow */


/* !background Color ------------------------------------------------------- */
.bg_green-mainc{ background-color: var(--main-green);} /* main color */
.bg_green-line { background-color: var(--dark-green);} /* page green border */
.bg_gray-ph, .bg_light-gray { background-color: var(--bg-light-gray);} /* ph-back */
.bg_gray444 { background-color: #444;}
.bg_white   { background-color: #fff;}

/* hBtn color */
.btn-request, .bg_request{ background-color: var(--bg-request);}
.btn-contact, .bg_contact{ background-color: var(--bg-contact);} 
.btn-visit, .bg_visit { background-color: var(--bg-visit);}
.btn-tel, .bg_tel { background-color: var(--bg-tel);}
/* news color */
.bg_base { background-color: var(--main-green);}
.bg_event{ background-color: var(--bg-event);}
.bg_information{ background-color: var(--bg-information);}  /* pink */
.bg_news-letter{ background-color: var(--bg-news-letter);}  /* yellow-green */
.bg_estate{ background-color: #9c502e;}  /* brown */
.bg_column{ background-color: #5a95c9;}  /* blue */
.bg_alacarte{ background-color: #b578d4;}  /* purple */
  /* hover */
	.btn-request a:hover{ background-color: #ffc043;}
	.btn-contact a:hover{ background-color: #fba245;}
	.btn-visit a:hover  { background-color: #f47346;}
	.btn-tel a:hover    { background-color: #00e000;}
	.bg_base a:hover,
	.bg_event a:hover,
	.bg_information a:hover,
	.bg_news-letter a:hover,
	.bg_estate a:hover,
	.bg_column a:hover,
	.bg_alacarte a:hover{background-color: var(--bg-hover-rgb);}

/* !border,line ------------------------------------------------------------- */
.border-1px {
	border: 1px solid #ccc;
}
.border-t1px {
	border-top: 1px solid #ccc;
}
.border-t10px-dark-green {
	border-top: 10px solid var(--dark-green);
}
.border-dashed-t1px {  /* solidにしてborder-t1pxに変えたい */
	border-top: 1px dashed #ccc;
}
.border-dashed-t1px-pt2em {
	border-top: 1px dashed #ccc;
	padding-top: 2em;
}
.border-dashed {
	border-style: dashed;
}

/* marker(under) line */
.marker-oneline_gray {
	position: relative;
	padding-bottom: 0.2em;
}
	.marker-oneline_gray::after {
		position: absolute;
		content: "";
		bottom: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 0.5em;
		background-color: #e6e6e6;
	}

.marker-multiline_gray {
	display: inline;
	/* background: #e6e6e6; */
	background: -webkit-linear-gradient(transparent 65%, #e6e6e6 65%);
	background: linear-gradient(transparent 65%, #e6e6e6 65%);
	padding-bottom: 0.1em;
}

/* repeating-line */
.bg_stripe_yellow {
	background: #ffb733;
	background: -webkit-repeating-linear-gradient(-45deg, #FFD133, #FFD133 5px, #ffb733 5px, #ffb733 10px);
	background: repeating-linear-gradient(-45deg, #FFD133, #FFD133 5px, #ffb733 5px, #ffb733 10px);
	text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
	padding: 2px;
	color: #fff;
	font-weight: bold;
}

.bg_stripe_blue {
	background: #e9f4ff;
	background: -webkit-repeating-linear-gradient(-45deg, #d8ecff, #d8ecff 5px, #e9f4ff 5px, #e9f4ff 10px);
	background: repeating-linear-gradient(-45deg, #d8ecff, #d8ecff 5px, #e9f4ff 5px, #e9f4ff 10px);
	padding: 2px;
	font-weight: bold;
}

/* !icomoon -------------------------------------------------------------- */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?8awz8i');
  src:  url('fonts/icomoon.eot?8awz8i#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?8awz8i') format('truetype'),
    url('fonts/icomoon.woff?8awz8i') format('woff'),
    url('fonts/icomoon.svg?8awz8i#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-contact:before {
  content: "\e901";
}
.icon-request:before {
  content: "\e902";
}
.icon-tel:before {
  content: "\e903";
}
.icon-tree:before {
  content: "\e904";
}
.icon-visit:before {
  content: "\e905";
}
.icon-lightbulb:before {
  content: "\e906";
}
.icon-2arrow:before {
  content: "\e900";
}


/*******************************************************************************
 ! ビジュアルエディタ使用時のスタイル設定・親設定変更
********************************************************************************/
/* btn */
.btn-4act.ilB {
	display: inline-block;
	padding: 0.5em 2em 0.5em;
	text-decoration: none;
	color: #fff;
	margin-bottom: 10px;
}

.btn-4act.ilB:hover { color: #fff;}
	.btn-request.ilB:hover{ background-color: #ffc043;}
	.btn-contact.ilB:hover{ background-color: #fba245;}
	.btn-visit.ilB:hover  { background-color: #f47346;}

.btn-4act.ilB::before {
	font-family: "icomoon";
	display: inline-block;
	vertical-align: bottom;
	font-weight: normal;
	font-size: 2.0rem;
	margin-right: 5px;
}
	.btn-request.ilB::before{ content: "\e902";}
	.btn-contact.ilB::before{ content: "\e901";}
	.btn-visit.ilB::before  { content: "\e905";}

/* readmore */
.readmore.ilB {
	position: relative;
	display: inline-block;
	padding: 0.5em;
	padding-left: 16px;
	text-decoration: none;
	color: #fff;
}
.readmore.ilB.bg_gray444 {
	background-color: #444;
}
	.readmore.ilB:hover, .readmore.ilB:focus {
		background-color: #00e000;
		color: #fff;
	}

/* box, waku */
.information::before,
.question::before,
.alert::before{
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.sp-success,
.article .bg_gray-ph,
.article .waku-01px,
.article .waku-06px,
.article .waku-dotted {
  padding:10px 12px;
  margin-bottom:20px;
  margin-top: 0;
}
	.sp-success {border-radius:0; border: none;}

/* badge */
.ref{
  color: #fff;
  padding: 2px 4px 1px;
  border-radius: 2px;
  font-size: 12px;
  vertical-align: top;
}

.ref-gray{ background-color: #9E9E9E;}
.ref-gray444{ background-color: #444;} /* = bg_gray444  */
.ref-red{ background-color: #e43a31;}
.ref-green{ background-color: var(--yellow-green);} /* = bg_news-letter */
.ref-yellow{background-color: var(--yellow);} /* = bg_event */
.ref-pink{background-color: var(--pink);} /* = bg_information */
.ref-blue{background-color: #5a95c9;} /* = bg_column */


/* トップページ刷新時追加  
***************************/
.margin-auto { margin: auto;}
.mt-auto{ margin-top: auto; min-height: 1px;} /* for IE11 flex bag */
.mb-auto{ margin-bottom: auto; min-height: 1px;} /* for IE11 flex bag */
.ml-auto{ margin-left: auto;}
.mr-auto{ margin-right: auto;}

.box-shadow { box-shadow: 0 2px 10px rgba(0,0,0,.3);}
/*.box-shadow-bottom { box-shadow: 0 15px 15px -15px rgba(0,0,0,.25);}*/
/*.bg_fff-rgba { background-color: rgba(255, 255, 255, 0.7);}*/

/*.bg_light-main-green {
	background-color: var(--bg-light-main-green);
}*/
/*.bg_dark-gray {
	background-color: var(--dark-gray);
}*/

/*.word-break-all {word-break:break-all;}*/


.marker-under-green{
  background: linear-gradient(transparent 10%, rgba(123,219,24, .15) 20%);
  /*border-bottom: 4px solid rgba(123,219,24, .3);*/
}

/*.pt01em { padding-top: 1em !important;}*/

/*.border-dashed-b1px {
	border-bottom: 1px dashed #ccc;
}*/

/* 英単語の先頭文字のみを大文字に変換 
.text-uppercase {text-transform: uppercase;}
*/

.deco-slash {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.deco-slash::before, .deco-slash::after {
	content: '';
	width: 2em;
	height: 1px;
	background-color: #999;
	margin: 0 .5em 0 .4em;
}
/* add fzS */
.deco-slash.fzS::before, .deco-slash.fzS::after {
	width: 1em;
}
.deco-slash::before { transform: rotate(55deg);}
.deco-slash::after { transform: rotate(-55deg);}


.deco-tb2line {
	position: relative;
	display: inline-block;
	padding: 2px 6px 3px 1.6em;
}
.deco-tb2line::before {
	content: '';
	position: absolute;
	top: -12px;
	left: 0;
	width: 62px;
	height: 1px;
	background-color: #999;
	transform: rotate(-14deg);
}
.deco-tb2line::after {
	content: '';
	position: absolute;
	bottom: -14px;
	left: 0;
	width: 75px;
	height: 1px;
	background-color: #999;
	transform: rotate(14deg);
}
.deco-tb2line > .ornament {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.deco-tb2line > .ornament::before {
	content: '';
	position: absolute;
	top: -10px;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: #999;
	transform: rotate(-12deg);
}
.deco-tb2line > .ornament::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: #999;
	transform: rotate(12deg);
}


.box-padding { padding: var(--box-padding) !important;}
.box-padding-s { padding: var(--box-padding-s) !important;}

/* d-table
*******************************/
.d-table {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.d-table-cell {
	display: table-cell;
}

/* d-flex
*******************************/
.d-flex {
	display: flex;
}
.flex-wrap {
	flex-wrap: wrap;
}
.flex-just-between {
	justify-content: space-between;
}
.flex-just-center {
	justify-content: center;
}
.flex-just-flexend {
	justify-content: flex-end;
}
.flex-r-reverse {
	flex-direction: row-reverse;
}
.flex-column {
	flex-direction: column;
}
.flex-c-reverse {
	flex-direction: column-reverse;
}
.flex-ai-start {
	align-items: flex-start;
}
.flex-ai-center {
	align-items: center;
} 
.flex-ai-end {
	align-items: flex-end;
}
.flex-ai-stretch {
	align-items: stretch;
}
.flex-shrink0 {
	flex-shrink: 0;
}
.flex-grow1 {
	flex-grow: 1;
}
.flex-grow2 {
	flex-grow: 2;
}

/* float, col setting
******************************************/
/* sm(=576), md(=768), lg(=992)*/
.float-left { float: left;}
.float-right{ float: right;}

.wmax45per { max-width: 45%;}
.wmax50per { max-width: 50%;}

/* col */
.col, .col-123,
.col-1sm2, .col-1sm3,
.col-1md2, .col-1md3,
.col-1lg3 { width: 100%;}

/* col2 */
.col-2, 
.col-2sm3,
.col-2md4 { width: calc((100%/2) - 10px);}
/* col3 */
.col-3md5, .flex-just-between.col-3md5-left::after {
	width: calc((99%/3) - 10px);
}
	.flex-just-between.col-3md5-left::after {content:''; display: block; height: 0;}

@media (min-width:576px) {
 .d-sm-flex {
	display: flex;
 }
 .float-sm-left { float: left; margin-right: 1.4em;}
 .float-sm-right{ float: right; margin-left: 1.4em;}
 
 /* col2 */
 .col-1sm2 {
	 width: calc((100%/2) - 10px);
 }
 /* col3 */
 .col-1sm3, .flex-just-between.col-1sm3-left::after,
 .col-2sm3, .flex-just-between.col-2sm3-left::after {
	 width: calc((99%/3) - 10px);
 }
	.flex-just-between.col-1sm3-left::after,
	.flex-just-between.col-2sm3-left::after { content:''; display: block; height: 0;}
}
@media (min-width:768px) {
 .d-md-flex {
	display: flex;
 }
 .float-md-left { float: left;  margin-right: 1.4em;}
 .float-md-right{ float: right; margin-left: 1.4em;}

 /* col2 */
 .col-1md2,
 .col-123 {
	width: calc((100%/2) - 15px);
 }
 /* col3 */
 .col-1md3, .flex-just-between.col-1md3-left::after {
	width: calc((99%/3) - 15px);
 }
	.flex-just-between.col-1md3-left::after { content:''; display: block; height: 0;}
 /* col4 */
 .col-2md4 {
	width: calc((100%/4) - 10px);
 }
 /* col5 */
 .col-3md5, .flex-just-between.col-3md5-left::after {
	 width: calc((100%/5) - 10px);
 }
	.flex-just-between.col-3md5-left::after { content:''; display: block; height: 0;}

}
@media (min-width:992px) {
 /* col3 */
 .col-1lg3, .flex-just-between.col-1lg3-left::after,
 .col-123, .flex-just-between.col-123-left::after {
	width: calc((99%/3) - 15px);
 }
	.flex-just-between.col-1lg3-left::after,
	.flex-just-between.col-123-left::after { content:''; display: block; height: 0;} 
}
