@charset "UTF-8";
/****************************************

          Common.css

*****************************************/

body {
	width:100%;
	font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", YuGothic, "游ゴシック", "メイリオ", Meiryo, sans-serif;
	color:#222;
	font-size: 16px;
    counter-reset: number;
}



a {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
 	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

footer a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;	
}

h1 {
    font-size: 18px; font-size: 1.8rem;
    margin: 0;
	max-height: 100% !important;
}

h2, h3, h4, h5, h6 {
    font-size: 18px; font-size: 1.8rem;
    margin: 0;
	max-height: 100% !important;
}


dl, dt, dd, ul, ol, li, pre, form, fieldset, label, input, textarea, p, blockquote, th, td {
	font-size: 16px;
	
	max-height: 100% !important;
}

.flex_sb {	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

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


.pc_only{
	display: block;
}
.sp_only{
	display: none;
}

/*sp*/
@media (max-width: 767px) {

    img {
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
        line-height:0;
    }
	
	.pc_only{
		display: none;
	}
	
	.sp_only{
        display: block;
    }


}


/****************************************

          header

*****************************************/

header {
	position:relative;
	background: #fefbf4;
	
}
header.pc_only > div {
	max-width: 1000px;
	margin: 0 auto;
	padding: 15px 0;
}


header .copy {
	height: 30px;
	line-height: 30px;
	padding:0 10px;
	background-color: #371600;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 3px 6px -3px rgba(0, 0, 0, 0.5);
}
header .info ul {
	margin-bottom: 10px;
}

header .info li {
	display: table;
	padding: 10px 15px;
	margin-right: 10px;
    color: #fff;
    font-weight: bold;
	background-color: #108e06;
	border-radius: 15px;
}

header .info li i {
    display: table-cell;
    vertical-align: middle;
    padding-right: 10px;
    font-size: 18px;
}
header .info li span {
    display: table-cell;
    vertical-align: middle;
}

header .info p {
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}





/*sp*/
@media (max-width: 767px) {

    header {
        position:relative;
        width:100%;
        margin-bottom:5px;
        background-color:#fefdfa;
        border-bottom:1px solid #dcdcdc;
    }

    header .logo_sp {
		width: 100%;
		position: fixed;
		left: 0;
		top: 0;
		padding: 2px;
		
		background: rgba(255,255,255,0.80);
		
		
		display: -webkit-flex;
		display: flex;

		-webkit-justify-content: space-between;
				justify-content: space-between;
		
		z-index: 9999;
    }
	
	header .logo_sp p.right{
		position: absolute;
		right: 2px;
		top:2px;
		padding: 0;
    }	
	
	header .logo_sp p.left{
		padding: 0;
    }
	
	header .logo_sp img{
		max-width: initial;
		width: auto;
  		height: 55px;
	}
	

}





#breadcrumbs{
	width:100%;
}

#breadcrumbs ol{
	max-width:1000px;
	margin:0 auto;
	padding:15px 0;
}
#breadcrumbs ol li{
	display: inline;
	font-size: 13px; font-size: 1.3rem;
}
#breadcrumbs ol li:before{
	content: " > ";
	margin:0 5px;
}
#breadcrumbs ol li:first-child:before{
	content:"";
}


/*sp*/
@media (max-width: 767px) {

    #breadcrumbs ol{
        padding:10px;
    }

}

/****************************************

          topics

*****************************************/

#topics{

}

#topics p{
	max-width: 1000px;
    margin:0 auto;
    height: 38px;
    padding: 10px;
    border: solid 1px #d71618;
    background-color: #fbe9e9;
    word-break: break-all; 
    color: #bb0f0f;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    font-size: 16px;
    overflow: hidden;
}

/*sp*/
@media (max-width: 767px) {
	#topics{
		margin:0 auto 5px;
		padding-top: 54px;
	}
	#topics p{
		height: auto;
		padding: 6px 10px;
		font-size: 14px; 
		overflow: auto;
	}

}

/****************************************

          nav

*****************************************/


nav#gnav-container {
	width:100%;
	background:#fcf9ee url(../img/common/bg_navi.png) repeat-x left top;
	box-shadow: 3px 3px 6px -3px rgba(0, 0, 0, 0.5);
	border-bottom: 1px solid #ff6a05;
	margin-bottom: 20px;
}

nav#gnav-container.fixed {
    position: fixed !important;
    top: 0 !important;
	left: 0;
    width: 100%;
	height:56px;
    z-index:1000;
	background:#fcf9ee url(../img/common/bg_navi.png) repeat-x left top;
}

nav#gnav-container ul {
	width:1000px;
	height:55px;
	margin:0 auto;
	border-right:1px solid #ccc;
	
	display: -webkit-flex;
	display: flex;

	-webkit-justify-content: space-between;
		    justify-content: space-between;
}

nav#gnav-container li {
	position:relative;
	width:100%;
	text-align:center;
	border-left:1px solid #ccc;
	
}

nav#gnav-container li a {
	display:block;
	width:100%;
	height:100%;
	line-height:58px;
	border-left:1px solid #fff;
	border-right:1px solid #fff;
	font-weight:bold;
	font-size: 16px;
	color:#333;
	z-index:100;
}

nav#gnav-container li a:hover, nav#gnav-container li.current-menu-item a {
	color:#000;
	background: url(../img/common/hover_nav.png) repeat-x left top;
}

/*sp*/
@media (max-width: 767px) {
	
	
	nav#gnav-container {
		display: none;
	}


}


#sp_navi{
	text-align: center;
	margin-bottom: 10px;
}

#sp_navi li{
	display: inline-block;
	width: 80px;
}



/****************************************

          main

*****************************************/

#contents {
	max-width:1000px;
	margin:0 auto;
}

#contents h1 {
	margin-bottom:20px;
}


#main {
	float:right;
	width:730px;
	margin-bottom:20px;
	background-color:#fff;
}


main + aside {
	clear: both;
	margin: 0 auto;
	max-width: 960px;
}
main + aside p {
	margin: 15px 0;
	text-align: right;
}

#main h1 {
	padding:15px 30px;
	color: #FFF;
	background-color: #ff6a05;
	font-size: 22px;
}

/*sp*/
@media (max-width: 767px) {



	#main {
		float:none;
		width:100%;
		margin-bottom:20px;
		padding:0 0 20px;
	}

	#main h1 {
		text-align: center;
	}

}


/****************************************

          side

*****************************************/

#side {
	float:left;
	width:240px;
	margin-bottom:20px;
}


#side .relative{

	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;	
	
	
	-webkit-transform: translateY(-1000px);
	-moz-transform: translateY(-1000px);
	-o-transform: translateY(-1000px);
	transform: translateY(-1000px);
}



#side #side_information {
	margin-bottom:30px;
}

#side #side_information h3 {
	position: relative;
    padding: 15px 10px;
    border-top: 5px solid #ff6a05;
    border-bottom: 1px dotted #ff6a05;
    font-size: 18px;
    font-weight: bold;
}


#side #side_information ul {
	background-color:#fff;
}

#side #side_information li {
	border-top:1px solid #dddddd;
	line-height:1.4;
	padding:15px 5px;
}


#side #side_information dt {
	font-size: 14px;
	margin-bottom: 5px;
}

#side #side_information p {
	margin-top:10px;
}

#side #side_information p a {
	display:block;
	background-color:#ffb008;
	text-align:center;
	line-height:1.4;
	padding:10px 20px;
	color:#55160c;
}

#side #side_information p a:hover {
	background-color:#ff6a05;
}






#side #side_trouble {
	margin-bottom:30px;
}

#side #side_trouble h3 {
	padding:12px 0;
	text-align:center;
	font-weight:normal;
	background-color:#108e06;
	color:#fff;
	border-radius: 5px 5px 0 0;
}

#side #side_trouble > div {
    background: #fbf0db;
    margin-bottom: 30px;
    padding: 0 4px 4px;
}
#side #side_trouble ul {
	background: #fff;
    border-bottom: 1px solid #d2bc93;
    border-left: 1px solid #d2bc93;
    border-right: 1px solid #d2bc93;
}

#side #side_trouble li {
	position:relative;
	border-bottom:1px solid #dddddd;
}

#side #side_trouble li:last-child {
	border-bottom:none;
}

#side #side_trouble li:before {
	content: "";
    display:block;
	position:absolute;
	left:16px;
	top:14px;
	width:14px;
	height:14px;
	background: url(../img/common/navi_arrow.png) no-repeat left top;
}

#side #side_trouble li a {
	display:block;
	padding:15px 0 14px 40px;
}

#side #side_trouble li a:hover {
	background-color:#fef5ed;
}








#side #side_about {
	margin-bottom:30px;
}

#side #side_about h3 {
	padding:12px 0;
	text-align:center;
	font-weight:normal;
	background-color:#ff6a05;
	color:#fff;
	border-radius: 5px 5px 0 0;
}

#side #side_about > div {
    background: #fbf0db;
    margin-bottom: 30px;
    padding: 0 4px 4px;
}
#side #side_about ul {
	background: #fff;
    border-bottom: 1px solid #d2bc93;
    border-left: 1px solid #d2bc93;
    border-right: 1px solid #d2bc93;
}

#side #side_about li {
	position:relative;
	border-bottom:1px solid #dddddd;
}

#side #side_about li:last-child {
	border-bottom:none;
}

#side #side_about li:before {
	content: "";
    display:block;
	position:absolute;
	left:16px;
	top:14px;
	width:14px;
	height:14px;
	background: url(../img/common/navi_arrow.png) no-repeat left top;
}

#side #side_about li a {
	display:block;
	padding:15px 0 14px 40px;
}

#side #side_about li a:hover {
	background-color:#fef5ed;
}




#side #side_info {
	margin-bottom:30px;
	padding:20px 0 10px;
	background-color:#fff;
	border-top:8px solid #ff6a05;
	border-left:1px solid #dddddd;
	border-right:1px solid #dddddd;
	border-bottom:1px solid #dddddd;
}

#side #side_info h3 {
	margin-bottom:15px;
	text-align:center;
}

#side #side_info h3 + p {
	text-align:center;
	font-size: 18px; font-size: 1.8rem;
}

#side #side_info p {
	margin-bottom:15px;
	padding:0 15px;
	line-height:1.6;
	font-size: 14px; 
}

#side #side_info dl {
	padding:20px 15px 0;
	border-top:1px solid #dddddd;
}

#side #side_info dt {
	margin-bottom:10px;
	color:#ee3415;
	font-size: 14px; 
}

#side #side_info dd {
	margin-bottom:15px;
	font-size: 14px;
	line-height: 1.4;
}


#side .side_banner {
	margin-bottom:30px;
}


#side #side_blog {
	margin-bottom:30px;
}

#side #side_blog h3 {
	padding:12px 0;
	text-align:center;
	font-weight:normal;
	background-color:#ff6a05;
	color:#fff;
	
	    border-radius: 5px 5px 0 0;
}


#side #side_blog ul {
	border:1px solid #dddddd;
	background-color:#fff;
}

#side #side_blog li {
	position:relative;
	border-bottom:1px solid #dddddd;
}

#side #side_blog li:last-child {
	border-bottom:none;
}


#side #side_blog li:before {
	content: "";
    display:block;
	position:absolute;
	left:16px;
	top:0;
	bottom:0;
	margin:auto;
	width:14px;
	height:14px;
	background: url(../img/common/navi_arrow.png) no-repeat left top;
}

#side #side_blog li a {
	display:block;
	line-height:1.4;
	padding:14px 10px 10px 40px;
}

#side #side_blog li a:hover {
	background-color:#fef5ed;
}


#side #side_blog p {
	margin-top:10px;
}

#side #side_blog p a {
	display:block;
	background-color:#ffb008;
	text-align:center;
	line-height:1.4;
	padding:10px 20px;
	color:#55160c;
}

#side #side_blog p a:hover {
	background-color:#ff6a05;
}


#side #side_case {
	margin-bottom:30px;
}

#side #side_case h3 {
	padding:15px 0 8px;
	text-align:center;
	font-weight:normal;
	background-color:#ff6a05;
	color:#fff;
	
	-border-top-left-radius: 4px;   
    -border-top-right-radius: 4px;   
	-moz-border-top-left-radius: 4px;   
    -moz-border-top-right-radius: 4px;    
}


#side #side_case ul {
	border:1px solid #dddddd;
	background-color:#fff;
}

#side #side_case li {
	position:relative;
	border-bottom:1px solid #dddddd;
}

#side #side_case li:last-child {
	border-bottom:none;
}


#side #side_case li:before {
	content: "";
    display:block;
	position:absolute;
	left:16px;
	top:0;
	bottom:0;
	margin:auto;
	width:14px;
	height:14px;
	background: url(../img/common/navi_arrow.png) no-repeat left top;
}

#side #side_case li a {
	display:block;
	line-height:1.4;
	padding:14px 10px 10px 40px;
}

#side #side_case li a:hover {
	background-color:#fef5ed;
}


#side #side_case p {
	margin-top:10px;
}

#side #side_case p a {
	display:block;
	background-color:#ffb008;
	text-align:center;
	line-height:1.4;
	padding:10px 20px;
	color:#55160c;
}

#side #side_case p a:hover {
	background-color:#ff6a05;
}


/*sp*/
@media (max-width: 767px) {


#side {
	float:none;
	width:100%;
	margin-bottom:20px;
	padding:0 10px;
}

#side ul + p img {
	width:100%;
	height:auto;
}

#side .side_banner img{
    width: 100%;
    height: auto;
}
	
}




/****************************************

          footer

*****************************************/


#pagetop {
    position: fixed;
    right: 20px;
    bottom: 40px;
    z-index: 1000;
	opacity: 1 !important;
}

#pagetop a {
	display:block;
	padding:12px 20px;
	background-color:#ff6a05;
}

#pagetop a:hover {
	background-color:#ffb008;
}


/*sp*/
@media (max-width: 767px) {

	#pagetop {
		bottom: 0px;
	}

}

/* ----------------------------------------
* footer
---------------------------------------- */
#footer .footer_nav {
  color: #1E252C;
  border-top: 1px solid #d2c7b1;
}
#footer .footer_nav a {
  color: #fff;
}
#footer .footer_nav a:hover {
  color: #ff6a05;
}
#footer .footer-01 {
  padding: 20px 4%;
  text-align: center;
	background: #fefbf4;
}
#footer .footer-01 .address dt {
  margin-bottom: 20px;
  font-size: 30px;
	line-height: 1.6;
  letter-spacing: 0.1em;
	font-weight: bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#footer .footer-01 .address dt a {
  color: #454545;
}
#footer .footer-01 .address dt a:hover {
  text-decoration: none;
  color: #999;
}
#footer .footer-01 .address dt a span {
  font-size: 20px;
	letter-spacing: 0em;
}
#footer .footer-01 .address dt a img {
width: 80px;
  height: auto;
  margin-bottom: 10px;
}
#footer .footer-01 .address dd {
  font-weight: bold;
  line-height: 1.8;
}
#footer .footer-01 .address dd br {
  display: none;
}
#footer .footer-01 .address dd a {
  display: block;
  color: #222;
  font-size: 28px;
}
#footer .footer-02 {
  background-color: #ff6a05;
}
#footer .footer-02 ul {
  padding: 30px 0;
  text-align: center;
  border-bottom: 1px solid #d2c7b1;
}
#footer .footer-02 ul li {
  display: inline-block;
  margin: 0 15px;
	line-height: 1.8;
  font-weight: bold;
  color: #fff;
}
#footer .footer-02 .footer-copy {
  padding: 20px;
  letter-spacing: 0.1em;
  color: #fff;
  font-style: italic;
  text-align: center;
  line-height: 1.6;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  #footer .footer-01 .address dd br {
    display: block;
  }
  #footer .footer-01 .address dd span {
    display: block;
    margin-top: 10px;
  }
	#footer .footer-02 ul {
	  padding: 20px 0;
	}
	#footer .footer-02 .footer-copy {
	  padding: 10px;
	}	

}





/* 404 page not found
------------------------------------------------------------------ */

#not_found {
	position: relative;
}


#not_found p {
	text-align:center;
	padding:100px 0;
	line-height:2.0;
}


/* contact form 7 
------------------------------------------------------------------ */

div.wpcf7-validation-errors, div.wpcf7-mail-sent-ng, div.wpcf7-mail-sent-ok {

	text-align:center;
	margin:20px 0 40px !important;
    border: 2px solid #d79699 !important;
}
div.wpcf7-response-output {
	padding:5px 0 !important;
}

span.wpcf7-not-valid-tip {
	margin-top:10px !important;
    color: #ff4a4a !important;
    font-size: 13px!important; font-size: 1.3rem!important;
}

/* wordpress
------------------------------------------------------------------ */
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignleft {
	float: left;
	margin: 0.5em 1em 0.5em 0;
}

.alignright {
	float: right;
	margin: 0.5em 0 0.5em 1em;
}

@media screen and (max-width: 767px) {
	
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
/*
.alignleft {
	float: none;
	margin: 0 0 20px;
	width: 100%;
}

.alignright {
	float: none;
	margin: 0 0 20px;
	width: 100%;
}	
	*/

}



/* ----------------------------------------
* flex
---------------------------------------- */


.flex_sb {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
	-webkit-box-pack:justify;
    -moz-box-pack:justify;
    -webkit-flex-pack:justify;
    -moz-flex-pack:justify;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    -moz-justify-content:space-between;
    justify-content:space-between;
    
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.flex_sa {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
    -webkit-justify-content:space-around;
    -moz-justify-content:space-around;
    justify-content:space-around;
    
}


.flex_fs {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
	-webkit-box-pack:start;
    -moz-box-pack:start;
    -webkit-flex-pack:start;
    -moz-flex-pack:start;
    -ms-flex-pack:start;
    -webkit-justify-content:flex-start;
    -moz-justify-content:flex-start;
    justify-content:flex-start;
    
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.flex_fe {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
	-webkit-box-pack:end;
    -moz-box-pack:end;
    -webkit-flex-pack:end;
    -moz-flex-pack:end;
    -ms-flex-pack:end;
    -webkit-justify-content:flex-end;
    -moz-justify-content:flex-end;
    justify-content:flex-end;
    
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.flex_fc {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
	-webkit-box-pack:center;
    -moz-box-pack:center;
    -webkit-flex-pack:center;
    -moz-flex-pack:center;
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    -moz-justify-content:center;
    justify-content:center;
    
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}



.flex_ce {	
	display:-webkit-box;
    display:-moz-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    
	-webkit-box-pack:center;
    -moz-box-pack:center;
    -webkit-flex-pack:center;
    -moz-flex-pack:center;
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    -moz-justify-content:center;
    justify-content:center;
    
    -webkit-box-align:center;
    -moz-box-align:center;
    -ms-flex-align:center;
    -webkit-align-items:center;
    -moz-align-items:center;
    align-items:center;
    
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}

.flex_ac {	
    -webkit-box-align:center;
    -moz-box-align:center;
    -ms-flex-align:center;
    -webkit-align-items:center;
    -moz-align-items:center;
    align-items:center;
}




/*
===== 1: FREE STYLE ====================================
*/

/*--margin-set--*/

.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;}

/*--文字揃え--*/

.tal{text-align:left !important;}
.tar{text-align:right !important;}
.tac{text-align:center !important;}