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


/* #＃＃### 共通項目 ＃＃#### */


/* ## clearing ##*/
body, h1, h2, h3, h4, h5, p, ul, ol, div, hr, input {
	margin: 0;
	padding: 0;
}

body {
	font-family: Quicksand, helvetica, メイリオ, Meiryo, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 游ゴシック体, 'Yu Gothic', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 15px;
	color: #242424;
	background-color: #ffffff;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
img {
	border: none;
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
}
a {
	color: #2bb31d;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a:hover {
	text-decoration: underline;
}
address {
	font-style: normal;
}

li {
	list-style: none;
}
ul.disc, ul.deci, ul.roman, ul.latin {
	margin: 8px 0 14px 0;
	overflow: hidden;
}
ul.disc > li {
	list-style-type: disc;
	margin-left: 20px;
	margin-bottom: 8px;
}
ul.deci > li {
	list-style-type: decimal;
	margin-left: 20px;
	margin-bottom: 8px;
}
ul.roman {
	padding-left: 8px;
}
ul.roman > li {
	list-style-type: lower-roman;
	margin-left: 20px;
	margin-bottom: 8px;
}
ul.latin > li {
	list-style-type: lower-latin;
	margin-left: 20px;
	margin-bottom: 8px;
}

br {
	letter-spacing : normal;
}
hr {
   border-width: 1px 0 0 0;	/* 太さ */
   border-style: dotted;		/* 線種 */
   border-color: #cccccc;		/* 線色 */
   height: 1px;					/* 高さ */
   margin: 0;
}

/* clearfix */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/* dl dt dd 設定 */
dl {
}
dt {
	font-weight: bold;
}
dd {
	border-bottom: dotted 1px #dcdcdc;
	margin-left: 0;
}

input, textarea, select {
	font-size: 12px;
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
}
textarea {
	resize: none;
}
input[type="text"], input[type="password"]  {
	width: 100%;
	border: solid 1px #cccccc;
	background-color: #ffffff;	
	box-sizing: border-box;
	margin: 2px 0;
	padding: 6px 10px 6px 10px;
}
input[type="text"].ten, input[type="password"].ten {
	width: 10%;
}
input[type="text"].twenty, input[type="password"].twenty {
	width: 20%;
}
input[type="text"].thirty, input[type="password"].thirty {
	width: 30%;
}
input[type="text"].forty, input[type="password"].forty {
	width: 40%;
}
input[type="text"].fifty, input[type="password"].fifty {
	width: 50%;
}

select {
	width: 100%;
	box-sizing: border-box;
	color: #444444;
	border: 1px solid #cccccc;
	border-radius: 4px;
/*	-webkit-appearance:button;
	-moz-appearance:button;
	appearance:button;
	text-indent: .01px;
	text-overflow: "";*/
	margin: 2px 0;
	padding: 4px;
/*	background: #ffffff url(../img/select_arrow.gif) no-repeat 96% 50%;*/
}
select.ten {
	width: 10%;
}
select.twenty {
	width: 20%;
}
select.thirty {
	width: 30%;
}
select.forrty {
	width: 40%;
}
select.fifty {
	width: 50%;
}
input[type="button"] {
	border: solid 1px #dcdcdc;
	padding: 4px 0;
}
input[type="button"]:hover {
	opacity: 0.7;
}
input[type="file"] {
}
input[type="radio"] {
    position: relative;
    -webkit-appearance: button;
    appearance: button;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    content: "";
    background-color: #FFFFFF;
    border: 1px solid #999999;
    border-radius: 24px;
    vertical-align: middle;
    cursor: pointer;
}
input[type="radio"]:checked:after {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    content: "";
    width: 8px;
    height: 8px;
    background: #169ccc;
    border-radius: 12px;
}
.checkbox {
	line-height: 2;
}
textarea {
	width: 100%;
	box-sizing: border-box;
	border: solid 1px #cccccc;
	background-color: #fcfcfc;
	padding: 14px;
}
input[type="submit"] {
	width: 99.4%;
	font-size: 14px;
	color: #ffffff;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	border: none;
	border-radius: 8px;
	padding: 12px 0;
	cursor: pointer;
	-webkit-appearance: none;
}
input[type="submit"].ninety {
	width: 90%;
}
input[type="submit"].fifty {
	width: 50%;
}
input[type="submit"].thirty {
	width: 30%;
}
input[type="submit"].twenty {
	width: 20%;
}
input[type="submit"]:hover {
	opacity: 0.7;
}

::-webkit-input-placeholder {
	color: #aaaaaa;
} 
::-moz-placeholder {
	color: #aaaaaa;
}
:-moz-placeholder {
	color: #aaaaaa;
} 
/*Windows IE*/
:-ms-input-placeholder {
	color: #aaaaaa;
}


/* table設定① */
table {
	width: 100%;
	border-collapse: collapse;
}
table th {
	background-color: #f4f4f4;
	padding: 0;
}
table td {
	padding: 0;
}
table tr.center td {
	text-align: center;
}
.table01 {
	background: #ffffff;
	box-sizing: border-box;
	margin: 0;
	padding: 14px 0 14px 0;
}
.table01 th {
	text-align: left;
	padding: 5px 0 5px 4px;
}
.table01 td {
	padding: 5px 0 5px 0;
}
/*table設定②*/
.table02 {
	width: 100%;
	border: solid 1px #cccccc;
	border-collapse: collapse;
	box-sizing: border-box;
}
.table02 th {
	width: 20%;
	border: solid 1px #cccccc;
	background-color: #f4f4f4;
	padding: 10px 4px;
}
.table02 td {
	border: solid 1px #cccccc;
	padding: 10px 4px 10px 10px;
	text-align: center;
}
/*table設定③*/
.table03 {
	width: 100%;
	border: solid 4px #dcdcdc;
	border-collapse: collapse;
	box-sizing: border-box;
}
.table03 th {
	width: 20%;
	border: solid 1px #e4e4e4;
	background-color: #f4f4f4;
	padding: 10px 4px;
}
.table03 td {
	border: solid 1px #e4e4e4;
	padding: 10px 4px 10px 10px;
	text-align: center;
}

/* スクロールガイド */
.scrollguide {
	width: 100%;
	box-sizing: border-box;
	font-size: 12px;
	text-align: center;
	margin: 0  auto;
	overflow: hidden;
}
.scrollguide.single li a {
	width: 100%;
}
.scrollguide.double li a {
	width: 50%;
}
.scrollguide.triple li a {
	width: 33.33%;
}
.scrollguide.quatro li a {
	width: 25%;
}
.scrollguide li a {
	color: #ffffff;
	box-sizing: border-box;
	border-right: solid 1px #444444;
	border-left: solid 1px #444444;
	background-color: #333333;
	margin-right: -1px;
	padding: 8px 0;
	float: left;
}
.scrollguide li:first-child a {
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}
.scrollguide li:last-child a {
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}
.scrollguide li a:hover {
	background-color: #444444;
	text-decoration: none;
}

/* ## point styling ## */
.clear {
	clear: both;
}
.baseLarge {
	font-size: 14px;
}
.baseLarger {
	font-size: 16px;
}
.baseSmall {
	font-size: 11px;
}
.baseSmaller {
	font-size: 10px;
}
.baseFont {
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-size: 12px;
}
.formSfont {
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-size: 10px;
}
.formFont {
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-size: 11px;
}
.bold {
	font-weight: bold;
}
.colorRed {
	color: red;
}
.colorOrange {
	color: #ff4500;
}
.colorGreen {
	color: #006400;
}
.colorPink {
	color: #ff1493;
}
.colorSilver {
	color: #c0c0c0;
}
.colorGlay {
	color: #888888;
}
.colorWhite {
	color: #ffffff;
}
.colorGainsboro {
	color: #dcdcdc;
}
.colorWsmoke {
	color: #f5f5f5;
}
.colorGold {
	color: #efe270;
}
.colorBlue {
	color: #4f4bfe;
}
.aLeft {
	text-align: left;
}
.aRight {
	text-align: right;
}
.aCenter {
	text-align: center;
}
.vTop {
	vertical-align: top;
}
.vMiddle {
	vertical-align: middle;
}
.vBottom {
	vertical-align: bottom;
}
.fLeft {
	float: left;
}
.fRight {
	float: right;
}
.opacity08 {
	opacity: 0.8;
}
.opacity09 {
	opacity: 0.9;
}

.caution1 {
	font-size: 11px;
	color: red;
	padding: 2px 0;
}
.caution1s {
	font-size: 10px;
	color: red;
	padding: 2px 0;
}
.caution2 {
	font-size: 11px;
	color: #888888;
	padding: 2px 0;
}
.caution2s {
	font-size: 10px;
	color: #888888;
	padding: 2px 0;
}
.caution3 {
	font-size: 11px;
	color: #169ccc;
	padding: 2px 0;
}
.caution3s {
	font-size: 10px;
	color: #169ccc;
	padding: 2px 0;
}

/* ## ボタン設定 ## */
input[type="button"].button {
	width: 100%;
	font-size: 14px;
	color: #ffffff;
	border: none;
	border-radius: 10px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	padding: 12px 0;
	cursor: pointer;
}
input[type="button"].button2 {
	width: 100%;
	font-size: 14px;
	color: #ffffff;
	border: none;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	padding: 12px 0;
	cursor: pointer;
}
.nButton {
	margin-right: 4px;
	}
.nButton a {
	width: 100%;
	font-size: 14px;
	text-align: center;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	box-shadow: 1px 1px 1px #cccccc;
	margin: 14px auto;
	padding: 12px 0;
	display: block;
	cursor: pointer;
}
.nButton.fifty a {
	width: 50%;
}
.nButton a:hover {
	opacity: 0.7;
	text-decoration: none;
}

/* more button設定 */
.nButton.more {
	margin: 0 0 14px 0;
}
.nButton.more a {
	width: 84%;
	color: #696969;
	font-size: 11px;
	background-color: #fcfcfc;
	border: solid 1px #696969;
	border-radius: 0;
	box-shadow: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	margin: 8px auto 28px auto;
	padding: 4px 0;
}
.nButton.more a:hover {
	color: #ffffff;
	background-color: #696969;
}
.nButton.more a i {
	margin: 4px 10px 0 0;
	float: right;
}

.b01 {
	background-color: #1c95fe;
}
.b02 {
	background-color: #999999;
}
.b03 {
	background-color: red;
}
.b04 {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #008000), color-stop(0.00, #2bb32b));
	background: -webkit-linear-gradient(top, #2bb32b 0%, #008000 100%);
	background: -moz-linear-gradient(top, #2bb32b 0%, #008000 100%);
	background: -o-linear-gradient(top, #2bb32b 0%, #008000 100%);
	background: -ms-linear-gradient(top, #2bb32b 0%, #008000 100%);
	background: linear-gradient(top, #2bb32b 0%, #008000 100%);
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#2bb32b, endcolorstr=#008000))";
	zoom: 1;
}
.b05 {
	background-color: #ffffff;
}
.b06 {
	background-color: #ff7424;
}
.b07 {
	background-color: #da70d6;
}
.b07 {
	background-color: #444444;
}
.b08 {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #242424), color-stop(0.00, #545454));
	background: -webkit-linear-gradient(top, #545454 0%, #242424 100%);
	background: -moz-linear-gradient(top, #545454 0%, #242424 100%);
	background: -o-linear-gradient(top, #545454 0%, #242424 100%);
	background: -ms-linear-gradient(top, #545454 0%, #242424 100%);
	background: linear-gradient(top, #545454 0%, #242424 100%);
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#545454, endcolorstr=#242424))";
	zoom: 1;
}
.b09 {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #1c95fe), color-stop(0.00, #61affe));
	background: -webkit-linear-gradient(top, #61affe 0%, #1c95fe 100%);
	background: -moz-linear-gradient(top, #61affe 0%, #1c95fe 100%);
	background: -o-linear-gradient(top, #61affe 0%, #1c95fe 100%);
	background: -ms-linear-gradient(top, #61affe 0%, #1c95fe 100%);
	background: linear-gradient(top, #61affe 0%, #1c95fe 100%);
	-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#61affe, endcolorstr=#1c95fe))";
	zoom: 1;
}

/* ## エラーメッセージ ## */
.errorMes {
	width: 60%;
	color: #ffffff;
	border-radius: 12px;
	background: red;
	margin-bottom: 18px;
	padding: 14px 16px;
	position:relative;
}
.errorMes:after {
	border: 14px solid transparent;
	border-top-color: red;
	border-bottom-width:0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	bottom:-10px;
	content:"";
	display: block;
	left: 10%;
	position:absolute;
	width: 0;
}

/* arrow next */
.arrow{
	vertical-align: middle;
	text-decoration: none;
	padding: 0 0 0 134px;
	position: relative;
	display: inline-block;
}
.arrow::before,
.arrow::after {
	content: "";
	vertical-align: middle;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
.arwRight::before {
	width: 100px;
	height: 20px;
	box-sizing: border-box;
	color: #ffffff;
	background-color: #2bb31d;
	text-align: center;
	content: "NEXT";
	padding-top: 2px;
}
.arwRight::after {
	width: 20px;
	height: 20px;
	box-sizing: border-box;
	border: 10px solid transparent;
	border-left: 10px solid #2bb31d;
	left: 100px;
}

/* ## page title ## */
.pTitle {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 24px;
	position: relative;
}
.pTitle img {
	width: 100%;
	border-radius: 6px;	
}
.pTitle h2 {
	width: 100%;
	font-size: 35px;
	color: #ffffff;
	box-sizing: border-box;
	text-align: right;
	padding-right: 44px;
	position: absolute;
	top: 10%;
}

.cTitle {
	font-size: 18px;
	border-bottom: solid 1px #242424;
	margin-top: 24px;
	margin-bottom: 10px;
	padding-bottom: 4px;
}
h4.sTitle {
	font-size: 20px;
	border-left: solid 1px #2bb31d;
	margin-top: 14px;
	margin-bottom: 8px;
	padding: 10px 0 10px 14px;
}

/* ## menu設定 ## */
#menu h3.imTitle {
	font-size: 20px;
	border-bottom: solid 1px #444444;
	padding-bottom: 14px;
}
/* menu設定 */
#menu {
	font-size: 13px;
	margin-bottom: 24px;
	overflow: hidden;
}
#menu li a {
	margin-bottom: 1px;
	padding: 10px 4px 10px 8px;
	display: block;
}
#menu li a:hover {
	color: #ffa300;
	background-color: #f9f9f9;
	text-decoration: none;
}
#menu li.mCurrent a {
	color: #ffa300;
	background-color: #f4f4f4;
}

/* ## width 359px以下の場合の設定 (for SP Only) ## */
@media (max-width: 359px) {

/* ## page title ## */
.pTitle h2 {
	font-size: 20px;
	top: 30%;
}

}

/* ## width 360px～500pxの場合の設定 (for SP Wide Only) ## */
@media (min-width: 360px) and (max-width: 500px) {

/* ## page title ## */
.pTitle h2 {
	font-size: 24px;
	top: 34%;
}

}

/* ## width 501px～767pxの場合の設定 (for Tub Only) ## */
@media (min-width: 501px) and (max-width: 767px) {


/* ## page title ## */
.pTitle h2 {
	font-size: 28px;
	top: 40%;
}

}

/* ## width 767px 以下の場合の設定 (for All Mobile Dvices) ## */
@media (max-width: 767px) {

body {
	font-size: 13px;
	background-color: #ffffff;
}


/* ## basebox ## */
.baseBox {
	margin-bottom: 14px;
	padding: 10px 10px;
}

ul.disc, ul.deci, ul.roman, ul.latin {
	margin: 4px 0 8px 0;
}
li {
}
ul.disc li {
	margin-left: 18px;
	margin-bottom: 4px;
}
ul.deci li {
	margin-left: 18px;
	margin-bottom: 4px;
}
ul.roman {
	padding-left: 8px;
}
ul.roman li {
	margin-left: 18px;
	margin-bottom: 4px;
}
ul.latin li {
	margin-left: 18px;
	margin-bottom: 4px;
}

/*table設定②*/
.table02 {
	font-size: 12px;
}
.table02 th {
	padding: 10px 4px;
}
.table02 td {
	text-align: left;
	padding: 10px 4px 10px 10px;
}

/* ## side title ## */
h2.sTitle {
	font-size: 18px;
	border-bottom: solid 1px #242424;
	margin-bottom: 14px;
	padding-left: 10px;
	padding-bottom: 4px;
}

h4.sTitle {
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 8px;
	padding: 4px 0 4px 10px;
}

/* ## page title ## */
.pTitle {
	width: 100%;
}
.pTitle h2 {
	text-align: center;
	text-shadow: 1px 1px 2px #999999;
	padding: 0;
}
.pTitle img {
	width: 100%;
	border-radius: 0;
}

.cTitle {
	font-size: 18px;
	border-bottom: solid 1px #242424;
	margin-bottom: 6px;
	padding-left: 10px;
	padding-bottom: 4px;
}


/* arrow */
#nextBox {
	padding: 0 10px 44px 10px;
}
.arrow {
	padding: 0 0 0 98px;
}
.arrow::before,
.arrow::after {
}
.arwRight::before {
	width: 74px;
	height: 20px;
	box-sizing: border-box;
	color: #ffffff;
	background-color: #2bb31d;
	text-align: center;
	content: "NEXT";
	padding-top: 2px;
}
.arwRight::after {
	width: 20px;
	height: 20px;
	box-sizing: border-box;
	border: 10px solid transparent;
	border-left: 10px solid #2bb31d;
	left: 74px;
}

/* スクロールガイド */
.scrollguide {
	font-size: 10px;
	overflow: hidden;
}

}

/* #### width 768px 以上の場合の設定 (for PC) #### */
@media (min-width: 768px) {
	
/* ## page title ## */
.cTitle {
	font-size: 24px;
	border-bottom: solid 1px #242424;
	margin-bottom: 10px;
	padding-bottom: 4px;
}

/* page title */
.pTitle {
}
.pTitle img {
	border-radius: 10px;	
}
.pTitle h2 {
	text-align: right;
	padding-right: 44px;
	position: absolute;
	top: 10%;
}
.pTitle.ptLeft h2 {
	text-align: left;
	padding-right: 0;
	padding-left: 44px;
}

/* ## side title ## */
h2.sTitle {
	font-size: 24px;
	border-bottom: solid 1px #242424;
	margin-bottom: 14px;
	padding-bottom: 4px;
}

/* ## basebox ## */
.baseBox {
	margin-bottom: 14px;
	padding: 14px 0;
}


}

/* #### width 980px 以上の場合の設定 #### */
@media (min-width: 980px) {


}
/* #### width 1248px 以上の場合の設定 #### */
@media (min-width: 1248px) {


}