@charset "utf-8";

/* base
------------------------------*/
body {
	min-width: 1100px;
	background: #F4F7FB;
	font-size: 1em;
	font-family: "メイリオ", "Meiryo",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		sans-serif;
	color: #2D4D6E;
}

textarea {
	font-family: "メイリオ", "Meiryo",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		sans-serif;
}

section {
	background: #fff;
}

img {
	max-width: 100%;
}

a:link {
	color: #999999;
	font-weight: bold;
	text-decoration: none;
}

a:visited {
	color: #999999;
	font-weight: bold;
	text-decoration: none;
}

a:hover {
	font-weight: bold;
	text-decoration: underline;
}

.seotext {
	font-size: 1.0em;
	line-height: 1.7;
	text-align: center;
	font-weight: normal;
	color: #2D4D6E;
	background: #F4F7FB;
}

#wrap {
	font-size: 1.4em;
	line-height: 1.8;
	color: #333;
}

/* table
------------------------------*/
table {
	width: 100%;
}

th,
td {
	background: #F0F0F0;
	border: 1px solid #E1E1E1;
	padding: 13px 20px 11px;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	color: #333;
}

th {
	width: 220px;
}

.module.mod_text table {
	width: 100%;
}

.module.mod_text th,
.module.mod_text td {
	min-width: auto;
	border: 1px solid #E1E1E1;
	padding: 13px 20px 11px;
	text-align: left;
	vertical-align: middle;
	font-weight: normal;
	color: #333;
}

.module.mod_text th,
.module.mod_text td.cols-label,
.module.mod_text td.row-label {
	vertical-align: middle;
	background: #F2F2F2;
	font-weight: bold;
}

.module.mod_text th,
.module.mod_text td.cols-label {
	width: 220px;
}

.module.mod_text th {
	background: #F2F2F2;
}

.module.mod_text td {
	background: #FFF;
}

.table-bordered td {
	border: 1px solid #CCC;
	padding: 13px 17px 11px;
}

.table td {
	min-width: 200px;
}

/* header
------------------------------*/
#header {
	overflow: hidden;
	width: 1020px;
	padding: 8px 0px 20px;
	margin: 0 auto 0px;
}

.logo {
	float: left;
	padding-left: 9px;
}

.logo img {
	max-width: 100px;
	/* 必要に応じて調整 */
	height: auto;
	display: block;
}

@media screen and (max-width: 678px) {
	.logo {
		text-align: center;
	}

	.logo img {
		max-width: 50px;
		text-align: center;
		margin: 0 auto;
	}
}

.header {
	float: right;
	width: 450px;
	text-align: right;
	font-size: .71em;
	line-height: 1.4;
	color: #2D4D6E;
}

.h-text {
	margin-bottom: 15px;
	margin-top: 4px;
}

.h-tel {
	margin-bottom: 8px;
	line-height: 1.0;
	text-align: right;
}

.h-tel1 {
	margin-bottom: 0px;
}

.h-tel span,
.h-tel1 span {
	display: inline-block;
	margin-left: .4em;
	font-family: 'Crimson Text', serif;

}

.h-tel span.tellink {
	font-size: 3.0em;
	background: url(../img/h_phone01.jpg) 0 1px no-repeat;
	padding-left: 40px;
	line-height: 0.7;
}

.h-tel1 span.tellink2 {
	font-size: 26px;
	background: url(../img/h_phone02.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.h-tel1 span.tellink3 {
	font-size: 26px;
	background: url(../img/h_phone03.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.h-tel a,
.h-tel1 a {
	font-weight: normal;
	text-decoration: none;
	color: #2D4D6E;
}

.h-tel span.h-time {
	font-family: "メイリオ", "Meiryo",
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		sans-serif;
	font-size: 1.2em;
	line-height: 1.5;
	text-align: right;
	overflow: hidden;
	vertical-align: bottom;
}

/* nav
------------------------------*/
.gnav {
	background: #8FBD42 url('../img/nav_bg.jpg') 0 0 repeat;
}

.gnav .nav-box {
	overflow: hidden;
	width: 1020px;
	margin: 0 auto;
}

.gnav .nav-box li {
	float: left;
}

/* main
------------------------------*/
.mainimg {
	/* text-align: center;
	background: url(../img/bg_main.jpg) center top no-repeat,
		#F4F7FB;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 93px 50px 76px; */
	text-align: center;
}

/*===============================================
  画面の横幅が680px以下に適用
===============================================*/
/* @media screen and (max-width: 680px){
	.mainimg {
		padding: 22px 85px 17px;
	}
} */
.main {
	overflow: hidden;
	width: 1020px;
	padding: 50px 40px 40px;
	margin: 0 auto;
	background: #FFF;
}

/* content
------------------------------*/
.content {
	float: right;
	width: 660px;
}

.map {
	position: relative;
	width: 100%;
	height: 280px;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* contact-btn */
.content .contact {
	display: block;
	width: 100%;
	background: url(../img/bg_contact.jpg) 0 0 repeat;
	padding: 5px;
	margin-top: 40px;
	text-decoration: none;
	font-size: .85em;
	font-weight: normal;
	color: #333;
}

.content .contact .c-box {
	overflow: hidden;
	background: #F4F7FB;
	padding: 12px 22px 15px;
	box-shadow: 0 0 4px rgba(101, 168, 235, .4);
}

.content .contact .c-text {
	font-family: 'Crimson Text', sans-serif;
	margin-bottom: 12px;
	font-size: 1.33em;
	font-weight: 400;
}

.content .contact .c-info {
	width: 380px;
	float: left;
}

.content .contact .c-logo {
	width: 140px;
	float: left;
	margin-right: 10px;
	margin-top: 20px;
}

.content .contact .c-tel {
	margin-bottom: 10px;
	line-height: 1.0;
}

.content .contact .c-tel span {
	display: inline-block;
	margin-left: .0em;
	font-size: 3.3em;
	font-family: 'Crimson Text', serif;
	color: #2C4C6D;
}

.content .contact .c-tel1 {
	margin-bottom: 12px;
}

.content .contact .c-tel1 span {
	font-size: 2.1em;
	font-family: 'Crimson Text', serif;
	color: #2C4C6D;
}

.content .contact .c-tel1 span+span {
	margin-left: .5em;
}

.content .contact span.tellink {
	display: inline-block;
	background: url(../img/h_phone01.jpg) 0 4px no-repeat;
	padding-left: 40px;
	line-height: 0.7;
}

.content .contact span.tellink2 {
	display: inline-block;
	font-size: 2.1em;
	background: url(../img/h_phone02.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.content .contact span.tellink3 {
	display: inline-block;
	font-size: 2.1em;
	background: url(../img/h_phone03.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.content .contact a {
	font-weight: normal;
	text-decoration: none;
	color: #2D4D6E;
}

.content .contact .c-tel .text-tel {
	padding-bottom: 20px;
}

.content .contact .c-time {
	font-size: 1.16em;
	color: #2D4D6E;
}

/* side
------------------------------*/
.side {
	float: left;
	width: 240px;
	font-size: .71em;
	line-height: 1.6;
}

.s-info {
	background: #F4F7FB;
	margin-bottom: 20px;
	padding: 19px 20px;
	border: 1px solid #B4D5F5;
	border-top-width: 0px;
	color: #2C4C6D;
}

.s-info h3 {
	font-size: 1.2em;
	font-weight: bold;
	color: #2C4C6D;
}

.s-info .s-add {
	font-size: 1.2em;
}

.s-info .s-text {
	margin: 15px 0;
	padding: 13px 0;
	border-top: 1px solid #B4D5F5;
	border-bottom: 1px solid #B4D5F5;
}

.s-logo {
	text-align: center;
	margin-bottom: 20px;
}

.s-title {
	text-align: center;
	font-size: 14px;
	margin-bottom: 10px;
	color: #333333;
}

.s-tel {
	margin-bottom: 15px;
	line-height: 1.2;
	color: #2C4C6D;
}

.s-tel span {
	display: inline-block;
	margin-left: .0em;
	font-size: 2.9em;
	font-family: 'Crimson Text', serif;
	color: #2C4C6D;
}

.s-tel1 {
	margin-bottom: 12px;
}

.s-tel1 span {
	font-family: 'Crimson Text', serif;
	color: #2C4C6D;
}

.s-tel1 span+span {
	margin-left: .5em;
}

.s-tel span.tellink {
	background: url(../img/h_phone01.jpg) 0 0px no-repeat;
	padding-left: 40px;
	line-height: 0.7;
}

.s-tel1 span.tellink2 {
	font-size: 2.6em;
	background: url(../img/h_phone02.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.s-tel1 span.tellink3 {
	font-size: 2.6em;
	background: url(../img/h_phone03.jpg) 0 2px no-repeat;
	padding-left: 30px;
	line-height: 1;
}

.s-tel a,
.s-tel1 a {
	font-weight: normal;
	text-decoration: none;
	color: #2D4D6E;
}

.s-time {
	font-size: 1.2em;
}

.s-top-banner {
	margin-bottom: 30px;
}

.s-top-banner__item {
	margin-top: 20px;
}

.s-top-banner__text {
	margin-top: 5px;
	font-size: 1.2rem;
}

.s-banner {
	margin-bottom: 30px;
}

.s-banner li.width50 {
	float: left;
	width: 115px;
	margin-right: 10px;
}

.s-banner li {
	margin-bottom: 20px;
}

.s-banner .s-banner__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 60px;
	border: 1px solid #E0E0E0;
	font-family: '游明朝体', 'Yu Mincho', YuMincho,
		serif, 'メイリオ', 'Meiryo', sans-serif;
	font-size: 1.6rem;
	color: #212539;
}

.s-banner__item a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* カテゴリ（side）
------------------------------*/
.contentslist {
	margin-bottom: 30px;
	font-size: 1.2em;
}

.contentslist>li {
	margin-top: 20px;
	font-size: 1.4rem;
}

.contentslist>li.first {
	margin-top: 0;
}

/* 画像のとき */
.contentslist .img-category {
	text-align: center;
}

.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_r.png) right 17px top 14px no-repeat;
	border-bottom: 2px solid #6FADEC;
	padding: 8px 35px 5px 18px;
	font-weight: bold;
	color: #2D4D6E;
}

/* テキスト+リンクのとき */
.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;
	width: 100%;
	border: 3px solid #E3EBF4;
	background: #E3EBF4;
	padding: 15px 35px 14px 15px;
	text-decoration: none;
	font-weight: bold;
	color: #2D4D6E;
	-webkit-transition: background .3s;
	transition: background .3s;
}

.contentslist .parent-text>a::before,
.contentslist .text-link a::before {
	content: '';
	position: absolute;
	top: 20px;
	right: 17px;
	width: 14px;
	height: 14px;
	background: url(../img/icon_arrow_b.png) center no-repeat;
	-webkit-transition: transform .3s;
	transition: transform .3s;
}

.contentslist .parent-text>a:hover,
.contentslist .text-link a:hover {
	background: #fff;

}

.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.2rem;
}

.sublist li {
	font-size: 1.07em;
	line-height: 1.2;
}

.sublist li a {
	display: block;
	position: relative;
	padding: 18px 10px 17px 40px;
	text-decoration: none;
	background: url(../img/br.jpg) left bottom repeat-x;
}

.sublist li a::before {
	content: '';
	position: absolute;
	top: 18px;
	left: 20px;
	width: 7px;
	height: 12px;
	background: url(../img/icon_arrow.png) 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: #6FADEC;
	text-align: center;
	font-size: .71em;
	color: #333;
}

.fnav {
	padding: 15px 0 14px;
	text-align: center;
	font-size: 0;
	background: #F0F0F0;
}

.fnav li a {
	color: #59A0E9;
	font-weight: bold;
}

.fnav li {
	display: inline-block;
	padding: 0 .5em;
	font-size: 12px;
	line-height: 1.0;
}

.fnav li+li {
	border-left: 1px solid #59A0E9;
}

.f-text {
	margin: 22px 0 10px;
	text-align: center;
	font-size: 1.0em;
	line-height: 1.8;
	color: #FFF;
}

.copyright {
	line-height: 1.4;
	color: #fff;
	padding: 9px 8px 8px;
}

/* pagetop
------------------------------*/
.pagetop {
	display: none;
	width: 1020px;
	margin: 0 auto;
}

.pagetop a {
	display: block;
	position: fixed;
	bottom: 200px;
	right: 50px;
}

/*===============================================
  画面の横幅が1120px以下に適用
===============================================*/
@media screen and (max-width: 1120px) {
	.pagetop a {
		right: 0;
		margin-left: auto;
	}
}

/* module
------------------------------*/
/* 全体 */
.module {
	margin-bottom: 40px;
}

/* 見出し */
.module.mod_h1 {
	margin-bottom: 30px;
}

.mod_h1 h1 {
	background: url('../img/h1_bg.jpg') center top no-repeat;
	padding: 30px 20px 29px;
	font-family: "游明朝体", "Yu Mincho", YuMincho,
		serif, 'メイリオ', 'Meiryo', sans-serif;
	font-weight: bold;
	text-align: center;
	font-size: 1.57em;
	line-height: 1.2;
	color: #fff;
}

.module.mod_h2 {
	margin-bottom: 20px;
}

.module.mod_h2 h2 {
	background: none;
	font-family: "游明朝体", "Yu Mincho", YuMincho,
		serif, 'メイリオ', 'Meiryo', sans-serif;
	font-weight: bold;
	border: none;
	padding: 0px 0px 6px 0px;
	font-size: 18px;
	line-height: 1.4;
	font-weight: bold;
	color: #334059;
	border-bottom: 1px solid #E0E0E0;
}

.module.mod_h3 {
	margin-bottom: 20px;
}

.module.mod_h3 h3 {
	padding: 4px 10px 4px;
	font-size: 16px;
	color: #fff;
	background: #6FADEC;
}

/* ファイルアイコン */
.mod_file>.text_box {
	overflow: hidden;
	margin: 0;
}

.mod_file a img {
	display: none;
}

.mod_file .pdf {
	margin-right: 20px;
}

.mod_file .pdf a::before {
	content: url(../img/icon_pdf.jpg);

}

.mod_file .word {
	margin-right: 20px;
}

.mod_file .word a::before {
	content: url(../img/icon_word.jpg);

}

.mod_file .xls {
	margin-right: 20px;
}

.mod_file .xls a::before {
	content: url(../img/icon_excel.jpg);

}

.mod_file .pdf a:hover::before,
.mod_file .word a:hover::before,
.mod_file .xls a:hover::before {
	opacity: .8;
}

/* news gallery 共通
------------------------------*/
/* pagebute */
.mod_news_list ul.pager,
.mod_gallery_list ul.pager {
	text-align: center;
	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: #CBE1F8;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	color: #6FADEC;
}

.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: #6FADEC;
	color: #FFF;
}

/* back */
.mod_news_detail .back a,
.mod_gallery_detail .back a {
	display: block;
	width: 300px;
	background: url(../img/btn_back_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 50px 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: 30px;
}

.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: 11px 0 7px 40px;
	line-height: 1.6;
}

.mod_news_list #news dl dt {
	float: left;
}

.mod_news_list #news dl dd {
	margin-left: 110px;
}

/* btn */
.mod_news_list .pager a {
	display: block;
	width: 300px;
	background: url(../img/btn_news_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 50px 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 */
#news_detail {
	margin-bottom: 50px;
}

.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 20px 0;
}

.mod_gallery_list #gallery dl dt {
	line-height: 1.8;
}

#gallery dl dt a {
	position: relative;
	padding-left: 20px;
}

.mod_gallery_list #gallery dl dt a::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 0;
	width: 6px;
	height: 10px;
	background: url(../img/icon_arrow_s.jpg) center no-repeat;
	-webkit-transition: .3s;
	transition: .3s;
}

.mod_gallery_list #gallery dl dt a:hover {
	text-decoration: none;
}

.mod_gallery_list #gallery dl dt a:hover::before {
	-webkit-transform: translateX(3px);
	transform: translateX(3px);
}

#gallery dl dd.img {
	background: #fff;
}

#gallery dl dd.img a {
	position: relative;
	padding-bottom: 100%;
	width: 200px;
	border: 1px solid #E0E0E0;
}

#gallery dl dd.img a img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	padding: 1px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#gallery dl dt+dd {
	display: none;
}

/* btn */
.mod_gallery_list .pager a {
	display: block;
	width: 300px;
	background: url(../img/btn_gallery_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 50px 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: 50px;
}

/* btn */
.mod_gallery_detail .pager a {
	display: block;
	width: 300px;
	background: url(../img/btn_gallery_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 50px 0 0;
	margin: 0 auto;
	font-size: 0;
}

.mod_gallery_detail .pager a::after {
	content: url(../img/btn_gallery_on.jpg);
	display: none;
}

.mod_gallery_detail .pager a:hover {
	background: url(../img/btn_gallery_on.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}


#gallery_text {
	margin-bottom: 30px;
}

/* type01 */
.mod_gallery_detail.gallery_type01 .img_big {
	width: 400px;
	margin-bottom: 25px;
}

.mod_gallery_detail.gallery_type01 .img_big a {
	width: 400px;
	height: 400px;
	border: 1px solid #E0E0E0;
	background: #fff;
	display: table-cell;
	vertical-align: middle;
}

.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 #E0E0E0;
	background: #fff;
}

.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: 360px;
}

.mod_gallery_detail.gallery_type02 .img_big a {
	width: 360px;
	height: 360px;
	border: 1px solid #E0E0E0;
	background: #fff;
}

.mod_gallery_detail.gallery_type02 .img_big a img {
	max-width: 356px;
	max-height: 356px;
}

.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 #E0E0E0;
	background: #fff;
}

.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 .before {
	width: 310px;
	margin-right: 20px;

}

.mod_gallery_detail.gallery_type03 .before_after .after {
	width: 310px;
}

.mod_gallery_detail.gallery_type03 .before_after dl dt {
	margin-bottom: 10px;
	font-size: 0;
}

.mod_gallery_detail.gallery_type03 .before_after dl dt::before {
	content: '';
	display: block;
	height: 21px;
	width: 100%;
	padding-top: 21px;
	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 #E0E0E0;
	background: #fff;
}

.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: 20px;
}

.mod_gallery_detail.gallery_type03 ul.img_list li a {
	width: 70px;
	height: 70px;
	border: 1px solid #E0E0E0;
	background: #fff;
}

.mod_gallery_detail.gallery_type03 ul.img_list li a img {
	max-width: 66px;
	max-height: 66px;
}

/* リンク */
.mod_link_banner_center.mod_img_medium .img_medium {
	margin-bottom: 20px;
}

/* #contact_form
------------------------------*/
#contact_form table {
	width: 100%;
}

#contact_form table th,
#contact_form table td {
	border: 1px solid #E1E1E1;
	background: #FFF;
	padding: 15px 17px 13px;
	text-align: left;
	vertical-align: top;
	color: #333;
}

#contact_form table th {
	width: 220px;
	background: #F2F2F2;
	vertical-align: top;
	font-weight: normal;
}

#contact_form table td {
	font-size: .85em;
}

#contact_form td input[type="text"] {
	max-width: 400px;
	height: 29px;
	background: none;
	border: 1px solid #E1E1E1;
	padding: 5px;
	margin: 8px 0 4px;
}

#contact_form table td input.zipcode {
	width: 150px;
}

#contact_form table textarea {
	max-width: 400px;
	height: 110px;
	background: none;
	border: 1px solid #E1E1E1;
	padding: 5px;
	margin-top: 4px;
	font-size: 1.2em;
}

#contact_form p.submit button {
	display: block;
	width: 300px;
	background: url(../img/btn_send_off.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	padding: 50px 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:hover button {
	background: url(../img/btn_send_on.jpg) center no-repeat;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
}

/*===============================================
  画面の横幅が680px以下に適用
===============================================*/
@media screen and (max-width: 680px) {

	/* table */
	.module.mod_text th,
	.module.mod_text td {
		display: table-cell;
		min-width: 96px !important;
		width: auto !important;
		height: auto !important;
	}

	/* cbtn */
	.content .contact {
		margin: 40px auto 30px;
	}

	.content .contact .c-box {
		padding: 15px;
	}

	.content .contact .c-logo {
		float: none;
		width: auto;
		margin-right: 0;
		margin: 0 0 10px;
		text-align: center;
	}

	.content .contact .c-info {
		float: none;
		width: 100%;
		text-align: center;
	}

	/* pickup */
	.mod_pickup_gallery #gallery dl,
	.mod_gallery_list #gallery dl {
		width: 30% !important;
		margin-right: 20px;
	}

	.mod_gallery_list #gallery dl dd.img a {
		width: 100%;
	}

	/* 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 {
		border-bottom: 1px solid #E1E1E1;
	}

	#contact_form table th,
	#contact_form table td {
		display: block;
		width: 100%;
		border-bottom: none;
	}
}

/*===============================================
  画面の横幅が480px以下に適用
===============================================*/
@media screen and (max-width: 480px) {
	.content .contact {
		width: 100%;
	}

	.content .contact .c-info {
		width: 100%;
		float: none;
		text-align: center;
	}

	.content .contact .c-logo {
		width: 60%;
		height: auto;
		margin: 0 auto;
		float: none;
		text-align: center;
		margin-bottom: 10px;
	}

	.content .contact .c-mail {
		float: none;
		margin: 10px auto 0;
	}

	.s-banner li.width50 {
		width: 100%;
		float: none;
		text-align: center;
	}

	/* 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;
	}
}

.marb-10 {
	margin-bottom: 10px !important;
}

.marb-20 {
	margin-bottom: 20px !important;
}

.marb-30 {
	margin-bottom: 30px !important;
}

.marb-40 {
	margin-bottom: 40px !important;
}

.text-center {
	text-align: center;
}
