@charset "UTF-8";

/*------------------------------------------------------------
ブラウザ固有のCSSをリセット
-------------------------------------------------------------*/
/*
*{ letter-spacing: 0; }

html{ overflow-y: scroll; }

body,div,ol,ul,li,
h1,h2,h3,h4,h5,h6,pre,form,fieldset,
input,p,blockquote{
	margin: 0;
	padding: 0;
}


address,caption,cite,code,dfn,var,h1,h2,h3,h4,h5,h6{
	font-style: normal;
	font-weight: normal;
}

h1,h2,h3,h4,h5,h6,small{
	font-size: 100%;
	font-weight: normal;
}

fieldset,img,abbr{ border: 0; }

caption{ text-align: left; }

q{ quotes: none; }

q:before,q:after{
	content: '';
	content: none;
}

a{ text-decoration: none; }

a:hover,
a:active{ outline: 0; }

img{
	border: 0;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}
*/



b,strong{ font-weight: bold; }

div{ word-wrap: break-word; }

sub,sup{
	position: relative;
	line-height: 0;
	vertical-align: baseline;
	font-size: 75%;
}
sup{ top: -0.5em; }
sub{ bottom: -0.25em; }

pre,code{
	font-size: 1em;
	font-family: sans-serif;
}

pre{
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
	margin:0 1.8em;
}

form{ margin: 0; }

button,input,select,textarea,optgroup,option{
	margin: 0;
	font-family: sans-serif;
	font-size: 100%;
	vertical-align: baseline;
}

* html button,
* html input,
* html select,
* html textarea{ vertical-align: middle; } /* IE6 */

*+html button,
*+html input,
*+html select,
*+html textarea{ vertical-align: middle; } /* IE7 */

button,input{ line-height: normal; }

* html button,
* html input{ overflow: visible; } /* IE6 */

*+html button,
*+html input{ overflow: visible; } /* IE7 */

textarea{
	overflow: auto;
	vertical-align: top;
}

input[type="text"],textarea{ padding: 2px; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"]{ -webkit-appearance: button; }

button::-moz-focus-inner,
input::-moz-focus-inner{
	margin: 0;
	padding: 0;
	border: 0;
}

.clearfix:after{
	content : '';
	display : block;
	clear : both;
	height:0;

}

body {
	/*padding:20px 50px;*/
}

@media only screen and (max-width: 640px){
	html,body,.all_wrapper { width:100%; }
}

#demo1,#demo2,#demo2 {
	margin-bottom:50px;
}

/*フラグメント識別子による実装*/
#demo1 .tab_area ul li{
	display:block;
	background:#dddddd;
	border-right:1px solid #ffffff;
	width: 100px;
	float:left;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

#demo1 .tab_area ul li a{
	display:block;
	text-align:center;
	font-size:22px;
	padding: 5px;
	color:#313131;
}

#demo1 .tab_area ul li a:hover {
	background:#999999;
	color:#ffffff;
}

#demo1 .content_area {
    width: 600px;
    overflow: hidden;
    height: 140px;
    font-size: 20px;
    border: 1px solid #DDDDDD;
}

#demo1 .content_area .content_area_inner {
	width:1800px;
}

#demo1 .content_area .content_block {
	height: 140px;
	padding: 10px;
	width: 600px;
	float: left;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

#demo1 #contents1 {
	background:#47CA40;
}

#demo1 #contents2 {
	background:#EBEF64;
}

#demo1 #contents3 {
	background:#F56B6B;
}

/*ターゲット疑似クラス（:target）とz-indexで実装*/
#demo2 .tab_area ul li{
	display:block;
	float:left;
	background:#dddddd;
	width: 100px;
	border-right:1px solid #ffffff;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

#demo2 .tab_area ul li a{
	display:block;
	text-align:center;
	font-size:22px;
	padding: 5px;
	color:#313131;
}

#demo2 .tab_area ul li a:hover {
	background:#999999;
	color:#ffffff;
}

#demo2 .content_area {
    width: 600px;
    overflow: hidden;
    height: 140px;
    font-size: 20px;
    border: 1px solid #DDDDDD;
    position: relative;
}

#demo2 .content_area .content_block {
	height: 140px;
	padding: 10px;
	width: 600px;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

.content_block_2 {
	position:absolute;
	left:0;
	top:0;
	padding: 10px;
}

#contents2_1 {
	background:#47CA40;
	z-index:1;
}

#contents2_2 {
	background:#EBEF64;
	z-index:0;
}

#contents2_3 {
	background:#F56B6B;
	z-index:0;
}

#contents2_1:target {
	z-index:100;
}

#contents2_2:target {
	z-index:100;
}

#contents2_3:target {
	z-index:100;
}

/*jQueryによるタブ切り替え実装*/
#demo3 .tab_area ul li{
	display:block;
	float:left;
	background:#dddddd;
	width: 100px;
	border-right:1px solid #ffffff;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
	text-align:center;
	font-size:22px;
	padding: 5px;
	color:#313131;
}

#demo3 .tab_area ul li:hover {
	background:#999999;
	color:#ffffff;
	cursor:pointer;
}

#demo3 .content_area {
    width: 600px;
    overflow: hidden;
    height: 140px;
    font-size: 20px;
    border: 1px solid #DDDDDD;
    position: relative;
}

#demo3 .content_area .content_block {
	height: 140px;
	padding: 10px;
	width: 600px;
	-webkit-box-sizing : border-box ;
	-moz-box-sizing : border-box ;
	box-sizing : border-box ;
}

.content_block_3 {
	background: #ffffff;
	padding: 10px;
}

#contents3_1 {
	background:#47CA40;
}

#contents3_2 {
	background:#EBEF64;
}

#contents3_3 {
	background:#F56B6B;
}

/*　=================================　入力チェック・エラーメッセージ　=================================　*/

.wrapper{
	max-width: 650px;
	margin: 0 auto;
	text-align: left;
}


#contact_form .input_item dl {		/* 任意 必須 入力エリア　ベース */
	margin: 0 auto;
	margin-bottom: 20px;
    width: 100%;
}

#contact_form .input_item dl dt {	/* 会社など */
    float: left;
    width: 190px;
    font-size: 1em;
    line-height: 30px;
    height: 30px;
    padding: 3px 0 3px 0;
    text-indent: -48px;
    margin: 0 0 0 48px;
	color: #666666;

}

#contact_form .input_item dl dt span {	/* 任意 必須 */
	font-size: 1em;
	margin: 0 10px 0 0;
	display: inline;
	line-height: 20px;
	padding: 3px 10px;
	color: #ffffff;
	height: 18px;
	border-radius: 4px;
	
}

#contact_form .input_item dl dt span.req {	/* 必須 */
	background: #FF1515;
}

#contact_form .input_item dl dt span.any {	/* 任意 */
	background: #cccccc;
}



#contact_form .input_item dl dd {	/* 入力スペース */
    float: right;
    width: 350px;
    font-size: 1em;
    line-height:30px;
    height:auto;
	padding-right: 10px;
    position: relative;
}

#contact_form .input_item dl dd li {
    display: inline-block;
    margin: 0 15px 0 0;
    line-height: 30px;
    height: 30px;
    padding: 3px 0;
}

#contact_form .input_item dl dd p.mail_caution {
    font-size: 1em;
    line-height: 19px;
    color: #666666;
    margin: 5px 0 0 0;
}

#contact_form .input_item dl dd input[type="text"],
#contact_form .input_item dl dd input[type="number"],
#contact_form .input_item dl dd input[type="email"],
#contact_form .input_item dl dd input[type="tel"]{
    width: 100%;
    font-size: 1em;
    height:30px;
    padding: 3px 0 3px 0;
    margin:0;
}

#contact_form .input_item .transmission input[type="submit"] {	/* ボタン */
	border: 3px double #FFFFFF;
	background: #FF1515;
	font-size: 1em;
	text-shadow: none;
	color: #ffffff;
	width: 200px;
	padding: 10px 0;
	margin: 25px 0;
	display: block;
	opacity: 1.0;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

#contact_form .input_item .transmission input[type="submit"]:hover {
    background: #FF8888;
	opacity:0.85;
	-webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

#contact_form .input_item dl dd input[type="text"].inp_error,
#contact_form .input_item dl dd input[type="number"].inp_error,
#contact_form .input_item dl dd input[type="tel"].inp_error,
#contact_form .input_item dl dd textarea.inp_error {
    border: 1px solid #F88A8A;
    background: #F4D4D4;
}

#contact_form .input_item dl dd textarea {	/* == テキストエリア == */
    width: 340px;
    padding: 10px 3px 10px 10px;
}

#send_status{
	padding: 5px 0 25px;
    text-align: center;
}
#send_status p{
	width: 480px;
	margin: 0 auto;
    padding: 0 15px;
    line-height: 50px;
    font-size: 1em;
    border: 1px solid #3c763d;
    border-radius: 4px;
    background-color: #dff0d8;
    color: #3c763d;
}

span.error_m {
	font-size: 1em;
	font-weight: normal;
	color: #FF4040;
	display: block;
	margin: 0;
}

#contact_form span.tooltip {
    position: absolute;
    background: #F4EDDD;
    font-size: 1em;
    width: 220px;
    padding: 5px 10px;
    right: -257px;
    top: 0;
    border-radius: 5px;
    border: 1px solid #aaa;
    box-shadow: 0px 1px 2px 0 #C1BCB9;
    z-index: 10000;
    line-height: 22px;
    display: none;
}

#contact_form span.tooltip:before {
    content: '';
    position: absolute;
    top: 9px;
    left: -14px;
    border-top: solid 7px transparent;
    border-bottom: solid 7px transparent;
    border-right: solid 13px #aaa;
}

#contact_form span.tooltip:after {
    content: '';
    position: absolute;
    top: 9px;
    left: -12px;
    border-top: solid 7px transparent;
    border-bottom: solid 7px transparent;
    border-right: solid 13px #F4EDDD;
}

/*nth-childデモ*/
#nthcld {
	font-family:"メイリオ";
	height:3000px;
}
#nthcld ul {
    padding: 0 0 25px;
    border-bottom: 1px solid #aaaaaa;
    margin: 0 0 25px 0;
}

#nthcld ul li{
	margin: 0 0 10px 0;
	list-style:inside
}

#nthcld ul.demo_1 li:nth-child(2){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_2 li:nth-child(2n+1){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_3 li:nth-child(odd){
	font-weight:bold;
	color:green;
	text-decoration:underline;
}

#nthcld ul.demo_3 li:nth-child(even){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_4 li:nth-last-child(2){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_5 li:nth-last-child(-2n+3){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_6 li:nth-last-child(odd){
	font-weight:bold;
	color:green;
	text-decoration:underline;
}

#nthcld ul.demo_6 li:nth-last-child(even){
	font-weight:bold;
	color:red;
	text-decoration:underline;
}

#nthcld ul.demo_8 {
	width:500px;
	border:none;
	box-sizing:border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

#nthcld ul.demo_8 li{
	display: block;
	width: 250px;
	padding:15px 10px!important;
	margin:0!important;
	float: left;
	border-bottom:1px solid #cccccc;
	box-sizing:border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

#nthcld ul.demo_8 li:nth-child(odd){
	border-right:1px solid #cccccc;
}

#nthcld ul.demo_8 li:last-child,
#nthcld ul.demo_8 li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
}

#nthcld table {
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
	border-collapse: collapse;
}

#nthcld table th,#nthcld table td {
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	padding:10px;
}

#nthcld table th {
	background:#313131;
	color: #ffffff;
}

#nthcld table tr:nth-child(odd){
	background: #F7F2DA;
}

#nthcld table tr:nth-child(4){
	color:red;
}

/*radio_buttonデモ*/

#radio_demo li {
    float: left;
    margin-right: 18px;
    line-height: 40px;
    list-style: none;
}
 
#radio_demo li:last-child {
    margin-right: 0;
}
#radio_demo li .switch_off {
    border: 2px solid #BBBBBB;
    border-radius: 4px;
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    padding: 15px 10px;
    width: 220px;
    color: #313131;
    line-height: 40px;
    background-color: #fff;
    cursor: pointer;
}
 
#radio_demo li .switch_on {
    border: 2px solid #6B4646;
    border-radius: 4px;
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    padding: 15px 10px;
    width: 220px;
    color: #fff;
    line-height: 40px;
    background-color: #6B4646;
    cursor: pointer;
}
 
#radio_demo li .switch_off:hover {
    border: 2px solid #6B4646;
    background-color: #6B4646;
    color:#ffffff;
}

/*文字カウンター*/
#counter_block {
	width: 650px;
}

#counter_block textarea{
    border: 1px solid #bbbbbb;
    min-height: 250px;
    font-size: 16px;
    width: 100%;
    line-height: 20px;
    padding: 10px;
    margin:0 0 5px 0;
    box-shadow: none;
    resize: both;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

#counter_block textarea#input_text{
    min-height: 150px;
}

#counter_block .count {
	font-weight: bold;
	display: block;
	margin:0 0 5px 0;
}

#counter_block .count_alert {
	color:#ff0000;
	font-weight: bold;
	display: block;
}

/*ページ内ジャンプ*/
#pagejump_demo {
	width: 950px;
}
#pagejump_demo h1,
#pagejump_demo h2,
#pagejump_demo h3 {
	margin:0 0 15px 0;
	font-weight: bold;
}

#pagejump_demo p {
	margin:0 0 25px 0;
}

#pagejump_demo h1 {
	font-size:25px;
}

#pagejump_demo h2 {
	font-size:22px;
}

#pagejump_demo .scroll_button a{
	position: fixed;
	display: block;
	right:50px;
	bottom:50px;
	background: #313131;
	color:#fff;
	padding:20px;
}

#pagejump_demo .scroll_button_btm a{
	position: fixed;
	display: block;
	right:50px;
	top:50px;
	background: #313131;
	color:#fff;
	padding:20px;
}

/*leanModalデモ*/
#modal_demo {
	font-family: Arial, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}
#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #000;
    display: none;
}

#modal_block {
    display: none;
    width: 700px;
    padding: 50px 45px;
    margin: 200px auto;
    background: #fff;
    border: 1px solid #313131;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#modal_block #modal_link {
	float:left;
}

#modal_block #modal_close {
	float:right;
}

#modal_block #modal_link,
#modal_block #modal_close {
    width: 285px;
    display: block;
    padding: 25px 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-radius: 5px;
    text-align: center;
}


/*チェックボックス選択可能数制御*/
#checkbox_control .input_item ul li {
    list-style-type: none;
    font-size: 21px;
    margin: 0 0 22px 0;
}

#checkbox_control .input_item ul li input[type="checkbox"]{
	width: 25px;
	height: 25px;
	margin: -4px 5px 0 0;
	display:inline-block;
	vertical-align: middle;
}

#checkbox_control .input_item ul li label{
	display:inline-block;
	vertical-align:middle;
	line-height: 20px;
}

#checkbox_control .input_item ul li.locked{
	opacity: 0.75;
	color: #aaa;
}

#select-pagejump #blogcategory_list {
	border: 1px solid #999999;
	font-size: 21px;
	padding: 5px;
	width: 250px;
	border-radius: 5px;
}

.disp_image a {
	display: block;
	width: 75%;
	height: 140px;
	max-width: 480px;
	margin: 0 auto 10px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: 1px solid #e8e8e8;
	cursor: initial;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

 #image_wrapper .close_button {
	z-index: 25;
	display: none;
	display: inline;
	padding: 10px;
	text-align: right;
	position: absolute;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	right: 5px;
	top: 5px;
}

 #image_wrapper .close_button a {
 	color:#313131;
 }