html {
  min-height: 100%;
  position: relative;
}
 
body {
  margin-bottom: 30px;
}
 
footer {
  bottom: 10px;
  height: 20px;
  position: absolute;
  left: 50%;
}

body{
font-family:Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
line-height: 1.5;
}

body.top {
  /* 画像ファイルの指定 */
  background-image: url(../images/main2.jpg);
   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #000000;
}

body.top2 {
  /* 画像ファイルの指定 */
  background-image: url(../images/main1.jpg);
   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
body.top {
  background-image: url(../images/main2s.jpg);
  background-size: 100%;
  background-position: center top;
}

body.top2 {
  background-image: url(../images/main1s.jpg);
  background-size: 100%;
  background-position: center top;
}	
}

.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

a { color: #e56da5; }
a:hover { color: #ff85a5; }

.txt_fs1 { font-size: 10px; }
.txt_fs2 { font-size: 12px; }
.txt_fs3 { font-size: 14px; }
.txt_fs4 { font-size: 18px; }
.txt_fs5 { font-size: 22px; }
.txt_fs6 { font-size: 28px; }
.txt_fs7 { font-size: 36px; }
.txt_fs8 { font-size: 44px; }

.txt_cW { color: #FFFFFF; }
.txt_cR { color: #D10003; }

.txt_bgR { background: #D10003; display: inline; }

.content { width: 90%; margin: 0 auto; position: relative; min-height: 100%; height: auto !important; height: 100%; }

header { width: 90%; position: relative; margin:0 5% 30px; }

.main {
	width: 85%;
	padding-right: 15%;
	margin: 0;
	padding-bottom: 40px;
}

.sub_menu {
	background: #d8c49c;
	color: #fff;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
	border-radius: 7px; -webkit-border-radius: 7px; -moz-border-radius: 7px;
	position: absolute;
	top: -25px;
	right:0;
	height: 30px;
	padding: 0 10px;
	line-height: 1.1;
}
.sub_menu p { position: relative; top: -8px; }
.sub_menu p.ja_p { top:-1px; }
.sub_menu a { color: #fff; text-decoration: none; }
.sub_menu a:hover { color: #fff; background: #9d9178; text-decoration: none; } 

ul.photo_G { display: block; margin: 0; padding: 0; }

.photo_G li { display: block; float: left; width: 22%; padding-right:3%; margin-bottom: 15px; }
.photo_G li img {width: 100%; max-width: 427px; }
a img {-webkit-backface-visibility: hidden; /* 追加 */
    backface-visibility: hidden; /* 追加 */
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
    filter: alpha(opacity=100);
	-moz-opacity: 1;
    opacity: 1;
	cursor: pointer;
}
a:hover img {filter: alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6; }

.remodal {
    padding: 15px 0 !important;
	width:490px !important;
	background: #000000 !important;
}

#sb-overlay { background: #07000e !important; filter: alpha(opacity=80) !important; -moz-opacity: 0.8 !important; opacity: 0.8 !important; }

dl { clear: both; margin: 0 0 0 0; padding-top: 10px;}
dt { width: 125px; padding-right: 10px; margin-right: 10px; border-right: #999999 1px solid; float: left; text-align: right; letter-spacing: 1px; }
dd { float: left; line-height: 22px; padding-top: 0px; margin: 0 0 5px 0; }

.bg_WD { background: url(../images/common/w_bg.png); }
.pd20 { padding: 20px; }
.dsp_IB { display: inline-block; }

footer { color: #868070; }

@media screen and (max-width: 768px) {
dt { width: auto; padding-right: 10px; margin-right: 10px; border-right: none; float: none; text-align: left; letter-spacing: 0px; border-bottom: 1px solid #000; display: inline-block; font-weight: bold; }
dd { float: none; line-height: 22px; padding-top: 0px; margin: 0 0 5px 0; }
.main {
	width: 100%;
	padding-right: 0;
	margin: 0;
	padding-bottom: 40px;
}
footer {
  bottom: 10px;
  height: 20px;
  position: absolute;
  left: 5%;
}

.txt_fs1 { font-size: 10px; }
.txt_fs2 { font-size: 12px; }
.txt_fs3 { font-size: 14px; }
.txt_fs4 { font-size: 14px; }
.txt_fs5 { font-size: 16px; }
.txt_fs6 { font-size: 16px; }
.txt_fs7 { font-size: 18px; }
.txt_fs8 { font-size: 18px; }
}