﻿@charset "utf-8";

/* ------------------------------------------------------------------------
    HTML5 block
------------------------------------------------------------------------  */

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section , copyright {
    display: block;
}

/* ------------------------------------------------------------------------
    HTML
------------------------------------------------------------------------  */

* {
	margin:0;
	padding:0;
}
html {
	width:100%;
	-webkit-text-size-adjust: 100%;
}
body {
	color:#505050;
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-size:90%;
	line-height: 1.7em;
}

/* img */
img {
	max-width:100%;
	border:none;
	margin:0;
	padding:0;
	vertical-align:bottom;
}
.hov > a:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
}

h1 {
	font-size:3.2em;
	color:#323232;
	font-weight:normal;
}
h2 {
	font-family: 'Crimson Text', serif;
	font-size:3.2em;
	font-weight:normal;
	padding:10px 0 0;
	margin-bottom:10px;
}
h3 {
	font-family: 'Crimson Text', serif;
	font-size:2em;
	font-weight:normal;
	padding:5px 0 0;
}
p.sub {
	font-size:1.5em;
}
p.sub2 {
	font-size:1.3em;
}
p.sub3 {
	font-size:1.3em;
	text-align:center;
	line-height:2.3em;
}
p.sub4 {
	font-size:2em;
	text-align:center;
	padding:5px 0 0;
}
@media screen and (max-width:768px){
h1 , h2 {
	font-size:3em;
}
h3 , p.sub4 {
	font-size:1.8em;
}
p.sub {
	font-size:1.3em;
}
p.sub2 {
	font-size:1.2em;
}
p.sub3 {
	font-size:1.2em;
	line-height:2em;
}
}
@media screen and (max-width:480px){
h1 , h2 {
	font-size:2em;
}
h3 , p.sub4 {
	font-size:1.3em;
}
p.sub2 {
	font-size:1.1em;
}
p.sub3 {
	font-size:1.1em;
	line-height:1.5em;
}
}

/* li a p */
li {
	list-style:none;
}
li.inl {
	display:inline;
}
li a {
	text-decoration:none;
}
a {
	text-decoration:none;
}
p {
	word-break:break-all;
}
.en {
	font-family: 'Crimson Text', serif;
}
.jp {
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
}
 /* ------------------------------------------------------------------------
    loading
------------------------------------------------------------------------  */
.loadingWrap{
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index:5;
}
.loadingWrap img{
	width:30px;
	height:30px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -15px;
	margin-left: -15px;
}
/* ------------------------------------------------------------------------
    opacity
------------------------------------------------------------------------  */
.boxarea {
	overflow: hidden;
	opacity: 0;
}

/* ------------------------------------------------------------------------
    container
------------------------------------------------------------------------  */
.container , .inner {
	max-width: 1000px;
	padding:0 10px;
	margin:0 auto;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
.inner {
	position: relative;
}
.wrapper {
	max-width:1400px;
	padding:0 10px;
	margin:0 auto;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}

/* ------------------------------------------------------------------------
    box
------------------------------------------------------------------------  */
.box {
	width:100%;
	display:table;
	table-layout:fixed;
}
.box_cell {
	display:table-cell;
	padding:0 10px;
}
@media screen and (max-width:768px){
.box {
	display:block;
}
.box_cell {
	display:block;
	padding:15px 10px;
}
}
.box2 {
	width:100%;
	display:table;
	table-layout:fixed;
}
.box_cell2 {
	display:table-cell;
	padding:0 10px;
}
@media screen and (max-width:480px){
.box2 {
	display:block;
}
.box_cell2 {
	display:block;
	padding:15px 10px;
}
}

.box_line {
	border-bottom:1px solid #505050;
	border-top:1px solid #505050;
	padding:15px 0;
	background:#f4f4f4;
}
.box_msg {
	width:100%;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	background:#fffeeb;
	border:1px solid #d4d4d4;
	padding:15px;
}


/* ------------------------------------------------------------------------
    button
------------------------------------------------------------------------  */
.btn a {
	display:block;
	padding:5px 7px;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	background:#505050;
	color:#FFF;
	text-align:center;
}
.btn a:hover {
	background:#666;
}
.arrow a {
	color:#505050;
	background:url(../images/arrow_off.png) no-repeat;
	background-position:0 50%;
	padding:0 0 0 25px;
}
.arrow a:hover {
	color:#999;
	background:url(../images/arrow_act.png) no-repeat;
	background-position:0 50%;
}

/* ------------------------------------------------------------------------
    title
------------------------------------------------------------------------  */
.sub_ttl {
	border-top:1px solid #787878;
	border-bottom:1px solid #787878;
	padding:20px 0;
	margin:0 0 30px;
}

.sub_ttl2_area {
	border-bottom:2px solid #505050;
	border-top:2px solid #505050;
	padding:1px 0;
	margin:0 0 30px;
	position:relative;
}
.sub_ttl2_area:before{
	content: "";
	position: absolute;
	bottom:-24px;
	left:49%;
	border: 10px solid transparent;
	border-top: 12px solid #505050;
	z-index:3;
}
.sub_ttl2 {
	border-bottom:1px solid #505050;
	border-top:1px solid #505050;
	padding:10px 0;
	text-align:center;
	background:#e6e6e6;
}
.sub_ttl3 {
	background:url(../images/line_3px_2px.png) repeat-y;
	padding:0 0 0 15px;
}
.sub_ttl4area {
	width:100%;
	background:url(../images/line_1px_btmline_black.gif) repeat-x;
	background-position:0 50%;
	text-align:center;
}
.sub_ttl4area > p {
	display:inline;
	padding:0 1.5em;
	background:#fff;
}
.sub_ttl5 {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	text-align:center;
	padding:5px 0;
	color:#FFF;
	background:#6e6e6e;
}


/* ------------------------------------------------------------------------
    font text
------------------------------------------------------------------------  */
.f30 {
	font-size:3em;
}
.f25 {
	font-size:2.5em;
}
.f20 {
	font-size:2em;
}
.f19 {
	font-size:1.9em;
}
.f18 {
	font-size:1.8em;
}
.f17 {
	font-size:1.7em;
}
.f16 {
	font-size:1.6em;
}
.f15 {
	font-size:1.5em;
}
.f14 {
	font-size:1.4em;
}
.f13 {
	font-size:1.3em;
}
.f12 {
	font-size:1.2em;
}
.f11 {
	font-size:1.1em;
}
.f10 {
	font-size:1.0em;
}
.f09 {
	font-size:0.9em;
}
.f08 {
	font-size:0.8em;
}
.f07 {
	font-size:0.7em;
}
.f06 {
	font-size:0.6em;
}
.f05 {
	font-size:0.5em;
}
.f04 {
	font-size:0.4em;
}
.fwb {
	font-weight:bold;
}
.fwn {
	font-weight:normal;
}
.tac {
	text-align:center;
}
.tar {
	text-align:right;
}
.tal {
	text-align:left;
}

.black {
	color:#000;
}
.orange {
	color:#dc5a14;
}
.gray {
	color:#969696;
}
.red {
	color:#820000;
}
.blue {
	color:#0290bf;
}
.perple {
	color:#9d26db;
}
.fwb {
	font-weight:bold;
}
.ti1 {
	text-indent:-1em;
	padding-left:1em;
}
.lh20 {
	line-height:20px;
}
.lh23 {
	line-height:2.3em;
}

/* ------------------------------------------------------------------------
    padding margin
------------------------------------------------------------------------  */
.pt05 {
	padding-top:5px;
}
.pt10 {
	padding-top:10px;
}
.pt15 {
	padding-top:15px;
}
.pt20 {
	padding-top:20px;
}
.pt25 {
	padding-top:25px;
}
.pt30 {
	padding-top:30px;
}
.pt35 {
	padding-top:35px;
}
.pt40 {
	padding-top:40px;
}
.pb05 {
	padding-bottom:5px;
}
.pb10 {
	padding-bottom:10px;
}
.pb15 {
	padding-bottom:15px;
}
.pb20 {
	padding-bottom:20px;
}
.pb25 {
	padding-bottom:25px;
}
.pb30 {
	padding-bottom:30px;
}
.pb40 {
	padding-bottom:40px;
}
.pl05 {
	padding-left:5px;
}
.pl10 {
	padding-left:10px;
}
.pl15 {
	padding-left:15px;
}
.pl20 {
	padding-left:20px;
}
.pl25 {
	padding-left:25px;
}
.pl30 {
	padding-left:30px;
}
.pl40 {
	padding-left:40px;
}
.pl50 {
	padding-left:50px;
}
.pr05 {
	padding-right:5px;
}
.pr10 {
	padding-right:10px;
}
.pr15 {
	padding-right:15px;
}
.pr20 {
	padding-right:20px;
}
.pr25 {
	padding-right:25px;
}
.pr30 {
	padding-right:30px;
}
.mb05 {
	margin-bottom:5px;
}
.mb10 {
	margin-bottom:10px;
}
.mb15 {
	margin-bottom:15px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.mb40 {
	margin-bottom:40px;
}
.m0a {
	margin:0 auto;
}

/* ------------------------------------------------------------------------
    display
------------------------------------------------------------------------  */
.dis_t {
	width:100%;
	display:table;
}
.dis_tfix {
	width:100%;
	display:table;
	table-layout:fixed;
}
.dis_tc {
	display:table-cell;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
.dis_in {
	display:inline;
}
.dis_bl {
	display:block;
}
.vam {
	vertical-align:middle;
}
.vat {
	vertical-align:top;
}
/* ------------------------------------------------------------------------
    clearfix
------------------------------------------------------------------------  */
.clearfix:before,
.clearfix:after {
    content:"";
    display:block;
}
 
.clearfix:after {
    clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix{
    zoom:1;
}

/* ------------------------------------------------------------------------
    anchor color
------------------------------------------------------------------------  */
.white {
	color:#fff;
}
.white a {
	text-decoration:none;
	color:#FFFFFF;
}
.white a:hover {
	color:#CCCCCC;
}
.bk a , a bk {
	text-decoration:none;
	color:#505050;
}
.bk a:hover , a:hover bk {
	color:#999999;
}
.bk_btm a {
	color:#505050;
	text-decoration:underline;
}
.bk_btm a:hover {
	color:#999999;
}

/* ------------------------------------------------------------------------
    arrow
------------------------------------------------------------------------  */
.arr_wh a {
	background:url(../images/point_triangle_8px_white.png) no-repeat left;
	background-position:3pt 8pt;
}
.arr_wh a {
	color:#fff;
	padding:5px 40px;
	border:2px solid #fff;
}
.arr_wh a:hover {
	color:#b43232;
	border:2px solid #b43232;
	background:url(../images/point_triangle_8px_blown01.png) no-repeat left;
	background-position:3pt 8pt;
}

/* ------------------------------------------------------------------------
    button
------------------------------------------------------------------------  */
.btn1 a {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	display:block;
	border:2px solid #666;
	padding:3px 0;
	text-align:center;
	color:#505050;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.btn1 a:hover {
	background:#d4d4d4;
}
.btn2 a {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	max-width:400px;
	margin:0 auto;
	display:block;
	border:2px solid #666;
	padding:3px 0;
	text-align:center;
	color:#505050;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.btn2 a:hover {
	background:#d4d4d4;
}

/* ------------------------------------------------------------------------
    table
------------------------------------------------------------------------  */
table {
	width:100%;
	border:1px solid #c8c8c8;
	margin:0;
	padding:0;
}
tr {
	margin:0;
	padding:0;
}
td {
	margin:0;
	padding:5px 10px;
}
.bb {
	border-bottom:1px solid #c8c8c8;
}
.br {
	border-right:1px solid #c8c8c8;
}
.bblue {
	background:#0290bf;
	color:#FFFFFF;
}
.bgray {
	background:#f0f0f0;
}
.bgw {
	background:#fff;
}


/* ------------------------------------------------------------------------
    unline line
------------------------------------------------------------------------  */
.unline1 {
	background:url(../images/line_1px_dash_black.png) repeat-x bottom;
	padding:0 0 20px 0;
	margin:0 0 20px 0;
}
.unline2 {
	border-bottom:1px solid #fff;
}
.unline3 {
	border-bottom:1px solid #787878;
}
.unline4 {
	border-bottom:1px solid #b4b4b4;
}
.unline5 {
	background:url(../images/line_1px_dash_black.png) repeat-x bottom;
	padding:0 0 10px 0;
	margin:0 0 10px 0;
}

.tpline {
	border-top:1px solid #787878;
}

/* ------------------------------------------------------------------------
    background
------------------------------------------------------------------------  */
.con_gra1 {
	width:100%;
	padding:40px 0;
	background:url(../images/bg_gra.gif) repeat-x;
}
.con_gra2 {
	background:url(../images/bg_gra.gif) repeat-x;
}
.con_bg1 {
	width:100%;
	background:#e6e6e6;
	text-align:center;
	padding:30px 0;
	color:#787878;
}
@media screen and (max-width:460px){
.con_bg1 {
	padding:20px 0;
}
}

/* color */
.bg_blue {
	background:#0096be;
}
.bg_beige1 {
	background:#dcc8b4;
}
.bg_beige2 {
	background:#faf0d2;
}
.bg_green {
	background:#82d27d;
}

/* ------------------------------------------------------------------------
    back top btn
------------------------------------------------------------------------  */
#back-top {
	margin-left:1050px;
	border-bottom:30px;
	bottom:30px;
}
@media screen and (max-width:1200px){
#back-top {
	right:10px;
	border-bottom:30px;
	bottom:30px;
}
}
#back-top {
	position: fixed;
	z-index:5;
}
#back-top a {
	width: 60px;
	display: block;
	text-align: center;
	color: #bbb;
	/* background color transition */
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top a:hover {
	color: #000;
}
/* arrow icon (span tag) */
#back-top span {
	width: 60px;
	height: 60px;
	display: block;
	margin-bottom: 7px;
	background: url(../images/pagetop.png) no-repeat center;
	background-color:rgba(105,0,0,0.5);
	/* rounded corners */
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	/* background color transition */
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top a:hover span {
	background-color:rgba(105,0,0,1);
}


/* ------------------------------------------------------------------------
    z-index
------------------------------------------------------------------------  */
.z1 {
	z-index:1;
}
.z2 {
	z-index:2;
}
.z3 {
	z-index:3;
}
.z4 {
	z-index:4;
}
.z5 {
	z-index:5;
}
.z6 {
	z-index:6;
}
.z7 {
	z-index:7;
}
.z8 {
	z-index:8;
}
.z9 {
	z-index:9;
}

/* ------------------------------------------------------------------------
    image
------------------------------------------------------------------------  */
.x350 {
	max-width:350px;
}

/* ------------------------------------------------------------------------
    other
------------------------------------------------------------------------  */
.fl {
	float:left;
}
.fr {
	float:right;
}
.cb {
	clear:both;
}
.ovh {
	overflow:hidden;
}
.bg_fff0dc {
	padding:20px 0;
	background:#fff0dc;;
}
.bg_fff2cd {
	background:#fff2cd;
}
.relat {
	position:relative;
}
