img{ vertical-align:bottom;}


@media(max-width:640px){



} /* Responsive End */





.cf:before,
.cf:after {
    content: " ";
    display: table;
}
 
.cf:after {
    clear: both;
}
 
.cf {
    *zoom: 1;
}

.cf:before,
.cf:after {content: " ";display:table;}
.cf:after {clear: both;}
.cf {*zoom: 1;}



html,body{ height:100%; }

body{ background:#fff; }


@media(max-width:640px){



} /* Responsive End */



/* ---------------------------------------------------------------------------------
header */

#wrapper{ background:url(../images/background.png) repeat-x left top;
background-repeat:repeat-x;padding-top:216px;}

header{ width:100%; margin:0 auto; position:fixed; top:0; height:216px; z-index:2000; background:url(../images/header_bg.png) repeat-x;}

#hdBox01{ width:1100px; margin:0 auto;}

#hdBox01 > .inner{padding:40px 0;}

#hdBox01 h1{ width:auto; height:57px; vertical-align:middle;}
#hdBox01 h1 a{ background:url(../images/logo.png) no-repeat left top; width:182px; height:57px;text-indent:-9999px;overflow:hidden;display:inline-block; vertical-align:middle; margin-right:38px;}
#hdBox01 h1 span{ vertical-align:middle; font-size:12px; font-weight:normal;}


@media(max-width:640px){

#wrapper{ background:url(../images/background2.png) repeat-x left top;
background-repeat:repeat-x;padding-top:150px;}

header{ width:100%; margin:0 auto; position:fixed; top:0; height:216px; z-index:2000; background:url(../images/header_bg2.png) repeat-x;}

#hdBox01{ width:auto; margin:0 auto;}

#hdBox01 h1{ width:auto; height:57px; vertical-align:middle; ; position: relative;}
#hdBox01 h1 a{ background:url(../images/logo.png) no-repeat left top; width:182px; height:57px;text-indent:-9999px;overflow:hidden;display:inline-block; vertical-align:middle; margin-right:38px; left: 20px; position: relative;}
#hdBox01 h1 span{ vertical-align:middle; font-size:16px; font-weight:normal; display:block; padding-left: 20px;}



} /* Responsive End */



/* ---------------------------------------------------------------------------------
navigation */

nav.pc{ width:auto; background:url(../images/menu.png) no-repeat center top; height:78px;}
nav.pc > div{width:1100px; margin:0 auto;}

nav.pc ul{width:auto;}
nav.pc ul li{ width:220px; height:57px; float:left;}

nav.pc ul li a{ width:220px; height:57px;text-indent:-9999px;overflow:hidden;display:block;}
nav.pc ul li.navi01 a{ background:url(../images/menu01.png) no-repeat left top;}
nav.pc ul li.navi02 a{ background:url(../images/menu02.png) no-repeat left top;}
nav.pc ul li.navi03 a{ background:url(../images/menu03.png) no-repeat left top;}
nav.pc ul li.navi04 a{ background:url(../images/menu04.png) no-repeat left top;}
nav.pc ul li.navi05 a{ background:url(../images/menu05.png) no-repeat left top;}

nav.pc ul li.navi01 a:hover{ background:url(../images/menu01.png) no-repeat left bottom;}
nav.pc ul li.navi02 a:hover{ background:url(../images/menu02.png) no-repeat left bottom;}
nav.pc ul li.navi03 a:hover{ background:url(../images/menu03.png) no-repeat left bottom;}
nav.pc ul li.navi04 a:hover{ background:url(../images/menu04.png) no-repeat left bottom;}
nav.pc ul li.navi05 a:hover{ background:url(../images/menu05.png) no-repeat left bottom;}

nav.pc ul:before,
nav.pc ul:after{content: " ";display:table;}
nav.pc ul:after{clear: both;}
nav.pc ul{*zoom: 1;}




@media(max-width:640px){



#smpMenu{ display:none;}
#smpMenuList{ display:none;}
#snsLinkMenu{ display:none;}


#smpMenu{width:60px; height:60px;display:block; position:absolute; top:40px; right:20px;}
#smpMenu.menuOff{background:url(../images/sp/menu_onbtn.png) no-repeat left top; background-size:contain; text-indent:-9999px;overflow:hidden;display:block;}
#smpMenu.menuOn{ background:url(../images/sp/menu_offbtn.png) no-repeat left top; background-size:contain; text-indent:-9999px;overflow:hidden;display:block;}

#smpMenuList{ display:none; position:absolute; background:#fafafa; width:600px;margin:0 0 0 20px;margin-top:0;z-index:10000;
  box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
  -webkit-box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
  -moz-box-shadow: 0px 7px 3px -3px rgba(0,0,0,0.3);
  border:1px solid #E0E0E0;}

#smpMenuList ul{width:auto;}
#smpMenuList ul li{}
#smpMenuList ul li a{ font-size:20px; display:block;padding:20px 20px;color:#555; border-bottom:1px solid #6A6A6A;}
#smpMenuList ul li span{}

#smpMenuList dl{ font-family:"Lucida Sans Unicode", "Lucida Grande",}
#smpMenuList dl dt{font-size:18px; font-weight:bold; display:block;padding:10px 20px;color:#fff; background:#c30d23; border-bottom:1px solid #6A6A6A;}
#smpMenuList dl dd{ border-bottom:1px solid #6A6A6A;}
#smpMenuList dl dt a{ }
#smpMenuList dl dd a{ font-size:20px; display:block;padding:25px 25px;color:#555;}
#smpMenuList dl dd.spSNS a{ font-size:20px; display:inline-block;padding:25px 25px;color:#555;}
#smpMenuList dl dt span{}
#smpMenuList dl dd span{}



} /* Responsive End */




/* ---------------------------------------------------------------------------------
mainvisual */

#mainvisual{background:url(../images/mainvisual_210416.png) no-repeat left top;width:1100px; height:445px;margin:0 auto;}
#mainvisual > div{padding-top:216px; }
#mainvisual h2,
#mainvisual p{ display:none;}


@media(max-width:640px){

#mainvisual{ display:none;}

#mainvisual_sp{ display:block; }
#mainvisual_sp img{ width:100%;}
} /* Responsive End */



/* ---------------------------------------------------------------------------------
contents */


#contents{width:auto; margin:0 auto;}
#contents_inner{width:1100px; margin:0 auto;}

.sec{ position:relative; padding-bottom:45px; clear:both;}


@media(max-width:640px){
	
#contents_inner{width:auto; margin:0 auto;}

}

/* ---------------------------------------------------------------------------------
service */

#service{}
#service h2{ color:#9d1627; font-size:38px; font-weight:normal;}


#h2txtbox{ width:auto; position:relative; padding:40px 0}
#h2txtbox h2{ display:block; line-height:1em; vertical-align:bottom;}
#h2txtbox p{ position:absolute; left:200px; top:40px; line-height:1.5em;}

#service ul{ width:auto;}
#service li{ width:550px; height:166px; float:left; position:relative;margin-bottom:30px;}

#service li .imgbox{ position:absolute;}
#service li .textbox{ position:relative; left:190px; width:330px;padding-top:10px;}

#service li .textbox h3{color:#9d1627; font-size:22px; line-height:1em;padding-bottom:10px;}
#service li .textbox p{ font-size:14px; height:114px; line-height:1.5em;}
#service li .textbox .more{ position:absolute; right:0; bottom:0; width:171px; height:35px; background:url(../images/icon_service_btn.png) no-repeat left top;text-indent:-9999px;overflow:hidden;display:block;}

#service ul:before,
#service ul:after{content: " ";display:table;}
#service ul:after{clear: both;}
#service ul{*zoom: 1;}


@media(max-width:640px){
	
#h2txtbox{ width:auto; position:relative; padding:40px; }
#h2txtbox h2{ display:block; line-height:1em; vertical-align:bottom; margin-bottom:20px;}
#h2txtbox p{ position:relative; left:0; top:0; font-size:24px;line-height: 1.5em;}

#service li{ width:auto; margin:0 40px 40px 40px ; float:none; height:auto;}
#service li .textbox{width:350px;}

#service li .textbox h3{font-size:30px;  font-weight: normal;}
#service li .textbox p{ font-size:24px; height:auto;padding-bottom:10px;}

#service li .textbox .more{ position:relative; right:auto; bottom:auto; width:171px; height:35px; background:url(../images/icon_service_btn.png) no-repeat left top;text-indent:-9999px;overflow:hidden;display:block;}

}




/* ---------------------------------------------------------------------------------
information */

#information{}
#information .infobox{ width:710px; float:right;border:3px double #D7D7D7;}
#information .infoSubBox{ width:360px; float:left;}


#information .infobox .inner{padding:40px 40px 20px 40px;}

#information .infobox h2{ background:url(../images/infobar.png) no-repeat left top;color:#9d1627; font-size:18px;padding:10px 10px 10px 16px; margin-bottom:10px;}

#information .infobox dl{ position:relative;margin-left:16px;}
#information .infobox dt{ position:absolute;font-size:14px; color:#a78b8f;}
#information .infobox dd{ position:relative; left:110px; width:505px;margin-bottom:20px;}
#information .infobox dd h3{margin-bottom:10px; font-size:16px;}
#information .infobox dd p{ margin-bottom:10px; font-size:14px; line-height:1.6em;}

.infoSubBox a.bnr{margin-bottom:10px; display:block;}
#iconbox{ position:relative; height:87px;}
#iconbox .icon_facebook{ position:absolute; top:22px;}
#iconbox .icon_privacy{ position:absolute; right:0; top:0;}


#information:before,
#information:after{content: " ";display:table;}
#information:after{clear: both;}
#information{*zoom: 1;}


@media(max-width:640px){

#information .infobox{ width:auto; float:none;}
#information .infoSubBox{ width:auto; float:none;}
#information .infobox h2{ font-size:22px;}
	
#information .infobox dl{ position:relative;margin-left:16px;}
#information .infobox dt{ position:relative;font-size:20px; color:#a78b8f; margin-bottom:5px;}
#information .infobox dd{ position:relative; left:0; width:auto;margin-bottom:20px;}
#information .infobox dd h3{margin-bottom:5px; font-size:22px;}
#information .infobox dd p{ margin-bottom:10px; font-size:20px; line-height:1.6em;}

.infoSubBox{ text-align:center;padding-top:20px;}
#iconbox{ position:relative; height:87px; vertical-align:middle;}
#iconbox .icon_facebook{ position:relative;  vertical-align:middle;margin-right:40px;}
#iconbox .icon_privacy{ position:relative; right:0; top:0; vertical-align:middle;}

}


/* ---------------------------------------------------------------------------------
section */

section.sec{margin-bottom:40px;padding-bottom:80px; border-bottom:3px double #ddd;}
section.sec h2{color:#9d1627; font-size:38px; font-weight:normal; line-height:1em;padding:40px 0;}



.sectionImgBox{ width:auto;margin-bottom:40px;}
.sectionImgBox .imgbox{ width:283px; float:left;}
.sectionImgBox .textbox{width:736px; float:left;}

.sectionImgBox .textbox p{line-height: 1.6em;}

#drive .sectionImgBox .imgbox{ width:430px; float:left;}
#drive .sectionImgBox .textbox{width:560px; float:left;}

#build .sectionImgBox .imgbox{ width:430px; float:left;}
#build .sectionImgBox .textbox{width:560px; float:left;}


.sectionImgBox:before,
.sectionImgBox:after{content: " ";display:table;}
.sectionImgBox:after{clear: both;}
.sectionImgBox{*zoom: 1;}

@media(max-width:640px){

section.sec{margin:0 0 40px;padding:0 40px 80px;border-bottom:3px double #ddd;}

.sectionImgBox .textbox{ font-size:20px; line-height:1.6em;}

.sectionImgBox .textbox p{line-height: 1.6em; font-size: 24px;}
    
.sectionImgBox .imgbox{ width:auto; float:none; text-align:center;}
.sectionImgBox .textbox{width:auto; float:none;margin:40px 0 40px;}
#drive .sectionImgBox .imgbox{ width:auto; float:none;}
#drive .sectionImgBox .textbox{width:auto; float:none;}
#build .sectionImgBox .imgbox{ width:auto; float:none;}
#build .sectionImgBox .textbox{width:auto; float:none;}
#build .sectionImgBox .textbox dd img{ width:100%;}
}


/* ---------------------------------------------------------------------------------
company */

section.sec .introText{ padding-bottom:40px; line-height:1.6em;}

.companyDataBox{ width:auto; border-top:3px double #E8E8E8;}

.companyTable{padding:40px 0 0 40px;}

.companyTable dl{ float:left;}


.companyTable dl{
	width:480px;
	overflow:hidden; /*floatしたので高さ確保*/
}
.companyTable dt{
	width:110px;
	float:left;
	font-size:16px;
	color:#c30d23;
	font-weight:bold;
	padding-bottom:30px;
	line-height:1.6em;
}
.companyTable dd{
	width:370px;
	float:left;
	padding-bottom:30px;
	line-height:1.6em;
}
.companyTable dd:after{
	clear:both; /*1段ずつfloat解除する設定(いらない？)*/
}


#company dd img{}
.companyTable dl.long{ width:560px;}
.companyTable .long dd{ width:450px;}
	
.companyTable:before,
.companyTable:after{content: " ";display:table;}
.companyTable:after{clear: both;}
.companyTable{*zoom: 1;}




.companyTable dl dl{width:auto;overflow:hidden; margin-top:10px; margin-left:0.5em;}
.companyTable dl dl dt{ width:15%; font-weight:normal; font-size:85%;line-height:1.3em;padding-bottom:0.4em; color:#585858;}
.companyTable dl dl dd{ width:85%; font-size:85%;padding-bottom:0.4em; line-height:1.3em;}





@media(max-width:640px){
	
#company dd img{width: 100%}
	
section.sec .introText{ font-size: 24px; line-height:1.6em;}
.companyTable{padding:40px 0 0 0;}

.companyTable dl{ float:none;}


.companyTable dl{
	width:auto;
	overflow:hidden; /*floatしたので高さ確保*/
}
.companyTable dt{
	width:auto;
	float:none;
	font-size:26px;
	color:#c30d23;
	font-weight:bold;
	padding-bottom:0;
	line-height:1.6em;
}
.companyTable dd{
	width:auto;
	float:none;
	padding-bottom:30px;
	line-height:1.6em;
	font-size:24px
}
.companyTable dd:after{
	clear:both; /*1段ずつfloat解除する設定(いらない？)*/
}

.companyTable dl.long{ width:auto;}
.companyTable .long dd{ width:auto;}
	
.companyTable:before,
.companyTable:after{content: " ";display:table;}
.companyTable:after{clear: both;}
.companyTable{*zoom: 1;}



.companyTable dl dl dd{ margin-left:1em;}



}


/* ---------------------------------------------------------------------------------
haken */

.hakenIntroText{ padding:40px 80px 40px; line-height:1.8em; }

.figurebox{padding:40px; margin:0 80px 80px; border:1px solid #ddd; text-align:center;}

#haken h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:40px;}
#haken h3 + p{  line-height:1.6em;margin-bottom:20px;margin-left:40px;}



@media(max-width:640px){

#haken .hakenImage{ width:100%;}
.hakenIntroText{ padding:40px 0 40px; line-height:1.8em; font-size:20px;}
.figurebox{padding:40px; margin:0 0 40px; border:1px solid #ddd; text-align:center;}
.figurebox img{ width:100%; height:auto;}

#haken h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:0;}
#haken h3 + p{ font-size:20px; line-height:1.6em;margin-bottom:20px;margin-left:0;}

}

.flow{width:auto;margin:0 80px 100px 80px;}
.flow > div{ background:#F3F3F3;padding:10px 40px 40px;}
.flow ol{padding:40px;margin-left:;}



.flow ol{
counter-reset:number; /* 名前を付けたカウンターをリセット */
list-style:none; /* olが数字を付けることをキャンセル */
margin:0;
padding:0;
}
.flow ol li{
/* リスト部分は好きに装飾！ */
}
.flow ol li:before{
/* カウンタ（数字になる部分） */
counter-increment: number; /* 任意の名前を付けて！ */
content: counter(number); /* 名前を付けたカウンターを呼び出し */
/* 色を変えたり、背景画像を敷いたり！自由自在！ */
}


.flow ol li {
        line-height: 2; position:relative;
        margin-bottom: 0.4em;}
		
.flow ol li:before {
            counter-increment: number;
            content: counter(number);
            background: #c30d23;
            display: inline-block;
            width: 2em;
            height: 2em;
            text-align: center;
            border-radius: 50%;
            color: #fff;
            margin-right: .3em;
			position:relative; top:32px;
        }

.flow ol li dl{ position:relative; width:730px; top:0;left:50px;}
.flow ol li dt{ font-size:18px; color:#c30d23;}
.flow ol li dd{ font-size:14px; line-height:1.5em;}

.flowTxt01{ font-size:18px; color:#493f33; font-weight:bold;padding:40px 0 20px 0;}
.flowTxt02{ font-size:14px;}


@media(max-width:640px){
.flow{width:auto;margin:0 0 100px 0;}
.flow > div{ background:#F3F3F3;padding:10px 40px 40px;}
.flow ol{padding:0;margin-left:;}

.flow ol li dl{ position:relative; width:auto; top:0;left:50px;padding-right:50px;}
.flow ol li dt{ font-size:20px; color:#c30d23;}
.flow ol li dd{ font-size:20px; line-height:1.5em;}
	
.flowTxt01{ font-size:22px; line-height:1.6em;}
.flowTxt02{ font-size:18px; line-height:1.6em;}

}



.marginData{}
.marginData h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:80px;}
.marginData h3 + p{ font-size:14px; line-height:1.6em;margin-bottom:20px;margin-left:40px;}

.marginOverFlowBox{background:#F3F3F3;padding:40px;margin:0 80px;}
.marginOverFlowBox p{ height:200px; width:auto; overflow:auto; font-size:14px;}


@media(max-width:640px){
.marginData{}
.marginData h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:80px;}
.marginData h3 + p{ font-size:20px; line-height:1.6em;margin-bottom:20px;margin-left:40px;}

.marginOverFlowBox{background:#F3F3F3;padding:40px;margin:0;}
.marginOverFlowBox p{ height:200px; width:auto; overflow:auto; font-size:18px; line-height:1.5em;}
}






.correArea{ width: auto; margin: 100px auto 50px;}

.border_out{ border: 2px solid #ffffff;box-shadow: 0px 0px 9px -5px #000000; }
.border_in{ border: 2px solid #C0f0f8}
.border_in >.inner{padding:70px; background:#fafafa url(/common/images/corre_bg.jpg) no-repeat center top; background-size: contain;}

.correArea h3{width: 100%; text-align: center; position: relative; top: -120px; margin: 0 !important;}
.correArea h3 img{width: 290px; }

.correArea ul{
    width: 100%;
margin: 0 0 100px;
display: grid;
grid-template-columns: repeat(2, 1fr);
column-gap: 30px;
row-gap: 30px;
    position: relative;
margin-top:-150px;
    margin-bottom: 0;
}


.correArea li{}
.correArea dl{ }
.correArea dt{ display: table;border-bottom: 2px solid #649aab; width: 100%;}
.correArea dt .correNumber{ display: table-cell; width: 70px;}
.correArea dt .correNumber img{ width: 50px; margin: 10px;}
.correArea dt .correTitle{ display: table-cell; vertical-align: middle; color: #3d6ca6;  font-size: 20px; font-weight: bold;}
.correArea dd{ padding: 10px 10px 0 10px;}



@media(max-width:640px){

.border_in >.inner{padding:40px; }
.correArea h3 img{width: 320px; }
	
.correArea ul{
    width: 100%;
margin: 0 0 100px;
display: grid;
grid-template-columns: repeat(1, 1fr);
column-gap: 50px;
row-gap: 50px;
    position: relative;
margin-top:-150px;
    margin-bottom: 0;
}

    
.correArea dt{ display: table;border-bottom: 2px solid #649aab; width: 100%;}
.correArea dt .correNumber{ display: table-cell; width: 70px;}
.correArea dt .correNumber img{ width: 50px; margin: 10px;}
.correArea dt .correTitle{ display: table-cell; vertical-align: middle; color: #3d6ca6;  font-size: 24px; line-height: 1.4em; font-weight: bold;}
.correArea dd{ padding: 10px 10px 0 0; font-size: 24px; line-height: 1.4em;}
    .correArea dd .s80{ font-size: 80%}    

    
} /* Responsive End */






/* ---------------------------------------------------------------------------------
drive */

#drive h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:40px;}
.driveParagraph{margin-left:80px;margin-bottom:40px;}
.driveParagraph ol{margin-left:25px;}
.driveParagraph li{ padding-bottom:4px;}

p.driveParagraph{line-height:1.5em; }


@media(max-width:640px){

#drive h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:0;}
.driveParagraph{margin-left:0;margin-bottom:40px;}
.driveParagraph ol{margin-left:40px;}
.driveParagraph li{ font-size:20px;padding-bottom:10px;}

p.driveParagraph{line-height:1.5em; font-size:20px;}
	
}
/* ---------------------------------------------------------------------------------
build */

/*#build h3{ font-size:24px; color:#fff;background: #9c7b39; font-weight:normal;margin-bottom:20px; margin-left:40px; display: inline-block; padding: 10px 20px;}*/

#build h3{ font-size:24px; color:#c30d23; font-weight:normal;margin-bottom:20px; margin-left:40px;}
#build h3 + p{  line-height:1.6em;margin-bottom:20px;margin-left:40px;}

.divisionTable{margin-left:40px; margin-bottom:40px;}
.divisionTable dl{
	width:470px;
	 float:left;
	display: table;
}
.divisionTable dt{
	width:130px;
    float: none;
	font-weight:bold;
    padding-bottom:5px;
	line-height:1.6em;
    display: table-cell;
    vertical-align: middle;
    
}
.divisionTable dd{
	width:340px;
	float:none;
	font-size:18px;
	padding-bottom:5px;
	line-height:1.6em;
    display: table-cell;
    vertical-align: middle;
}

.divisionTable dd:after{
	clear:both; /*1段ずつfloat解除する設定(いらない？)*/
}
.divisionTable + p{margin:0 40px 0 40px;padding-top:40px; clear:both;}

.divisionTable dt img{width: 100%;}


@media(max-width:640px){
	
#build h3{ margin-left:0; font-size: 24px;}
#build h3 + p{ font-size:24px; margin-left: 0;}

.divisionTable{margin-left:0; margin-bottom:40px;}
.divisionTable dl{
	width:auto;
	float:none;
    display: table;
}
.divisionTable dt{
	width:200px;
	font-size:20px;
	font-weight:bold;
	padding-bottom:5px;
	line-height:1.6em;
    display: table-cell;
    vertical-align: middle;
}
.divisionTable dd{
	width:320px;
	font-size:20px;
	padding-bottom:5px;
	line-height:1.6em;
	padding-bottom:10px;
    display: table-cell;
    vertical-align: middle;
}
.divisionTable dd:after{
	clear:both; /*1段ずつfloat解除する設定(いらない？)*/
}

.divisionTable dt img{width: 100%;}
.divisionTable + p{margin:0 0 0 0;padding-top:0; clear:both;}


}






/* ---------------------------------------------------------------------------------
contact */

#contact{}
#contact h2 + p{ font-size:14px; line-height:1.4em;margin-bottom:40px;}

#contact ul{margin:0 40px 0 40px;}
#contact ul li{padding-bottom:40px;}
#contact ul h3{margin-bottom:10px;}


@media(max-width:640px){
	
	#contact h2 + p{ font-size:24px;}
#contact ul h3{ font-size:26px; margin-bottom: 20px;}
	
#contact ul{margin:0 0 0 0;}
}




/* ---------------------------------------------------------------------------------
privacy */

#privacy .privacyArea{margin:0 40px 40px 40px; border:1px solid #ddd;}
#privacy .privacyArea > .inner{padding:40px;}
#privacy .privacyArea .overflowBox{height:200px;overflow:auto; font-size:14px;}
#privacy .privacyArea h3{background:url(../images/infobar.png) no-repeat left top;color:#9d1627; font-size:18px;padding:10px 10px 10px 16px; margin-bottom:10px;}
#privacy .privacyArea h3 span{font-size: 80%;}

@media(max-width:640px){

#privacy .privacyArea{margin:0 0 40px 0; border:1px solid #ddd;}
    #privacy .privacyArea h3{ font-size: 24px;}
#privacy .privacyArea .overflowBox{ font-size:22px; line-height:1.6em;}

} /* Responsive End */







/* ---------------------------------------------------------------------------------
footer */

#footer{ width:auto; height:178px;}

#ft01box{ width:auto; padding:40px 0; background-color:#ebebeb;}
#ft01box > .inner{ width:1100px; margin:0 auto;}

#ft01box .ftLogo{ width:220px; display:inline-block;vertical-align:middle;}

#ft01box ul{ display:inline-block; vertical-align:middle;}
#ft01box li{ display:inline-block; color:#575757; font-size:14px;vertical-align:middle;}
#ft01box li a{display:inline-block; color:#575757; vertical-align:middle;}

#ft02box{ background:#C30D23;}
#ft02box .copy{ text-align:center; font-size:12px; color:#fff;padding:20px 0;}


@media(max-width:640px){

#ft01box > .inner{ width:auto; margin:0 40px;}

#ft02box .copy{ font-size:18px;}

#ft01box li{ font-size:22px; line-height:1.8em;}
	
} /* Responsive End */





/* ---------------------------------------------------------------------------------
pagetop */

#pagetop{ position:absolute;}

#gotop {
  position: fixed;
  bottom: 0px;
  right: 20px;
  width: 137px;
  height: 77px;
  z-index: 5;
}

#btnscrollArea{ position:relative;}









.clear{ clear:both;}
.tac{ text-align:center !important;}

@media(min-width:641px){
.sp{ display:none !important;}
} /* Responsive End */

@media(max-width:640px){
.pc{ display:none !important; }
} /* Responsive End */

@media(max-width:640px){
#commonFooter{ display:none !important; }
}

@media(max-width:640px){
#commonFooter{ display:none !important; }
}


@media(max-width:640px){
.tac_pc{ text-align:left !important;}
.tac_sp{ text-align:center !important;}
}

@media(min-width:641px){
.tac_pc{ text-align:center !important;}
.tac_sp{ text-align:left !important;}
}


