@charset "UTF-8";
/*--------------------------------------------------------------
 * this is common style
 *
--------------------------------------------------------------*/
/*--------------------------------------------------------------
  content width
--------------------------------------------------------------*/
.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width : 100% ;
	height : auto ;
}

/*--------------------------------------------------------------
  minimum necessary
--------------------------------------------------------------*/
.sticky,
.gallery-caption,
.bypostauthor {
	display : block ;
}
.wp-caption,
.wp-caption-text {
	font-size : 90% ;
}

/*--------------------------------------------------------------
  Alignments
--------------------------------------------------------------*/
.alignnone {
	margin : 5px 20px 20px 0 ;
}
.aligncenter {
	display : block ;
	margin : 5px auto 5px auto ;
}
.alignright {
	float :right ;
	margin : 5px 0 20px 20px ;
}
.alignleft {
	float : left ;
	margin : 5px 20px 20px 0 ;
}
a img.alignright {
	float : right ;
	margin : 5px 0 20px 20px ;
}
a img.alignnone {
	margin : 5px 20px 20px 0 ;
}
a img.alignleft {
	float : left ;
	margin : 5px 20px 20px 0 ;
}
a img.aligncenter {
	display : block ;
	margin-left : auto ;
	margin-right : auto ;
}
a img {
	display : block!important ;
}
.wp-caption {
	background : #fff ;
	border : 1px solid #f0f0f0 ;
	max-width : 96% ;
	padding : 5px 3px 10px ;
	text-align : center ;
}
.wp-caption.alignnone {
	margin : 5px 20px 20px 0 ;
}
.wp-caption.alignleft {
	margin : 5px 20px 20px 0 ;
}
.wp-caption.alignright {
	margin : 5px 0 20px 20px ;
}
.wp-caption img {
	border : 0 none ;
	height : auto ;
	margin : 0 ;
	max-width : 98.5% ;
	padding : 0 ;
	width : auto ;
}
.wp-caption p.wp-caption-text {
	font-size : 11px ;
	line-height : 17px ;
	margin : 0 ;
	padding : 0 4px 5px ;
}
/* Text meant only for screen readers. */
.screen-reader-text {
	clip : rect(1px, 1px, 1px, 1px) ;
	position : absolute !important ;
	height : 1px ;
	width : 1px ;
	overflow : hidden ;
}
.screen-reader-text:focus {
	background-color : #f1f1f1 ;
	border-radius : 3px ;
	box-shadow : 0 0 2px 2px rgba(0, 0, 0, 0.6) ;
	clip : auto !important ;
	color : #21759b ;
	display : block ;
	font-size : 14px ;
	font-size : 0.875rem ;
	font-weight : bold ;
	height : auto ;
	left : 5px ;
	line-height : normal ;
	padding : 15px 23px 14px ;
	text-decoration : none ;
	top : 5px ;
	width : auto ;
	z-index : 100000 ; /* Above WP toolbar. */
}
.required {
	color : red ;
}
.oplink:hover img {
	opacity : 0.5 ;
 transition: 0.5s all;
}
.mark-square li {
	list-style-type: square;
}
.text-center {
	text-align: center;
}

/*--------------------------------------------------------------
  Element
--------------------------------------------------------------*/
html {
	font-size : 62.5% ;
}
body {
	background : #fff ;
	font-family : "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif ;
	font-size : 15px ;
	font-size : 1.5rem ;
	color : #777;
}
img {
	max-width : 100% ;
	height : auto ;
}
div,
p,
span,
table,
td,
th,
tr {
	box-sizing : border-box ;
	-ms-word-wrap : break-word ;
	word-wrap : break-word ;
}
ul,
li,
ol {
	box-sizing : border-box ;
	-ms-word-wrap : break-word ;
	word-wrap : break-word ;
}
a {
	text-decoration : none ;
}
a:hover,
a:active {
	text-decoration : none ;
}
h1,h2,h3,h4,h5,h6 {
	/*clear: both;*/
	/*margin-bottom : 20px ;*/
	/*font-family : sans-serif ;*/
	/*font-weight : bold ;*/
	color : #56c1c3 ;
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
	text-decoration : none ;
	-ms-word-wrap : break-word ;
	word-wrap : break-word ;
}
h1 {
	font-size : 22px ;
	font-size : 2.2rem ;
}
h2 {
	font-size: 22px;
  font-size : 2.2rem ;
}
h3 {
	font-size : 21px ;
	font-size : 2.1rem ;
}
h4 {
	font-size : 20px ;
	font-size : 2rem ;
}

h5 {
	font-size : 16px ;
	font-size : 1.6rem ;
}
h6 {
	font-size : 14px ;
	font-size : 1.4rem ;
}
figure {
	max-width : 100% ;
}
blockquote {
	background : #fdfdfd ;
	color : #999 ;
	border-radius : 10px ;
	box-shadow : 1px 1px 2px rgba(0,0,0,0.3) ;
	border : 1px solid #f4f4f4 ;
}
textarea {
	width : 100% ;
}
table {
	width : 100% ;
	margin : 0 auto 50px ;
}
thead {
	border-bottom : 2px solid #999 ;
 }
th,
td {
	padding : 15px 15px 15px 10px ;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
}
th {
 white-space : normal;
}
tr {
	white-space: normal;
}
dl {
	width: 80%;
	margin: 0 auto 20px;
}
dt {
}
dd {
}
ul li {
}
input,
button,
select,
textarea {
	border : 1px solid #ccc ;
	border-radius : 5px ;
}
input[type="submit"] {
}
input[type="submit"]:hover {
}
input[type="text"] {
}
@media screen and (max-width : 768px) {
	body {
	}
}

/*--------------------------------------------------------------
  container
--------------------------------------------------------------*/
#container {
	width : 100% ;
}
.row {
	max-width : 990px ;
	margin : 0 auto ;
	position: relative;
}


/*--------------------------------------------------------------
  header
--------------------------------------------------------------*/

#header h1 img{
	width: 82%;
	display: block;
}

.header-top{
	width: 100%;
	height: auto;
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 2.1rem;
	line-height: 1;
	margin-bottom: 4px;
}

.header-top span{
	display: inline-block;
}

.top-txt{
	width: 80%;
	line-height: 2rem;
}

.fa{
	margin-right: 5px;
}

.header-top span.mail{
	display: inline-block;
	height: 34px;
	font-size: 1.4rem;
	text-align: center;
	color: #56c1c3;
	border: 2px solid #56c1c3;
	line-height: 3.2rem;
	padding-left: 0;
	padding-right: 0;
}

.header-top span.mail:hover{
	display: inline-block;
	height: 34px;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	color: #fff;
	background: #56c1c3;
	line-height: 3.2rem;
	padding-left: 0;
	padding-right: 0;
}

.header-top span.mail-icon{
	display: none;
}

.header-mid{
	position: relative;
	margin-bottom: 20px;
}

.site-title{
	float: left;
}
.toggle{
	display: none;
}
.header-nav{
	display: block;
	padding-top: 67px;
}

.header-nav li{
	width: 22.6666666666666%;
	display: block;
	text-align: right;
	font-size: 1.5rem;
}
.header-nav li:nth-child(1){
	width: 25%;
}
.header-nav li:nth-child(2){
	width: 24%;
}
.header-nav li:nth-child(3){
	width: 14.5%;
}
.header-nav li:nth-child(4){
	width: 17%;
}
.header-nav li:nth-child(5){
	width: 17%;
	padding-right: 0;
}

.header-nav li a{
	text-decoration: none;
	color: #3e608c;
}

.header-nav li a:hover{
	color: #56c1c3;
}

.header-nav li.current_page_item a {
	color: #56c1c3;
}

.main-visu{
	position: relative;
	margin-bottom: 20px;
}

.main-visu img{
	display: block;
}

.main-visu-txt{
	position: absolute;
	top: 0;
	right: 16px;
	margin: 2% 0;
}

@media (max-width: 1020px) and (min-width: 768px){
	.header-nav{
		display: inherit;
		width: 100%;
		float: none;
		/*padding-top: 27px;*/
	}
	.header-nav li:nth-child(1){
		width: 15%;
	}
	.header-nav li:nth-child(2){
		width: 26%;
	}
	.header-nav li:nth-child(3){
		width: 16%;
	}
	.header-nav li:nth-child(4){
		width: 19%;
	}
	.header-nav li:nth-child(5){
		width: 23%;
		padding-right: 0;
	}

	.header-nav li:nth-child(1),
	.header-nav li:nth-child(2),
	.header-nav li:nth-child(3),
	.header-nav li:nth-child(4),
	.header-nav li:nth-child(5){
		text-align: center;
		padding: 0;
	}
	.header-nav li:nth-child(5){
		padding-right: 15px;
	}

	#header h1{
		margin: 0 0 10px 0;
		/*float: none;*/
	}
}
@media (max-width: 783px) and (min-width: 768px){
	.header-nav{
		display: block;
	}
}

@media screen and (max-width : 767px) {
	.top-txt{
		width: 100%;
		text-align: center;
	}
	.header-top{
		position: relative;
		height: 90px;
	}
	.header-top span.mail{
		display: none;
	}
	.header-top p.mail:hover{
		display: none;
	}

	.header-top span.mail-icon{
		display: inline-block;
		width: 56px;
		height: 52px;
		color: #56c1c3;
		position: absolute;
		right: 15px;
		bottom: 0;
	}

	.header-top span.mail-icon:hover{
		display: inline-block;
		width: 56px;
		height: 52px;
		color: #edc6d8;
		position: absolute;
		right: 15px;
		bottom: 0;
	}
	#header h1 img{
		width: 80%;
		margin: 0 10% 40px;
	}
	.sp-nav{
		padding: 0;
	}
	.header-nav{
		display: none;
		padding-top: 0;
		background: #f0f9f9;
		padding-left: 0;
		padding-right: 0;
	}
	.header-nav li{
		width: 100%;
		height: 50px;
		margin-left: 0;
		line-height: 5rem;
		text-align: center;
		font-size: 1.7rem;
		border-bottom: 2px solid #fff;
	}

	.header-nav li a{
		display: block;
	}

	.header-nav li:hover{
		background: #e1f5f5;
	}

	.header-nav li:nth-child(1),
	.header-nav li:nth-child(2),
	.header-nav li:nth-child(3),
	.header-nav li:nth-child(4),
	.header-nav li:nth-child(5){
		width: 100%;
	}

	.header-nav li:nth-child(5){
		padding-right: 15px;
	}

	.toggle{
    display: block;
    position: relative;
    width: 100%;
    background: #56c1c3;
		font-size: 1.8rem;
  }
  .toggle a{
    display: block;
    position: relative;
    padding: 12px 0 10px;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  .toggle:before{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #fff;
  }
  .toggle a:before,
	.toggle a:after{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 4px;
    background: #56c1c3;
  }
  .toggle a:before{
    margin-top: -6px;
  }
  .toggle a:after{
    margin-top: 2px;
  }
}

/*--------------------------------------------------------------
  contents
--------------------------------------------------------------*/

#contents{
	margin-bottom: 76px;
}

@media screen and (max-width : 767px) {
	#contents{
		margin-bottom: 0;
		padding-bottom: 0;
	}
}

/*--------------------------------------------------------------
  sidebar
--------------------------------------------------------------*/

.sidebar{
	width: 21.255555555555%;
	padding-top: 25px;
}

.sidebar img{
	text-align: right;
	display: block;
	margin-bottom: 13px;
}

.sidebar img:hover{
	-moz-box-shadow:0px 0px 6px 2px #c6ebec;
	-webkit-box-shadow:0px 0px 6px 2px #c6ebec;
	box-shadow:0px 0px 6px 2px #c6ebec;
}

.sidebar a{
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width : 767px) {
	.sidebar{
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 5px;
		border-bottom: 1px solid #dedede;
	}
	.sidebar img{
		width: 100%;
		margin: 0 auto 20px;;
	}
	.sidebar a{
		padding-left: 15px;
		padding-right: 15px;
	}
}


/*--------------------------------------------------------------
  footer-common
--------------------------------------------------------------*/

.footer-mid{
	width: 100%;
	background: #f6fdfd;
	padding-bottom: 28px;
}

.link-desc{
	padding-top: 50px;
}

.link-ttl{
	display: inline-block;
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
	padding: 12px 0;
	border: 1px solid #777;
	line-height: 2rem;
	float: left;
	margin-right: 2%;
}

.link-area-01,
.link-area-02{
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
}

.link-area-01{
	margin-right: 1%;
}

.link-desc p{
	margin-bottom: 32px;
}

.link-area-02 p.plugin{
	margin-bottom: 10px;
}

.link-desc span{
	font-size: 14px;
	font-size: 1.4rem;
}

.link-area-02 a img{
	display: block;
	float: left;
	margin-right: 100%;
	margin-bottom: 10px;
}

.link-area-02 a img:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}




.footer-bottom{
	width: 100%;
	background: #e8f4f4;
	padding: 50px 0 0;
}

.site-map{
	position: relative;
}

#page-top{
	display: block;
	width: 50px;
	position: absolute;
	top: -93px;
	right: 15px;
}

.site-map-left{
	padding-left: 0;
}

.site-map-left p img{
	margin-right: 40%;
	margin-bottom: 5px;
}

.site-map-left address,
.site-map-left-txt{
	font-size: 13px;
	font-size: 1.3rem;
	padding-left: 23px;
	line-height: 1.8rem;
}

.site-map-left-txt{
	margin-bottom: 49px;
}

.site-map-right,
.site-map-center{
	min-height: 136px;
	padding-left: 0;
	padding-right: 0;
}

.site-map-right a,
.site-map-center a{
	text-decoration: none;
	color: #777;
}

.site-map-right a:hover,
.site-map-center a:hover{
	color: #56c1c3;
}

.site-map-center ul li,
.site-map-right ul li{
	font-size: 13px;
	font-size: 1.3rem;
}

.footer-nav-01{
	min-height: 136px;
	float: left;
	margin-right: 12%;
	border-left: 1px solid #cadee0;
	padding-left: 28px;
	line-height: 3.2rem;
}

.footer-nav-01 li:nth-child(1){
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5rem;
	padding-top: 5px;
	padding-bottom: 10px;
}

.footer-nav-02{
	min-height: 136px;
	float: left;
	margin-top: 30px;
	line-height: 3.2rem;
}

.footer-nav-03{
	min-height: 136px;
	float: left;
	border-left: 1px solid #cadee0;
	padding-left: 28px;
}

.footer-nav-03 li{
	line-height: 2.6rem;
}

.footer-nav-03 li:nth-child(1){
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5rem;
	padding-top: 5px;
	padding-bottom: 10px;
}

@media screen and (max-width : 767px) {
	.link-ttl{
		margin-right: 0;
	}
	.link-desc{
		padding-top: 30px;
	}
	.link-area-01,
	.link-area-02{
    margin-right: 0;
	}
	.footer-bottom {
    padding: 30px 0 0;
	}
	#page-top{
		top: -73px;
	}
	.site-map-center,
	.site-map-right{
		display: none;
	}
	.site-map-left{
		padding-right: 0;
	}
	.site-map-left p{
		display: block;
		text-align: center;
	}
	.site-map-left p img{
		margin-right: 0;
		margin: 0 auto 15px;
		text-align: center;
	}
	.site-map-left-txt{
		margin-bottom: 15px;
	}
	.site-map-left address{
    text-align: center;
	}
}

/*--------------------------------------------------------------
  end
--------------------------------------------------------------*/
