@charset "utf-8";
/* CSS Document */


/*my reset css*/
/*-----------------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }
a{ transition: all 0.25s linear; }
a:hover{ opacity: 0.7; text-decoration: none; }
img{ vertical-align: middle; }
body,p,div{
	color: #666666;
	font-family: Lato, Roboto, "メイリオ", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-family: "Helvetica neue", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif \9;
	font-size: 14px; line-height: 26px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body:not(:target),
p:not(:target),
div:not(:target){ font-family: Lato, Roboto, "メイリオ", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif \9; }
@media screen and (max-width: 1112px){
	img{ max-width: 100%; height: auto; }
}
@media screen and (max-width: 768px){
	a:hover{ opacity: 1; }
	a:active{ opacity: 0.7; text-decoration: none; }
}




/*general class*/
/*-----------------------------------------------------------------*/
.nm{ font-size: 12px; line-height: 20px; }
.ns{ font-size: 10px; line-height: 14px; }
.spt5{ margin-top: 5px; }
.spt10{ margin-top: 10px; }
.spt15{ margin-top: 15px; }
.spt20{ margin-top: 20px; }
.spt25{ margin-top: 25px; }
.spt30{ margin-top: 30px; }
.spt40{ margin-top: 40px; }
.spt50{ margin-top: 50px; }
.spt60{ margin-top: 60px; }
.spt70{ margin-top: 70px; }
.spt80{ margin-top: 80px; }
.spt90{ margin-top: 90px; }
.spt100{ margin-top: 100px; }
.spt110{ margin-top: 110px; }
.spt120{ margin-top: 120px; }
.spt130{ margin-top: 130px; }
.spt140{ margin-top: 140px; }
.spt150{ margin-top: 150px; }
.invalid-line-height{ line-height: 0; }
.ovf-h{ overflow: hidden; }
.full-width{ width: 100%; }
.txt-left{ text-align: left; }
.txt-center{ text-align: center; }
.txt-right{ text-align: right; }
.txt-indent{ text-indent: -1em; padding-left: 1em; display: block; }
.txt-hide{ text-indent: 101%; display: block; white-space: nowrap; overflow:hidden; }
.inline-block{ display: inline-block; }
.clearfix:after{ display: block; clear: both; height: 0; visibility: hidden; content: ""; }
.sw-elm .pc,.sw-elm .tb-h,.sw-elm .tb-v,.sw-elm .sp{ display: none; }
.sw-elm .pc{ display: block; }
.sw-elm img.pc{ display: inline; }
.txt-blue{ color: #0055aa; }
.txt-red{ color: #dd0000; }
.txt-bold{ font-weight: bold; }

@media screen and (max-width: 1112px){
	.sw-elm .pc,.sw-elm img.pc{ display: none; }
	.sw-elm .tb-h{ display: block; }
	.sw-elm img.tb-h{ display: inline; }
}
@media screen and (max-width: 768px){
	.sw-elm .tb-h,.sw-elm img.tb-h{ display: none; }
	.sw-elm .tb-v{ display: block; }
	.sw-elm img.tb-v{ display: inline; }
}
@media screen and (max-width: 480px){
	.sw-elm .tb-v,.sw-elm img.tb-v{ display: none; }
	.sw-elm .sp{ display: block; }
	.sw-elm img.sp{ display: inline; }
}




/*common header*/
/*-----------------------------------------------------------------*/
#wrapper{ min-width: 1112px; }
#header{ position: absolute; width: 100%; min-width: 1112px; z-index: 1000; }
#header .header-logo{ width: 160px; text-align: center; background-color: #ffffff; position: absolute; left: 20px; top: 20px; }
#header .header-logo a{ display: block; height: 126px; line-height: 126px; }
#header .header-logo img{ vertical-align: middle; }
#header .header-navi{ position: absolute; right: 10px; top: 10px; overflow: hidden; }
#header .header-navi > .navi{ float: left; border: 1px solid #bbaf5f; background-color: #ffffff; }
#header .header-navi > .navi+.navi{ margin-left: 5px; }
#header .header-navi > .navi a{ display: block; }
#header .header-navi > .navi-ext01{ border-color: #bf676d; }
@media screen and (max-width: 1112px){
	#wrapper{ min-width: 940px; }
	#header{ min-width: 940px; }
}
@media screen and (max-width: 768px){
	#wrapper{ min-width: 0; }
	#header{ position: fixed; min-width: 0; background-color: #ffffff; }
	#header .header-logo{ width: 110px; position: static; }
	#header .header-logo a{ height: 70px; line-height: 70px; }
	#header .header-logo img{ height: 50px; width: auto; }
	#header .header-navi{ position: absolute; right: 70px; top: 0; }
	#header .header-navi > .navi+.navi{ margin-left: -1px; }
}
@media screen and (max-width: 480px){
	#header .header-logo{ width: 80px; }
	#header .header-logo a{ height: 50px; line-height: 50px; }
	#header .header-logo img{ height: 36px; }
	#header .header-navi{ right: 50px; }
	#header .header-navi > .navi{ width: 48px; }
}
@media print{
	#wrapper{ min-width: 1400px; }
}



/*common global-navi*/
/*-----------------------------------------------------------------*/
#header .global-navi-wrapper{ border-bottom: 1px solid #d1d1d1; position: absolute; }
.page-top #header .global-navi-wrapper{ top: 600px; width: 100%; }
.page-general #header .global-navi-wrapper{ top: 450px; width: 100%; }
#header .global-navi-menu{ display: none; }
#header .global-navi{ text-align: center; }
#header .global-navi > .navi{ display: inline-block; height: 56px; overflow: hidden; vertical-align: top; position: relative; }
#header .global-navi > .navi+.navi{ margin-left: 40px; }
#header .global-navi .navi-disabled img{ opacity: 0.2; }
#header .global-navi a{ display: block; }
#header .global-navi .navi-current a{ margin-top: -56px; }
#header .global-navi .navi-current:before{ content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 5px; background-color: #c1b66d; }
@media screen and (max-width: 1112px){
	#header .global-navi > .navi+.navi{ margin-left: 25px; }
}
@media screen and (max-width: 768px){
	#header .global-navi-wrapper{ position: absolute; }
	#header .global-navi-menu{ display: block; position: absolute; bottom: 100%; right: 0; width: 70px; height: 70px; background-color: #bbaf5f; overflow: hidden; }
	#header .global-navi-menu a{ display: block; width: 100%; height: 100%; transition: none; }
	.page-top #header .global-navi-wrapper,
	.page-general #header .global-navi-wrapper{ top: 70px; background-color: #ffffff; }
	#header .global-navi{ /*display: none;*/ border-top: 1px solid #d1d1d1; margin-bottom: -1px; }
	#header .global-navi > .navi{ display: block; }
	#header .global-navi > .navi+.navi{ margin-left: 0; border-top: solid #d1d1d1; }
	#header .global-navi .navi-current a{ background-color: #f7f6ec; }
	#header .global-navi .navi-current a{ margin-top: 0; }
	#header .global-navi .navi-current:before{ display: none; }
	#header .global-navi > .navi{ height: 0; transition: height 0.25s linear, border 0.25s linear; }
	#header .global-navi-menu.-open+.global-navi > .navi{ height: 40px; }
	#header .global-navi > .navi+.navi{ border-top-width: 0; }
	#header .global-navi-menu.-open+.global-navi > .navi+.navi{ border-top-width: 1px; }
	#header .global-navi-menu.-open a{ margin-top: -70px; }
}
@media screen and (max-width: 480px){
	.page-top #header .global-navi-wrapper,
	.page-general #header .global-navi-wrapper{ top: 50px; }
	#header .global-navi-menu{ width: 50px; height: 50px; }
	#header .global-navi-menu.-open a{ margin-top: -50px; }
}



/*common main*/
/*-----------------------------------------------------------------*/
#main .top-main,
#main .hero{ margin-bottom: 57px; }
#main .content{ padding-top: 80px; }
#main .content.bottom-space{ padding-bottom: 100px; }
#main .hero{ height: 450px; overflow: hidden; position: relative; }
#main .hero .photo{ width: 100%; padding-top: 32.14%; top: 50%; position: relative; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
#main .hero .photo img{ position: absolute; top: 0; width: 100%; height: auto; }
#main .hero .page-ttl{ position: absolute; left: 50%; top: 50%; z-index: 10; margin: -140px 0 0 -66px; }
#main .hero .caption{ position: absolute; right: 5px; bottom: 5px; }
#main .content .bottom-caption{ margin-top: 90px; padding: 10px 0; }
@media screen and (max-width: 1400px){
	#main .hero .photo{ left: 50%; margin-left: -700px; width: 1400px; height: 450px; padding-top: 0; top: 0; -webkit-transform: none; transform: none; }
	#main .hero .photo img{ position: static; }
}
@media screen and (max-width: 768px){
	#main{ padding-top: 70px; }
	#main .top-main,
	#main .hero{ margin-bottom: 0; }
	#main .content{ padding-top: 10.42%; }
	#main .content.bottom-space{ padding-bottom: 13.02%; }
	#main .hero{ height: auto; }
	#main .hero .photo{ width: 100%; padding: 0; margin: 0; height: auto; position: static; -webkit-transform: none; transform: none; }
	#main .hero .photo img{ position: static; width: 100%; height: auto; }
	#main .hero .page-ttl{ width: 16.41%; padding-top: 35.94%; height: 0; margin: -18.23% 0 0 -8.46%; }
	#main .hero .page-ttl img{ position: absolute; top: 0; left: 0; }
	#main .content .bottom-caption{ margin-top: 11.72%; }
}
@media screen and (max-width: 480px){
	#main{ padding-top: 50px; }
	#main .hero .photo{ width: auto; margin: 0 -10%; }
	#main .hero .page-ttl{ width: 19.69%; padding-top: 43.13%; height: 0; margin: -25.52% 0 0 -10.15%; }
}
#main .hero .photo{ top: 0\9; width: auto\9; margin: 0 -14%\9; }
#main .hero .photo:not(:target){ top: 50%\9; width: 100%\9; margin: 0\9; }
@media screen and (max-width: 1400px){
	#main .hero .photo:not(:target){ top: 0\9; width: 1400px\9; margin-left: -700px\9; }
}
@media screen and (max-width: 768px){
	#main .hero .photo:not(:target){ width: 100%\9; margin-left: 0\9; }
}



/*common footer*/
/*-----------------------------------------------------------------*/
#footer{  }
#footer .footer-navi{ background: url(../images/common/content/bg01.jpg) center 0 repeat; padding: 30px 0; text-align: center; }
#footer .footer-navi > .navi{ display: inline-block; }
#footer .footer-navi > .navi+.navi{ margin-left: 30px; }
#footer .footer-info{ padding: 35px 0; width: 700px; text-align: left; overflow: hidden; margin: 0 auto; }
#footer .footer-info .info{ float: left; }
#footer .footer-info .line{ float: right; }
#footer .totop-btn{ position: fixed; bottom: 20px; right: 20px; width: 65px; border-radius: 50%; overflow: hidden; }
#footer .totop-btn a{ display: block; height: 65px; background: url(../images/common/footer/icon_totop.png) center center no-repeat #4a4a4a; }
#footer .footer-credit{ text-align: center; border: solid #c8c8c8; border-width: 1px 0; padding: 25px 0; }
#footer .footer-credit > .item{ display: inline-block; vertical-align: top; text-align: left; }
#footer .footer-credit > .item+.item{ margin-left: 25px; }
#footer .footer-credit .name{ line-height: 19px; }
#footer .footer-credit .etc-navi{ display: block; background: url(../images/common/footer/icon_allow.gif) 0 center no-repeat; color: #c1b66d; font-size: 12px; line-height: 20px; padding-left: 10px; margin-top: 5px; }
#footer .copyright{ font-size: 10px; line-height: 20px; color: #666666; padding: 20px 0; }

#pop-content { width: 60% ; margin: 0 ; padding: 10px 20px ; border: 2px solid #aaa ; background: #fff ; position: fixed ; display: none ; z-index: 2 ; }
#pop-overlay { z-index: 1 ; display: none ; position: fixed ; top: 0 ; left: 0 ; width: 100% ; height: 120% ; background-color: rgba( 0,0,0, 0.75 ) ; }
#footer .button-link:hover { cursor: pointer ; }
#pop-content .button-link { font-size: 11px; color: #00f ; text-decoration: underline ;}
#pop-content .button-link:hover { cursor: pointer ; font-size: 11px; color: #f00 ; }
#pop-content p { font-size: 12px; line-height: 1.5em; padding-bottom: 10px ; }
#pop-content .btn { text-align: right; }



@media screen and (max-width: 768px){
	#footer .footer-navi{ padding: 30px; }
	#footer .footer-navi > .navi{ display: block; margin: 0 auto; }
	#footer .footer-navi > .navi+.navi{ margin: 10px auto 0; }
	#footer .footer-info{ padding: 35px 30px; width: auto; text-align: center; }
	#footer .footer-info .info{ float: none; }
	#footer .footer-info .line{ float: none; margin-top: 20px; }
	#footer .totop-btn{ position: static; width: 100%; border-radius: 0; }
	#footer .totop-btn a{ height: 50px; background-color: #c1b66d; }
	#footer .footer-credit{ padding: 25px 30px; }
	#footer .footer-credit > .item{ display: block; text-align: center; }
	#footer .footer-credit > .item+.item{ margin: 15px auto 0; }
	#footer .footer-credit .name{ line-height: 0; display: block; }
	#footer .footer-credit .etc-navi{ display: inline-block; }
	#footer .footer-info .tel.have-link{ height: auto; background: none; width: auto; }
	#footer .footer-info .tel.have-link > a{
		display: block; border: 1px solid #c6c6c6; border-radius: 4px; padding: 12px 15px;
		background: #ffffff;
		background: -moz-linear-gradient(top,  #ffffff 80%, #e6e6e6 100%);
		background: -webkit-linear-gradient(top,  #ffffff 80%,#e6e6e6 100%);
		background: linear-gradient(to bottom,  #ffffff 80%,#e6e6e6 100%);
	}
	#footer .footer-info .tel.have-link > a:active{ background: #fafafa; }
}
@media screen and (max-width: 480px){
	#footer .footer-navi{ padding: 20px 15px; }
	#footer .footer-info{ padding: 20px 15px; }
	#footer .footer-credit{ padding: 25px 15px; }
}












