@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
 html{
	font-size:62.5%;
}

body {
    margin: 0px;
	padding:0;
    font-size: 14px;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    line-height: 1.2;
    background-color: #FFFFFF;
}


#contents {
    overflow: hidden;
    width: 1050px;
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 40px;
}

#main {
    box-sizing: border-box;
    overflow: hidden;
    float: left;
    width: 1050px;
    margin-right: 0px;
    margin-left: 0px;
}

#main2 {
    box-sizing: border-box;
    overflow: hidden;
    float: left;
    width: 990px;
    margin-right: 30px;
    margin-left: 30px;
	margin-bottom: 20px;
}

a:hover img{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

a {
	color:#000000;
	text-decoration:underline;
}
a:hover {
	color:#333;
	text-decoration:none;
}

h1 {
}

p {
	margin:0;
}

img {
	vertical-align:bottom;
}

dd {
    margin-bottom: 1em;
}

.space01 {
	clear: both;
	height: 30px;
}
.mainphoto {
    margin-top: 0px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
}
.tittle1 {
    margin-top: 30px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 100%;
	clear: both;
}
.tittle2 {
    margin-top: 40px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 92%;
	clear: both;
}
.tittle3 {
    margin-top: 60px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 86%;
	clear: both;
}
.tittle4 {
    margin-top: 60px;
    margin-left: auto;
    margin-bottom: 20px;
	margin-right: auto;
    width: 70%;
	clear: both;
}
.campaign1 {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 50px;
    margin-right: auto;
    width: 100%;
}
.campaign2 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
}
.campaign2b {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
}
.campaign3 {
    margin-top: 10px;
    margin-left: 0px;
    margin-bottom: 20px;
    margin-right: 10px;
    width: 485px;
    float: left;
}
.campaign4 {
    margin-top: 10px;
    margin-left: 10px;
    margin-bottom: 20px;
    margin-right: 0px;
    width:485px;
    float: left;
}
.campaign5 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 570px;
	clear: both;
}
.campaign-a {
    margin-top: 20px;
    margin-left: 0px;
    margin-bottom: 50px;
    margin-right: 10px;
    width: 315px;
    float: left;
}
.campaign-b {
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 50px;
    margin-right: 10px;
    width:315px;
    float: left;
}
.campaign-c {
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 50px;
    margin-right: 0px;
    width:315px;
    float: left;
}



/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom:15px;
	right:15px;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	background:#333333;
}
.totop img:hover {
	background:#808080;
}
.pc { display: block !important; }
.sp { display: none !important; }


/*================================================
 *  タブレット向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:979px) {

	#contents {
		box-sizing:border-box;
		width:100%;
		padding:0 10px;
	}

}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
	.lock {
		overflow:hidden;
	}


#contents {
    overflow: hidden;
    width: 100%;
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
}

	#main {
	float:none;
	width:107%;
    margin-top: 0px;
    margin-right: -10px;
    margin-left: -10px;
    margin-bottom: 0px;
	}

	#main2 {
	float:none;
	width:100%;
	margin-right: auto;
    margin-left: auto;
	margin-bottom: 10px;
}
	p {
	    margin:0;
		font-size: 1.2rem;
}

.mainphoto {
    margin-top: 0px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
}
.tittle1 {
    margin-top: 15px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 100%;
	clear: both;
}
.tittle2 {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 96%;
	clear: both;
}
.tittle3 {
    margin-top: 0px;
    margin-left: auto;
    margin-bottom: 0px;
	margin-right: auto;
    width: 92%;
	clear: both;
}
.tittle4 {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 10px;
	margin-right: auto;
    width: 86%;
	clear: both;
}
.campaign1 {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 30px;
    margin-right: auto;
    width: 100%;
}
.campaign2 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 96%;
}
.campaign2b {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 96%;
}
.campaign3 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
	clear: both;
}
.campaign4 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 10px;
    margin-right: auto;
    width: 100%;
	clear: both;
}
.campaign5 {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
	clear: both;
}
.campaign-a {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
	clear: both;
}
.campaign-b {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 0px;
    margin-right: auto;
    width: 100%;
	clear: both;
}
.campaign-c {
    margin-top: 10px;
    margin-left: auto;
    margin-bottom: 30px;
    margin-right: auto;
    width: 100%;
	clear: both;
}

	
.pc { display: none !important; }
.sp { display: block !important; }
	

}

/* #header / #footer
----------------------------------------- */
#header {
    max-width: 100%;
    box-shadow: 0px 0 10px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 2;
    background-color: #fff;
    height: 51px;
}
@media screen and (min-width: 960px) {
#header {
    max-width: 100%;
    box-shadow: 0px 0 10px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 2;
    background-color: #fff;
    height: 57px;
}}

#header #logo {
    max-width: 1050px;
    width: 100%;
    margin: 0 auto;
    padding: 8px;
}
@media screen and (min-width: 960px) {
#header #logo {
    max-width: 1050px;
    width: 100%;
    margin: 0 auto;
    padding: 10px;
}
}
#footer {
    background-color: #fff;
}

/* footer */
#footer{
	clear:both;
	position:static;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#footer #greenbelt{
	background:url(../images/common/bg_greenbelt.png) 0 0 repeat;
}

#footer #greenbelt .inner{
	margin:0 auto;
	max-width:1100px;
	background:#009261;
	color:#fff;
	overflow:hidden;
}

#footer #greenbelt .inner .ftbox{
	float:none;
	max-width:800px;
}
@media screen and (min-width: 960px) {
#footer #greenbelt .inner .ftbox{
	float:left;
	max-width:800px;
    width: 800px;
}}
#footer #greenbelt .inner p.link{
    display: block;
    padding: 18px 15px 0;
    font-size: 1.2rem;
    line-height: 1.4;
    text-align: center;
}
@media screen and (min-width: 768px) {
    #footer #greenbelt .inner p.link{
        padding:18px 24px 0;
        font-size:1.36rem;
        line-height:1.0;
        text-align: left;
    }}
@media screen and (min-width: 960px) {
#footer #greenbelt .inner p.link{
	padding:18px 0 0 24px;
	font-size:1.36rem;
	line-height:1.0;
    text-align: left;
}}

#footer #greenbelt .inner p.link span{
	display: block;
    margin: 0 0 0 0;
    padding: 15px 0 0 0;
    background: none;
    text-align: left;
}
@media screen and (min-width: 768px) {
    #footer #greenbelt .inner p.link span{
        margin:0 0 0 10px;
        padding:0 0 0 10px;
        background:url(../images/common/line_dot_separate.png) 0 0 no-repeat;
        display: inline;
    }}
@media screen and (min-width: 960px) {
#footer #greenbelt .inner p.link span{
	margin:0 0 0 10px;
	padding:0 0 0 10px;
	background:url(../images/common/line_dot_separate.png) 0 0 no-repeat;
    display: inline;
}}

#footer #greenbelt .inner p.copy{
	padding:15px 0 0 0;
	font-size:1.2rem;
	line-height:1.0;
    text-align: center;
}
@media screen and (min-width: 768px) {
    #footer #greenbelt .inner p.copy{
        padding:18px 0 0 24px;
        font-size:1.36rem;
        line-height:1.0;
        text-align: left;
    }}
@media screen and (min-width: 960px) {
#footer #greenbelt .inner p.copy{
	padding:18px 0 0 24px;
	font-size:1.36rem;
	line-height:1.0;
    text-align: left;
}}

#footer #greenbelt .inner a{
	color:#fff;
}

#footer #greenbelt .inner p.bn{
	background:url(../images/common/bg_ftbn.jpg) 0 0 no-repeat;
	float: none;
    margin: 9px auto 14px;
    width: 264px;
    height: 54px;
}
@media screen and (min-width: 768px) {
    #footer #greenbelt .inner p.bn{
        float:right;
        background:url(../images/common/bg_ftbn.jpg) 0 0 no-repeat;
        width:264px;
        height:54px;
        margin:9px 17px 14px 0;
    }}
@media screen and (min-width: 960px) {
#footer #greenbelt .inner p.bn{
	float:right;
	background:url(../images/common/bg_ftbn.jpg) 0 0 no-repeat;
	width:264px;
	height:54px;
	margin:9px 17px 14px 0;
}}

#footer #greenbelt .inner p.bn a{
	color:#666;
	text-decoration:none;
}

#footer #greenbelt .inner p.bn a span{
	display:block;
	width:120px;
	padding:16px 0 0 7px;
	font-size:1.0rem;
	line-height:1.4;
}

#footer #whitebelt{
	clear:both;
	margin:0 auto;
	max-width:1100px;
	background:#fff;
	text-align:center;
}
@media screen and (min-width: 768px) {
    #footer #whitebelt{
        clear:both;
        margin:0 auto;
        max-width:1100px;
        background:#fff;
        text-align:right;
    }}
@media screen and (min-width: 960px) {
#footer #whitebelt{
	clear:both;
	margin:0 auto;
	max-width:1100px;
	background:#fff;
	text-align:right;
}}

#footer #whitebelt p{
	padding:12px 0 13px;
	line-height:0;
}

.pagetop {
    clear: both;
    font-size: 1.2rem;
    width: 100%;
    margin: 0 auto 20px;
    text-align: right;
}
@media screen and (min-width: 960px) {
.pagetop {
    clear: both;
    font-size: 1.2rem;
    /* max-width: 1100px;
    width: 1100px; */
    margin: 0 auto 60px;
    text-align: right;
}}

.pagetop a {
    background: url(../images/common/icon_pagetop.png) left center no-repeat;
    padding: 0 15px; /* ← 左に画像の幅＋余白、上下は0で中央に揃う */
    line-height: 40px;      /* ← 高さを指定して中央揃えに */
    display: inline-block;  /* ← 高さやpaddingが効くように */
}
@media screen and (min-width: 960px) {
.pagetop a {
    background: url(../images/common/icon_pagetop.png) left center no-repeat;
    padding: 2px 0 2px 16px;
}}