@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:2}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select,textarea{margin:0;padding:0;border:0;}

/*================================================
 *  一般・共通設定
 ================================================*/
html {
	font-size: 625%;
}


body {
	font-size: .24rem;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;*/
	line-height: 2;
	-webkit-text-size-adjust: 100%;
margin:0;
}

.contentshell {
	margin: 0 auto;
width:100%;
}

header + .contentshell {
	padding-top: 50px;
}

.inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

a {
	color: blue;
	text-decoration:underline;
}
a:hover {
}

h2,h3,h4,h5,h6,p{
	display:none;
}

h1 {
	font-size: .28rem;
}

h2 {
}

h2 span {
}

h3 {
}

h3 span {
}

h3 span:before {
}

h3 span:after {
}



h4 {
}

h5 {
}

h6 {
}

p {
}

ol {
	font-size: .18rem;
	margin:0 0 0 0;
	color:#000;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		color: #000;
	text-decoration:none;
	}
}

@media screen and (max-width:767px) {
h2,h3,h4,h5,h6,p{
	display:none;
}

	h2 {
	}

	h3 {
	}

	h4 {
	}

	h5 {
	}

	h6 {
	}

	p {
	}

	ol {
		margin:0 0 0 0;
		color:#000;
		font-size: .14rem;
	}

}





img {
	max-width: 100%;
	vertical-align: bottom;
}

em {
	font-weight: bold;
}

strong ,
strong a{
	font-weight: bold;
	text-decoration: none;
}

pre {
	margin:1em 0;
	padding:1em;
}

blockquote {
	margin-bottom: 1em;
	padding: 1em;
	border: 1px dotted #ddd;
	border-left: 5px solid #ddd;
}

ul,ol,dl {
}
ul li {
	list-style: disc;
}
ol li {
	list-style: decimal;
}
li {
	margin-left: 2em;
}

dt {
}
dd {
}

table {
	width: 100%;
	margin-top:20px;
	margin-bottom: 1em;
	border-collapse: collapse;
		font-size: .16rem;
}
th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #47706b;
	background: #9fcac6;
}
td {
	padding: 10px;
	text-align: left;
	border: 1px solid #47706b;
	background: #fff;
}

table.companytable th{
width:30%;
}

table.maptable td{
width:35%;
}


@media screen and (max-width:767px) {

	table {
		font-size: .12rem;
	}
}

/*================================================
 *  汎用クラス
 ================================================*/
/* 中央寄せ */
.center {
	text-align: center;
}

/* 左寄せ */
.left {
	text-align: left;
}

/* 右寄せ */
.right {
	text-align: right;
}







/*================================================
 *  ヘッダー
 ================================================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
	z-index: 100;
}

header:after {
	content: ""; 
	display: block;
	clear: both;
}



	header h1 {
	width: 100%;
		display:block;
		padding-left: 10px;
		height:50px;
		font-size:0.16rem;
		line-height:50px;
		color:#fff;
}

@media screen and (max-width:767px) {
	header h1 {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/

/* タブレット・スマートフォン用 */
	nav.gnav {
		font-size:0.16rem;
		display:  none;
	}
	nav.gnav ul {
		margin: 0;
		padding: 0;
	}
	nav.gnav > ul {
		z-index: 2;
		overflow: auto;
		position: fixed;
		top: 50px;
		right: 0;
		width: 100%;
		height: 88%;
		height: -webkit-calc(100% - 50px);
		height: calc(100% - 50px);
	}
	nav.gnav li {
		position: relative;
		width: 100%;
		float: none;
		margin: 0;
		text-align: left;
		list-style: none;
		border-top: 1px solid #222;
	}
	nav.gnav li:first-child {
	}
	nav.gnav li:last-child {
		border-bottom: 1px solid #333;
	}
	nav.gnav li a {
		display: block;
		padding: 10px 20px;
		color: #fff;
		text-decoration: none;
		background-color: rgba(0,0,0,0.8);


	}
	nav.gnav li a:hover {
		color: #fff;

	}

	nav.gnav li a:active {
		color: #fff;
		background: #222;
	}


	nav.gnav ul ul {
		display: none;
		position: relative;
	}


	nav.gnav li li a {
		box-sizing: border-box;
		width: 100%;
		padding: 10px 30px 10px 34px;
		text-align: left;
	}
	nav.gnav li li li a {
		padding: 10px 20px 10px 48px;
	}


	nav.gnav .subnav > a:before {
		display: block;
		content: "";
		position: absolute;
		top: 17px;
		right: 20px;
		width: 0;
		height: 0;
		border: 6px solid transparent;
		border-top: 6px solid #fff;
}

/*	nav.gnav .subnav > a:before {
		display: block;
		content: "";
		position: absolute;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 20px;
		right: 20px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		background: #f1f1f1;
	}
	nav.gnav .subnav > a:after {
		display: block;
		content: "";
		position: absolute;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 20px;
		right: 20px;
		width: 10px;
		height: 10px;
		margin-top: -10px;
		background: #000;
	}*/

	nav.gnav .subnav a:hover:after {
		background: #222;
	}

	nav.gnav .subnav.active > a:before {
		border: 6px solid transparent;
		border-bottom: 6px solid #fff;
		margin-top: -6px;
}

/*	nav.gnav .subnav.active > a:before {
		margin-top: 0;
	}
	nav.gnav .subnav.active > a:after {
		margin-top: 5px;
	}*/

	.spMenuWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		-webkit-transition:  all 1s;
		-moz-transition:  all 1s;
		-ms-transition:  all 1s;
		-o-transition:  all 1s;
		transition:  all 1s;
		background: transparent;
	}

	#spMenu {
		position: absolute;
		top: 10px;
		right: 10px;
	}

	#spMenu:hover {
		cursor: pointer;
	}

	#navBtn {
		display: inline-block;
		position: relative;
		width: 30px;
		height: 30px;
		border-radius: 5%;
		background: #000;
	}
	#navBtnIcon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #f1f1f1;
		transition: .2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display: block;
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 14px;
		height: 2px;
		background: #f1f1f1;
		transition: 0.3s;
	}
	#navBtnIcon:before {
		margin-top: -6px;
	}
	#navBtnIcon:after {
		margin-top: 4px;
	}
	#navBtn .close {
		background: transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top: 0;
	}

	#navBtn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	#navBtn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
	margin-top: 0px;
	padding-bottom:90px;
	background: #000;
}

.upperfooter{
	padding: 40px 0;
	color: #fff;
	font-size: .22rem;
	text-align: center;
	background: #397b04;
}

.upperfooter strong{
	font-size: .32rem;
}

.upperfooter a {
	color: #fff;
	text-decoration:border;
}


.copyright {
	padding: 40px 0;
	color: #fff;
	font-size: .11rem;
	text-align: center;
	background: #000;
}


@media screen and (max-width:767px) {
	footer {
		margin-top: 0px;
	}

.upperfooter{
	padding: 40px 0;
	font-size: .12rem;
}

.upperfooter strong{
	font-size: .16rem;
}


}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:22px;
	right:30px;
	z-index:1;
}
.totop a {
	display:block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: rgba(0,0,0,0.8);
}

	.totop a:before {
	display: block;
	content: "";
	position: absolute;
	top:21px;
	left: 17px;
	width: 16px;
	height: 16px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

@media screen and (max-width:767px) {
.totop {
	bottom:90px;
 }
}


/*================================================
 *  タブレット・スマートフォン向けデザイン
 ================================================*/
/* テンプレートより小さくなった場合に適用 */
@media screen and (max-width:979px) {
	.inner {
		width: 100%;
	}

	.contentshell {
	}

	footer {
		width: 100%;
	}

	.lock {
		overflow: hidden;
	}
}

.clear{
	margin: 0;
	padding: 0;
	clear: both;
}


.clearfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}
	
.clearfix{display: inline-block;} 



.hiddentxt{
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.disptxt{
display:none;
}


.sp{
display: none !important;
}
.pc{
display: block !important;
}



@media screen and (max-width:767px) {

	.pc{
	display: none !important;
	}

	.sp{
	display: block !important;
	}


}


/*================================================
 *  TOP
 ================================================*/

.infologo{
	height: 65px;
	text-align: center;
	margin-bottom:30px;
}

.infologo img{
	height: 65px;
}

p.centertxt{
	text-align: center;
	line-height:.3rem;
	margin-bottom:30px;
}

p.pfmenutxt{
	text-align: center;
	line-height:.2rem;
	margin-bottom:30px;
}



.wrapperhead {
	width: 100%;
	height:100px;
	background: #f5feee;
	border-top:1px solid #bfe7db;
	border-bottom:1px solid #bfe7db;
	box-sizing:border-box;
}

.acelogo{
	float:left;
	margin-top:25px;
}
.hcnt{
	float:right;
	margin-top:20px;
}

@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}


@-webkit-keyframes shiny {
    0% {
        -webkit-transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        -webkit-transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}


a.hcnt {
	float:right;
	margin-top:20px;
    position: relative;
    display: block;
    text-decoration: none;
    color: #ffffff;
    overflow: hidden;
}

a.hcnt::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 2.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;

    -webkit-animation-name: shiny;
    -webkit-animation-duration: 2.5s;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;


}



@media screen and (max-width:767px) {

a.hcnt::after {

    animation-duration: 4s;
}



}


.wrappertop {
	width: 100%;
	margin: 0px;
	background: url(../images/topimgbk.png) repeat-x;
}

.wrappercntbtn{
	width: 100%;
	margin: 0px;
	background: url(../images/cntbtnbk.png) repeat-x;
}


.wrapper {
	width: 100%;
	margin: 0px;
}
.content {
width:980px;
margin:0 auto;
}

.contentform {
width:980px;
margin:0 auto;
padding:100px 0;
background:#f00:
}


article {
	width: 900px;
	margin: 0px auto;
}

section {
	margin: 0 auto;
	background: #fff;
	border: 1px solid #00ae7e;
}

.linebotarea{
	width:100%;
	text-align:center;
	margin:0 auto 20px auto;
}



article h2 {
}
article h3 {
}
article li, p {
}

.bkgreen{
background:#f5feee;
}





@media screen and (max-width:767px) {
h3, p, ol, li, th, td, dl {
	font-size: .16rem ;
}

.wrapperhead {
	height:70px;
}

.acelogo{
	float:left;
	width:250px;
	margin:20px 0 0 10px;
}
.hcnt{
	float:right;
	margin:15px 10px 0 0;
}


.wrappertop {
	background: none;
}

.wrappercntbtn{
	background: none;
}

.wrapper {
	margin: 0px 0 0 0;
}
.content {
	margin: 0;
	width: 100%;
}

.contentform {
	margin: 0;
	width: 100%;
padding:50px 0;
}

section {
	width: 90%;
}

article {
	width: 100%;
	margin: 0px auto ;
}
}


/*================================================
 *  Contact btn area
 ================================================*/
.btnarea{
	margin:0 auto;
	width:980px;
	display:flex;
	justify-content:space-between;
align-items: center;

}


a.cntbtn{
display:block;
	margin-bottom:80px;
}



a.cntbtn {
	margin-bottom:80px;
    position: relative;
    display: block;
    text-decoration: none;
    color: #ffffff;
    overflow: hidden;
}

a.cntbtn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 2.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;

    -webkit-animation-name: shiny;
    -webkit-animation-duration: 2.5s;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
}


a.cntbtn:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
 -o-transition: 0.s;
	transition: 0.5s;
	cursor: pointer;
}

@media screen and (max-width:767px) {
.btnarea{
	width:100%;

}


a.cntbtn{
	margin-bottom:40px;
}
}

p.sitepolicy{
	margin-bottom:20px;
}

ol.sitepolicy{
	margin-bottom:20px;
}

* {
}

.thnxcenter{
	text-align:center;
}


.fleft{
float: left;
}

.fleft img{
float: left;
}


.fright{
float: right;
}



/*================================================
 *  フォーム
 ================================================*/

.form {
padding:0;
margin:0;
}

.form dl {
	width: 100%;
	padding: 15px 0;
	border-bottom: 1px dashed #aaa;
	font-size: 0.24rem;
}
.form dl dt {
	width: 32%;
	float: left;
	padding: 5px 10px 0px 10px;
}
.form dl dd {
	width: 65%;
	float: right;
}
.form dl dd textarea, .form dl dd .txt {
	background: #fff;
	padding: 0 10px;
	border: 1px solid #00ae7e;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	width: 80%;
	height: 50px;
	line-height: 40px;
	margin-top:10px;
	font-size:.28rem;
}
.form dl dd textarea {
	width: 90% !important;
	height: 200px;
}
.form dd .ina {
	ime-mode: disabled;
}

input::placeholder {
  color: #ddd;
}



.ctSelect {
	background: url(../images/arrow.png) right center no-repeat;
	background-color: #fff;
	padding: 0 10px;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	width: 50%;
	height: 40px;
	line-height: 40px;
}

.formcustom {
padding:0 30px 30px 30px;
}
.formcustom input[type="radio"] {
	display: none;
}
.formcustom input[type="radio"] + span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 .36rem;
	margin: 10px .2rem 0 0;
	cursor: pointer;
}
.formcustom input[type="radio"] + span::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	background: #fff;
	border: 1px solid #00ae7e;
	border-radius: 50%;
	width: .24rem;
	height: .24rem;
	display: block;
}
.formcustom input[type="radio"]:checked + span::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	background: #00ae7e;
	border-radius: 50%;
	width: .24rem;
	height: .24rem;
	border: 1px solid #00ae7e;
	display: block;
}

.formcustom input[type="checkbox"] {
	display: none;
}
.formcustom input[type="checkbox"] + span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 .36rem;
	margin: 10px .2rem 0 0;
	cursor: pointer;
}
.formcustom input[type="checkbox"] + span::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	background: #fff;
	border: 1px solid #00ae7e;
	border-radius: 2px;
	width: .24rem;
	height: .24rem;
	display: block;
}
.formcustom input[type="checkbox"]:checked + span::after {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	-webkit-transform: translateY(-50%) rotate(-45deg);
	-moz-transform: translateY(-50%) rotate(-45deg);
	width: .14rem;
	height: .07rem;
	margin-top: -.03rem;
margin-left:.05rem;
	display: block;
	border-left: 3px solid #00ae7e;
	border-bottom: 3px solid #00ae7e;
}

.ctradio {
}

.forminfotitle{
display:block;
font-size:.36rem;
font-weight:bold;
line-height:.80rem;
margin-bottom:0px;
background:#00ae7e;
text-align:center;
color:#fff;
}


.forminfotxt{
padding:10px;
margin-bottom:10px;
background:#00ae7e;
text-align:center;
color:#fff;
}



.kakunin {
    width: 100％;
    margin: 20px auto 0px auto;
  display : -webkit-box;     /* old Android */
  display : -webkit-flex;    /* Safari etc. */
  display : -ms-flexbox;     /* IE10        */
  display : flex;

  -webkit-justify-content: center;       /* Safari etc. */
  -ms-justify-content    : center;       /* IE10        */
  justify-content        : center;
}

.btn_submit {
	width: 150px;
	padding: 15px 0 13px 0;
	border:none;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background: #00ae7e;
	color: #fff;
	text-align: center;
	font-size: 100%;
	font-weight: bold;
}

.btn_submit:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
 -o-transition: 0.s;
	transition: 0.5s;
	cursor: pointer;
}
.required {
	color: #ff0000;
	border:1px solid #f00;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size:.12rem;
	margin-left:10px;
	padding:2px;
vertical-align: middle;
}

.okmsg{
	display:block;
	text-align: center;
	padding: 20px 20px 20px 10px;
	font-size: .16rem;
}


.okmsg .okfreedial{
	font-size: .48rem;
	color:red;
font-weight:bold;
}

@media screen and (max-width: 768px) {


.form dl {
	width: 100%;
	padding: 0;
	border: none;
	font-size: .16rem ;
}
.form dl dt {
	float: none;
	position: static;
	width: 100%;
}

.form dt {
margin:0px 0 0 0 ;
padding:0;
}

.form dl dd {
	float: none;
	width: 100%;
	margin-left: 10px;
}
.form dl dd .txt, .ctSelect {
	width: 90%;
	height: 50px;
	line-height: 30px;
}


p.forminfotitle{
font-size:.24rem;
font-weight:bold;
line-height:.50rem;
}


.okmsg{
	font-size: .12rem;
}

.okmsg .okfreedial{
	font-size: .24rem;
}


}

.iframearea{
	width:100%;
	background: #fff;
}

.iframeareatel{
	width:100%;
	background: #fff;
}

.iframeareamail{
	width:100%;
	background: #fff;
}


.footdial{
	position:fixed;
	bottom:0;
	width:100%;
	min-height:90px;
	background-color: rgba(146,196,71,0.4);
	text-align:center;
}

.footdialbk{
	min-height:90px;
	margin:0 auto;
	width:900px;
	display:flex;
	justify-content:space-between;
align-items: center;
}

.footdialbk img{
display:block;
	margin:0;
}

a.diallink{
display:block;
pointer-events: none;
	width:49%;
}

a.linelink{
display:block;
pointer-events: auto;
	width:24%;
}

a.maillink{
display:block;
pointer-events: auto;
	width:24%;
}

@media screen and (max-width: 768px) {

.footdialbk{
	width:90%;
	padding:5px 0;
}

a.diallink,
a.linelink,
a.maillink{
	display:block;
	width:32%;
	pointer-events: auto;
}


}





.hiddentxt{
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
.pchidden{
display:none;
}




}





















