@charset "utf-8";

/*------------------------------------------------------------
	ベースライン
------------------------------------------------------------*/

h2 {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 30px;
	letter-spacing: 1px;
	padding: 30px 0 10px;
	border-bottom: 3px solid #0E837E;
}

h3 {
	background: #27AFA9;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 50px;
	padding-left: 15px;
	color: #fff;
}

h4 {
	font-size: 1.4rem;
	font-weight: bold;
	color: #0E837E;
	border-bottom: 2px solid #EDEFF0;
	margin-bottom: 10px;
	padding: 0 0 5px 18px;
	position: relative;
}

h4:after {
	font-family: "fontawesome";
	content: "\f138";
	position: absolute;
	top: 0;
	left: 0;
}

/*サイトマップ 見出し*/


body#sitemap h4:after {
	font-family: "fontawesome";
	content: "\f0da";
	left: 5px;
}

body#sitemap h4 a {
	font-weight: bold;
	text-decoration: none;
	color: #0E837E;
}

body#sitemap h4 a:hover {
	text-decoration: underline;
}

/*ニュース一覧見出し*/

body#news h4 {
	font-size: 1.3rem;
	padding: 0 0 10px;
}

body#news h4:last-child {
	margin-bottom: 0;
}

body#news h4 span {
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 1px;
	color: #000;
}

body#news h4:after {
	content: "";
}

body#news h4 a {
	color: #000;
	text-decoration: none;
}

body#news h4 a:hover {
	color: #666;
	text-decoration: underline;
}

/*ニュース個別見出し*/

body#news-single h4 {
	padding: 0 0 10px;
	color: #000;
}

body#news-single h4 span {
	font-size: 1.2rem;
}

body#news-single h4:after {
	content: "";
}


/*運営会社ページ見出し*/

body#about h4 {
	padding: 0 0 10px;
}

body#about h4:after {
	content: "";
}


/*FAQページ見出し*/

body#faq h4 {
	padding: 0 0 10px 25px;
}

body#faq h4:after {
	content: "Ｑ.";
}

/*下線付きページサブタイトル*/

p.subTtl {
    font-size: 1.8rem;
    font-weight: bold;
    color: #0E837E;
    letter-spacing: 1px;
    line-height: 1;
    text-align: center;
    position: relative;
    padding-bottom: 25px;
	margin-bottom: 25px;
}

p.subTtl:after {
	content: '';
	background: #0E837E;
	width: 40px;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -20px;
}

p.txt01 {
	font-size: 1.2rem;
	margin-bottom: 10px;
	text-align: justify;
}

p.center {
	text-align: center;
}

/*リスト形式*/

ul.list01 li {
	font-size: 1.2rem;
	text-align: justify;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 10px;
}

ul.list01 li:last-child {
	margin-bottom: 0;
}

/*ディレクトリ形式*/

div.orderListBox ol {
	margin-bottom: 30px;
}

div.orderListBox ol:last-of-type {
	margin-bottom: 0;
}

div.orderListBox ol li {
	text-indent: -2em;
	padding-left: 2em;
	text-align: justify;
}

div.orderListBox ol li dl {
	margin: 8px 0 0;
	padding-left: 5px;
}

div.orderListBox ol li dl dt {
	width: 10%;
	float: left;
	text-align: right;
}

div.orderListBox ol li dl dd {
	width: 90%;
	text-indent: 0;
	text-align: justify;
	padding-left: -2em;
	float: left;
}

/*------------------------------------------------------------
	fontawsome
------------------------------------------------------------*/

p.icon:beore {
	 font-family: "fontawesome";
	 content: "\f230";
	 padding-right:10px;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/

header {
	background: #0E837E;
	width:100%;
	height:80px;
	margin-bottom:20px;
	z-index: 10;
}

header div#innerHead {
	width:92%;
	margin:0 auto;
	background: rgba(255,255,255,0.6);
	position: relative;
}

header h1 {
	background: url(../img/logo_wht.svg) left top no-repeat;
	background-size: 115px 30px;
	width: 115px;
	height: 30px;
	text-indent: -9999px;
	position: absolute;
	top: 23px;
	left: 5%;
}

header h1 a {
	display: block;
	width: 115px;
	height: 30px;
}

header p.lead {
	display: none;
}

header div#innerHead ul {
	position: fixed;
	top: 20px;
	right: 5%;
	z-index: 100;
}

header div#innerHead ul li {
	vertical-align: middle;
	text-align: center;
	float: left;
}

header div#innerHead ul li a {
	display: block;
	text-decoration: none;
	line-height: 40px;
}

header div#innerHead ul li.order a {
	display: none;

}

header div#innerHead ul li.bar a,
header div#innerHead ul li.mail a {
	background: #0B5652;
	width: 50px;
	font-size: 2.4rem;
	color: #fff;
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
		 -o-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
}

header div#innerHead ul li.bar a span {
	display: none;
}

header div#innerHead ul li.mail a {
	background: #27AFA9;
}

header div#innerHead ul li.bar a:hover {
	background: #0E6964;
}

header div#innerHead ul li.mail a:hover {
	background: #29C0B9;
}

/*------------------------------------------------------------
	ナビゲーション
------------------------------------------------------------*/

div.remodal img {
	width: 50px;
	height: auto;
	margin: 0 auto 20px;
}

div.remodal p {
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 5px;
	color: #39190C;
}

div.remodal section {
	margin-bottom: 10px;
}

div.remodal div.oneThird {
	width: 49%;
	margin: 0 2% 10px 0;
}

div.remodal div.oneFourth {
	margin-bottom: 10px;
}

div.remodal div.oneThird:nth-child(2n) {
	margin-right: 0;
}

div.remodal div.oneThird a.button,
div.remodal div.oneFourth a.button {
	display: block;
	width: 100%;
	font-size: 1rem;
	font-weight: bold;
}


/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/

div.container {
	width:100%;
	margin:0 auto;
	padding: 0 0 30px;
	position: relative;
	z-index: 1;
}

div.container div.contents {
	width:92%;
	margin:0 auto;
	position:relative;
}

section {
	display:flex;
	flex-wrap:wrap;
}

div.grid {
	margin-bottom:20px;
}

div.bgGrn {
	background: #27AFA9;
}

div.bgGry {
	background: #EDEFF0;
}

div.bgWht {
	background: #fff;
}

div.whtBox {
	background: #fff;
	padding: 20px;
	margin-bottom: 40px;
}

div.gryBox {
	background: #f6f6f6;
	font-size: 1.2rem;
	border-radius: 4px;
	padding: 20px;
	margin-bottom: 30px;
}

div.gryBox:last-of-type {
	margin-bottom: 0;
}

table.pageTable {
	width: 100%;
	border-bottom: 1px solid #ddd;
}

table.pageTable th {
	background: #eee;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
    padding: 10px 3%;
    border: none;
}

table.pageTable td {
    vertical-align: middle;
    border: none;
    font-size: 1.2rem;
    padding: 10px 3%;
    text-align: center;
 }
 
 ul.socialBtn {
	 margin: 20px 0 0;
 }

ul.socialBtn li {
	float: left;
	line-height: 25px;
	margin-right: 10px;
}
	
ul.socialBtn li:last-child {
	margin-right: 0;
}

.fb_iframe_widget span {
	vertical-align: top!important;
}


/*------------------------------------------------------------
	パンくず
------------------------------------------------------------*/

ul.breadcrumb {
	position: absolute;
	top: 0;
	margin-bottom:20px;
}

ul.breadcrumb li {
	float:left;
	color: #0E837E;
}

ul.breadcrumb li a {
	text-decoration: none;
	color: #0E837E;
}

ul.breadcrumb li:after {
	content:"\f105";
	font-family: "fontawesome";
	margin:0 1em;
}

ul.breadcrumb li:last-child:after {
	content: none;
	margin: 0;
}

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

	ul.breadcrumb {
		position: relative;
		margin-bottom: 10px;
	}
	
	.breadcrumb + h2{
		padding-top: 0px;
	}

}

/*------------------------------------------------------------
	RESPONSIVE GRID
------------------------------------------------------------*/

div.fullwidth,
div.oneHalf,
div.oneThird,
div.oneThird_left,
div.oneThird_right,
div.twoThirdLeft,
div.twoThirdRight,
div.twoFifthLeft,
div.twoFifthRight,
div.threeFifthLeft,
div.threeFifthRight {
	width:100%;
}

div.oneFourth,
div.oneFifth {
	width:49%;
	margin-right:2%;
}

div.oneFourth:nth-child(2n),
div.oneFifth:nth-child(2n) {
	margin-right:0;
}

/*------------------------------------------------------------
	2カラム（サイドナビ有りのレイアウト）
------------------------------------------------------------*/

div#sideLeft,
div#sideRight {
	display:none;
	/*↓2行 テンプレ判別用 実際には不要*/
	background:#3BC9B4;
}

div#mainLeft,
div#mainRight {
	width:100%;
	/*↓2行 テンプレ判別用 実際には不要*/
	background:#DBD2F0;
}


div#bnrArea {
	background: #fff;
	width: 100%;
	padding: 40px 0 30px;
}

div#bnrArea div.carusel {
	width: 90%;
	margin: 0 auto;
}

/* IEで高さがないanchorに対しリンク判定が出ないため */
div#bnrArea a {
	display: inline-block;
}

div#bnrArea .valign-middle {
	width: 100%;
	height: 100%;
	position: relative;
	display: table-cell;
	vertical-align: middle;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/

footer {
	background:#27AFA9;
	width:100%;
	color: #fff;
}

footer div.pageTop {
	background: #0E837E;
	width: 100%;
	height: 60px;
	font-size: 2rem;
	line-height: 60px;
	text-align: center;
}

footer div.pageTop a {
	display: block;
	color: #fff;
}

footer div.pageTop a:hover {
	display: block;
	background: #0E6964;
}

footer div#innerFoot {
	width:90%;
	margin:0 auto;
	padding: 120px 0 30px;
	position: relative;
}

footer div#innerFoot figure {
	position: absolute;
	top: 30px;
	left: 50%;
	margin-left: -102px;
}

footer div#innerFoot div:nth-of-type(1) {
	display: none;
}

footer div#innerFoot dl dt {
	font-size: 1.4rem;
	font-weight: bold;
}

footer div#innerFoot dl dd:before {
	font-family: "fontawesome";
	content: "\f0da";
	margin-right: 8px;
}

footer div#innerFoot dl dd a {
	color: #fff;
	text-decoration: none;
}

footer div#innerFoot dl dd a:hover {
	text-decoration: underline;
}

footer div#innerFoot address {
	font-size: 1.2rem;
	text-align: center;
	color: #000;
	margin-top: 20px;
}

/*------------------------------------------------------------
	ボタン
------------------------------------------------------------*/

a.button,
a.buttonOrg,
a.buttonGrn,
button.button,
button.buttonOrg,
button.buttonGrn {
	display: block;
	font-weight: bold;
	line-height: 40px;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
	border-radius: 4px;
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
		 -o-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
}

a.button, button.button {
	color: #0E837E;
	border: 2px solid #0E837E;
}

a.buttonOrg, button.buttonOrg {
	background: #F07457;
	color: #fff;
}

a.buttonGrn, button.buttonGrn {
	background: #8DCBDE;
	color: #fff;
}

a.button:hover, button.button:hover {
	background: #0E837E;
	color: #fff;
}

a.buttonOrg:hover, button.buttonOrg:hover {
	background: #EA6565;
}


a.buttonGrn:hover, button.buttonGrn:hover {
	background: #BBE0EB;
}


a.next, button.next {
	background: #FF9F4A;
	width: 90%;
	max-width: 460px;
	font-size: 1.4rem;
	line-height: 60px;
	letter-spacing: 0;
	margin: 0 auto 10px;
}

/*------------------------------------------------------------
	チェックボックス
------------------------------------------------------------*/

.checkbox {
  display: none;
}

.checkbox + .checkbox-icon {
  position: relative;
  vertical-align: middle;
}

.checkbox + .checkbox-icon:before {
	background: #fff;
	font-family: "fontawesome";
	content: "　";
	color: #ddd;
	font-size: 1.6rem;
	border: 1px solid #ccc;
}

.checkbox:checked + .checkbox-icon:before {
	background: #F07457;
	content: "\f00c";
	color: #fff;
	font-size: 1.6rem;
	border: 1px solid #F07457;
}

/*------------------------------------------------------------
	下層ページ矢印
------------------------------------------------------------*/

img.arrow {
	margin: 0 auto;
	margin-bottom: 30px;
}



/*------------------------------------------------------------
	ページトップへ
------------------------------------------------------------*/

#page-top {
	position: fixed;
	bottom: 32px;
	right: 5%;
	font-size: 10px;
	z-index: 1000;
}

#page-top i {
	margin-right: 0;
}

#page-top a {
	background: url(../img/pagetop_brn.png) left top;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	display: block;
	position:relative;
}



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

	div.oneHalf {
		width:47%;
		margin-right:6%;
	}
	
	div.oneHalf:nth-child(2n) {
		margin-right:0;
	}

		
/*------------------------------------------------------------
	ベースライン
------------------------------------------------------------*/
	
	h2 {
		font-size: 2.6rem;
		padding: 0 0 10px;
		margin-bottom: 40px;
	}
	
	h3 {
		font-size: 2rem;
		line-height: 60px;
		padding-left: 20px;
		letter-spacing: 1px;
	}
	
	h4 {
		font-size: 1.7rem;
		margin-bottom: 20px;
		padding: 0px 0 15px 23px;
	}

	body#news h4 {
		font-size: 1.4rem;
		padding: 0 0 20px;
	}
	
	body#news h4 span,
	body#news-single h4 span {
		font-size: 1.4rem;
	}
	

	
	body#faq  h4 {
		padding: 0 0 10px 30px;
	}
	
	p.subTtl {
	    font-size: 2rem;
	    letter-spacing: 2px;
    }
    
	p.txt01 {
		font-size: 1.4rem;
		margin-bottom: 20px;
	}
	
	p.pcCenter {
		text-align: center;
	}
	
	/*リスト形式*/
	
	ul.list01 {
		padding: 10px;
	}
	
	ul.list01 li {
		font-size: 1.3rem;
	}
	
	/*ディレクトリ形式*/
	
	div.orderListBox p,
	div.orderListBox ol li {
		font-size: 1.4rem;
	}
	
	div.orderListBox ol li dl dt {
		width: 20px;
	}
	
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/

	header {
		height: 100px;
	}
	
	header div#innerHead {
		width:1080px;
	}
	
	header h1 {
		background: url(../img/logo_wht.svg) left top no-repeat;
		background-size: 154px 40px;
		width: 154px;
		height: 40px;
		text-indent: -9999px;
		position: absolute;
		top: 30px;
		left: 5%;
	}
	
	header h1 a {
		width: 154px;
		height: 40px;
	}
	
	header p.lead {
		display: block;
		font-size: 1.3rem;
		position: absolute;
		color: #fff;
		left: 5%;
		top: 51px;
		margin-left: 200px;
		z-index: 10;
	}
	
	header div#innerHead ul li.mail a {
		line-height: 60px;
	}
	
	header div#innerHead ul li.order a {
		display: block;
		background: #f9f9f9;
		width: 150px;
		font-size: 1.5rem;
		font-weight: bold;
		letter-spacing: 1px;
		line-height: 60px;
	}
	
	header div#innerHead ul li.order a:hover {
		color: #29C0B9;
	}
	
	header div#innerHead ul li.bar a,
	header div#innerHead ul li.mail a {
		width: 60px;
		font-size: 3rem;
	}
	
	header div#innerHead ul li.bar a {
		height: 60px;
		padding: 5.5px 0;
		line-height: 1.2;
	}
	
	header div#innerHead ul li.bar a span {
		display: block;
		font-size: 0.9rem;
	}

/*------------------------------------------------------------
	ナビゲーション
------------------------------------------------------------*/

	div.remodal img {
		width: 80px;
		height: auto;
		margin: 0 auto 20px;
	}
	
	div.remodal div.oneThird,
	div.remodal div.oneThird:nth-child(2n)  {
		width: 32%;
		margin-right: 2%;
	}
	
	div.remodal div.oneThird:nth-child(3n)  {
		margin-right: 0;
	}
	
	div.remodal div.oneThird a.button,
	div.remodal div.oneFourth a.button {
		font-size: 1.3rem;
	}
	
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/

	div.container {
		width:100%;
		margin:0 auto;
		padding: 20px 0 50px;
	}
	
	div.container div.contents {
		width:1080px;
	}
	
	div.grid {
		margin-bottom:30px;
	}
	
	div.whtBox {
		padding: 30px 40px;
	}
	
	div.gryBox {
		font-size: 1.4rem;
		padding: 20px 30px;
		margin-bottom: 40px;
	}
	
	div.narrowBox {
		width: 90%;
		margin: 0 auto;
	}
	
	table.pageTable th {
		width: 25%;
	    font-size: 1.4rem;
	    text-align: right;
	    border: 1px solid #ddd;
	    padding: 15px 40px 15px 0;
	}
	
	table.pageTable td {
		width: 75%;
		font-size: 1.3rem;
		text-align: left;
	    border: 1px solid #ddd;
	}
	

/*------------------------------------------------------------
	パンくず
------------------------------------------------------------*/

	ul.breadcrumb {
		position: absolute;
		top: 11px;
		right: 0;
	}
	
	ul.breadcrumb li a:hover {
		text-decoration: underline;
	}

/*------------------------------------------------------------
	RESPONSIVE GRID
------------------------------------------------------------*/
	
	div.oneThird,
	div.oneThird_left,
	div.oneThird_right {
		width:30%;
	}
	
	div.twoThirdLeft,
	div.twoThirdRight {
		width:66%;
	}
	
	div.twoFifthLeft,
	div.twoFifthRight{
		width:38.8%;
	}
	
	div.threeFifthLeft,
	div.threeFifthRight {
		width:59.2%;
	}
	
	div.oneFifth {
		width:18.4%;
	}
	
	div.oneThird,
	div.oneThird_left {
		margin-right:5%;
	}
	
	div.twoThirdLeft,
	div.twoFifthLeft,
	div.threeFifthLeft,
	div.oneFifth:nth-child(2n) {
		margin-right:2%;
	}
	
	div.oneThird:nth-child(3n),
	div.oneFifth:nth-child(5n) {
		margin-right:0;
	}
	
	div.oneFourth{
		/*flex-basis:23.5%;*/
		width:23.5%;
	}
	
	div.oneFourth:nth-child(2n){
		margin-right:2%;
	}
	
	div.oneFourth:nth-child(4n){
		margin-right:0;
	}
	

/*------------------------------------------------------------
	2カラム（サイドナビ有り）
------------------------------------------------------------*/
	
	div#mainRight {
		width:75%;
		float:right;
	}
	
	div#mainLeft {
		width:75%;
		float:left;
	}
	
	div#sideLeft {
		display:block;
		width:23.5%;
		margin-right:1.5%;
		float:left;
	}
	
	div#sideRight {
		display:block;
		width:23.5%;
		margin-left:1.5%;
		float:right;
	}
	
	div.fixed {
	  position: fixed;
	  top: 20px;
	}
	
	div#bnrArea {
		padding: 60px 0 40px;
	}
	
	div#bnrArea div.carusel {
		width: 1080px;
		margin: 0 auto;
	}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/

	footer div#innerFoot {
		width:1080px;
		padding: 30px 0;
	}
	
	
	footer div#innerFoot figure {
		position: absolute;
		top: 30px;
		left: 0;
		margin-left: 0;
	}
	
	footer div#innerFoot div {
		width: 20%;
		
	}
	
	footer div#innerFoot div:nth-of-type(1) {
		display: block;
		width: 34%;
	}
	
	footer div#innerFoot dl dt {
		margin-bottom: 10px;
	}
	
/*------------------------------------------------------------
	ボタン
------------------------------------------------------------*/

	a.next, button.next {
		font-size: 1.6rem;
		margin: 0 auto;
	}
	
/*------------------------------------------------------------
	チェックボックス
------------------------------------------------------------*/
		
	div.checkbox label {
		font-size: 1.4rem;
	}
		
	.checkbox + .checkbox-icon:before {
		font-size: 2rem;
		/*font-size: 3rem;*/
	}
	
	.checkbox:checked + .checkbox-icon:before {
		font-size: 2rem;
		/*font-size: 3rem;*/
	}


/*------------------------------------------------------------
	ページトップへ
------------------------------------------------------------*/


	#page-top {
		position: fixed;
		bottom: 32px;
		right: 5%;
		font-size: 10px;
		z-index: 1000;
	}
	
	#page-top i {
		margin-right: 0;
	}
	
	#page-top a {
		background: url(../img/pagetop_brn.png) left top;
		background-size: 80px 80px;
		width: 80px;
		height: 80px;
	}
	
	#page-top a:hover {
		opacity: 0.9;
	}

}

.privacyBox {
	font-size: 1.4rem;
}

.privacyBox > ol > li {
	list-style-type: decimal;
}
.privacyBox > ol > li:not(:last-child) {
	margin-bottom: 20px;
}
.privacyBox > ol > li > ol > li {
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	margin-left: 24px;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.privacyBox > ol > li > ol > li:before {
	display: marker;
	content: "(" counter(cnt) ") ";
}


