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

body { font-size: 15px; }
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }

#container {
    overflow: hidden;
}

.sp_none { display: none !important; }
.sp_block { display: block; }

/*管理画面のリンク*/
#edit_btn_inner {
    padding: 5px;
    background-color: #666;
    text-align: right;
}
#edit_btn_inner a {
    display: inline-block;
    color: #666;
    text-decoration: none;
    background-color: #fff;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 5px;
}
#edit_btn_inner a:hover { background-color: #ddd; }
/*---------------------------------------------------------------------
	site_header
---------------------------------------------------------------------*/
#site_header {
	width: 100%;
	background: rgba(255,255,255,.65);
}
#site_header .inner {
	max-width: 1200px;
	margin: 10px auto;
}
#site_header .logo { float: left; width:27.5%;}
#site_header .logo img {
	width: 100%;
	max-width: 330px;
}
#site_header .header_list {
    float: right;
    width: 72.5%;
    text-align: right;
}
#guide_menu {
    font-size: 0;
    width: 100%;
}
#guide_menu li {
    display: inline-block;
    margin-left: 25px;
}
#guide_menu li a {
    color: #333;
    font-size: 14px;
    text-decoration: none;
    display: block;
}
#guide_menu .link_contact a {
    color: #fff;
    font-size: 15px;
    text-align: center;
    padding: 8px;
    background-color: #00519C;
    border-radius: 35px;
    width: 170px;
}
#guide_menu .link_contact a:hover {
    color: #00519C;
    background-color: #fff;
    border: 3px solid #00519C;
    padding: 5px;
}

/*ヘッダ固定*/
.site_header.fixed,
.gnavi.fixed {
    position: fixed;
    top: 0;
    padding: 0;
    width: 100%;
    z-index: 1000;
    background: #fff;
}
/*gnavi*/
.gnavi {
    border-bottom: 5px solid #AAAAAA;
    position: relative;
}
.gnavi::after {
    position: absolute;
    content: "";
    background: url(../image/gnavi_border.png) left bottom;
    width: 303px;
    height: 5px;
    background-size: cover;
    -webkit-background-size: cover;
}
.gnavi .inner {
    max-width: 1200px;
    margin: 0 auto;
    display: table;
}
.gnavi .inner li {
    display: table-cell;
    width: 200px;
    border-right: 1px solid #bbb;
}
.gnavi .inner li:first-child {border-left: 1px solid #bbb;}
.gnavi .inner li a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #000;
    padding: 4px 0;
}
.gnavi .inner li a:hover {
    background-color: #FDF0F0;
}
/*---------------------------------------------------------------------
	site_navi
---------------------------------------------------------------------*/
#site_navi {
    backface-visibility: hidden;
	background-color: #d90000;
    position: fixed;
    left: 0;
	top: 0;
    width: 100%;
	height: 100%;
    z-index: 100;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    display: none;
}
#site_navi > .inner {
	/*height: 100%;*/
    padding: 70px 20px 20px;
}


/* site_navi_list */
.header_navi {}
#site_navi ul {}
#site_navi li {}
#site_navi.activ li {}

#site_navi ul li a {
    color: #fff;
    font-size: 15px;
    font-weight: normal;
    text-decoration: none;
    display: block;
    padding: 15px 0;
    border-bottom: 1px dotted #aaa;
    position: relative;
}
#site_navi ul li:first-child a {
    border-top: 1px dotted #aaa;
}
#site_navi ul li a::after {
	content: "";
    width: 5px;
    height: 26px;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -13px;
    background-color: #ECECEC;
}


/*---------------------------------------------------------------------
	topic_path_top
---------------------------------------------------------------------*/
.topic_path_top { 
    margin-bottom: 20px;
    border-bottom: 1px solid #bbb;
}
.topic_path_top > ol {
	font-size: 80%;
	box-sizing: content-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 6px 0 4px;
	color: #444;
}
.topic_path_top > ol > li { display: inline-block; }
.topic_path_top > ol > li + li::before {
	content: ">";
	margin: 0 5px;
}
.topic_path_top > ol > li a {
	color: #444;
	text-decoration: none;
}
.topic_path_top > ol > li a:hover {
	color: #d90000;
}

/*---------------------------------------------------------------------
	pagebody
---------------------------------------------------------------------*/
#pagebody {}
#pagebody_inner .inner {
    box-sizing: content-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 15px;
}

.pagebody_inner_02 {
    box-sizing: content-box;
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 15px;
}
#alpha {
    float: left;
    width: 76.66%;
}
#beta {
    float: right;
    width: 20%;
    min-height: 300px;
}
#pagebody .fade_in,
#list_index .fade_in {
	opacity: 0;
	position: relative;
	top: 1%;
}

.content1 p { margin: 1em auto; }
.content1 h2 + p,
.content1 h3 + p,
.content1 h4 + p,
.content1 h5 + p,
.content1 h6 + p { margin-top: 0; }
.content1 div > p { margin-top: 0; }

/* headline */
.content1 * + h2 { margin-top: 80px; }
.content1 * + h3 { margin-top: 50px; }
.content1 * + h4 { margin-top: 30px; }
.content1 * + h5 { margin-top: 20px; }
.content1 h2 + h3,
.content1 h3 + h4 { margin-top: 0 }

/* utility */
.content1 * + dl,
.content1 * + ol,
.content1 * + ul,
.content1 * + table { margin-top: 20px; }

.ttl_bg {
    background: url(../image/slide_bg.jpg);
}
.page_ttl {
    font-size: 200%;
    font-weight: normal;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
}

.lead_01,
.content1 h2 {
    font-size: 186.66%;
    font-weight: normal !important;
    border-bottom: 4px solid #aaa;
    position: relative;
    padding: 0 0 15px;
    margin-bottom: 30px;
}
.lead_01,
.content1 h2::before {
    position: absolute;
    content: "";
    background: url(../image/common/lead_border.png) left bottom;
    width: 372px;
    height: 4px;
    bottom: -4px;
}
.lead_02,
.content1 h3 {
    font-size: 173.33%;
    font-weight: normal;
    color: #333;
    border-bottom: 1px solid #aaa;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.lead_03,
.content1 h4 {
    font-size: 160%;
    font-weight: normal;
    color: #333;
    border-bottom: 1px dotted #aaa;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.lead_04,
.content1 h5 {
    font-size: 146.66%;
    font-weight: normal;
    margin-bottom: 15px;
    padding: 0 0 10px 20px;
    background: url(../image/common/icon_lead.png) no-repeat left 10px;
}
.lead_05 {
    font-size: 137.5%;
    font-weight: normal;
    position: relative;
    padding-left: 10px;
    padding-top: 7px;
    overflow: hidden;
}
.lead_06 { font-size: 173.33%; }


.lead_05.l_bg_01 { color: #000; }
.lead_05.l_bg_02 { color: #00519C; }
.lead_05.l_bg_03 { color: #468C00; }
.lead_05.l_bg_04 { color: #46008C; }

.lead_05::before {
    content: "";
    width: 150px;
    height: 50px;
    position: absolute;
    left: -12px;
    top: 0px;
    transform: skew(-25deg, 0deg);
}
.lead_05.l_bg_01::before { background: rgba(0, 0, 0, 0.07); }
.lead_05.l_bg_02::before { background: rgba(0, 140, 140, 0.07); }
.lead_05.l_bg_03::before { background: rgba(70, 140, 0, 0.07); }
.lead_05.l_bg_04::before { background: rgba(70, 0, 140, 0.07); }


.fc_01 { color: #FF0000; }
.fc_02 { color: #00519C; }
.fc_03 { color: #468C00; }
.fc_04 { color: #008C8C; }

.bg_01 { background-color: #FFFFF5; }

a.btn_01 {
    color: #333333;
    display: block;
    text-decoration: none;
    border: 1px solid #CCC;
    text-align: center;
    padding: 15px;
    position: relative;
	transition: .3s;
}
a.btn_01::before {
    content: "";
    position: absolute;
    right: 17px;
    top: 50%;
    margin-top: -6px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #d90000;
    border-bottom: 2px solid #d90000;
    transform: rotate(-45deg);
	transition: .3s;
}
a.btn_01:hover {
	color: #fff;
	background: #d90000;
}
a.btn_01:hover::before {
	border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

.inline_block {
    display: inline-block;
}


/*--------- template -----------*/
.alpha_contents {}
.fll_img {
    float: left;
    margin: 0 2.5% 2.5% 0;
    /* width: 31.66%; */
	max-width: 30%;
}
.flr_img {
	float: right;
	margin: 0 0 2.5% 2.5%;
    /* width: 31.66%; */
	max-width: 30%;
}
/* 蠎�＞PC */
@media (min-width:1280px) {
	.fll_img { max-width: 50%; }
	.flr_img { max-width: 50%; }
}
.fll_img img,
.fll_img img {
	max-width: 100%;
	height: auto;
}
.fl_over {
    overflow: hidden;
}

.caption,
.list_1column .caption,
.list_2column .caption,
.list_3column .caption,
.list_4column .caption,
.list_5column .caption {
	font-size: 86.66%;
    line-height: 1.4;
    padding-top: 7px;
	text-align: center;
    margin: 0;
}
.list_1column img,
.list_2column img,
.list_3column img,
.list_4column img,
.list_5column img{
	width: 100%;
	height: auto;
}

/* list_2column */
.list_2column { font-size: 0; }
.list_2column .item {
    width: 48.33%;
    font-size: 15px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
}
.list_2column .item:nth-child(2n) { margin-right: 0; }

/* list_3column */
.list_3column { font-size: 0; }
.list_3column .item {
	width: 31.08%;
	font-size: 15px;
	display: inline-block;
	vertical-align: top;
	 margin: 0 3.33% 3.33% 0;
}
.list_3column .item:nth-child(3n) { margin-right: 0; }

/* list_4column */
.list_4column { font-size: 0; }
.list_4column .item {
    width: 22.5%;
    font-size: 15px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
}
.list_4column .item:nth-child(4n) { margin-right: 0; }

/* list_5column */
.list_5column { font-size: 0; }
.list_5column .item {
	width: 18%;
	font-size: 15px;
	display: inline-block;
	vertical-align: top;
	margin: 0 2.5% 2.5% 0;
}
.list_5column .item:nth-child(5n) { margin-right: 0; }

/*icon*/
.icon_pdf::after, .content1 a[href*=".pdf"]::after,
.icon_word::after, .content1 a[href*=".doc"]::after,
.icon_word::after, .content1 a[href*=".rtf"]::after,
.icon_excel::after, .content1 a[href*=".xls"]::after {
	content: "";
    width: 20px;
    height: 25px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
}
.icon_pdf::after, .content1 a[href*=".pdf"]::after { background: url(/image/common/icon_pdf.png) no-repeat 100% 50%; }
.icon_word::after, .content1 a[href*=".doc"]::after { background: url(/image/common/icon_word.png) no-repeat 100% 50%; }
.icon_word::after, .content1 a[href*=".rtf"]::after { background: url(/image/common/icon_word.png) no-repeat 100% 50%; }
.icon_excel::after, .content1 a[href*=".xls"]::after { background: url(/image/common/icon_excel.png) no-repeat 100% 50%; }

.content1 a.no_icon::after {
	display: none;
}

/* -------- page ------------*/
.main_image {
    background: url(../image/slide_bg.jpg) left top;        
    margin: -20px 0 30px;
    padding: 20px 0;    
}
.main_image02 { margin: -20px 0 40px; }
.main_image02 img { width: 100%; }

.about_contents .flr { width: 18.33%; float: right; }
.about_contents .fll { width: 77.5%; float: left; }
.detail_indnet { margin: 40px 0 0 50px; line-height: 1.8; }

.list_disc01 {
    margin-left: 20px;
    list-style: disc inside;
    color: #00519B;
}
.list_disc01 li {
    background-color: #EDF7F7;
    padding: 3px 10px;
    margin: 0 0 2px;
}
.list_disc01 li span,
.list_disc02 li span { color: #000; }

.list_disc02 {
    margin-left: 20px;
    list-style: disc inside;
    color: #46008C;
}
.list_disc02 li {
    background-color: #F2EDF7;
    padding: 3px 10px;
    margin: 0 0 2px;
}
.table { margin-bottom: 35px; }
.table th {
    background-color: #edeffb;
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    padding: 5px 15px;
}
.group_link { margin: 0 0 40px; }
.group_link .item {
    float: left;
    width: 66%;
}
.group_link .gmap {
    float: right;
    width: 32%;
    position: relative;
}
.group_link .gmap iframe {
    width: 100%;
    height: 280px;
}
.box_01,
.box_02 {
    background: url(../image/common/cement_bg.jpg) left bottom;
    padding: 20px;
    position: relative;
}
.box_01::before {
    position: absolute;
    content: "";
    width: 91.3%;
    height: 4px;
    top: 0;
    left: 30px;
    background: url(../image/common/box_border1.jpg);
}
.box_02::before {
    position: absolute;
    content: "";
    width: 91.3%;
    height: 4px;
    top: 0;
    left: 30px;
    background: url(../image/common/box_border2.jpg);
}
/*--------- list_index -----------*/
* + #list_index { margin-top: 60px; }
#list_index {
    background: url(../image/common/link_bg.jpg);
    background-size: cover;
    -webkit-background-size: cover;
    padding: 40px 0;
}
#list_index .list_inner {
    width: 1200px;
    margin: 0 auto;
    font-size: 0;
}
#list_index .list_index_contents {
    display: inline-block;
    width: 48.33%;
    font-size: 15px;
    overflow: hidden;
}
#list_index .list_index_h a {
    display: block;
    text-decoration: none;
    position: relative;
}
#list_index .list_index_contents:first-child { margin-right: 3.33%; }
#list_index .detail {
    background: rgba(0,0,0,0.7) url(../image/common/list_index_bg.png) no-repeat left top;
    padding: 15px;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 280px;
    left: 0;
    
}
#list_index .detail .ttl {
    text-align: center;
    font-size: 160%;
    color: #fff;
    font-weight: normal;
    position: relative;
}
#list_index .detail .ttl::after {
    position: absolute;
    content: "";
    border-top: 2px solid #d90000;
    border-right: 2px solid #d90000;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    top: 12px;
    right: 0;
}
/*--------------------------------------------------
	topics
--------------------------------------------------*/
.modified_date {
    margin-bottom: 20px;
}
.list_topics dl {
    display: table;
    width: 100%;
	border-bottom: 1px dotted #bbb;
}
.list_topics dl dt {
    display: table-cell;
    vertical-align: middle;
    width: 180px;
}

.list_topics dl dt .date {
    display: inline-block;
    vertical-align: middle;
    padding: 15px;
}

.list_topics dl dd {
    display: table-cell;
	text-align: left;
	vertical-align: top;
}
.list_topics dl dd a {
	display: block;
	padding: 15px 0;
    text-decoration: none;
}
.list_topics dl dd a:hover,
.list_topics dl dd a:active,
.list_topics dl dd a:focus {
}

/* .pager */
.pager {
    margin: 60px 0;
    padding: 30px 0;
    text-align: center;
    background: #F2F2F2;
}
.pager ul {}
.pager ul li {
	font-size: 81.25%;
    margin: 3px;
	display: inline-block;
}
.pager a,
.pager span {
	color: #000;
	display: block;
	text-decoration: none;
	border: 1px solid #CCC;
	padding: 9px 16px;
	background-color: #fff;
}
.pager li.total span {
	border-color: #FFF;
}
.pager li.prev span,
.pager li.next span,
.pager li.first span,
.pager li.last span {
	border: 1px solid #ccc;
	color: #EDEDED;
}
.pager li.current span {
    color: #fff;
    background: #003B98;
}
.pager a:hover {
	color: #fff;
	border: 1px solid #999;
	background: #003B98;
}


/* link_prev_next */
.link_prev_next {
	text-align: center;
	margin-top: 40px;
}
.link_prev_next > li {
	display: inline-block;
}
.link_prev_next > li a {
    color: #000;
    border: 1px solid #bbb;
    display: block;
    padding: 12px 40px;
    text-decoration: none;
    transition: .3s;
    border-radius: 3px;
    font-size: 90%;
    font-weight: bold;
}
.link_prev_next > li a:hover {
	color: #fff;
	background-color: #D90000;
}
/*--------- list_side_menu -----------*/
.list_side_menu {
	margin-bottom: 1em;
	border: 1px solid #CCCCCC;
}
.list_side_menu .ttl {
    color: #fff;
    font-size: 17px;
    font-weight: normal;
    padding: 16px 10px 16px 21px;
    position: relative;
    background-color: #666;
}
.list_side_menu .ttl span {
    font-size: 12px;
    margin-left: 15px;
}
.list_side_menu .ttl::before {
    content: "";
    background: #ccc;
    width: 2px;
    height: 28px;
    position: absolute;
    left: 10px;
    top: 14px;
}

.list_side_menu ul {}
.list_side_menu ul li {
	border-top: 1px solid #BBBBBB;
}
.list_side_menu li a {
    color: #000;
    font-size: 15px;
    display: block;
    text-decoration: none;
    background: url(../image/icon_arrow_03.png) no-repeat 7px 19px;
    padding: 15px 10px 15px 32px;
}
.list_side_menu .type_01 {}
.list_side_menu .type_01 dt {
	border-top: 1px solid #ccc;
    line-height: 1.2;
    padding: 11px 0px 0 24px;
    font-size: 80%;
	position: relative;
}
.list_side_menu .type_01 dt:first-child { border-top: none; }
.list_side_menu .type_01 dd {
	margin: 0 10px;
    padding: 0 0 8px 13px;
    font-size: 90%;
}
.list_side_menu .type_01 dt::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 10px;
    top: 13px;
    border: 4px solid transparent;
    border-left: 5px solid #614c3f;
}


/*---------------------------------------------------------------------
    list_sitemap
---------------------------------------------------------------------*/
.list_sitemap_02 li {
    float: left;
    width: 255px;
    margin: 0 60px 60px 0;
}
.list_sitemap_02 li:nth-child(4n) { margin-right: 0; }
.list_sitemap_02 li a {
    color: #000;
    font-size: 22px;
	line-height: 1.4;
    text-decoration: none;
    background-color: #F3F3F3;
    display: table;
    text-align: center;
    height: 200px;
    width: 100%;
	transition: .3s;
}
.list_sitemap_02 li a span {
	display: table-cell;
	vertical-align: middle;
}
.list_sitemap_02 li a:hover {
	color: #fff;
	background-color: #004C66;
}

.list_sitemap > h2 {
	font-size: 22px;
	font-weight: normal;
	margin-bottom: 20px;
	margin-left: 0 !important;
}
.list_sitemap > * + h2 {
    margin-top: 40px;
}
.list_sitemap > h2 a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 25px 20px 25px 60px;
    position: relative;
    background-color: #F3F3F3;
	transition: all .3s ease 0s;
	-webkit-transition: all .3s  ease 0s;
}
.list_sitemap > h2 a::after {
    content: "";
    position: absolute;
    left: 25px;
    top: 50%;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transition: all .3s;
    -webkit-transition: all .3s;
}
.list_sitemap > h2 a:hover {
	color: #fff;
	background-color: #00519c;
}
.list_sitemap > h2 a:hover::after {
	right: 15px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
.list_sitemap > ul {
    color: #00519c;
	margin-left: 40px;
    overflow: hidden;
}
.list_sitemap > ul > li {
    width: 345px;
    float: left;
    font-size: 18px;
    padding-left: 20px;
    margin: 0 60px 20px 0;
    position: relative;
}
.list_sitemap > ul > li:nth-child(3n) {
    margin-right: 0;
}
.list_sitemap > ul > li::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 8px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transition: all .3s;
    -webkit-transition: all .3s;
}
.list_sitemap > ul > li a {
    color: #000;
    text-decoration: none;
    line-height: 1.4;
    display: block;
}
.list_sitemap > ul > li a:hover {
    color: #00519c;
}
.list_sitemap > ul > li > ul {
    margin: 20px 0 0;
}
.list_sitemap > ul > li > ul li {
    font-size: 14px;
	padding-left: 12px;
    position: relative;
}
.list_sitemap > ul > li > ul li + li {
    margin-top: 10px;
}
.list_sitemap > ul > li > ul li::before {
    content: "";
    background-color: #000;
    position: absolute;
    left: 0;
    top: 9px;
    border-radius: 50%;
    width: 3px;
    height: 3px;
}
/*---------------------------------------------------------------------
	contact
---------------------------------------------------------------------*/
.box_caution {
    max-width: 1000px;
    margin: 0 auto 60px;
    background: #FDF7F7;
    padding: 20px 40px;
    border: 1px solid #F5CCCC;
}
.form_text {
	margin: 0 auto 15px;
	max-width: 860px;
}
.mail_form {
	background: #F5F8FB;
    margin: 0 auto;
    max-width: 860px;
    padding: 22px;
}
.mail_form form {
	margin: 0 auto;
}
.mail_form form dl {
	display: table;
	width: 100%;
	margin-bottom: 30px;
	padding: 0 20px;
}
.mail_form form dt {
	width: 30%;
	text-align: right;
	display: table-cell;
	vertical-align: top;
	font-size: 93.75%;
	padding-right: 10px;
	padding-top: 12px;
}
.mail_form form dd {
	display: table-cell;
	vertical-align: top;
}
.mail_form form .bg_on {
	background-color: #ececec;
	padding: 12px;
}
.mail_form form .bg_on label {
	/*width: 20%;*/
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.mail_form form .border_on {
	/*border: 1px solid #CCCCCC;*/
	padding: 12px;
	background-color: #fff;
}
.mail_form.confirm_list dd {
	background-color: #FEFEFF;
	padding: 12px;
	word-break: break-all;
}
.mail_form .btn_list {
	text-align: center;
	margin: 20px auto;
}
.mail_form .icon_required::after {
	content: "必須";
	color: #fff;
	background-color: #D80000;
	border-radius: 5px;
	font-size: 90%;
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
	padding: 0 10px;
}
.mail_form .error {
	color: #d71618;
	font-size: 13px;
}

.mail_form.type_02 form {
    max-width: none;
}
.mail_form.type_02 form dl {
    max-width: 870px;
}
.mail_form.type_02 form dl dt {
    width: 35%;
}
.mail_form input,
.mail_form button,
.mail_form textarea,
.mail_form select {
	margin: 0;
	font-size: 16px;
	padding: 12px;
}
.mail_form input:-ms-input-placeholder {
    color: #808080;
}
.mail_form select,
.mail_form textarea,
.mail_form input[type="tel"],
.mail_form input[type="text"],
.mail_form input[type="email"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	outline: none;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ddd;
}
.mail_form input.small {
	width: 27%;
}

.mail_form input[type="file"] {
	font-size: 16px;
}

.mail_form input[type="radio"] {
	margin-right: 5px;
	padding: 5px;
}
.mail_form input[type="checkbox"] {
	margin-right: 5px;
	padding: 5px;
}
.mail_form select {
	background: url(../image/icon_arrow_02.png) no-repeat scroll right center;
	-webkit-appearance: select;
	-moz-appearance: select;
	appearance: select;
	background-color: #fff;
}
.mail_form .twin {
	font-size: 0;
}
.mail_form .twin input + input {
	margin-left: 3.44%;
}
.mail_form .twin input {
	width: 48.26%;
	display: inline-block;
}
.mail_form textarea {
	width: 100%;
	height: 150px;
	background-color: #fff;
}
.mail_form input[type="text"]:focus,
.mail_form input[type="email"]:focus,
.mail_form textarea:focus {
	box-shadow: 0 0 7px #008CD6;
}

.btm_text {
    width: 69%;
	margin-left: auto;
}
.mail_form input[type="submit"] {
	color: #fff;
	padding: 1em 5em;
	background-color: #00519c;
	border: none;
	border-radius: 0;
}
.mail_form input[type="submit"]:hover {
	background-color: #055FAD;
}

.mail_form input.back:hover {
	background-color: #555;
}
.mail_form .btn_backhome {
	color: #fff;
	padding: 0.6em 1em;
	background-color: #358FDD;
	text-decoration: none;
	border: none;
	border-radius: 0;
}
.mail_form .btn_backhome:hover {
	color: #fff;
	padding: 0.6em 1em;
	background-color: #b5b5b5;
}

.form_message {
    background-color: #ffffbb;
    border: 2px solid #df0000;
    color: #df0000;
    font-size: 120%;
    font-weight: bold;
    margin: 10px auto;
    padding: 10px 15px;
}
.mail_form .enquete {
    padding: 10px 20px;
    background: #FAFAFA;
    border: 5px solid #fff;
	margin: 10px 0 20px;
}
.mail_form .enquete p { margin: 20px 0 0; }
.mail_form .enquete .fsr18 {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 10px;
}
.mail_form .enquete li { padding-bottom: 10px; }
.mail_form .short { width: 15% !important; }
.mail_form .medium { width: 35% !important; }
.mail_form .checklist li,
.mail_form .btn_radio li {
    display: inline-block;
    margin-right: 20px;
}

@media screen and (max-width: 768px) {
	.mail_form {
		padding: 12px;
	}
	.mail_form form dl {
		padding: 0 10px;
		margin-bottom: 15px;
	}
	.mail_form form dt{
		display: block;
		width: auto;
		text-align: left;
		margin: 0;
		padding: 0;
	}
	.mail_form form dd {
		display: block;
		width: auto;
	}
	.mail_form input,
	.mail_form button,
	.mail_form textarea,
	.mail_form select {
		padding: 10px;
	}
	.mail_form input.small {
		width: 50%;
	}
	.mail_form input[type="submit"] {
		padding: 1em;
	}
	.btm_text {
		width: auto;
	}
}


/*---------------------------------------------------------------------
	search
---------------------------------------------------------------------*/
.list_search {}
.list_search .item {
    border: 1px solid #ccc;
    padding: 20px;
    border-radius: 3px;
	background: #fafafa;
}
.list_search .item + .item { margin-top: 20px; }

.list_search .ttl {
	font-size: 130%;
    border-bottom: 1px dotted #CCC;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.list_search .ttl a {
    display: block;
    background: url(../image/icon_arrow_01.gif) no-repeat 0 2px;
    padding-left: 41px;
}
.list_search .url {
    color: #444;
    font-size: 90%;
	margin-bottom: 10px;
}
.list_search .text {}

/*---------------------------------------------------------------------
	404
---------------------------------------------------------------------*/
.thumb_404 {
	margin-right: 40px;
	float: left;
	width: 20%;
}
.border_box {
	padding: 20px;
	border: 10px solid #fbf4e8;
}
.border_box > ul {
	color: #FF7F00;
	padding-left: 20px !important;
}

/*---------------------------------------------------------------------
	js-inview
---------------------------------------------------------------------*/
/* 管理画面で見えなくなるので…#pagebody */

#pagebody .js_slide_up {
    opacity: 0;
    position: relative;
    top: 50px;
}
#pagebody .js_slide_down {
    opacity: 0;
    position: relative;
    top: -50px;
}
#pagebody .js_slide_left {
    opacity: 0;
    position: relative;
    left: -80px;
}
#pagebody .js_slide_right {
    opacity: 0;
    position: relative;
    right: -80px;
}

/*---------------------------------------------------------------------
	alpha_contact
---------------------------------------------------------------------*/
.contacts_inner {
    max-width: 1000px;
    margin: 0 auto
}
.contacts_inner .item { margin: 0; }
.contacts_inner .contacts_top {
    background: url(../image/common/contacts/contact_top.jpg) center bottom no-repeat;
    text-align: center;
    padding: 10px 0 0;
    border-bottom: 1px solid #333;
}
.contacts_inner .contacts {
    background: url(../image/common/contacts/bg_contact.jpg) left top;
    padding: 30px;
}
.contacts_inner .contacts img {
    height: 46px;
    width: auto;
}
.contacts_inner .contacts.border {
    position: relative;
}
.contacts_inner .contacts.border::before {
    position: absolute;
    content: "";
    background: url(../image/common/contacts/border_contact.jpg);
    width: 100%;
    height: 4px;
    top: 0;
    left: 0;
}
.contacts_inner .contacts .tel {
    text-align: center;
    border-left: 1px dotted #333;
    padding-left: 30px;
}
/*---------------------------------------------------------------------
	page_scroll
---------------------------------------------------------------------*/
#page_scroll_navi {
    right: 10px;
    bottom: -100%;
    transition: all 1s ease-in-out .2s;
    -webkit-transition: all 1s ease-in-out .2s;
	text-align: center;
	margin: 60px 0 30px;
}
#page_scroll_navi.show { bottom: 35px; }
#page_scroll_navi a {
    color: #ffffff;
    display: inline-block;
    font-size: 42px;
    opacity: 1;
    overflow: hidden;
    position: relative;
    text-align: center;
    text-decoration: none;
    background: #D90000;
    width: 60px;
    height: 60px;
    line-height: 1.5;
}
#page_scroll_navi a::after {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    left: 22px;
    bottom: 17px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-45deg);
}
#page_scroll_navi a:hover::after {
}
#page_scroll_navi.show a i {
    bottom: 0;
position: relative;
transition: all 1s ease-in-out .4s;
-webkit-transition: all 1s ease-in-out .4s;
}
#page_scroll_navi a:hover img { opacity: 1; }

#page_scroll_navi img {}
@keyframes buran {
    0% { transform:translateY( -5px); }
  100% { transform:translateY(  0px); }
}


/*---------------------------------------------------------------------
	footer_navi
---------------------------------------------------------------------*/
.footer_navi {
    font-size: 93.75%;
    line-height: 1;
    text-align: center;
    padding: 10px;
    border-top: 1px solid #BBBBBB;
}
.footer_navi .inner { font-size: 0; }
.footer_navi li {
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
}
.footer_navi li + li {
	border-left: 1px solid #BFBFB8;
}
.footer_navi a {
    color: #392C1F;
    text-decoration: none;
    display: block;
    padding: 0 10px;
}
.footer_navi a:hover {
	color: #00519C;
}

/*---------------------------------------------------------------------
	site_footer
---------------------------------------------------------------------*/
#site_footer {
	border-top: 1px solid #bbb;
	text-align: center;
}

#site_footer .inner {
	margin: 0 auto;
	background: rgb(238,238,238);
	background: -moz-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 65%);
	background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(255,255,255,1) 65%);
	background: linear-gradient(to bottom, rgba(238,238,238,1) 0%,rgba(255,255,255,1) 65%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
    padding: 55px 0;
}
.footer_bg_01 {
	background-size: 93%;
}
.footer_bg_02 {
	padding: 30px 15px 15px;
}
.footer_logo {
    text-align: center;
	margin-bottom: 25px;
}
.footer_logo img {
	width: 60%;
    max-width: 272px;
}
.footer_address { color: #000; line-height: 1.6; }
#site_footer .company_info { font-size: 16px; }
#site_footer .company_info dt { margin-bottom: 20px; }
.copyright {
    color: #fff;
    font-size: 87.5%;
    padding: 8px;
    background: #000;
    text-align: center;
}




