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

html{
	background-color: transparent;
	overflow: scroll;
}

body {
	overflow: hidden;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    -webkit-text-size-adjust: 100%; /* Safari */
	text-size-adjust: 100%;
	background-color: #ffffff;
	text-align: left;
	color: #333;
}

img {
	max-width: 100%;
	height: auto;
}

#contents p {
	margin-bottom: 1em;
}

hr {
	border: none;
	margin: 30px 0;
}

/*
########################################################
  link
########################################################
*/

#container a {
	text-decoration: none;
}

#contents a:link{
	color:#666666;
	text-decoration: none;
}

#contents a:visited{
	color:#666666;
	text-decoration: none;
}

#contents a:hover,
#contents a:active{
	color:#666666;
	text-decoration: none;
}

#contents  a:hover img.opacity{
	opacity:0.6; /* opera firefox safari */
	filter: alpha(opacity=60); /* ie */
}

/*
########################################################
  text
########################################################
*/

.fontS{
	font-size:75%;
	font-weight:normal;
}

.fontM{
	font-size:116%;
}

.fontL{
	font-size:138.5%;
}

.pageTop{
	clear: both;
	margin:0 0 0 0;
	text-align:right;
}

/*
########################################################
  table
########################################################
*/

table {
	width: 100%;
	margin: 5px 0;
	border-collapse: collapse;
}

th,
td {
	border-collapse: collapse;
	padding: 10px;
}

th {
	white-space: nowrap;
    width: 100px;
	padding-right: 60px;
}

@media screen and (max-width: 600px) {	
	th {
		white-space: pre-wrap;
		padding-right: 10px;
	}
}

.table-style-border,
.table-style-border th,
.table-style-border td {
    border: 1px solid #e6e6e6;
}

.table-style-thead thead th {
    background-color: #f1f1f1;
}

.table-style-tbody tbody th {
    background-color: #f1f1f1;
}


/* レスポンシブテーブル　見出し1個
==================================*/
table.table-respo-style-1midashi th,
table.table-respo-style-1midashi td{
	border: solid 1px #999;
}

@media only screen and (max-width:568px){
    table.table-respo-style-1midashi th,
    table.table-respo-style-1midashi td{
		width: 100%;
		display: block;
		border-top: none;
    }
  table.table-respo-style-1midashi tr:first-child th {
	  border-top: 1px solid #999;
	}
}

/* レスポンシブテーブル　見出し２個
==================================*/
table.table-respo-style-2midashi {
	border: 1px solid #999;
}

table.table-respo-style-2midashi thead th {
	background: #999;
	color: #fff;
	border-right: #fff solid 1px;
	text-align: center;
	padding-right: 18px;
}

table.table-respo-style-2midashi thead th:last-child {
	border-right: #999 solid 1px;
}

table.table-respo-style-2midashi tbody th {
	border-bottom: #999 solid 1px;
	border-left: #999 solid 1px;
	vertical-align: top;
}

table.table-respo-style-2midashi tbody td {
	border-left: #999 solid 1px;
	border-bottom: #999 solid 1px;
	vertical-align: top;
}

@media screen and (max-width: 568px) {
	table.table-respo-style-2midashi {
		margin-top: 30px;
	}
	
	table.table-respo-style-2midashi thead {
		display: none;
	}
	
	table.table-respo-style-2midashi tbody th {
		display: block;
		background-color: #999;
		color: #fff;
	}

	table.table-respo-style-2midashi tbody td {
		display: block;
	}

	table.table-respo-style-2midashi tbody td::before {
		content: attr(label);
		display: block;
		clear: both;
		font-weight: bold;
	}
}

/*
########################################################
  decoration
########################################################
*/

/* 角丸
==================================*/
.radius {
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

/* ボックス横並び　均等
==================================*/
.row {
	letter-spacing: -.40em;
}

.row .col {
	margin-bottom: 10px;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
}

.row.row-2 .col {/* 2列 */
	width: 49%;
	margin-right: 2%;
}

.row.row-2 .col:nth-child(2n) {
	margin-right: 0;
}

.row.row-3 .col {/* 3列 */
	width: 32%;
	margin-right: 2%;
}

.row.row-3 .col:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width: 960px) {
	.row.row-clear-forTablet .col {
		display: block;
	}
	
	.row.row-clear-forTablet.row-2 .col {/* 2列 */
		width: auto;
		margin-right: 0;
	}
	
	.row.row-clear-forTablet.row-3 .col {/* 3列 */
		width: auto;
		margin-right: 0;
	}
}

@media screen and (max-width: 600px) {
	.row.row-clear-forSp .col {
		display: block;
	}
	
	.row.row-clear-forSp.row-2 .col {/* 2列 */
		width: auto;
		margin-right: 0;
	}
	
	.row.row-clear-forSp.row-3 .col {/* 3列 */
		width: auto;
		margin-right: 0;
	}
}

@media screen and (max-width: 480px) {
	.row.row-clear-forSptate .col {
		display: block;
	}
	
	.row.row-clear-forSptate.row-2 .col {/* 2列 */
		width: auto;
		margin-right: 0;
	}
	
	.row.row-clear-forSptate.row-3 .col {/* 3列 */
		width: auto;
		margin-right: 0;
	}
}

/* リスト
==================================*/
.list-style-disc li,
.list-style-disc dd {
    display: list-item;
	list-style-type: disc;
	margin-left: 20px;
}

.list-style-disc .list-style-none {
    display: block;
    list-style-type: none;
    margin-left: 0;
}

.list-style-number {
	counter-reset: li;
	list-style: none;
	padding-left: 0;
}
.list-style-number > li {
	position: relative;
	padding-left: 1.5em;
    margin-bottom: 5px;
    font-size: 14px;
    font-size: 1.4rem;
}
.list-style-number > li:before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
	left: 0;
    top: 3px;
	width: 1.1em;
	height: 1.1em;
    border: 1px solid #333;
	border-radius: 50px;
	line-height: 1.2;
	text-align: center;
}

dl.list-style-number {
	counter-reset: dd;
	list-style: none;
	padding-left: 0;
}
dl.list-style-number > dd {
	position: relative;
	padding-left: 1.5em;
    margin-bottom: 5px;
    font-size: 14px;
    font-size: 1.4rem;
}
dl.list-style-number > dd:before {
	content: counter(dd) "";
	counter-increment: dd;
	position: absolute;
	left: 0;
    top: 3px;
	width: 1.1em;
	height: 1.1em;
    border: 1px solid #333;
	border-radius: 50px;
	line-height: 1.2;
	text-align: center;
}

.list-style-number.number-color-black > li::before,
.list-style-number.number-color-black > dd::before{
    background: #333;
    color: #fff;
}


/*
########################################################
  flexbox
########################################################
*/

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

.flexbox-justify-around {
    justify-content: space-around;
}

.flexbox-justify-between {
    justify-content: space-between;
}

.fix-wide {
	flex-shrink: 0;
}

.auto-wide {
	flex-basis: 100%;
}

.flexbox div:nth-child(1) {
	margin-right: 30px;
}

@media screen and (max-width: 960px) {	
	.flexbox div:nth-child(1) {
		margin-right: 10px;
	}
	
	.fix-wide {
		flex-shrink: 1;
	}
    
    .flexbox.clear-forTablet {
        display: block;
    }
    
    .flexbox.clear-forTablet .fix-wide,
    .flexbox.clear-forTablet .auto-wide {
        margin-bottom: 1.5rem;
    }
}

@media screen and (max-width: 600px) {
    .flexbox.clear-forSp {
        display: block;
    }
    
    .flexbox.clear-forSp .fix-wide,
    .flexbox.clear-forSp .auto-wide {
        margin-bottom: 1.5rem;
    }
}

@media screen and (max-width: 480px) {
    .flexbox.clear-forSptate {
        display: block;
    }
    
    .flexbox.clear-forSptate .fix-wide,
    .flexbox.clear-forSptate .auto-wide {
        margin-bottom: 1.5rem;
    }
}

/*
########################################################
  images
########################################################
*/

.imgfloatR {
	float: right;
	margin: 0 0 10px 10px;
}

.imgfloatL {
	float: left;
	margin: 0 10px 10px 0;
}

@media screen and (max-width: 480px) {
	.imgfloatR {
		float: none;
		margin: 0 0 10px 0;
	}
	
	.imgfloatL {
		float: none;
		margin: 0 0 10px 0;
	}
}

@media screen and (max-width: 960px) {
	.imgfloatR.clear-forTablet {
		float: none;
		margin: 0 0 10px 0;
	}
	
	.imgfloatL.clear-forTablet {
		float: none;
		margin: 0 0 10px 0;
	}
}

/*
########################################################
  iframe
########################################################
*/

.responsive_iframe {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
.responsive_iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%!important;
	height: 100%!important;
}

/*
########################################################
  Responsive
########################################################
*/

@media screen and (max-width: 480px) {	
	.display-none {
		display: none;
	}
	
	.float-clear {
		float: none;
		width: auto;
	}
	
	.only_pc {
		display: none;
	}
	
	.only_sp {
		display: inline-block;
	}
}

@media screen and (max-width: 960px) {	
	.display-none-forTablet {
		display: none;
	}
	
	.float-clear-forTablet {
		float: none;
		width: auto;
	}
	
	.only_sp {
		display: none;
	}
}

/*
########################################################
  form style
########################################################
*/

.hissu {
	color: #900;
}

.inputsizeS {
	width: 60px;
	padding: 1px;
}

.inputsizeM {
	width: 300px;
	padding: 1px;
}

.inputsizeL {
	width: 95%;
	padding: 1px;
}

.textarea {
	width: 95%;
	height: 80px;
	padding: 1px;
}

textarea{
    vertical-align:top;
}

/*
########################################################
  blog css リセット
########################################################
*/

.blogReset h1{
	font-size: 138.5%;
	font-weight: bold;
}

.blogReset h2{
	font-size: 131%;
	font-weight: bold;
}

.blogReset h3{
	font-size: 123.1%;
	font-weight: bold;
}

.blogReset h4{
	font-weight: bold;
}

.blogReset p{
	margin-bottom: 1em;
}

.blogReset strong,
.blogReset em {
	font-weight: bold;
}

/*
########################################################
  margin - padding
########################################################
*/

.pl5 {padding-left:5px !important;}
.pl10 {padding-left:10px !important;}
.pl15 {padding-left:15px !important;}
.pl20 {padding-left:20px !important;}
.pl25 {padding-left:25px !important;}
.pl30 {padding-left:30px !important;}
.pl35 {padding-left:35px !important;}
.pl40 {padding-left:40px !important;}
.pl45 {padding-left:45px !important;}
.pl50 {padding-left:50px !important;}
.pr5 {padding-right:5px !important;}
.pr10 {padding-right:10px !important;}
.pr15 {padding-right:15px !important;}
.pr20 {padding-right:20px !important;}
.pr25 {padding-right:25px !important;}
.pr30 {padding-right:30px !important;}
.pr35 {padding-right:35px !important;}
.pr40 {padding-right:40px !important;}
.pr45 {padding-right:45px !important;}
.pr50 {padding-right:50px !important;}
.pr70 {padding-right:70px !important;}
.pr80 {padding-right:80px !important;}
.pr90 {padding-right:90px !important;}
.pr100 {padding-right:100px !important;}
.pr120 {padding-right:120px !important;}
.pr140 {padding-right:140px !important;}
.pr145 {padding-right:145px !important;}
.pt0 {padding-top:0px !important;}
.pt5 {padding-top:5px !important;}
.pt10 {padding-top:10px !important;}
.pt15 {padding-top:15px !important;}
.pt20 {padding-top:20px !important;}
.pt25 {padding-top:25px !important;}
.pt30 {padding-top:30px !important;}
.pt35 {padding-top:35px !important;}
.pt40 {padding-top:40px !important;}
.pt45 {padding-top:45px !important;}
.pt50 {padding-top:50px !important;}
.pb0 {padding-bottom:0px !important;}
.pb5 {padding-bottom:5px !important;}
.pb10 {padding-bottom:10px !important;}
.pb15 {padding-bottom:15px !important;}
.pb20 {padding-bottom:20px !important;}
.pb25 {padding-bottom:25px !important;}
.pb30 {padding-bottom:30px !important;}
.pb35 {padding-bottom:35px !important;}
.pb40 {padding-bottom:40px !important;}
.pb45 {padding-bottom:45px !important;}
.pb50 {padding-bottom:50px !important;}

.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml15 {margin-left:15px !important;}
.ml20 {margin-left:20px !important;}
.ml25 {margin-left:25px !important;}
.ml30 {margin-left:30px !important;}
.ml35 {margin-left:35px !important;}
.ml40 {margin-left:40px !important;}
.ml45 {margin-left:45px !important;}
.ml50 {margin-left:50px !important;}
.mr5 {margin-right:5px !important;}
.mr10 {margin-right:10px !important;}
.mr15 {margin-right:15px !important;}
.mr20 {margin-right:20px !important;}
.mr25 {margin-right:25px !important;}
.mr30 {margin-right:30px !important;}
.mr35 {margin-right:35px !important;}
.mr40 {margin-right:40px !important;}
.mr45 {margin-right:45px !important;}
.mr50 {margin-right:50px !important;}
.mt0 {margin-top:0px !important;}
.mt5 {margin-top:5px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mt25 {margin-top:25px !important;}
.mt30 {margin-top:30px !important;}
.mt35 {margin-top:35px !important;}
.mt40 {margin-top:40px !important;}
.mt45 {margin-top:45px !important;}
.mt50 {margin-top:50px !important;}
.mb0 {margin-bottom:0px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}

.mg5 {margin:5px !important;}
.mg10 {margin:10px !important;}
.mg15 {margin:15px !important;}
.mg20 {margin:20px !important;}
.mg25 {margin:25px !important;}
.mg30 {margin:30px !important;}
.mg35 {margin:35px !important;}
.mg40 {margin:40px !important;}
.mg45 {margin:45px !important;}
.mg50 {margin:50px !important;}

.pd5 {padding:5px !important;}
.pd10 {padding:10px !important;}
.pd15 {padding:15px !important;}
.pd20 {padding:20px !important;}
.pd25 {padding:25px !important;}
.pd30 {padding:30px !important;}
.pd35 {padding:35px !important;}
.pd40 {padding:40px !important;}
.pd45 {padding:45px !important;}
.pd50 {padding:50px !important;}

.ma0 {margin:0 !important;}
.pd0 {padding:0 !important;}

/*
########################################################
  .align
########################################################
*/

.alignC {
	text-align:center !important;
}
.alignL {
	text-align:left !important;
}
.alignR {
	text-align:right !important;
}
.alignT {
	vertical-align:top;
}
/*
########################################################
  .float
########################################################
*/

.floatR{
	float:right;
}

.floatL{
	float:left;
}

.floatN{
	float:none;
}

.clearR{
	clear:right;
}

.clearL{
	clear:left;
}

.clear{
	clear:both;
}

/*
########################################################
  .cursor
########################################################
*/

.cursorN{
	cursor:default;
}

.cursorP{
	cursor: pointer;
}