@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------

reset

-------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	box-sizing:border-box;
}

html {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q, blockquote {
    quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
	content: none;
}

img,a {
	vertical-align:top;
	max-width:100%;
}

a img {
	border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

strong{
	font-weight: bold;
}

h3, h4, h5, h6{
	letter-spacing:.2rem;
}

/* --------------------------------------------------
clearfix
-------------------------------------------------- */

.clearfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;    
  clear: both; 
  visibility:hidden;
}

.clearfix {display: inline-block;} 

/* Hides from IE Mac \*/
* html .clearfix {height: 1%;}
.clearfix {display:block;}
/* End Hack */ 

/* --------------------------------------------------
fonts
-------------------------------------------------- */

.wf-notosansjapanese { font-family: "Noto Sans Japanese"; }

/* --------------------------------------------------
link
-------------------------------------------------- */

a:link{
  color: #272727;
  text-decoration: none;
}
a:visited{
  color: #272727;
  text-decoration: none;
}
a:hover{
  color: #272727;
  text-decoration: none;
}
a:active{
  color: #272727;
  text-decoration: none;
}

/* --------------------------------------------------
html
-------------------------------------------------- */

html{
	font-size: 62.5%;
	height:100%;
}

@media screen and (max-width: 1080px) {

	html{
		font-size: 58.12%; /* 1.4rem */
	}
}
@media screen and (max-width: 600px) {

	html{
		font-size: 53.75%; /* 1.3rem */
	}
}
@media screen and (max-width: 400px) {

	html{
		font-size: 50%; /* 1.2rem */
	}
}

/* --------------------------------------------------
body
-------------------------------------------------- */

body {
	font-family: "Noto Sans Japanese" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
	font-size: 1.5rem;
	line-height:1.6;
	height:100%;
	font-weight:400;
	color:#272727;
	box-sizing:border-box;
	-webkit-text-size-adjust: 100%;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}

/*
body.fixed {
	height: 100vh;
	overflow-y: hidden;
}
*/
/* --------------------------------------------------
header
-------------------------------------------------- */
#sp-header {
	display: none;
}
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	background: rgba(255,255,255,.8);
	transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	width: 100%;
}

.header-inner {
	display: flex;
	align-items: center;
	height: 100px;
	width: 100%;
	margin: 0 auto;
	justify-content: space-between;
	transition: all 0.3s;
	white-space: nowrap;
}
#header.fixed .header-inner {
	height: 60px;
}
#header .header-inner:hover {
	background: rgba(255,255,255,1);
}
/* -------- logo -------- */
.logo a{
	display: flex;
	align-items: center;
	margin: 0 1vw 0 1vw;
}
.logo a:hover {
	opacity: .7;
}
.logo img {
	max-width:180px;
	width: 40%
}
.fixed .logo img {
	max-width:160px;
	width: 30%
}
.logo-sub {
	display: inline-block;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2rem;
	margin-left: 1em;
}

.fixed .logo-sub {
	font-size: 1.6rem;
}

/* for pc */
@media screen and (max-width: 1440px) {
	.header-inner{
		font-size: 1.4rem;
	}
}

/* for MOBILE */
@media screen and (max-width: 768px) {
	
	.logo{
		height: 60px;
		display: flex;
		align-items: center;
		margin-left: 15px;
	}
	
	.logo img {
		width: 30%
	}
}

@media screen and (max-width: 420px) {
	
	.logo-sub {
		font-size: 1.4rem;

	}
	
}
/* -------- gnav -------- */

#gnav {
	width: 60vw;
	font-weight: bold;
	display: flex;
	justify-content: space-around;
	height: 100%;
	margin: 0 1vw 0 auto;
}

#gnav > ul {
	display: flex;
	justify-content: stretch;
	height: 100px;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
}

#header.fixed .header-inner #gnav > ul {
	height: 60px;
}
#gnav > ul > li{
	display: flex;
	height: 100px;
	width: calc(100% / 5);
	overflow: hidden;
}

#header.fixed #gnav > ul > li {
	height: 60px;
}

#gnav > ul > li > a{
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: center;
	padding: 0 1vw;
	font-weight: bold;
	position: relative;
	text-align: center;
	line-height: 1;
}

#gnav > ul > li > a:hover,
#gnav > ul > li > a.select{
	color: #1F7F4C;
}


#gnav > ul > li > a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 5px;	background: -moz-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#gnav > ul > li > a:hover::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
#gnav > ul .mnav{
	display: none;
	background: -moz-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
}

#gnav > ul  li:hover > .mnav.mega-menu-inner{
	display: block;
}

#gnav > ul  li:hover > .mnav.mega-menu-inner.btn-close{
	display: none
}
#gnav > ul .mnav.select {
	display: block;
}
.mnav ul li figcaption:before, 
.mnav03 .menu-block a:before {
	margin-right: 0.5rem;
}
.mnav ul li figure {
	position: relative;
}

.mnav01 ul{
	margin-right: -2%;
}
.mnav03 ul{
	margin-right: -2%;
	justify-content: center;
}
.mnav01  ul li,
.mnav03 ul li{
	width: 23%;
	margin-right: 2%;
}

.mnav ul li a:hover figcaption,
.category-navi ul li a:hover  figcaption{
	color: #fff;
	background: #666;
	opacity: 1;
	-webkit-animation-duration: 1s;
	-webkit-animation-name: flash;
	animation-duration: 1s;
	animation-name: flash;
}

.mnav ul li figcaption ,
.category-navi figcaption{
	height: 50px;
	background: #fff;
	width: 100%;
	padding: 10px ;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	font-weight: bold;
	line-height: 1.2;
	color: #0C572C;
}
.mnav-pht {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 3% 5% 3% 0;
}
.mnav-detail > li {
	display: none;
}
.mnav-detail > li.active {
	display: block;
}
.mnav03 .menu-block dl {
	display: flex;
	margin-bottom: 0.5rem;
}
.mnav03 .menu-block dt {
	width: 20%;
	background: #E1E9F5;
	font-size: 2.0rem;
	font-weight: bold;
}
.mnav03 .menu-block dt a {
	padding: 1rem 1rem 1rem 4rem;
	display: block;
	height: 100%;
}
.mnav03 .menu-block dd a {
	padding: 1rem 1rem 1rem 2rem;
	display: flex;
	height: 100%;
	align-items: center;
}
.mnav03 .menu-block dd {
	width: 80%;
	background: #F6F8FC;
	font-size: 1.6rem;
	font-weight: bold;
}
#gnav .mnav03 .menu-block dd ul {
	display: flex;
	flex-wrap: wrap;
	height: 100%;
	align-items: stretch;
}
.mnav03 .menu-block dd li {
	width: 50%;
	border-right: 1px solid #E1E9F5;
	box-sizing: border-box;
}
.mnav03 .menu-block dd li:last-child{
	border-right: none;
}
.mnav03 .menu-block > div a {
	padding: 1rem 1rem 1rem 4rem;
	display: block;
	font-size: 2.0rem;
	font-weight: bold;
	background: #E1E9F5;
}
.mnav03 .menu-block dt a:hover, 
.mnav03 .menu-block dd a:hover, 
.mnav03 .menu-block > div a:hover {
	background: #666666;
	color: #fff;
}
.btn-mnav-close {
	color: #FFF;
	position: absolute;
	margin-top: 0;
	margin-left: 0;
	width: 21px;
	height: 21px;
	border: 1px solid;
	box-sizing: content-box;
	right: 0;
	top: 18px;
}
.btn-mnav-close:before {
	content: '';
	position: absolute;
	top: 10px;
	width: 21px;
	height: 1px;
	background-color: currentColor;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.btn-mnav-close:after {
	content: '';
	position: absolute;
	top: 10px;
	width: 21px;
	height: 1px;
	background-color: currentColor;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-mnav-close span {
	visibility: hidden;
}
.btn-mnav-close:hover {
	cursor: pointer;
}



@media screen and (max-width: 1070px) {
	#gnav > ul > li > a{
		white-space: normal;
	}
}

/* for MOBILE */
@media screen and (max-width: 768px) {
	#header {
		display: none;
	}
	#sp-header {
		position: relative;
		display: block;
	}
	/* --------------------------------------------------
		btn-menu
	-------------------------------------------------- */
	.btn-menu {
		display: inline-block;
		position: absolute;
		right: 15px;
		top: 15px;
		z-index: 10000;
	}
	.btn-menu a, .btn-menu a span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.btn-menu a {
		position: relative;
		width: 35px;
		height: 30px;
		z-index: 300;
	}
	.btn-menu a span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color:#008080;
		border-radius: 2px;
	}
	.btn-menu a span:nth-of-type(1) {
		top: 0;
	}
	.btn-menu a span:nth-of-type(2) {
		top: 13px;
	}
	.btn-menu a span:nth-of-type(3) {
		bottom: 0;
	}
	.btn-menu a span:nth-of-type(2)::after {
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background-color: #008080;
		border-radius: 4px;
		transition: all .4s;
	}
	.btn-menu a.open span:nth-of-type(1) {
		transform: translateY(20px) scale(0);
	}
	.btn-menu a.open span:nth-of-type(2) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.btn-menu a.open span:nth-of-type(2)::after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.btn-menu a.open span:nth-of-type(3) {
		transform: translateY(-20px) scale(0);
	}
	.sp-wrap {
		display: none;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1000;
		text-align: center;
	}
	#sp-nav li a,  #sp-nav li span {
		display: block;
		pointer-events: auto !important;
		text-decoration: none;
		padding: 15px 0;
		position: relative;
	}
	#sp-nav > ul > li > a,
	#sp-nav li span {
		cursor: pointer;	background: -moz-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
		color: #FFF;
		border-bottom: 1px solid #FFF;
	}

	#sp-nav li span:before {
		content: "\f067";
		font-family: fontawesome;
		margin-right: .5rem;
		position: absolute;
		right: 1rem;
		top: 40%;
		line-height: 1;
	}
	#sp-nav li span.open:before {
		content: "\f068";
		font-family: fontawesome;
		margin-right: .5rem;
		position: absolute;
		right: 1rem;
		top: 40%;
		line-height: 1;
	}
	#sp-nav li a:before {
		content: "\f105";
		font-family: fontawesome;
	 margin-right: .5rem;
		position: absolute;
		right: 1rem;
		top: 40%;
		line-height: 1;
	}
	ul.sub-menu {
		display: none;
	}
	.sub-menu li {
		border-bottom: 0;
	}
	.sub-menu li a {
		padding: 15px 0;
		background: #FFF;
		color: #000;
		border-bottom: 1px solid rgba(0, 128, 128, 1);
	}
	.sub-menu li a:before {
		content: "\f0fe";
		font-family: fontawesome;
		margin-right: .5rem;
	}

}

/* mega-menu */
.mega-menu{
	/*position:relative;*/
}
.mega-menu-inner{
	display: none;
	color:#FFF;
	padding:10px 0;
	position:absolute;
	left:0;
	top:100%;
	width:100vw;
	background: #444;
	overflow:hidden;
}
.mega-menu > li > .mega-menu-inner{
	display: block;
	-webkit-transition: .2s ease;
	transition: .2s ease;
	opacity: 0;
	z-index: 0;
}
.mega-menu > li:hover > .mega-menu-inner{
	z-index: 10;
	opacity: 1;
	margin-top:0;
	overflow:hidden;
}
/* --------------------------------------------------

category-navi

-------------------------------------------------- */
.category-navi {
	background: -moz-linear-gradient(to left, rgba(185, 220, 218, 0.8), rgba(197, 224, 202, 0.8));
	background: -webkit-linear-gradient(to left, rgba(185, 220, 218, 0.8), rgba(197, 224, 202, 0.8));
	background: -ms-linear-gradient(to left, rgba(185, 220, 218, 0.8), rgba(197, 224, 202, 0.8));
	background: linear-gradient(to left, rgba(185, 220, 218, 0.8), rgba(197, 224, 202, 0.8));
}

.category-navi .mnav-pht {
	display: flex;
	flex-wrap: wrap;
	padding:  3% 0;
	justify-content: center;
}

#contents + .category-navi {
	margin-top: 5%;
}


@media screen and (max-width: 420px) {
	
	.category-navi figure{
		display: flex;
		width:100%;
	}
	.category-navi figure div{
		width:45%;
	}
	.category-navi figcaption{
		height: auto;
		flex: 1;
	}
	
	.category-navi .mnav-pht {
		padding:2em 1em 3em 1em;
	}
	.category-navi .mnav-pht li {
	width: calc( 100% / 2 - 2%);
	margin-right: 2%;
	}
	.category-navi .mnav-pht li:nth-child(-n+2) {
	margin-bottom: 1.5em;
	}
}



/* --------------------------------------------------

contents

-------------------------------------------------- */

#contents {
	margin: 100px auto 0 auto;
	position: relative;
	overflow:hidden;
}


/* for MOBILE */
@media screen and (max-width: 768px) {
	#contents {
		margin:0 auto;
	}
}


/* --------------------------------------------------

footer

-------------------------------------------------- */

#footer {
	width: 100%;
	padding: 3em 0;
	background: #EEEEEE;
	font-size: 1.3rem;
	position: relative;
}

#footer > .inner{
	position: static;
}

#contents + #footer{
	margin-top: 5%;
}

.address span{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 5em;
	
}

.pagetop{
	position: absolute;
	top:-2em;
	right: 5em;
	width: 4em;
	z-index: 2;
}

.f-contents{
	display: flex;
	justify-content: space-between;
}

.f-menu li{
	display: inline-block;
	border-right:1px solid #D6D6D6;
	padding: 0 1em;
}

.f-menu li:last-child{
	border-right:none;
}

.f-menu li a{
	display: inline-block;
}

.copy{
	margin-top: 1em;
	padding-top: 1em;
	border-top:1px solid #D6D6D6;
}

@media screen and (max-width: 768px) {

	.f-contents{
		flex-direction: column;
		text-align: center;
		margin-bottom: 1em;
	}
	.f-menu{
		margin-top:1em;
	}
	.copy{
		text-align: center;
		border: none;
	}
	
	.pagetop{
		right: 2em;
	}
}


/* --------------------------------------------------

layout

-------------------------------------------------- */
/* --------------------------------------------------

inner

-------------------------------------------------- */
.inner {
	max-width: 1140px;
	margin: 0 auto;
	position: relative;
	width: 94%;
}


@media screen and (max-width: 768px) {

}



/* --------------------------------------------------
section
-------------------------------------------------- */

section{
	margin-bottom:5%;
}


/* --------------------------------------------------
article
-------------------------------------------------- */

article{
	margin-bottom:5%;
}

/* --------------------------------------------------
list-2col
-------------------------------------------------- */
/* list-2col */
.list-2col{
	margin-bottom:2%;
}
.list-2col ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin-right:-2%;
}
.list-2col li{
	width:calc(100% / 2 - 2%);
	margin: 3% 2% 3% 0;
}
@media screen and (max-width: 800px) {

	.list-2col li{
		margin-bottom: 3%;
	}

}

@media screen and (max-width: 400px) {

	.list-2col li{
		width:calc(100%);
	}

}

/* --------------------------------------------------
col-3
-------------------------------------------------- */
.col-3 {
	display: flex;
	margin-right: -2%;
	flex-wrap: wrap;
	justify-content: center;
	width:99%;
}
.col-3 > div{
	width:calc(100% / 3 - 2%);
	margin-right: 2%;
	background: #EEE;
	margin-bottom: 2em;
}
p + .col-3 {
	margin-top: 2em;
}
/* --------------------------------------------------
block-2col
-------------------------------------------------- */
.block-2col {
	display: flex;
	flex-wrap: wrap;
}
.block-2col > div{
	width: 50%;
	padding:2%;
}

@media screen and (max-width: 420px) {
	.block-2col {
		flex-direction: column;
	}
	.block-2col > div{
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	
	.block-2col.img-one-side{
		flex-direction: column;
	}
	.block-2col.img-one-side > div{
		width: 100%;
	}
	
}

/* --------------------------------------------------
block
-------------------------------------------------- */

.block-row{
	width:100%;
	display:flex;
	justify-content:space-between;
}

.block-main {
  width: 65%;
	margin-bottom:5%;
}

.block-side {
  width: 30%;
	margin-bottom:5%;
}

.block-sticky{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}


@media screen and (max-width: 768px) {

	.block-row{
		width:100%;
		display:block;
	}
	
	.block-main {
		width:100%;
	}
	
	.block-side {
		width:100%;
	}

	.block-sticky{
		position:relative;
		top: auto;
	}

}

/* --------------------------------------------------
list-3col
-------------------------------------------------- */

.list-3col{
	margin-bottom:2%;
}
.list-3col ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin-right:-2%;
}
.list-3col li{
	width:31%;
	margin: 3% 2% 3% 0;
}

@media screen and (max-width: 600px) {

	.list-3col li{
		width:48%;
		margin-bottom: 3%;
	}

}
/* --------------------------------------------------

module

-------------------------------------------------- */

/* --------------------------------------------------
breadCrumbs
-------------------------------------------------- */

.breadCrumbs{
	display:table;
	width:100%;
	table-layout: fixed;
	margin-bottom: 1em;
}
.breadCrumbs li{
	display:table-cell;
	font-size:1.4rem;
}
.breadCrumbs li:last-of-type{
	padding:5px;
}
.breadCrumbs a{
	line-height:1;
	display:block;
	background:#FFF;
	padding:5px;
}
.breadCrumbs li a:after{
	content:"\f105";
	font-family:fontawesome;
	margin-left:1rem;
	vertical-align:middle;
	line-height:2;
}
.breadCrumbs li:last-of-type  a:after{
	content:"";
}

@media screen and (max-width: 768px) {

	.breadCrumbs{
		padding:0;
	}
	.breadCrumbs li a{
		width:100%;
		display:block;
		padding-left:10px;
	}
	
}


/* --------------------------------------------------

element

-------------------------------------------------- */

/* --------------------------------------------------
ttl
-------------------------------------------------- */

/* ttl */
.ttl{
	font-size:4.2rem;
	font-weight: 400;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background:#CCC url(../img/ttl.jpg);
	background-size:cover;
	text-align:center;
	padding:10% 0;
	letter-spacing:.4rem;
	color:#FFF;
	text-shadow:#333 1px 1px 2px, #333 -1px 1px 2px,#333 1px -1px 2px, #333 -1px -1px 2px;
	position:relative;
}
.ttl span{
	font-size:2rem;
	font-weight:normal;
	display:block;
}

@media screen and (max-width: 768px) {
	
	.ttl{
		min-height:0;
		font-size:2.5rem;
	}
	.ttl span{
		font-size:1.5rem;
	}

}

/* ページ毎 ttl */

.ttl-company{
	background-image:url(../img/ttl_company.jpg);
	background-size:cover;
}

.ttl-news{
	background-image:url(../img/ttl_news.jpg);
	background-size:cover;
}
.ttl-works{
	background-image:url(../img/ttl_works.jpg);
	background-size:cover;
}
.ttl-business{
	background-image:url(../img/ttl_business.jpg);
	background-size:cover;
}
.ttl-recruit{
	background-image:url(../img/ttl_recruit.jpg);
	background-size:cover;
}


/* sttl */
.sttl{
	font-size: 2.7rem;
	letter-spacing:.6rem;
	padding:1em;
	position:relative;
	font-weight:bold;
	text-align: center;
	margin: 2em 0;
}

.sttl:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -5rem;
	min-width: 10rem;
	height: 5px;	background: -moz-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
}

.sttl:first-of-type{
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	
	.sttl{
		font-size:2rem;
	}

}
/* ssttl */

.ssttl{
	letter-spacing:.2rem;
	font-size: 2.3rem;
	font-weight: bold;
	padding:10px;
	border-top:#ECE8E9 solid 2px;
	border-bottom:#ECE8E9 solid 2px;
	margin:4% 0 2% 0;
	position:relative;
}


.ssttl:before {
	display: block;
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	width: 2rem;
	height: 2px;
	background: #20814C;
}
.ssttl span{
	color: #FFF;
	background: #20814C;
	padding: 0 1em;
	margin:0 1.2em 0 0;
	font-size: 70%;
}
@media screen and (max-width: 768px) {
	
	.ssttl{
		font-size:2rem;
	}

}


/* post-ttl */
.post-ttl{
	font-size:4rem;
	margin-bottom:20px;
	line-height:1.2;
}

@media screen and (max-width: 768px) {
	
	.ssttl{
		font-size:2rem;
	}

}

/* safety-ttl */
.safety-ttl{
	font-size: 4rem;
	position:relative;
	font-weight:bold;
	text-align: center;
	margin: 1em 0;
	color: #0C572D;
}

.safety-ttl + p{
	font-weight:bold;
	text-align: center;
	margin-bottom: 4em;
}

@media screen and (max-width: 768px) {
	
	.safety-ttl{
		font-size:2rem;
	}

	.safety-ttl + p{
		margin-bottom: 2em;
	}
}
/* sub-ttl */

.sub-ttl{
	letter-spacing:.2rem;
	font-size: 2.3rem;
	font-weight: bold;
	padding:1rem 2rem;
	border:#ECE8E9 solid 2px;
	margin:4% 0 2% 0;
	position:relative;
	color: #0C572D;
}



@media screen and (max-width: 768px) {
	
	.sub-ttl{
		font-size:2rem;
	}

}
/* section-ttl */

.section-ttl{
	letter-spacing:.2rem;
	font-size: 2.3rem;
	font-weight: bold;
	padding:1rem 2rem;
	border-bottom:#ECE8E9 solid 2px;
	margin:4% 0 2% 0;
	position:relative;
}

.section-ttl::before{
	position: absolute;
	background:#ECE8E9;
	content: "";
	width: 3px;
	height: calc(100% - 2rem);
	left: 0;
}

@media screen and (max-width: 768px) {
	
	.section-ttl{
		font-size:2rem;
	}

}
/* --------------------------------------------------
movie
-------------------------------------------------- */
.movie{
	width:100%;
}
.movie > div{
	position: relative;
	padding-top: 56.25%;
}
.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* --------------------------------------------------
map
-------------------------------------------------- */
.map{
	width:100%;
}
.map > div{
	position: relative;
	padding-top: 45%;
	border:#CCC solid 1px;
}
.map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ページ毎 */

.map-company  > div{
	padding-top: 25%;
}

@media screen and (max-width: 768px) {

	.map-company  > div{
		padding-top: 45%;
	}
	
}

/* --------------------------------------------------

cms

-------------------------------------------------- */

/* --------------------------------------------------
icon
-------------------------------------------------- */

/* icon-new */
.icon-new{
	font-size:1.2rem;
	line-height:1;
	padding:4px 5px 4px;
	display:inline-block;
	background:#D2486B;
	color:#FFF;
	font-weight:bold;
	margin-left:.5em;
	vertical-align:middle;
}

/* icon-recruit */
.icon-recruit{
	font-size:1.2rem;
	width: 8em;
	text-align: center;
	line-height:1;
	padding:4px 5px 4px;
	display:inline-block;
	background:#20814C;
	color:#FFF;
	font-weight:bold;
	margin-left:.5em;
	vertical-align:middle;
}
/* icon-news */
.icon-news{
	font-size:1.2rem;
	width: 8em;
	text-align: center;
	line-height:1;
	padding:4px 5px 4px;
	display:inline-block;
	background:#20814C;
	color:#FFF;
	font-weight:bold;
	margin-left:.5em;
	vertical-align:middle;
}
/* --------------------------------------------------
conditions
-------------------------------------------------- */

.conditions{
	position:relative;
	overflow: hidden;
	padding:10px 0;
	margin-bottom:20px;
}
.conditions .btn-delete{
	float:right;
}
.conditions dl{
	width:80%;
	float:left;
}
.conditions dt{
	display: inline;
	vertical-align:middle;
	margin-right:1rem;
}
.conditions dd{
	display: inline-block;
}
.conditions dd a{
	border:#D0D0D0 solid 1px;
	background:#fff;
	display:inline-block;
	line-height:1;
	padding:5px 15px;
	border-radius:20px;
	cursor:pointer;
	margin:.2rem;
	vertical-align:middle;
	color:#272727;
}
.conditions dd a:before{
	content:"\f00d";
	font-family:fontawesome;
	margin-right:.5rem;
}


@media screen and (max-width: 600px) {

	.conditions .btn-delete{
		float:none;
		text-align:right;
		margin-top:10px;
		display:block;
	}
	.conditions dl{
		width:100%;
		float:none;
	}
	
}

/* --------------------------------------------------
paging-sort
-------------------------------------------------- */

.paging-sort{
	width:100%;
	display:flex;
	align-items:center;
}
.paging-sort form{
	display:inline-block;
}
.paging-result{
	flex:1;
}
.paging-result strong{
	font-size:2rem;
	margin:0 .5rem;
}
.paging-display{
	width:70%;
	text-align:right;
	display:inline-block;
}
.paging-display ul{
	display:inline-block;
}
.paging-display li{
	display: inline-block;
	padding:7px 15px;
	border-radius:3px;
	border:#fff solid 1px;
}
.paging-display li.active{
	background:#efefef;
	border:#efefef solid 1px;
}
.paging-display li:hover{
	border:#efefef solid 1px;
}

@media screen and (max-width: 600px) {

	.paging-sort{
		display:block;
	}
	.paging-result{
		width:100%;
		text-align:right;
		margin-bottom:1rem;
	}
	.paging-display{
		width:100%;
	}
}


/* --------------------------------------------------
paging
-------------------------------------------------- */

.paging{
	padding:20px 0;
	text-align:right;
	clear:both;
	position:relative;
	overflow: hidden;
}
.paging .paging-sort{
	float:left;
	margin-right:1rem;
}
.paging .paging-sort select{
	padding:5px 10px;
	line-height:1;
	vertical-align:middle;
}
.paging .paging-result{
	float:left;
	display:inline-block;
	line-height:2;
	vertical-align:middle;
}
.paging span{
	display:inline-block;
	vertical-align:middle;
	margin-bottom:.5rem;
}
.paging a{
	line-height:1;
	letter-spacing:normal;
	display:inline-block;
	padding:1rem 1.2rem;
	text-decoration:none;
	color:#272727;
	border:#d2d2d2 solid 1px;
	background:#FFF;
}
.paging a:hover{
	opacity:1;
	color:#FFF;
	background:#404040;
	border:#37211F solid 1px;
}
.paging .current{
	line-height:1;
	letter-spacing:normal;
	display:inline-block;
	padding:1rem 1.2rem;
	text-decoration:none;
	border:#d2d2d2 solid 1px;
	background:#d2d2d2;
}
/* --------------------------------------------------
news-tab
-------------------------------------------------- */

.news-tab {
	display: flex;
	justify-content: center;
	margin: 4em 0;
}

.news-tab li{
	padding: .5em 3em;
	border-right: 1px solid #CCC;
	letter-spacing: 0.5rem;
	font-weight: bold;
}

.news-tab li:first-child{
	border-left: 1px solid #CCC;
}

.news-tab li a:hover{
	color: #20814C;
}

.news-tab li .active{
	position: relative;
}

.news-tab li .active::after {
	position: absolute;
	bottom:-1.5rem;
	left: 0;
	content: '';
	width: 100%;
	height: 5px;
	background: -moz-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));

}

@media screen and (max-width: 768px) {

	.news-tab li{
		padding: .5em 2em;
		letter-spacing: 0;
	}

	
}
/* --------------------------------------------------
news-list
-------------------------------------------------- */

.news-list {
	border-top:#eef0f1 solid 1px;
	margin-bottom:2%;
}
.news-list li{
	border-bottom:#eef0f1 solid 1px;
	padding:10px;
	display:flex;
	align-items: center;
}
.news-list .post-date{
	width:10%;
	padding-bottom:0;
	text-align:left;
}
.news-list li p{
	flex:1;
	margin-left: 2em;
}
.news-list .post-date{
	width:11em;
}

.news-list .post-date:before{
	display:none;
}

.news-list a{
	display:inline-block;
	vertical-align:middle;
}
.news-list .ico-new{
	margin-left:1em;
	vertical-align:middle;
}

@media screen and (max-width: 1000px) {

	.news-list li{
		flex-flow: column;
		align-items: center;
		align-items: flex-start;
	}
	.news-list .post-date{
		width:9em;
	}

	.news-list li p{
		margin-left: 0;
		flex: 0 1 auto;
		width:100%;
	}
	
}


/* --------------------------------------------------
btn
-------------------------------------------------- */


/* btn-postback */

.btn-postback{
	margin:50px 0;
	text-align:center;
}
.btn-postback a{
	color:#FFF;
	font-size: 2rem;
	text-decoration:none;
	display:inline-block;
	vertical-align: middle;
	padding:1rem 5rem;
	background:#20814C;
	border:#20814C 2px solid;
	transition:all .5s ease;
}
.btn-postback a:hover{
	background:#FFF;
	border:#20814C 2px solid;
	color:#20814C;
}


/* btn-base */

.btn-base{
	margin:50px 0;
	text-align:center;
}
.btn-base a{
	font-size: calc(2rem + .2vw);
	color:#20814C;
	text-decoration:none;
	display:inline-block;
	vertical-align: middle;
	padding:1rem 4rem;
	border:#20814C solid 2px;
	border-radius: 50rem;
	transition:all .5s ease;
	letter-spacing: .1rem;
}
.btn-base a:after{
	display:inline-block;
	content:"\f105";
	font-family:fontawesome;
	margin-left:1rem;
}
.btn-base a:hover{
	background:#20814C;
	color:#FFF;
}

/* btn-more */

.btn-more a{
	position: relative;
	overflow: hidden;
	border: 2px solid #0C572D;
	color:#0C572D;
	display: block;
	font-weight: bold;
	padding: 1em;
	letter-spacing: .2rem;
	text-align: center;
	transition:all .5s ease;
}

.btn-more a:hover{
	color:#FFF;
	border: 2px solid #20814C;
	z-index: 1;
}


.btn-more a:hover:before {
	right: 0;
	left: auto;
	width: 100%;
}

.btn-more a:before {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 0px;
	z-index: -1;
	content: '';
	color: #000 !important;
	background: #20814C;
	transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
}
/* btn-inverted */

.btn-inverted{
	margin:1em 0;
	text-align:center;
}

.btn-inverted span{
	font-weight: bold;
	text-decoration:none;
	display:inline-block;
	vertical-align: middle;
	padding:1em 5em;
	border-radius: 50rem;
	background:rgba(255,255,255,.8);
	color:#20814C;
	transition:.6s;
}

.btn-inverted span:after{
	content:"\f105";
	font-family:fontawesome;
	margin-left:1rem;
}

a:hover .btn-inverted span{
	opacity: 0.7;
}

/* btn-back */

.btn-back{
	margin:50px 0;
	text-align:center;
}
.btn-back a{
	color:#20814C;
	font-weight: bold;
	text-decoration:none;
	display:inline-block;
	vertical-align: middle;
	padding:5px 30px;
	border:#20814C solid 2px;
	border-radius: 50rem;
	transition:all .5s ease;
}
.btn-back a:before{
	content:"\f104";
	font-family:fontawesome;
	margin-right:2rem;
}
.btn-back a:hover{
	background:#20814C;
	color:#FFF;
}


/* --------------------------------------------------
post-content
-------------------------------------------------- */

.post-content{
	overflow:hidden;
}


/* post-ttl */

.post-ttl{
	line-height:1.4;
	font-size:2.7rem;
	padding:.5em 0;
	border-bottom: 1px #ECE8E9 solid;
	margin-bottom:4rem;
	color:#000;
}
.post-ttl span{
	margin-left:1em;
	margin-top:-0.5em;
}


/* post-date */

.post-date{
	display:inline-block;
	font-weight:bold;
}

/* post-sttl-large */

.post-sttl-large {
	line-height:1.2;
	margin-top:4em;
	margin-bottom:2em;
	font-size:2.4rem;
	font-weight: bold;
	padding:0.5em;
	border-left: 5px solid #D7E4CA;
}

.post-sttl-large:first-of-type {
	margin-top:0;
}


/* post-sttl-small */

.post-sttl-small {
	line-height:1.2;
	margin-top:3em;
	margin-bottom:2em;
	font-size:2.0rem;
	padding:0.5em;
	font-weight:bold;
	background:#D7E4CA;
}

.post-sttl-large + .post-sttl-small {
	margin-top:0;
}

/* post-pht */

.post-pht {
	margin-bottom:5em;
}


.post-pht div {
	width:100%;
	height: auto;
  max-height: 600px;
  text-align: center;
}

.post-pht img {
  height: auto;
  max-height: 600px;
  max-width: 100%;
  width: auto;
}

.post-pht figcaption{
	display:block;
	padding:5px;
	line-height:1.2;
	margin: 1em 0;
}


/* two-post-pht */

.two-post-pht {
	display:flex;
	justify-content: space-between;
}


.two-post-pht .post-pht {
	width:48%;
	font-size:1.6rem;
	vertical-align:top;
}

@media screen and (max-width: 420px) {
	
	.post-pht div {
		max-height: 300px;
	}
	
	.post-pht img {
		max-height: 300px;
	}
	
}

/* iframe-area */
.iframe-area {
	display: block;
	position: relative;
	margin-bottom: 5em;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.iframe-area iframe {
	position: absolute;
	top: -200%;
	bottom: -200%;
	left: -200%;
	right: -200%;
	margin: auto;
	max-height: 100%;
	max-width: 100%;
}


/* wysiwyg */

.wysiwyg {
	word-wrap : break-word;
	overflow-wrap : break-word;
	margin-bottom:4%;
}


/* h1 */
.wysiwyg h1 {
	line-height:1.2;
	margin-top:4em;
	margin-bottom:2em;
	font-size:2.4rem;
	padding:0.5em;
	background:#D7E4CA;
	font-weight:bold;
}



.wysiwyg h1:first-child {
	margin-top:0;
}

.wysiwyg p + h1,
.wysiwyg ul + h1,
.wysiwyg ol + h1,
.wysiwyg table + h1,
.wysiwyg dl + h1 {
	margin-top:4em;
}


/* h2 */
.wysiwyg h2  {
	line-height:1.2;
	margin-top:3em;
	margin-bottom:2em;
	font-size:2.0rem;
	background:#D7E4CA;
	padding:0.5em;
	font-weight:bold
}


/* h3 */
.wysiwyg h3  {
	line-height:1.2;
	margin-top:2em;
	margin-bottom:1.5em;
	font-size:1.8rem;
	background:#F7F7F7;
	padding:0.5em;
	border:2px solid #098374;
	font-weight:bold;
}


/* h4 */
.wysiwyg h4  {
	line-height:1.2;
	margin-top:2em;
	margin-bottom:1.5em;
	font-size:1.8rem;
	padding:0.5em;
	padding-left:0.5em;
	border-left:5px solid #098374;
	border-bottom:2px solid #098374;
	font-weight:bold; 
}


/* h5 */
.wysiwyg h5  {
	line-height:1.2;
	margin-top:1.5em;
	margin-bottom:1em;
	font-size:1.6rem;
	padding:0.25em;
	padding-left:0.5em;
	border-left:5px solid #098374;
	font-weight:bold; 
}


/* h6 */
.wysiwyg h6  {
	line-height:1.2;
	margin-top:1.5em;
	margin-bottom:1em;
	font-size:1.6rem;
	font-weight:bold;
}

.wysiwyg h1 + h2,
.wysiwyg h1 + h3,
.wysiwyg h2 + h3,
.wysiwyg h1 + h4,
.wysiwyg h2 + h4,
.wysiwyg h3 + h4,
.wysiwyg h1 + h5,
.wysiwyg h2 + h5,
.wysiwyg h3 + h5,
.wysiwyg h4 + h5,
.wysiwyg h1 + h6,
.wysiwyg h2 + h6,
.wysiwyg h3 + h6,
.wysiwyg h4 + h6,
.wysiwyg h5 + h6 {
	margin-top:0;
}

/* 段落 <p> */
.wysiwyg p {
	margin-bottom:1em;
}

/* 太字赤文字 <strong> */
.wysiwyg strong {
	font-weight: bold;
	color:#F00;
}

/* 太字 <em> */
.wysiwyg em {
	font-weight: bold;
}

/* 斜体 <i> */
.wysiwyg i {
	font-style:italic;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/* 下線 <u> */
.wysiwyg u {
	text-decoration:underline;
}

/* 打ち消し線 <s> */
.wysiwyg s {
	text-decoration:line-through;
}

/* 下付き <sub> */
.wysiwyg sub {
	font-size:0.8rem;
	vertical-align:bottom;
}

/* 上付き <sup> */
.wysiwyg sup {
	font-size:0.8rem;
	vertical-align:top;
}

/* 順序のないリスト <ol> */
.wysiwyg ol {
	margin:0.5em 0 1em;
	list-style-position: inside;
	list-style-type: none;
}
.wysiwyg ol > li {
	text-indent: -1em;
	padding-left: 1em;
}

/*順序のないリスト <ul> */
.wysiwyg ul {
	margin:0.5em 0 1em;
	list-style-position: inside;
	list-style-type: none;
}
.wysiwyg ul > li {
	text-indent: -1em;
	padding-left: 1em;
}

/*横並びリスト <ol><ul> */

.wysiwyg ol.horizontal-list,
.wysiwyg ul.horizontal-list{
	display: flex;
}

.wysiwyg .horizontal-list li {
	margin-right:1.5em;
}

/*定義リスト <dl> */

.wysiwyg dl {
	margin:0.5em 0 1em;
}

.wysiwyg dl dt {
	font-weight:bold;
	background: #f6f6f6;
	display:inline-block;
	padding:0 .5em;
}

.wysiwyg dl dd {
	margin-bottom:0.5em;
}



/*横並び定義リスト <dl> */

.wysiwyg dl.horizontal-list dt {
	float: left;
	margin-right:.5em;
}


/* インデント <p class="txt-indent"> */
.wysiwyg .txt-indent {
	text-indent:1em;
}

/* ブロック引用文 <blockquote> */
.wysiwyg blockquote {
	position: relative;
	padding: 1em 2em;
	box-sizing: border-box;
	font-style: italic;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #FBFBFB;
	margin:0.5em 1em;
}

/* 中央揃え <p class="txt-center"> */
.txt-center {
	text-align:center;
}

/* 右揃え <p class="txt-right"> */
.wysiwyg .txt-right {
	text-align:right;
}

/* 両端揃え <p class="txt-justify"> */
.wysiwyg .txt-justify {
	text-align:justify;
}

/* ハイパーリンク <a href=""> */
.wysiwyg a[href] {
	text-decoration:underline;
	color:#03F;
}

/* アンカー挿入 <a id="" name=""> */
.wysiwyg a {
	text-decoration:none;
	color: inherit;
}

/* テーブル <table> */
.wysiwyg table {
	width: auto;
	max-width: 100%;
	margin:1em 0 2em;
	border-collapse:collapse;
	border: 1px solid #DDD;
	word-break: break-word;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.wysiwyg table caption {
	text-align:center;
	margin-bottom:0.5em;
}
.wysiwyg table tr th {
	background: #f6f6f6;
	padding: 0.5em 0.5em;
	border: 1px solid #DDD;
}
.wysiwyg table tr td {
	background: #FFFFFF;
	padding: 0.5em 0.5em;
	border: 1px solid #DDD;
}

.wysiwyg table .txt-justify {
	-moz-text-align-last: justify;
	text-align-last: justify;
}

.wysiwyg .table-center {
	margin:auto;
}
.wysiwyg .table-right {
	margin-left:auto;
}

.wysiwyg .table-left {
	margin-right:auto;
}



.wysiwyg .table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1em 0 2em;
	max-width: none;
}

.wysiwyg .table-scroll::-webkit-scrollbar {
  height: 5px;
}
.wysiwyg .table-scroll::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}
.wysiwyg .table-scroll::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #CCC;
}

.wysiwyg .table-scroll table {
	margin: 0;
	max-width: none;
}


.wysiwyg .table-scroll table caption {
		text-align:left;
}


@media screen and (max-width: 414px) {
	.wysiwyg .table-scroll table {
		min-width: 100%;
	}
}

/* フォントサイズ小 <span class="font-size-small"> */
.wysiwyg .font-size-small {
	font-size:0.6em;
}

/* フォントサイズ大 <span class="font-size-large"> */
.wysiwyg .font-size-large {
	font-size:1.75em;
}


/* 文字の間隔0.5em <span class="font-space-small"> */
.wysiwyg .font-space-small {
	letter-spacing:0.5em;
	margin-left:0.5em;
}

/* 文字の間隔1.0em <span class="font-space-medium"> */
.wysiwyg .font-space-medium {
	letter-spacing:1.0em;
	margin-left:1.0em;
}

/* 文字の間隔1.5em <span class="font-space-large"> */
.wysiwyg .font-space-large {
	letter-spacing:1.5em;
	margin-left:1.5em;
}

/* 文字の間隔2.0em <span class="font-space-xlarge"> */
.wysiwyg .font-space-xlarge {
	letter-spacing:2.0em;
	margin-left:2.0em;
}

/* アドレス */
.wysiwyg address {
	position: relative;
	padding: 1em 2em;
	box-sizing: border-box;
	font-style: italic;
	background: #FBFBFB;
	margin: 0.5em 1em;
}

/* 短い引用 */
.wysiwyg q:before {
	content:'"';
	display:inline-block;
}
.wysiwyg q:after {
	content:'"';
	display:inline-block;
}

.wysiwyg q q:before {
	content:"'";
	display:inline-block;
}
.wysiwyg q q:after {
	content:"'";
	display:inline-block;
}


.wysiwyg q:lang(ja):before {
	content:'『';
	display:inline-block;
}
.wysiwyg q:lang(ja):after {
	content:'』';
	display:inline-block;
}

.wysiwyg q q:lang(ja):before {
	content:"「";
	display:inline-block;
}
.wysiwyg q q:lang(ja):after {
	content:"」";
	display:inline-block;
}

	
/* 出典 */
.wysiwyg cite {
	font-style:italic;
	font-family:Times New Roman,"ＭＳ Ｐゴシック";
}


/* post-pht-txt */

.post-pht-txt {
	
}

.post-pht-txt:after {
  content: "";
  display: block;
  clear: both;
}

.post-pht-txt .post-pht {
	float:right;
	width:48%;
	margin:0 0 2% 2%;
	z-index:10;
	position:relative;
}

.post-pht-txt .wysiwyg {
	margin-bottom:5em;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.post-pht-txt .wysiwyg h1,
.post-pht-txt .wysiwyg h2,
.post-pht-txt .wysiwyg h3,
.post-pht-txt .wysiwyg h4,
.post-pht-txt .wysiwyg h5,
.post-pht-txt .wysiwyg h6,
.post-pht-txt blockquote {
	display:flex;
}


/* related-file */

.related-file {
	line-height:1.2;
	margin-bottom:-1px;
	padding:1em 0;
	text-decoration: underline;
	display: inline-block;
}

.related-file:before{
	content:"\f019";
	font-family:fontawesome;
	margin-right:0.5em;
	background:#F2F2F2;
	padding: .7rem .7rem;
	display: inline-block;
	width: 2rem;
	text-align: center;
}


.related-file a{
	vertical-align: middle;
}

/* related-link */

.related-link {
	line-height:1.2;
	margin-bottom:-1px;
	padding:1em 0;
	text-decoration: underline;
	vertical-align: middle;
}

.related-link:before{
	content:"\f0f6";
	font-family:fontawesome;
	margin-right:0.5em;
	background:#F2F2F2;
	padding: .7rem .7rem;
	display: inline-block;
	width: 2rem;
	text-align: center;
}

.related-link a{
	vertical-align: middle;
}

/* --------------------------------------------------

form

-------------------------------------------------- */

/* complete-msg */
.complete-msg {
	margin-bottom: 5%;
	padding: 10%;
	text-align: center;
}

/* --------------------------------------------------
message
-------------------------------------------------- */
.message{
	border: 5px solid #EEE;
	padding: 40px 20px 60px;
	text-align: center;
	margin: 2% auto 2%;
}
.section-ttl + .message{
	margin: 5% auto 2%;
}
.message h3{
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	margin: 20px auto;
	color: #20814C;
}

.message p{
	margin: 40px auto;
	line-height: 2;
}

/* --------------------------------------------------

animation

-------------------------------------------------- */

/* --------------------------------------------------
animation for PC
-------------------------------------------------- */


@media screen and (min-width: 769px) {
	
	/* --------------------------------------------------
	
	js-style
	
	-------------------------------------------------- */
	
	.fx-col-in li{
		opacity:0;
	}
	
	.fx-in,
	.fx-down,
	.fx-up,
	.fx-left,
	.fx-right{
		visibility:hidden;
	}
	
	.fx-panel-right::before,
	.fx-panel-left::before{
		visibility:hidden;
	}

}

/* --------------------------------------------------

animate

-------------------------------------------------- */


.fadeIn {
	animation-fill-mode: both;
	animation-duration: 2s;
	animation-name: fadeIn;
	visibility: visible !important;
}
 @keyframes fadeIn {
 0% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
.fadeInDown {
	animation-fill-mode: both;
	animation-duration: 1s;
	animation-name: fadeInDown;
	visibility: visible !important;
}
 @keyframes fadeInDown {
 0% {
opacity: 0;
-webkit-transform: translateY(-20px);
-ms-transform: translateY(-20px);
transform: translateY(-20px);
}
 100% {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}
}

.fadeInUp {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1.8s;
	-ms-animation-duration:1.8s;
	animation-duration:1.8s;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	visibility: visible !important;
	animation-timing-function: ease-out;
}
@keyframes fadeInUp {
 0% { 
opacity: 0; 
-webkit-transform: translateY(70px);
-ms-transform: translateY(70px);
transform: translateY(70px);
}
 100% { 
opacity: 1; 
-webkit-transform: translateY(0); 
-ms-transform: translateY(0); 
transform: translateY(0);
}
}




.fadeInLeft {
	animation-fill-mode: both;
	animation-duration: 1s;
	animation-name: fadeInLeft;
	visibility: visible !important;
}
 @keyframes fadeInLeft {
 0% {
opacity: 0;
-webkit-transform: translateX(50px);
-ms-transform: translateX(50px);
transform: translateX(50px);
}
 100% {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
}
.fadeInRight {
	animation-fill-mode: both;
	animation-duration: 1s;
	animation-name: fadeInRight;
	visibility: visible !important;
}
@-webkit-keyframes fadeInRight {
 0% {
opacity: 0;
-webkit-transform: translateX(-20px);
}
 100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}
@keyframes fadeInRight {
 0% {
opacity: 0;
-webkit-transform: translateX(-20px);
-ms-transform: translateX(-20px);
transform: translateX(-20px);
}
 100% {
opacity: 1;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
}
.fx-swing {
	animation: swing linear 2s infinite;
	transform-origin: center 70% 0;
}
 

@keyframes swing {
 0% {
transform: rotate(0deg);
}
 25% {
transform: rotate(2deg);
}
 50% {
transform: rotate(0deg);
}
 75% {
transform: rotate(-2deg);
}
 100% {
transform: rotate(0deg);
}
}
.fade-slow-left::before {
	background-color: #FFF;
	transition: all .8s ease;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -1;
}
.fade-slow-left.is-inviewed::before {
	left: 100%;
}
.fade-slow-right::before {
	background-color: #FFF;
	transition: all .8s ease;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	z-index: -1;
}
.fade-slow-right.is-inviewed::before {
	right: 100%;
}

@media screen and (max-width: 768px) {
.fade-slow-left::before {
	content: none;
}
.fade-slow-right::before {
	content: none;
}
}

/* --------------------------------------------------
modal
-------------------------------------------------- */

.coupon-info.clone{
	position:absolute;
	z-index:10;
}
.modal-content {
	position:fixed;
	display:none;
	z-index:1002;
	width: 80%;
	max-width: 1140px;
	max-height: 85vh;
	background:#fff;
	border-radius:5px;
	margin: 0 5%;
}
.modal-content p {
	margin:0;
	padding:0;
}
.modal-overlay {
	z-index:1;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.75);
}
.modal-overlay {
	z-index:1001;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.75);
}
@media screen and (min-width: 1100px) {

	.modal-content {
		width: 100%;
	}
	
}


/* modal-info */
.modal-content .modal-info {
	margin-bottom:0;
}



/*modal-close*/


.modal-close{
	position: absolute;
	right: 0;
	top: 0;
	width: 6rem;
	height: 6rem;
	line-height: 6rem;
	background: -webkit-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: -ms-linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	background: linear-gradient(to left, rgba(0, 128, 128, 1), rgba(47, 145, 66, 1));
	border-radius:50%;
	margin:0;
	padding:0;
	cursor:pointer;
	z-index: 2;
	transform: translateX(50%) translateY(-50%);
	transition:all .5s;
	display: flex;
	justify-content: center;
	align-items: center;
}

.modal-close:before{
	content:"";
	display:inline-block;
	width:2px;
	height:3rem;
	background-color:#FFF;
	 -moz-transform:rotate(45deg);
	 -webkit-transform:rotate(45deg);
	transform:rotate(45deg) ;
	transform-origin: center center;
}

.modal-close:after{
	content:"";
	display:inline-block;
	top:50%;
	left:60%;
	width:2px;
	height:3rem;
	background-color:#FFF;
	-moz-transform:rotate(-45deg) translateX(-1px) translateY(-1px);
	webkit-transform:rotate(-45deg) translateX(-1px) translateY(-1px);
	transform:rotate(-45deg) translateX(-1px) translateY(-1px);
}

.black-background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(223,234,248,.8);
	z-index: 1;
	cursor: pointer;
}
.modal-close:hover{
	transform-origin: center center;
	transform: scale(1.1) translateX(50%) translateY(-50%);
}

.modal-close span{
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	width: 0;
}

@media screen and (min-width: 768px) {

	.modal-close{
		width: 5rem;
		height: 5rem;
	}
	
}