@charset "UTF-8";

body{
	background-color:#FFF;
	font-family: "M PLUS 1p";
	margin: 0px;
	padding: 0px;
	font-size:12px;
	color:#FFF;
}

a:link {
	color: #FFF;
	text-decoration:none;
}

a:visited {
	color: #FFF;
	text-decoration:none;
}

a:hover {
	text-decoration: none;
	color: #999;
}

a:active {
	color: #FFF;
	text-decoration:none;
}

/***********************************/
@media screen and (max-width: 599px) {
h1{
	text-align:left;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	font-size:1em;
	color:#000;
	line-height:1.2em;
	margin:0px;
}
header{
	background-image:url(../img/common/line.jpg?ver100421), url(../img/common/header.jpg?ver100421);
	background-repeat:repeat-x, no-repeat;
	background-position:center bottom, left top;
	background-size:auto, auto 100%;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0 0 1%;
	margin:0;
}
#header_contents{
	background:url(../img/common/smp_header_text.png?ver0209) no-repeat;
	background-position:left 60% top 15%;
	background-size:58% auto;
	display:table;
	table-layout:fixed;
	width:98%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
.header_logo {
	display:table-cell;
	vertical-align:middle;
	width:27%;
	text-align:center;
	padding:0 0 5%;
}
.header_logo img{
	width:90%;
}
.header_telbtn{
	display:table-cell;
	vertical-align:middle;
	width:15%;
	height:auto;
	text-align:center;
}
.header_menubtn{
	display:table-cell;
	vertical-align:middle;
	position:relative;
	width:20%;
	height:auto;
	overflow:hidden;
}
.header_spacer{
	display:table-cell;
	vertical-align:middle;
	width:40%;
	height:auto;
	overflow:hidden;
	padding-top:7%;
}
.header_lang{
	background-color:#FFF;
	width:32%;
	font-size:2.8vw;
	color:#333;
	font-weight: bold;
	text-align:center;
	line-height:2em;
	border:2px #333 solid;
	border-radius: 5px;
	float:left;
	margin:0 .5%;
	box-sizing: border-box;
}
.header_lang a{
	display: block;
	color:#333;
	text-decoration: none;
}
.header_nav{
	display:none;
}
.headerNav {
	display: block;
}
.header__logo img {
	width: 124px;
}
#js-closeBtnWrap {
	display: block;
	background: #fff;
	padding:1%;
}
.menuClose{
	
}
#js-openBtn {
	display: block;
	position: absolute;
	width:100%;
	top: 15%;
	right: 0;
	bottom: 0;
	height: auto;
	margin: auto;
	padding: 0;
}
#js-openBtn img {
	width: 100%;
}
#js-spNav {
	position: fixed;
	z-index: 3;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	transform: translateX(100%);
	transition: all .3s;
}
#js-spNav.isOpen {
	transform: translateX(0);
}
ul.headerNav{
	padding-left:3%;
}
.headerNav li {
	margin: 0;
	padding:2%;
	background: #FFF;
	list-style:none;
	border-bottom: 1px dotted #666;
}
.headerNav li:first-child {
	border-top: 1px solid #dbdbdb;
}
.headerNav li a {
	font-size:4vw;
	line-height:1em;
	color:#000;
}
.headerNav li a div{
	font-size:3vw;
	color:#000;
}
.titleMenu{
    text-align: center;
    font-weight: 500;
    color: #d0d0d0;
    width: 100%;
    display: block;
    margin: 30px 0 10px 0;
}
#header_blog_box{
	background-color:#000;
	display:table;
	table-layout:fixed;
	width:96%;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:1% 2%;
}
.header_blog_add{
	display:table-cell;
	vertical-align:middle;
	width:55%;
	font-family: "M PLUS 1p";
	font-size:3vw;
	color:#FFF;
	text-align:left;
	line-height:1.6em;
}
.header_blog_btn{
	display:table-cell;
	vertical-align:middle;
	background-color:#000;
	width:43%;
	padding:1%;
	border:2px #FFF solid;
}
.header_blog_btn_inner{
	font-family: "M PLUS 1p";
	background-color:#FFF;
	width:100%;
	font-size:4vw;
	font-weight:bold;
	color:#000;
	text-align:center;
	line-height:1.8em;
}
.header_blog_btn_inner a{
	display:block;
	font-size:4vw;
	color:#000;
}

#container {
	background:url(../img/common/back_sp.jpg?ver=1004) repeat-y;
	background-position:center top;
	background-size:100% auto;
	background-color:#000;
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0;
}
#contents{
	background:rgba(255,255,255,0.7);
	display:table;
	table-layout:fixed;
	width:98%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
#left_box{
	display:none;
}
#main_box{
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:0;
}

#contents_title{
	background:url(../img/common/titleback.jpg?ver=100412) no-repeat;
	background-size:100% 100%;
	text-align:left;
	font-family: 'Signika', sans-serif;
	width:100%;
	height:auto;
	overflow:hidden;
	font-size:4vw;
	color:#FFF;
	font-weight:bold;
	line-height:2em;
}
#contents_title span{
	font-size:3vw;
	margin-left:5px;
}
#contents_title:before, #contents_title:after{
	content: "◇◆";
}

footer{
	background-image:url(../img/common/line.jpg?ver=1004), url(../img/common/footer_sp.jpg?ver=100412);
	background-repeat:repeat-x, no-repeat;
	background-position:center top, center top;
	background-size:contain;
	background-color:#FFF;
	font-family: 'Signika', sans-serif;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	line-height:1.4em;
	padding-top:1%;
	padding-bottom:11%;
}
footer .sitenav_box{
	display:none;
}
footer .snsicon_box{
	display:table;
	table-layout:fixed;
	width:50%;
	height:auto;
	overflow:hidden;
	margin:2% auto;
}
.snsicon{
	display:table-cell;
	vertical-align:middle;
	width:31%;
	text-align:center;
	padding:1%;
}
.snsicon img{
	width:70%;
}
footer .groupbanner{
	display:none;
}

footer p{
	font-size:3vw;
    color:#000;
    line-height:2em;
    margin:1%;
}

#footerFloatingMenu {
	display:table;
	table-layout:fixed;
	background-color:#666;
	font-family: 'Signika', sans-serif;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    padding: 0;
    margin:0px;
}
 
#footerFloatingMenu .tel_contact {
	display:table-cell;
	vertical-align:middle;
	background:url(../img/common/footer_tel_icon.png) no-repeat;
	background-position:left 5% center;
	background-size:15% auto;
	width:27%;
	height:45px;
	font-size:3vw;
	color:#FFF;
	line-height:2em;
	text-align:right;
	padding-right:5%;
	border-left:1px #000 solid;
}
#footerFloatingMenu .tel_contact a {
	display:block;
	color:#FFF;
	text-decoration:none;
}
#footerFloatingMenu .mail_contact {
	display:table-cell;
	vertical-align:middle;
	background:url(../img/common/footer_mail_icon.png) no-repeat;
	background-position:left 5% center;
	background-size:20% auto;
	width:27%;
	height:45px;
	font-size:3vw;
	color:#FFF;
	line-height:2em;
	text-align:right;
	padding-right:5%;
	border-left:1px #000 solid;
}
#footerFloatingMenu .mail_contact a {
	display:block;
	color:#FFF;
	text-decoration:none;
}
#footerFloatingMenu .line_contact {
	display:table-cell;
	vertical-align:middle;
	background:url(../img/common/footer_line_icon.png?ver1004) no-repeat;
	background-position:left 5% center;
	background-size:20% auto;
	width:27%;
	height:45px;
	font-size:3vw;
	color:#FFF;
	line-height:2em;
	text-align:right;
	padding-right:5%;
	border-left:1px #000 solid;
}
#footerFloatingMenu .line_contact a {
	display:block;
	color:#FFF;
	text-decoration:none;
}

}

@media screen and (min-width: 600px) {
/* タブレット用レイアウト 600px以上の範囲に収めるデザインはこの中に記述 */
h1{
	text-align:left;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	font-size:14px;
	color:#000;
	line-height:1.2em;
	margin:0px;
}
header{
	background-image:url(../img/common/line.png?ver1004), url(../img/common/header.jpg?ver100412);
	background-repeat:repeat-x, no-repeat;
	background-position:center bottom, left top;
	background-size:auto, auto 100%;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0 0 1%;
	margin:0;
}
#header_contents{
	display:table;
	table-layout:fixed;
	width:98%;
	height:auto;
	overflow:hidden;
	margin:5px auto 10px;
}
.header_logo {
	display:table-cell;
	vertical-align:middle;
	width:20%;
	margin:10px 0 20px;
	text-align:center;
}
.header_logo img{
	width:100%;
}
.header_telbtn, .header_menubtn, .header_spacer{
	display: none;
}
.header_nav{
	display:table-cell;
	vertical-align:middle;
	width:80%;
	margin:10px 0 20px;
	text-align:center;
}
.header_contents_nav{
	width:auto;
	text-align:center;
	font-family: 'Signika', sans-serif;
	text-shadow: 1px 0px 7px #FFF;
	font-weight:bold;
	padding:5px 0.5em;
	color:#FFF;
	font-size:2.6vw;
	line-height:1.2em;
	float:right;
}
.header_contents_nav_bottom{
	width:auto;
	text-align:center;
	font-family: 'Signika', sans-serif;
	text-shadow: 1px 0px 7px #FFF;
	font-weight:bold;
	padding:5px 0.5em;
	color:#FFF;
	font-size:2.6vw;
	line-height:1.2em;
	float:right;
	clear:both;
}
.header_contents_nav a div{
	font-size:1.4vw;
	line-height:1em;
}
.header_contents_nav a{
	display:block;
	color:#000;
	font-size:2.6vw;
}
.header_contents_nav_bottom a div{
	font-size:1.4vw;
	line-height:1em;
}
.header_contents_nav_bottom a{
	display:block;
	color:#000;
	font-size:2.6vw;
}

.headerNav {
	width:auto;
	height:auto;
	overflow:hidden;
}
nav#js-spNav {
	position: fixed;
	z-index: 3;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,1);
	transform: translateX(100%);
	transition: all .3s;
}
#header_blog_box{
	display:none;
}
#container {
	background:url(../img/common/back_sp.jpg?ver=2911) repeat-y;
	background-position:center top;
	background-size:100% auto;
	background-color:#FFF;
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0;
}
#contents{
	background:rgba(255,255,255,0.8);
	display:table;
	table-layout:fixed;
	width:95%;
	height:300px;
	overflow:hidden;
	margin:0 auto;
}
#left_box{
	display:table-cell;
	vertical-align:top;
	width:25%;
	height:auto;
	overflow:hidden;
	margin:0;
}
.left_banner{
	width:98%;
	height:auto;
	overflow:hidden;
	margin:1% auto 0;
}
#main_box{
	display:table-cell;
	vertical-align:top;
	width:73%;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:1%;
}
#contents_title{
	background:url(../img/common/titleback.jpg?ver=2911) no-repeat;
	background-size:100% 100%;
	text-align:left;
	font-family: 'Signika', sans-serif;
	width:100%;
	height:auto;
	font-size:3vw;
	color:#FFF;
	font-weight:bold;
	line-height:2em;
}
#contents_title span{
	font-size:2vw;
	margin-left:1%;
}
#contents_title:before, #contents_title:after{
	content: "◇◆";
}

footer{
	background-image:url(../img/common/line.jpg?ver=1004), url(../img/common/footer_sp.jpg?ver=100412);
	background-repeat:repeat-x, no-repeat;
	background-position:center top, center top;
	background-size:auto, cover;
	background-color:#FFF;
	font-family: 'Signika', sans-serif;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	line-height:1.4em;
	padding-top:8%;
}
footer .sitenav_box{
	display:none;
}
footer .snsicon_box{
	display:table;
	table-layout:fixed;
	width:30%;
	height:auto;
	overflow:hidden;
	margin:5px auto;
}
.snsicon{
	display:table-cell;
	vertical-align:middle;
	width:48%;
	text-align:center;
	padding:1%;
}
.snsicon img{
	width:50%;
}
footer .groupbanner{
	width:30%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
footer .groupbanner img{
	width:100%;
}

footer p{
	font-size:16px;
    color:#000;
    line-height:2em;
    margin:5px 0;
}

#footerFloatingMenu{
	display:none;
}

}

@media screen and (min-width: 1025px) {
/* PC用レイアウト 1,025px以上の範囲に収めるデザインはこの中に記述 */
h1{
	text-align:left;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	font-size:14px;
	color:#000;
	line-height:1.2em;
	margin:0px auto;
}
header{
	background-image:url(../img/common/line.png), url(../img/common/header.jpg);
	background-repeat:repeat-x, no-repeat;
	background-position:center bottom, center top;
	background-size:auto auto, contain 100%;
	width:100%;
	height:auto;
	overflow:hidden;
	padding:5px 0 10px;
	margin:0;
}
#header_contents{
	display:table;
	table-layout:fixed;
	width:1100px;
	height:auto;
	overflow:hidden;
	margin:5px auto 10px;
}
.header_logo {
	display:table-cell;
	vertical-align:top;
	width:200px;
	text-align:center;
	margin:0;
}
.header_logo img{
	width:180px;
}
.header_nav{
	display:table-cell;
	vertical-align:middle;
	width:900px;
	display:block;
	margin:15px 0 0;
	text-align:center;
}
.header_contents_nav{
	width:auto;
	text-align:center;
	font-family: 'Signika', sans-serif;
	text-shadow: 2px 1px 7px #FFF;
	font-weight:bold;
	padding:5px 1em;
	color:#FFF;
	font-size:24px;
	line-height:1.2em;
	float:right;
}
.header_contents_nav_bottom{
	width:auto;
	text-align:center;
	font-family: 'Signika', sans-serif;
	text-shadow: 2px 1px 7px #FFF;
	font-weight:bold;
	padding:5px 0.5em;
	color:#FFF;
	font-size:24px;
	line-height:1.2em;
	float:right;
	clear:both;
}
.header_contents_nav a div{
	font-size:12px;
	line-height:1em;
}
.header_contents_nav a{
	display:block;
	color:#000;
	font-size:24px;
}
.header_contents_nav_bottom a div{
	font-size:12px;
	line-height:1em;
}
.header_contents_nav_bottom a{
	display:block;
	color:#000;
	font-size:24px;
}

.header__leadWrap {
	background: #0285c1;
	color: #000;
	font-size: 11px;
}
.headerNavWrap,
.headerNav  {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
.headerNavWrap {
	padding: 20px 0 15px;
}
.header__logo {
	width: 171px;
	line-height: 50px;
}
.headerNav {
	max-width: none;
	font-size: 13px;
	font-weight: bold;
}
#header_blog_box{
	display:none;
}

#container {
	background:url(../img/common/back.jpg?ver=2911) repeat-y;
	background-position:center top;
	background-size:100% auto;
	background-color:#FFF;
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0;
}
#contents{
	background:rgba(255,255,255,0.8);
	display:table;
	table-layout:fixed;
	width:1000px;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
#left_box{
	display:table-cell;
	vertical-align:top;
	width:240px;
	height:auto;
	overflow:hidden;
	margin:0;
}
.left_banner{
	width:230px;
	height:auto;
	overflow:hidden;
	margin:10px auto 0;
}
#main_box{
	display:table-cell;
	vertical-align:top;
	width:750px;
	height:auto;
	overflow:hidden;
	margin:0;
	padding:5px;
}
#contents_title{
	background:url(../img/common/titleback.jpg?ver=2911) no-repeat;
	background-size:100% auto;
	text-align:left;
	font-family: 'Signika', sans-serif;
	width:750px;
	height:52px;
	font-size:26px;
	color:#FFF;
	font-weight:bold;
	line-height:2em;
}
#contents_title span{
	font-size:16px;
	margin-left:10px;
}
#contents_title:before, #contents_title:after{
	content: "◇◆";
}


footer{
	background-image:url(../img/common/line.jpg), url(../img/common/footer.jpg);
	background-repeat:repeat-x, no-repeat;
	background-position:center top, center top;
	background-color:#FFF;
	font-family: 'Signika', sans-serif;
	width:100%;
	height:auto;
	overflow:hidden;
	text-align:center;
	line-height:1.4em;
	padding-top:40px;
}
footer .sitenav_box{
	display: flex;
	justify-content: center;
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
	padding-left:0;
	list-style-type: none;
}
footer .sitenav_box li.sitenav{
	width:auto;
	text-align:center;
	font-size:18px;
	color:#333;
	line-height:2em;
	padding:0 1%;
	border-right:2px #000 solid;
}
footer .sitenav_box li.sitenav a{
	display:block;
	font-size:18px;
	color:#333;
}
footer .snsicon_box{
	display:table;
	table-layout:fixed;
	width:230px;
	height:auto;
	overflow:hidden;
	margin:5px auto;
}
.snsicon{
	display:table-cell;
	vertical-align:middle;
	width:75px;
	text-align:center;
	padding:3px 0;
}
.snsicon img{
	width:60px;
}
footer .groupbanner{
	width:230px;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
footer .groupbanner img{
	width:230px;
}

footer p{
	font-size:16px;
    color:#000;
    line-height:2em;
    margin:5px 0;
}

#footerFloatingMenu{
	display:none;
}

}

