@charset "utf-8";

/*common.css*/
.mainimg {
    display: none;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.fs12{font-size: 0.85em;}
.fs13{font-size: 0.93em;}
.fs15{font-size: 1.07em;}
.fs16{font-size: 1.15em;}
.fs18{font-size: 1.28em;}
.tac{text-align: center;}
.tar{text-align: right;}
.dib{display: inline-block;}
.fwb{font-weight: bold;}
.mb0{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}
.mb65{margin-bottom:65px !important;}
.mb70{margin-bottom:70px !important;}
.mb80{margin-bottom:80px !important;}
.display_none{display: none;}

.mod_link_banner_center {
   text-align: center;
}
.mod_link_banner_center.mod_img_origin .img_origin,
.mod_link_banner_right.mod_img_origin .img_origin,
.mod_link_banner_left.mod_img_origin .img_origin,
.mod_link_banner_center.mod_img_large .img_large,
.mod_link_banner_center.mod_img_medium .img_medium,
.mod_link_banner_center.mod_img_small .img_small{
	margin-bottom: 10px;
}

/* base
------------------------------*/
body {
	min-width: 1080px;
	background:#FEFEF2;
	font-size: 1em;
	font-family: "メイリオ", "Meiryo",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		sans-serif;
	color:#000000;
	word-break: break-word;
}
pre {
	white-space: inherit;
}
textarea {
	font-family: inherit;
}
img {
	max-width: 100%;
}
a:link {
	color: #330000;
	font-weight: bold;
	text-decoration: underline;
}

a:visited {
	color:#330000;
	font-weight: bold;
	text-decoration: underline;
}

a:hover {
	font-weight: bold;
	text-decoration: none;
}
body .sbox-cen,
body h1.seotext{
	font-size: 1.0em;
	line-height: 1.7;
	text-align: center;
	font-weight: normal;
	color:#A9A589;
	background:#FEFEF2;
}
#wrap {
	background-color:#FEFEF2;
	font-size: 1.4em;
	line-height: 1.8;
/*	position: relative;*/

}

/* table
------------------------------*/
table {
	width: 100%;
	table-layout: fixed;
}
th,
td {
	background:#FFFFFD;
	border: 1px solid #F9F5DD;
	padding: 13px 17px 11px;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
}
th {
	width: 200px;
}
.module.mod_text table {
	width: 100%;
}
.module.mod_text th,
.module.mod_text td {
	height: auto;
	background:#FFFFFD;
	border: 1px solid #F9F5DD;
	padding: 16px 20px 14px;
	text-align: left;
	vertical-align: middle;
	font-weight: normal;
}
.module.mod_text th,
.module.mod_text td.cols-label,
.module.mod_text td.row-label {
	vertical-align: middle;
	background:#F9F5DD;
border:1px solid #FEFEF2;
}
.module.mod_text th,
.module.mod_text td.cols-label {
	width: 220px;
}

.module.mod_text td.row-label.one{
	text-align: center;
}
/* header
------------------------------*/
#header {
	overflow: hidden;
	width: 1020px;
	padding: 19px 0px 17px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.logo {
	text-align: center;
	margin-bottom: 10px;

}
.header {
	text-align: center;
	font-size: .71em;
	color:#A9A589;
}

/* nav
------------------------------*/
.gnav{
	margin-bottom: 30px;
	padding: 20px 0px;
	background: #FFF;
	border-radius: 9px;
	border: 2px solid #000000;
}
.gnav .nav-box {
	overflow: hidden;
	width: 240px;
	margin: 0 auto;

}
.bg{
	background: url(../img/main_bg.jpg)center repeat;
}
/* main
------------------------------*/
.mainimg{
	margin: -128px auto 0;
}
.mainimg p {
	text-align: center;
}
.main {
	overflow: hidden;
	width: 1020px;
	padding: 50px 40px 80px;
	margin: 0 auto;
}

/* content
------------------------------*/
.content {
	float: right;
	width: 660px;
}
.map {
  width: 100%;
  height: auto;
  padding-top: 50%;
  position: relative;
}
.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.big {
	font-size: 1.14em;
}
.small {
	font-size: .85em;
}
.bold {
	font-weight: bold;
}
.btn {
	text-align: center;
}
br.sp {
	display: none;
}

/* contact-btn */
.content .contact {
	display: block;
	width: 100%;
	margin: 80px 0px 0px;
	text-decoration: none;
	font-weight: normal;
	word-break: break-all;
}
.content .contact:hover img {
	opacity: 1 !important;
}
.contact .c-box {
	text-align: center;
}
.contact .c-info {
	float: left;
}
.contact .c-img{
	text-align: center;
	margin-bottom: 35px;
}
.contact .c-tel {
	margin-bottom:8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.42em;
	line-height: 1.0;
	color: #484A42;
	margin-top: -5px;
}
.contact .c-tel span {
	display: inline-block;
	font-size: 1.7em;
}
.contact .c-time{
	font-size: 0.71em;
	margin-left: 10px;
	letter-spacing: -0.3px;
}
.contact .c-mail {
	float: right;
	margin:0 auto;
	width: 214px;
	height: 51px;
	background: url(../img/mail_off.jpg) right top no-repeat;
}
.contact .c-mail::before {
	content: url(../img/mail_on.jpg);
	display: none;
}
.content .contact:hover .c-mail {
	background: url(../img/mail_on.jpg) right top no-repeat;
}

/* side
------------------------------*/
.side {
	float: left;
	width: 240px;
	font-size: .71em;
}
.s-title{
	text-align: center;
	margin-bottom: 14px;
}
.s-info {
/*	background: #EEE;*/
	margin-bottom: 30px;
	padding:0;
		color:#000000;
}
.cat_info{
	text-align: center;
	margin-bottom: 13px;
}
.s-info h3 {
	font-size: 1.4em;
	font-weight: bold;
}
.s-info .s-add{
	line-height: 1.6;

	padding: 5px 0 10px;
}
.s-info .s-text {
margin-bottom: 16px;
padding-right: 5px;
line-height: 1.6;
}

.s-banner{
	margin-bottom: 20px;
}

.s-banner01{
	overflow: hidden;
	width: 184px;
	margin: 0 auto;
}
.s-banner01 li{
	float: left;
	margin-right: 19px;
}
.s-banner01 li.none{
	margin-right: 0;
}
/* カテゴリ（side）
------------------------------*/
.contentslist {
	margin-bottom: 50px;
	font-size: 1.2em;
}
.contentslist>li {
	margin-bottom: 30px;
}

/* 画像のとき */
.contentslist .img-category {
	text-align: center;
}
.contentslist img {
	width: 100%;
	height: auto;
	max-width: 100%;
}
.contentslist a img,
.contentslist .img-category img {
	width: auto;
	height: auto;
	max-width: 100%;
}
.contentslist .img-category.nolink .n_title {
	display: none;
}
/* テキストのみのとき */
.nolink .n_title {
	display: block;
/*	background: url(../img/icon_arrow_b.png) right 17px top 13px no-repeat;*/
background:#FEFEF2;
	border-bottom: 2px solid #000000;
		padding: 8px 10px 6px 10px;
	font-weight: bold;
	text-align: center;
	color:#000000;
	font-size: 1.16em;

}
/* テキスト+リンクのとき */
.text-category.text-link {
	background: none;
	border: none;
	padding: 0;
	text-align: left;
}
.contentslist .parent-text>a,
.contentslist .text-link a {
	display: block;
	position: relative;
	border:2px solid #94DF48;
	width: 100%;
	background:#94DF48;
	padding: 14px 30px 10px 18px;
	text-decoration: none;
	font-weight: bold;
	color: #FFFFFF;
	font-size: 1.16em;

}
.contentslist .parent-text>a::before,
.contentslist .text-link a::before {
	content: '';
	position: absolute;
		top: 19px;
	right: 17px;
	width: 14px;
	height: 14px;
	background: url(../img/icon_arrow_r.jpg) center no-repeat;
	-webkit-transition: transform .3s;
	transition: transform .3s;
}
.contentslist .parent-text>a:hover,
.contentslist .text-link a:hover {
/*	background: #EEE;*/
}
.contentslist .parent-text>a:hover::before,
.contentslist .text-link a:hover::before {
	-webkit-transform: translateX(5px);
	transform: translateX(5px);
}
/* sublist */
.sublist {
	margin-bottom: 30px;
/*	font-size: 1.2em;*/
	text-align: left;
}
.sublist li {
/*	font-size: 1.07em;*/
	line-height: 1.2;
}
.sublist li a {

	display: block;
	color: #330000;
	position: relative;
	font-weight: bold;
	padding: 15px 10px 13px 10px;
	text-decoration: none;
	background: url(../img/br.jpg) left bottom no-repeat;
}
.sublist li a:hover{
	text-decoration: underline;
}
.sublist li a::before {
	content: '';
	position: absolute;
	top: 19px;
	left: 20px;
	width: 7px;
	height: 12px;
/*	background: url(../img/icon_arrow.jpg) center no-repeat;*/
/*	-webkit-transition: transform .3s;
	transition: transform .3s;*/
}
.sublist li a:hover::before {
/*	-webkit-transform: translateX(3px);
	transform: translateX(3px);*/
}

/* footer
------------------------------*/
.footer {
	background: #F3E165;
	padding-bottom: 8px;
	text-align: center;
	font-size: .71em;
	color:#63541F;

}
.fnav {
	border-top:2px solid #F3E165;
	padding: 16px 0 14px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 0;
background:url(../img/footer_bg.jpg)center repeat;


}
.fnav li {
	display: inline-block;
	padding: 0 12px;
	font-size: 12px;
	line-height: 1.0;
}
.fnav li a{
	color:#000000;
	font-weight: bold;
	text-decoration: none;
}
.fnav li a:hover{
	text-decoration: underline;
}
.f-text {
	margin-bottom: 18px;
	text-align: center;

}
.copyright {
	text-align: center;

}

/* pagetop
------------------------------*/
.pagetop {
	display: none;
	width: 1020px;
	margin: 0 auto;
}
.pagetop a {
	display: block;
	position: fixed;
	z-index: 100;
	bottom: 170px;
	margin-left: 1060px;
}
/*===============================================
  画面の横幅が1120px以下に適用
===============================================*/
@media screen and (max-width: 1300px){
	.pagetop a {
		right: 0;
		margin-left: auto;
	}
}

/* module
------------------------------*/
/* 全体 */
.module {
	margin-bottom: 40px;
}
.module.margin-bt-35{
	margin-bottom: 35px;
}
/* 見出し */
.module .classname{
	padding-right: 5px;
}

.module.mod_h1 {
	margin-bottom: 20px;

}

.mod_h1 h1 {
	padding: 50px 95px 50px;
	background: url(../img/h1_left.jpg)left bottom no-repeat, url(../img/h1_right.jpg)right bottom no-repeat;
	background-color: #FEFEF2;
	text-align: center;
	font-size: 2.85em;
	color:#000000;
	font-weight: 600;
	font-family: 'Noto Sans Japanese', sans-serif;
	position: relative;
}


.module.mod_h2 {
	margin-bottom: 20px;
}


.mod_h2 h2 {
	background: url(../img/h2_bg.jpg)left bottom 15px no-repeat;
	padding: 26px 0px 16px 32px;
	font-size: 1.57em;

	font-weight: bold;
	color:#000000;
	text-align: left;
	border-left: none;
	border-bottom: 2px dotted #000000;

}
.module.mod_h3 {
	margin-bottom: 20px;
}
.module.mod_h3.last {
	margin-bottom: 15px;
}
.module.mod_h3 h3 {
	background:#FBB75B;
	border-radius: 15px;
	padding: 7px 10px 4px 10px;
	color:#FFFFFF;
text-align: center;
font-weight: bold;
font-size:14px;
}

.mod_link_banner_center {
	text-align: center;
}

/* ファイルアイコン */
.mod_file {
	display: table;
}
.mod_file>.text_box {
	overflow: hidden;
	display: table-cell;
	width: 100%;
	vertical-align: middle;

}
.mod_file>div:first-child {
	width: 140px;
	height: 80px;
	text-align: left;
	margin-right: 20px;

}
.mod_file a img {
	display: none;
	margin-right: 20px;
}
.mod_file .pdf a::before {
  content: url(../img/icon_pdf_off.jpg);
  margin-right: 20px;
}
.mod_file .word a::before {
  content: url(../img/icon_word_off.jpg);
  margin-right: 20px;
}
.mod_file .xls a::before {
  content: url(../img/icon_excel_off.jpg);
  margin-right: 20px;
}
.mod_file .pdf a:hover::before{
  content: url(../img/icon_pdf_on.jpg);
}
.mod_file .word a:hover::before{
  content: url(../img/icon_word_on.jpg);
}
.mod_file .xls a:hover::before {
  content: url(../img/icon_excel_on.jpg);
}
.mod_file .pdf a::after{
  content: url(../img/icon_pdf_on.jpg);
  display: none;
}
.mod_file .word a::after{
  content: url(../img/icon_word_on.jpg);
  display: none;
}
.mod_file .xls a::after {
  content: url(../img/icon_excel_on.jpg);
  display: none;
}

/* news gallery 共通
------------------------------*/
/* pagebute */
.mod_gallery_list .pager.one {
    margin-left: 0px;
}
.mod_news_list ul.pager,
.mod_gallery_list ul.pager {
	text-align: right;
	font-size: 0;

}
.mod_news_list ul.pager li,
.mod_gallery_list ul.pager li {
	display: inline-block;
	margin: 0 5px;
}
.mod_news_list ul.pager a,
.mod_gallery_list ul.pager a {
	display: block;
	width: 30px;
	height: 30px;
	background:#F9F5DD;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	border:1px solid #E2DCBD;
	color: #000000;
}
.mod_news_list ul.pager a:hover,
.mod_news_list ul.pager a.current,
.mod_gallery_list ul.pager a:hover,
.mod_gallery_list ul.pager a.current {
	background:#94DF48;
	color:#fff;
	border:none;
}
/* back */

.mod_news_detail .back a,
.mod_gallery_detail .back a {
	display: block;
	width: 200px;
	background: url(../img/btn_back_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 46px 0 0;
	margin: 0 auto;
	font-size: 0;
}
.mod_news_detail .back a::after,
.mod_gallery_detail .back a::after {
	content: url(../img/btn_back_on.jpg);
	display: none;
}
.mod_news_detail .back a:hover,
.mod_gallery_detail .back a:hover {
	background: url(../img/btn_back_on.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}

/* news
------------------------------*/
/* list */
.mod_news_list {
	margin-bottom: 40px;
}
.mod_news_list #news {
	margin-bottom: 20px;
}
.mod_news_list #news dl {
	border: none;
	/*background: url(../img/icon_news.jpg) 20px 15px no-repeat,
		url(../img/br.jpg) left bottom repeat-x;*/
	padding: 9px 9px 9px;
	line-height: 1.6;
/*border-bottom: 1px dotted #C9C9C9;*/


}
.mod_news_list #news dl dt {
	float: left;

}
.mod_news_list #news dl dd {
	margin-left: 114px;
}
.mod_news_list #news dl dd a{
	text-decoration: none;
	font-weight: bold;
}
.mod_news_list #news dl dd a:hover{
	text-decoration: underline;
}

/* btn */

.mod_news_list .pager a {
	display: block;
	width: 240px;
	background: url(../img/btn_news_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 46px 0 0;
	margin: 0 auto;
	font-size: 0;
}
.mod_news_list .pager a::after {
	content: url(../img/btn_news_on.jpg);
	display: none;
}
.mod_news_list .pager a:hover {
	background: url(../img/btn_news_on.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}
/* detail */
.mod_news_detail {
	margin-bottom: 50px;
}
#news_detail {
	margin-bottom: 30px;
}
.mod_news_detail .date {
	color: #333;
}

/* gallery
------------------------------*/
/* pickup */
.mod_gallery_list {
	margin-bottom: 40px;
}
.mod_pickup_gallery #gallery,
.mod_gallery_list #gallery {
	width: 100%;
	padding-bottom: 0;
}
.mod_pickup_gallery #gallery dl,
.mod_gallery_list #gallery dl {
	width: 200px;
	margin: 0 30px 25px 0;
}
.mod_gallery_list #gallery dl dt {
	line-height: 1.4;
}
#gallery dl dt a {
	display: inline-block;
	position: relative;
	font-size: 0.85em;
	font-weight: bold;
	text-decoration: none;
}
#gallery dl dt a:hover{
	text-decoration: underline;
}
.mod_gallery_list #gallery dl dt+dd{
	display: none;
}
#gallery dl dd.img {
	background:#FFFFFD;
	position: relative;
	width: 200px;
	padding-top: 100%;
}
#gallery dl dd.img a {
	border: 1px solid #F9F5DD;
	position: absolute ;
    top: 0 ;
    left: 0 ;
    width: 100% ;
    height: 100% ;
    display: block ;
}
#gallery dl dd.img a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	padding: 0px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}




#gallery dl dt+dd {
	display: block;
}
/* btn */

.mod_gallery_list .pager a {
	display: block;
	width: 200px;
	background: url(../img/btn_gallery_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding:46px 0 0;
	margin: 0 auto;
	font-size: 0;
}
.mod_gallery_list .pager a::after {
	content: url(../img/btn_gallery_on.jpg);
	display: none;
}
.mod_gallery_list .pager a:hover {
	background: url(../img/btn_gallery_on.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}

/* detail */
.mod_gallery_detail {
	margin-bottom: 40px;
}
#gallery_text {
	margin-bottom: 25px;
}
/* type01 */
.mod_gallery_detail.gallery_type01 .img_big {
	width: 400px;
	margin-bottom: 20px;
}
.mod_gallery_detail.gallery_type01 .img_big a {
	width: 400px;
	height: 400px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type01 .img_big a img {
	max-width: 396px;
	max-height: 396px;
}
.mod_gallery_detail.gallery_type01 ul.img_list {
	width: 100%;
	max-width: 500px;
}
.mod_gallery_detail.gallery_type01 ul.img_list li a {
	width: 80px;
	height: 80px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type01 ul.img_list li a img {
	max-width: 76px;
	max-height: 76px;
}
/* type02 */
.mod_gallery_detail.gallery_type02 .img_big {
	width: 380px;
}
.mod_gallery_detail.gallery_type02 .img_big a {
	width: 380px;
	height: 380px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type02 .img_big a img {
	max-width: 376px;
	max-height: 376px;
}
.mod_gallery_detail.gallery_type02 ul.img_list {
	width: 260px;
}
.mod_gallery_detail.gallery_type02 ul.img_list li {
	margin: 0 10px 10px 0;
}
.mod_gallery_detail.gallery_type02 ul.img_list li:nth-child(2n) {
	margin-right: 10px;
}
.mod_gallery_detail.gallery_type02 ul.img_list li:nth-child(3n) {
	margin-right: 0;
}
.mod_gallery_detail.gallery_type02 ul.img_list li a {
	width: 80px;
	height: 80px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type02 ul.img_list li a img {
	max-width: 76px;
	max-height: 76px;
}
/* type03 */
.mod_gallery_detail.gallery_type03 .before_after,
.mod_gallery_detail.gallery_type03 ul.img_list {
	width: 100%;
}
.mod_gallery_detail.gallery_type03 .before_after .before {
	width: 310px;
	margin-right: 40px;
}
.mod_gallery_detail.gallery_type03 .before_after .after {
	width: 310px;
}
.mod_gallery_detail.gallery_type03 .before_after dl dt {
	margin-bottom: 12px;
	font-size: 0;
}
.mod_gallery_detail.gallery_type03 .before_after dl dt::before {
	content: '';
	display: block;
	width: 100%;
	padding-top: 16px;
	background: url(../img/bg_before.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}
.mod_gallery_detail.gallery_type03 .before_after .after dt::before {
	background: url(../img/bg_after.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}
.mod_gallery_detail.gallery_type03 .before_after dl dd a {
	width: 310px;
	height: 310px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type03 .before_after dl dd a img {
	max-width: 306px;
	max-height: 306px;
}
.mod_gallery_detail.gallery_type03 ul.img_list li {
	margin-right: 10px;
}
.mod_gallery_detail.gallery_type03 ul.img_list li:nth-child(4n) {
	margin-right: 0;
}
.mod_gallery_detail.gallery_type03 ul.img_list li:nth-child(4) {
	margin-right: 40px;
}
.mod_gallery_detail.gallery_type03 ul.img_list li a {
	width: 70px;
	height: 70px;
	border: 1px solid #F9F5DD;
	background: #FFFFFD;
}
.mod_gallery_detail.gallery_type03 ul.img_list li a img {
	max-width: 66px;
	max-height: 66px;
}


/* #contact_form
------------------------------*/
#contact_form{
	margin-top: 0;
}
#contact_form table {
	width: 100%;
}
#contact_form table th,
#contact_form table td {
	border: none;
	background: #FFFFFD;
	padding: 15px 17px 13px;
	text-align: left;
	vertical-align: top;
	border: 1px solid #F9F5DD;
}
#contact_form table th {
	width: 220px;
	background:#F9F5DD;
	vertical-align: top;
	font-weight: normal;
	border-bottom-color: #FFFFFD;
}
#contact_form table td {
	font-size: .85em;
}
#contact_form td input[type="text"] {
	max-width: 400px;
	height: 29px;

	padding: 5px;
	margin: 8px 0 4px;
}
#contact_form table td input.zipcode {
	width: 150px;
}
#contact_form td input[type="text"] ,
#contact_form  table textarea{
	border: none;
	background:#F9F5DD;
}
#contact_form  table textarea {
	max-width: 400px;
	height: 110px;
	padding: 10px;
	margin-top: 4px;
	font-size: 1.2em;
	font-family: "メイリオ", "Meiryo",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		sans-serif;
}
#contact_form p.submit button {
	display: block;
	width: 242px;
	background: url(../img/btn_send_off.jpg) center no-repeat;
	background-size: auto 100%;
	padding: 64px 0 0;
	margin: 30px auto 40px;
	font-size: 0;
	border: none;
	outline: none;
}
#contact_form p.submit button::after {
	content: url(../img/btn_send_on.jpg);
	display: none;
}
#contact_form p.submit button:hover {
	background: url(../img/btn_send_on.jpg) center no-repeat;
	background-size: auto 100%;
}
#contact_form table th span.req{
	color: #FF0000;
	margin-left: -10px;
}
#contact_form  p.submit{
	margin-bottom: 40px;
}

/*===============================================
  画面の横幅が680px以下に適用
===============================================*/
@media screen and (max-width: 680px){
	.mod_h1 h1 {
		padding: 30px 14% 20px;
		font-size: 2.2em;
		background:
		url(../img/h1_left.jpg)left -15px bottom /auto 80px no-repeat,
		url(../img/h1_right.jpg)right -15px bottom /auto 80px no-repeat;
		background-color: #FEFEF2;
	}



	.contact .c-box{
		margin: 0 auto;
	}
	#wrap{
		background: none;
	}
	/* table */
	.module.mod_text th,
	.module.mod_text td {
		display: table-cell;
		min-width: 96px !important;
		width: auto !important;
		height: auto !important;
	}
	.mod_news_detail .back, .mod_gallery_detail .back,
	.mod_gallery_list .pager,
	.mod_news_list .pager{
		margin:0 auto;
	}
	/* cbtn */
	.content .contact {
		width: 450px;
		padding: 10px;
		margin: 50px auto 30px;
	}
	.contact .c-info{
		margin-bottom: 20px;
		text-align: center;
	}
	.contact .c-time{
		margin: 0 auto;
	}
	.contact .c-info,.contact .c-mail{
		float: none;
	}
	/* pickup */
	.mod_pickup_gallery #gallery dl,
	.mod_gallery_list #gallery dl {
		width: 30% !important;
		margin-right: 5%;
	}
	.mod_gallery_list #gallery dl dd.img a {
		width: 100%;
	}
	/* gallery */
	.mod_gallery_detail.gallery_type01 .img_big a,
	.mod_gallery_detail.gallery_type02 .img_big a {
		display: table-cell;
	}
	/* type02 */
	.mod_gallery_detail.gallery_type02 .img_big {
		float: none;
		margin: 0 auto 20px;
	}
	.mod_gallery_detail.gallery_type02 .img_big a {
		display: table-cell;
	}
	.mod_gallery_detail.gallery_type02 ul.img_list {
		width: 100%;
	}
	.mod_gallery_detail.gallery_type02 ul.img_list li {
		margin: 0 5px 10px;
	}
	.mod_gallery_detail.gallery_type02 ul.img_list li:nth-child(2n) {
		margin-right: 5px;
	}
	.mod_gallery_detail.gallery_type02 ul.img_list li:nth-child(3n) {
		margin-right: 5px;
	}
	/* type03 */
	.mod_gallery_detail.gallery_type03 .before_after .before {
		width: 50%;
		padding: 0 10px;
		margin: 0;
	}
	.mod_gallery_detail.gallery_type03 .before_after .after {
		padding: 0 10px;
		width: 50%;
		margin: 0;
	}
	.mod_gallery_detail.gallery_type03 .before_after dl dd {
		position: relative;
		padding-bottom: 100%;
	}
	.mod_gallery_detail.gallery_type03 .before_after dl dd a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
	}
	.mod_gallery_detail.gallery_type03 .before_after dl dd a img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.mod_gallery_detail.gallery_type03 ul.img_list li {
		margin: 0 5px 10px;
	}
	.mod_gallery_detail.gallery_type03 ul.img_list li:nth-child(4n) {
		margin-right: 5px;
	}
	.mod_gallery_detail.gallery_type03 ul.img_list li:nth-child(4) {
		margin-right: 5px;
	}
	/* #contact_form
	------------------------------*/
	#contact_form table th,
	#contact_form table td {
		display: block;
		width: 100%;
	}
	#contact_form table th,
	#contact_form table tr:not(:last-child) td{
		border-bottom: none;
	}
}

/*===============================================
  画面の横幅が480px以下に適用
===============================================*/

@media screen and (max-width: 480px){
	.mod_h1 h1 {
		padding: 20px 5%;
		font-size: 1.8em;
		background:
		url(../img/h1_left.jpg)left -15px bottom /auto 60px no-repeat,
		url(../img/h1_right.jpg)right -15px bottom /auto 60px no-repeat;
		background-color: #FEFEF2;
	}




	.content .contact {
		width: 100%;
	}
	.contact .c-info {
		width: 100%;
		float: none;
		text-align: center;
	}
	.content .contact{
		background: #FDFBEE;
	}
	.contact .c-mail {
		float: none;
		margin: 10px auto 0;
	}
	.contact .c-box{
		padding: 0px 0;
	}


	.contact .c-tel span{
		font-size: 1.28em;
	}
	/* pickup */
	.mod_pickup_gallery #gallery dl,
	.mod_gallery_list #gallery dl {
		float: none;
		width: 60% !important;
		margin: 0 auto 10px;
	}
	.mod_pickup_gallery #gallery dl:nth-child(3n),
	.mod_gallery_list #gallery dl:nth-child(3n) {
		margin-right: auto;
	}
	/* type01 */
	.mod_gallery_detail.gallery_type01 .img_big {
		width: 280px;
		margin-bottom: 25px;
	}
	.mod_gallery_detail.gallery_type01 .img_big a {
		width: 280px;
		height: 280px;
	}
	.mod_gallery_detail.gallery_type01 .img_big a img {
		max-width: 276px;
		max-height: 276px;
	}
	/* type02 */
	.mod_gallery_detail.gallery_type02 .img_big {
		width: 280px;
	}
	.mod_gallery_detail.gallery_type02 .img_big a {
		width: 280px;
		height: 280px;
	}
	.mod_gallery_detail.gallery_type02 .img_big a img {
		max-width: 276px;
		max-height: 276px;
	}
	.mod_news_list #news dl dt {
		float: none;
	}
	.mod_news_list #news dl dd {
		margin: 0;
	}
}