@charset "UTF-8";

/*=====================
	pc Layout
=====================*/

/* head
------------------------------ */
.heading01 {
	background: #005c3c;
	background: -moz-linear-gradient(left, #005c3c 0%, #3eb26d 100%);
	background: -webkit-linear-gradient(left, #005c3c 0%,#3eb26d 100%);
	background: linear-gradient(to right, #005c3c 0%,#3eb26d 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005c3c', endColorstr='#3eb26d',GradientType=1 );
	padding: 70px 40px 0px;
}
.heading01 h1 {
	font-size: 2.5rem;
	line-height: 1.2;
	color: #FFF;
	padding-bottom: 30px;
	border-left: 8px solid #FFF;
	padding-left: 10px;
}

.heading02 {
	text-align: center;
	margin-top: 50px;
}
.heading02 h2 {
	font-size: 3.6rem;
	font-family: 'Open Sans', sans-serif "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic";
	line-height: 1.2;
	letter-spacing: 0.2em;
}
.heading02.txtSpacing0 h2 {
	letter-spacing: 0em;
}
.heading02 h2 + p {
	font-size: 1.6rem;
	font-weight: bold;
	margin-top: 10px;
}

.heading03 {
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFF;
	background-color: #11a979;
	padding: 10px 20px 7px;
}


.heading04 {
	font-size: 2rem;
	color: #005c3f;
	margin-top: 30px;
}

/* text
------------------------------ */
.txtLead {
	font-size: 1.8rem;
	margin-right: auto;
	margin-left: auto;
}
* + .txtLead {
	margin-top: 30px;
}
.txtLead p + p {
	margin-top: 25px;
}
.fontColor01 {	/*オレンジ*/
	color: #f15a24 !important;
}
.fontColor02 {	/*緑*/
	color: #005c3f;
}
.fontColor03 {	/*red*/
	color: #c1272d;
}
.txtExample {
	color: #999;
}


/* list
------------------------------ */
* + .normalList01 {
	margin-top: 10px;
}
.normalList01 li {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.normalList01 li:before {
	content: "○";
	margin-right: 0.5em;
}

* + .listNotice {
	margin-top: 20px;
}
.listNotice li {
	text-indent: -1em;
	padding-left: 1ex;
}
.listNotice li:before {
	content: "※";
}

.listStyle01 {
}
.listStyle01 li a {
	color: #333 !important;
}
.listStyle01 li a:hover {
	opacity: 1 !important;
	filter: 100% !important;
}
.listStyle01 li figure {
	background-position: center center;
	background-size: cover;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.listStyle01 li figure:before {
	content: "";
	display: block;
	padding-top: 67%;
}
.listStyle01 li i {
	font-size: 1.5rem;
	color: #FFF;
	font-style: normal;
	line-height: 1;
	background-color: #333;
	text-align: center;
	display: inline-block;
	width: 8em;
	margin-top: 25px;
	margin-top: 15px;
	padding-top: 7px;
	padding-bottom: 5px;
}
.listStyle01 li a:hover figure {
	opacity: 0.8 !important;
	filter: 80% !important;
	
}
.listStyle01 li .txtName {
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 10px;
}
.listStyle01 li .txtName span {
	font-weight: normal;
}
.listStyle01 li .txtInfo {
	font-size: 1.5rem;
	margin-top: 5px;
}

/* numberList */
[class*="numberList0"] {
	counter-reset: numList;
	margin-top: 10px;
}
[class*="numberList0"] > li {
	padding: 0 0 0 1.5em;
	padding: 0 0 0 2em;
	margin-top: 10px;
	position: relative;
}
[class*="numberList0"] > li:before {
	content: counter(numList,decimal) ".";
	counter-increment: numList;
	text-align:right;
	width: 1.5em;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
[class*="numberList0"] > li > [class*="numberList"] {
	margin-top: 0.5em;
}
.numberList02 > li {
	padding: 0 0 0 2.55em;
	margin-top: 5px;
}
.numberList02 > li:before {
	content: "(" counter(numList,decimal) ")";
	width: 2em;
}



/* link
------------------------------ */
* + .linkList01 {
	margin-top: 20px;
}
.linkList01 li {
	margin-top: 5px;
}
.linkList01 li a {
}
.linkList01 li a:before {
	content: "\f006";
	font-family: fontello;
	font-size: 90%;
	margin-right: 5px;
}

#mainContents a[target*="_blank"]:after,
#header .gNav a[target*="_blank"]:after {
	content: '\e80d';
	font-family: fontello;
	margin-left: 5px;
}


.pageNav {
	margin-top: 10px;
}
.boxArticle + .pageNav {
	margin-top: 40px;
}
.listSeminer + .pageNav {
	margin-top: 50px;
}
.pageNav li {
	display: inline-block;
	margin-right: 5px;
	width: 2.5em;
	margin-top: 5px;
}
.pageNav li > * {
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
	background-color: #e6e6e6;
	text-align: center;
	display: block;
	padding: 3px 0px;
}
.pageNav li > span {
	color: #FFF;
	background-color: #005C3B;
}



/* box
------------------------------ */
.imgFull img {
	width: 100%;
	height: auto;
}

.boxStyle01 {
	display: table;
	width: 100%;
}
* + .boxStyle01 {
	margin-top: 45px;
}
.boxStyle01 > * {
	font-size: 1.6rem;
	vertical-align: middle;
	display: table-cell;
	padding: 13px 45px;
	width: 50%;
}
.boxStyle01 > dt {
	font-size: 1.8rem;
	font-weight: bold;
	color: #005c3f;
	text-align: right;
	border-right: 1px solid #CCC;
}
.access .boxStyle01 .txtPhone {
	font-size: 1.8rem;
	font-weight: bold;
}

#boxPagenate {
	margin-top: 50px;
}
#boxPagenateFix {
	background: rgba(255,255,255,0.8);
	width: 820px;
	position: fixed;
	right: auto;
	left: auto;
	bottom: 0px;
}
#boxPagenateFix #boxPagenate {
	margin-top: 10px;
}
#boxPagenate li {
	float: left;
	width: 48%;
}
#boxPagenate li.linkNext {
	float: right;
}
#boxPagenate li a {
	color: #333;
	display: table;
	height: 100%;
	width: 100%;
	border: 1px solid #333;
	padding: 20px 40px;
	position: relative;
}
#boxPagenate li a:before {
	content: "\f007";
	font-family: fontello;
	color: #11a979;
	margin-top: -0.5em;
	position: absolute;
	left: 15px;
	top: 50%;
}
#boxPagenate li.linkNext a:before {
	content: "\f006";
	left: auto;
	right: 15px;
}
#boxPagenate li a > * {
	vertical-align: top;
	display: table-cell;
}
#boxPagenate li a figure {
	background-position: center center;
	background-size: cover;
	height: 85px;
	width: 85px;
}
#boxPagenate li a dl {
	padding-left: 13px;
}
#boxPagenate li.linkNext a dl {
	padding-left: 0px;
	padding-right: 13px;
	text-align: right;
}
#boxPagenate li a dt {
	font-size: 1.3rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
}
#boxPagenate li a dd {
	font-size: 1.5rem;
	margin-top: 10px;
}

/* layout
------------------------------ */
* + [class*="colLayout-"] {
	margin-top: 40px;
}
*[class*="colLayout-"] > * {
	float: left;
}

.colLayout-two {
}
.colLayout-two > * {
	width : 48.7%;
	width : -moz-calc((100% - 35px) / 2);
	width : -webkit-calc((100% - 35px) / 2);
	width : calc((100% - 35px) / 2);
	margin-right: 35px;
}
.colLayout-two > *:nth-child(2n),
.colLayout-three > *:nth-child(3n),
.colLayout-four > *:nth-child(4n),
.colLayout-six > *:nth-child(6n) {
	margin-right: 0px;
}
.colLayout-two > *:nth-child(2n) ~ * {
	margin-top: 35px;
}
.colLayout-three {
}
.colLayout-three > * {
	width : 31.8%;
	width : -moz-calc((100% - 40px) / 3);
	width : -webkit-calc((100% - 40px) / 3);
	width : calc((100% - 40px) / 3);
	margin-right: 20px;
}
.colLayout-three > *:nth-child(3n) ~ * {
	margin-top: 20px;
}
.colLayout-four {
}
.colLayout-four > * {
	width : 23%;
	width : -moz-calc((100% - 51px) / 4);
	width : -webkit-calc((100% - 51px) / 4);
	width : calc((100% - 51px) / 4);
	margin-right: 17px;
}
.colLayout-four > *:nth-child(4n) ~ * {
	margin-top: 20px;
}
.colLayout-six > * {
	width : 23%;
	width : -moz-calc((100% - 51px) / 4);
	width : -webkit-calc((100% - 51px) / 4);
	width : calc((100% - 85px) / 6);
	margin-right: 17px;
}
.colLayout-four > *:nth-child(6n) ~ * {
	margin-top: 20px;
}

* + [class*="floatLayout"] {
	margin-top: 50px;
}
[class*="floatLayout"].imgR > *:first-child {
	float: right;
	margin-left: 35px;
}
[class*="floatLayout"].imgL > *:first-child {
	float: left;
	margin-right: 35px;
}

/* button
------------------------------ */
* + .btnAnc {
	margin-top: 80px;
}
.btnAnc li {
	display: table;
}
.btnAnc li > * {
	font-size: 1.8rem;
	color: #11a979 !important;
	line-height: 1.2;
	background-color: #fff;
	text-align: center;
	display: table-cell;
	border: 1px solid #11a979;
	padding-top: 15px;
	padding-bottom: 15px;
	vertical-align: middle;
}

.btnStyle01 > *,
.btnStyle02 > * {
	font-size: 18px;
	font-weight: bold;
	color: #FFF !important;
	line-height: 1.2;
	background-color: #005c3f;
	text-align: center;
	display: block;
	padding: 20px;
	padding: 15px 40px;
	position: relative;
	cursor: pointer;
}
.btnStyle02 > * {
	background-color: #F89300;
	display: inline-block;
}
.btnStyle01 > *:before {
	content: "\f006";
	font-family: fontello;
	font-weight: normal;
	margin-top: -0.6em;
	position: absolute;
	top: 50%;
	left: 030px;
}


/* form
------------------------------ */
.formTbl {
	background-color: #f5f5f5;
	padding: 15px 40px;
	margin-top: 40px;
}
.txtLead + #entry_form {
	margin-top: 20px;
}
.heading03 + .formTbl {
	margin-top: 0px;
}
.heading04 + .formTbl {
	margin-top: 10px;
}
.formTbl table {
	font-size: 1.5rem;
	width: 100%;
}
.formTbl table tr + tr th,
.formTbl table tr + tr td {
	border-top: 1px solid #CCC;
}
.formTbl table th,
.formTbl table td {
	vertical-align: top;
	padding-top: 15px;
	padding-bottom: 15px;
}
.formTbl table th {
	font-weight: bold;
	color: #005c3f;
	text-align: right;
	width: 12em;
	padding-top: 20px;
	padding-right: 20px;
}
.formTbl.conf table th {
	padding-top: 15px;
	width: 15em;
}
.formTbl table th span {
	font-weight: normal;
	color: #666;
}
.formTbl table td {
}
.formTbl table td ul li + li {
	padding-top: 5px;
}
.formTbl .inputWfull {
	width: 100%;
}
.formTbl .inputW01 {
	width: 7em;
}
.formTbl .inputW02 {
	width: 10em;
}
.formTbl .inputW03 {
	width: 3em;
}
.formTbl .listNotice {
	font-size: 1.3rem;
	background-color: #FFF;
	padding: 15px;
}
.icnRequired {
	color: #ed1c24;
}
.boxAgree {
	font-size: 1.5rem;
	color: #005c3f;
	text-align: center;
	margin-top: 40px;
}
.boxAgree > label {
	margin-left: 40px;
	color: #333;
	position: relative;
}
.boxAgree > label label {
	position: absolute;
	left: 1.2em;
	bottom: -1.5em;
}
.btnSubmit {
	text-align: center;
	margin-top: 40px;
}
.btnSubmit input {
	font-size: 18px;
	color: #FFF;
	background-color: #005c3f;
	width: 250px;
	padding-top: 10px;
	padding-bottom: 7px;
	border: none;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	cursor: pointer;
}
.btnSubmit input[type="button"] {
	color: #FFF;
	background-color: #CCCCCC;
	width: 200px;
}
.btnSubmit input:hover {
	opacity: 0.8;
	filter: 80%;
}
.btnSubmit input + input {
	margin-left: 30px;
}
input.error,
textarea.error {
	background-color: #FFF5F4;
	border-color: #C30;
}
label.error {
	font-size: 1.3rem;
	color: #C30;
	display: inline-block;
	margin-top: 5px;
}

.follower .check01 {
	margin-right: 10px;
}
.follower .check02 {
	margin-left: 100px;
}
.error_messe {
	color: #C30;
	margin-top: 10px;
}

.checkCell label {
	display: inline-block;
	width: 6em;
	margin-right: -5px;
}
.checkCell label.w3em {
	width: 7em;
}
.checkCell label.w6em {
	width: 10em;
}

.selectWrap {
	display: inline-block;
	position:relative;
	vertical-align: middle;
}
.selectWrap:after {
	content: "▼";
	font-size: 10px;
	margin-top: -0.7em;
	position: absolute;
	top: 50%;
	right: 10px;
}
.selectWrap select {
	background-color: #FFF;
	display: inline-block;
	padding: 7px 25px 5px 10px;
	position:relative;
	border: 1px solid #CCC;
}



/*=====================
	sp Layout
=====================*/
@media only screen and (max-width: 768px) {

/* head
------------------------------ */
.heading01 {
	padding: 20px 10px 0px;
}
.heading01 h1 {
	font-size: 2rem;
	padding-bottom: 15px;
	border-left: 4px solid #FFF;
}
.heading02 {
	margin-top: 20px;
}
.heading02 h2 {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}
.heading02 h2 + p {
	font-size: 1.4rem;
	margin-top: 5px;
}

.heading03 {
	font-size: 1.6rem;
	padding: 10px 20px;
}

.heading04 {
	font-size: 1.6rem;
	margin-top: 20px;
}

/* text
------------------------------ */
.txtLead {
	font-size: 1.4rem;
}
* + .txtLead {
	margin-top: 15px;
}
.txtLead p + p {
	margin-top: 15px;
}

/* list
------------------------------ */
* + .listNotice {
	margin-top: 10px;
}
.listStyle01 li i {
	font-size: 1.2rem;
	color: #FFF;
	padding-top: 5px;
	margin-top: 10px;
}
.listStyle01 li .txtName {
	font-size: 1.4rem;
	margin-top: 5px;
}
.listStyle01 li .txtInfo {
	font-size: 1.3rem;
	margin-top: 5px;
}



/* link
------------------------------ */
* + .linkList01 {
	margin-top: 10px;
}
.linkList01 li {
	margin-top: 5px;
}

.listSeminer + .pageNav {
	margin-top: 0px;
}

/* box
------------------------------ */
.boxStyle01 {
	display: table;
	width: 100%;
}
* + .boxStyle01 {
	margin-top: 20px;
}
.boxStyle01 > * {
	font-size: 1.3rem;
	display: block;
	padding: 0px;
	width: auto;
}
.boxStyle01 > dt {
	font-size: 1.4rem;
	text-align: left;
	border-right: none;
	margin-bottom: 10px;
}
.boxStyle01 .txtPhone {
	font-size: 1.4rem;
}

#boxPagenate {
	margin-top: 30px;
}
#boxPagenateFix {
	display: none;
}
#boxPagenate li a {
	display: table;
	padding: 8px;
	padding-left: 20px;
}
#boxPagenate li.linkNext a {
	display: table;
	padding: 8px;
	padding-right: 20px;
}
#boxPagenate li a:before {
	margin-top: -0.5em;
	left: 10px;
}
#boxPagenate li.linkNext a:before {
	right: 10px;
}
#boxPagenate li a figure {
	display: none;
}
#boxPagenate li a dl,
#boxPagenate li.linkNext a dl {
	padding: 0px;
}
#boxPagenate li a dt {
	font-size: 1.2rem;
}
#boxPagenate li a dd {
	font-size: 1.2rem;
	margin-top: 5px;
}

/* layout
------------------------------ */
* + [class*="colLayout-"] {
	margin-top: 20px;
}

.colLayout-two > *:nth-child(2n),
.colLayout-three > *:nth-child(3n),
.colLayout-four > *:nth-child(2n),
.colLayout-six > *:nth-child(6n) {
	margin-right: 15px;
}
.colLayout-two > *:nth-child(2n),
.colLayout-three > *:nth-child(2n),
.colLayout-four > *:nth-child(2n),
.colLayout-six > *:nth-child(2n) {
	margin-right: 0;
}
.colLayout-two > *,
.colLayout-three > *,
.colLayout-four > *,
.colLayout-six > * {
	width : 48.7%;
	width : -moz-calc((100% - 12px) / 2);
	width : -webkit-calc((100% - 12px) / 2);
	width : calc((100% - 12px) / 2);
	margin-right: 12px;
}
.colLayout-two > *:nth-child(2n) ~ *,
.colLayout-three > *:nth-child(2n) ~ *,
.colLayout-three > *:nth-child(3n) ~ *,
.colLayout-four > *:nth-child(2n) ~ *,
.colLayout-four > *:nth-child(4n) ~ *,
.colLayout-six > *:nth-child(2n) ~ * {
	margin-top: 15px;
}
/*.colLayout-sp1 > *:nth-child(2n) {
	margin-right: 0px;
}*/
.colLayout-sp1 > * {
	margin-right: 0px;
	width : 100%;
	float: none;
}
.colLayout-sp1 > *:nth-child(1n) ~ * {
	margin-top: 10px;
}

* + [class*="floatLayout"] {
	margin-top: 20px;
}
[class*="floatLayout"].imgR > *:first-child {
	margin-left: 15px;
}
[class*="floatLayout"].imgL > *:first-child {
	margin-right: 15px;
}


/* button
------------------------------ */
* + .btnAnc {
	margin-top: 30px;
}
.btnAnc li a {
	font-size: 1.3rem;
	padding-top: 10px;
	padding-bottom: 10px;
}

.btnStyle01 > *,
.btnStyle02 > * {
	font-size: 13px;
	padding: 10px;
}
.btnStyle01 > *:before {
	left: 10px;
}


/* form
------------------------------ */
.formTbl {
	padding: 5px 15px;
	margin-top: 20px;
}
.heading04 + .formTbl {
	margin-top: 10px;
}
.formTbl table {
	font-size: 1.3rem;
}
.formTbl table tr + tr td {
	border-top: none;
}
.formTbl table th,
.formTbl table td {
	padding-top: 10px;
	padding-bottom: 10px;
	display: block;
}
.formTbl table td {
	padding-top: 0px;
}
.formTbl table th {
	text-align: left;
	width: 100%;
	padding-top: 10px;
	padding-right: 0px;
}
.formTbl.conf table th {
	padding-top: 10px;
	width: 100%;
}
.formTbl .listNotice {
	font-size: 1.2rem;
}
.boxAgree {
	font-size: 1.2rem;
	margin-top: 20px;
}
.boxAgree > label {
	margin-left: 10px;
}
.boxAgree > label label {
	left: 1.5em;
}
.btnSubmit {
	text-align: center;
	margin-top: 20px;
}
.btnSubmit input {
	font-size: 16px;
	color: #FFF;
	background-color: #005c3f;
	width: auto;
	padding: 8px 20px;
}
.btnSubmit input[type="button"] {
	width: auto;
}
.btnSubmit input + input {
	margin-left: 20px;
}
label.error {
	font-size: 1.2rem;
}

.follower .check02 {
	margin-left: 0px;
}

.checkCell label {
	width: auto;
	padding-right: 1em;
	margin-right: -5px;
}
.checkCell label.w3em,
.checkCell label.w6em {
	width: auto;
}

.selectWrap {
	display: inline-block;
}
.selectWrap:after {
	content: "▼";
	font-size: 10px;
	margin-top: -0.7em;
	position: absolute;
	top: 50%;
	right: 10px;
}
.selectWrap select {
	background-color: #FFF;
	display: inline-block;
	padding: 7px 25px 5px 10px;
	position:relative;
	border: 1px solid #CCC;
	white-space: nowrap;
}
	
}



/* Clearfix
------------------------------------------------------ */
[class*="floatLayout"]:after,
[class*="colLayout-"]:after,
#boxPagenate:after {
	content: "";
	display: table;
	clear: both;
}
