@charset "UTF-8";

@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/* オリジナルのレイアウト
----------------------------------------*/

html {
	font-size: 1rem;
	font-size: 10px;
}

body {
	background: #fbf9ee;
	color: #634118;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	line-height: 1.714;
	min-width: 1080px;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
.body_modal {
	min-width: 0;
}

#wrapper,
.wrapper {
	width: 100%;
	overflow: hidden;
}

@media only screen and (max-width: 736px) {
	body {
		height: 100%;
		min-width: 0;
	}
}
a {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #634118;
}
a:hover {
	text-decoration: none;
}

/*
a:link, a:visited {
	text-decoration: none;
}

a:hover, a:active {
	text-decoration: underline;
}*/

a.a_gaibu::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 17px;
	margin: 0 0 0 .5em;
	background: url(../img/common/icon_gaibu.png) no-repeat center center;
	vertical-align: middle;
}
a.a_pdf::after {
	content: "";
	display: inline-block;
	width: 17px;
	height: 20px;
	margin: 0 0 0 .5em;
	background: url(../img/common/icon_pdf.png) no-repeat center center;
	vertical-align: middle;
}
.a_arrow {
	margin-left: 1em;
}
.a_arrow::before {
	border: 1px solid #e97f8b;
	border-width: 2px 2px 0 0;
	content: "";
	display: inline-block;
	height: 6px;
	margin: -3px 0.5em 0 -1em;
	transform: rotate(45deg);
	width: 6px;
}
.linkbox {
	cursor: pointer;
}


@media only screen and (max-width: 736px) {
	a.a_gaibu:after {
		content: "";
		display: inline-block;
		width: 11px;
		height: 11px;
		margin: 0 0 0 .5em;
		background: url(../img/common/icon_gaibu.png) no-repeat center center;
		-webkit-background-size: 100% auto;
		-moz-background-size: 100% auto;
		-o-background-size: 100% auto;
	}

}


/*表示
----------------------------------------*/
/* PCだけ表示 */
.visible_pc {
	display: block !important;
}
/* SPだけ表示 */
.visible_sp {
	display: none !important;
}

/* PCだけ表示 */
.visible_pc_inline {
	display: inline !important;
}
/* SPだけ表示 */
.visible_sp_inline {
	display: none !important;
}

@media only screen and (max-width: 736px) {
	/* PCだけ表示 */
	.visible_pc {
		display: none !important;
	}
	/* SPだけ表示 */
	.visible_sp {
		display: block !important;
	}

	/* PCだけ表示 */
	.visible_pc_inline {
		display: none !important;
	}
	/* SPだけ表示 */
	.visible_sp_inline {
		display: inline !important;
	}
	/* SPだけ改行 */
	.sp_br {
		display: block;
	}
	img {
		width: 100%;
		height: auto;
	
	}
}

/* SPでtel:
----------------------------------------*/
.txt_telno {
}

/*画像のfloat
----------------------------------------*/
.alignleft {
	float: left;
	text-align: left;
}
.alignright {
	float: right;
	text-align: right;
}
.aligncenter {
	text-align: center;
}
img.alignleft {
	margin-right: 20px;
	margin-bottom: 10px;
}
img.alignright {
	margin-left: 20px;
	margin-bottom: 10px;
}
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.img_float_l {
	float: left;
	*display: inline;
	*zoom: 1;
	margin-right: 20px;
	z-index: 2;
}
.img_float_r {
	float: right;
	*display: inline;
	*zoom: 1;
	margin-left: 20px;
	z-index: 2;
}
@media only screen and (max-width: 736px) {
	.img_float_l,
	.img_float_r {
		float: none;
		display: block;
		width: auto !important;
		max-width: 100%;
		height: auto;
		margin: 0 auto 10px;
	}
	.img_float_l img,
	.img_float_r img  {
		display: block;
		margin: 0 auto;
	}
}


/*color
----------------------------------------*/

.color_red { color: #f11717;}
.color_blue { color: #0a69bb; }
.color_geen { color: #50dd12; }
.color_orange { color: #ec6e00; }
.color_gray { color: #999999; }
.color_black { color: #000000; }


/* hr
----------------------------------------*/

hr {
	clear: both;
	border: none;
	border-top: solid 1px #cccccc;
	height: 1px;
	color: transparent;
	margin: 28px 0;
}

hr.clear {
	clear: both;
	border-bottom: none;
	height: 1px;
	color: transparent;
	margin: 0;
}

/* font
----------------------------------------*/
.en {
	letter-spacing: 0.05em;
}

.serif {
	font-family: 'Noto Serif Japanese';
}

/*header
----------------------------------------*/
.header {
	background: url(../img/common/bg_header.png) repeat-x top;
	height: 200px;
}
.header a {
	text-decoration: none;
}
.header_container {
	width: 1020px;
	margin: 0 auto;
	padding-top: 11px;
}
.header_logo {
	float: left;
	width: 180px;
	padding: 60px 0 0 0;
}
.header_contact {
	float: right;
	display: table;
}
.header_contact > * {
	display: table-cell;
	vertical-align: top;
}
.header_contact_time {
	font-size: 1.2rem;
	padding-right: 10px;
	padding-top: 40px;
}
.header_contact_tel {
	font-size: 2.6rem;
	font-weight: 700;
	padding-right: 10px;
	padding-top: 25px;
}
.header_contact_nav li {
	font-size: 1.2rem;
	text-align: center;
	display: inline-block;
	margin-left: 7px;
	width: 100px;
	vertical-align: top;
}
.header_contact_nav li a {
	display: block;
	height: 100px;
	color: #fff;
	background: url(../img/common/bg_header_contact_k.png) no-repeat left top;
	padding-top: 30px;
}
.header_contact_nav li:first-child a {
	background: url(../img/common/bg_header_contact_i.png) no-repeat left top;
	padding-top: 20px;
}
.header_nav {
	float: right;
}
.header_nav::before {
	background: #000;
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.header_nav ul {
	padding: 18px;
	letter-spacing: -.4em;
}
.header_nav li {
	display: inline-block;
	letter-spacing: 0;
	line-height: 1;
	vertical-align: middle;
}
.header_nav li::after {
	background: #624117;
	content: "";
	display: block;
	height: 1em;
	width: 1px;
	opacity: .4;
	position: absolute;
	right: 0;
	top: 5px;
}
.header_nav li:first-child::before {
	background: #624117;
	content: "";
	display: block;
	height: 1em;
	width: 1px;
	opacity: .4;
	position: absolute;
	left: 0;
	top: 5px;
}
.header_nav li a {
	color: #624117;
	display: block;
	padding: 5px 20px;
}
.header_nav li.current a::after {
	content: url(../img/common/header_nav_current.png);
	margin-left: -14px;
	position: absolute;
	bottom: -10px;
	left: 50%;
}
.header_menu,
.header_close {
	display: none;
}
@media only screen and (max-width: 736px) {	
	.header {
		background-size: 10px 10px;
		height: 70px;
	}
	.header_container {
		width: auto;
		margin: 0 auto;
		padding-top: 20px;
	}
	.header_logo {
		float: none;
		width: 109px;
		padding: 0;
		margin: 0 auto;
	}
	.header_menu {
		cursor: pointer;
		display: block;
		height: 30px;
		width: 30px;
		top: 25px;
		right: 4.875%;
		text-align: right;
		padding-top: 3px;
		position: absolute;
	}
	.header_menu img {
		width: 23px;
		margin: 0 auto;
	}
	.header_nav::before {
		background: #eb838b;
		opacity: .9;
	}
	.header_nav {
		float: none;
		position: absolute;
		top: 0;
		right: -100%;
		z-index: 10001;
		width: 100%;
	}
	.header_close {
		cursor: pointer;
		display: block;
		height: 30px;
		width: 30px;
		top: 10px;
		right: 4.875%;
		text-align: right;
		padding-top: 3px;
		position: absolute;
		z-index: 2;
	}
	.header_close img {
		width: 18px;
		margin: 0 auto;
	}
	.header_nav ul {
		padding-top: 50px;
	}
	.header_nav li {
		display: block;
		font-size: 1.5rem;
		text-align: center;
		margin: 0 0 10px;
	}	
	.header_nav li a  {
		color: #fff;
		padding: 10px 2em;
	}
	.header_nav li::after,
	.header_nav li:first-child::before {
		display: none;
	}
	.header_nav .visible_sp a {
		border: solid 1px #fff;
		border-radius: 8px;
		color: #fff;
		display: block;
		font-size: 1.3rem;
		line-height: 1.2;
		padding: 10px 2em;
		position: relative;
		text-align: center;
		text-decoration: none;
	}
	.header_nav .visible_sp a::after {
		border: solid 1px #fff;
		border-width: 2px 2px 0 0;
		content: "";
		display: block;
		height: 6px;
		margin-top: -4px;
		position: absolute;
		right: 1em;
		top: 50%;
		transform: rotate(45deg);
		width: 6px;
	}
	.header_contact {
		display: none;
	}
}

/*topic_path パンくず
----------------------------------------*/
.topic_path {
	z-index: 2;
	margin-bottom: 55px;
}
.topic_path ul {
	width: 980px;
	margin: 0 auto 0;
	padding: 16px 0 16px;
	letter-spacing: -0.4em;
	font-size: 1.2rem;
	line-height: 1;
}
.topic_path li {
	display: inline;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
}
.topic_path li + li:before {
	content: "\003e";
	margin: 0 0.5em;
}
.topic_path a {
	text-decoration: none;
	color: #e88183;
}
@media only screen and (max-width: 736px) {
	.topic_path {
		margin-bottom: 30px;
	}
	.topic_path ul {
		display: none;
	}
}
/*container
----------------------------------------*/
.container {
	width: 1020px;
	margin: 0 auto;
}
.main {
	float: right;
	width: 740px;
}
.side {
	float: left;
	width: 220px;
}
@media only screen and (max-width: 736px) {
	.container {
		width: auto;
		margin: 0 auto;
	}
	.main {
		float: none;
		width: auto;
	}
	.side {
		float: none;
		width: auto;
	}
}

/*side
----------------------------------------*/

.side h3 {
	background: #e88183;
	color: #fff;
	font-size: 1.4rem;
}
.side h3 a {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 8px 15px;
}
.side li {
	border-bottom: solid 1px #e88183;
}
.side li ul.children {
	display: none;
}
.side li.current_page_item ul.children {
	display: block;
}
.side li.current_page_item.page-item-12 ul.children {
	display: none;
}
.side li li {
	border-top: solid 1px #e88183;
	border-bottom: none;
}
.side li a {
	display: block;
	text-decoration: none;
	padding: 8px 15px;
}
.side li.current_page_item > a,
.side li.current > a {
	background: #ecead9;
}
.side li li a {
	display: block;
	text-decoration: none;
	padding: 8px 15px 8px 25px;
}
.side li li a::before {
	content: '・';
	position: rerative;
	margin-left: -1em;
}

/*pagetop
----------------------------------------*/
.btn_pagetop {
	position: absolute;
	bottom: 223px;
	right: 20px;
	width: 60px;
	z-index: 3000;
}
@media only screen and (max-width: 736px) {
	.btn_pagetop {
		width: 35px;
		bottom: 60px;
		right: 4.875%;
	}
}

/*footer
----------------------------------------*/

.footer {
	clear: both;
	width: 100%;
}
.footer .footer_nav {
	background: #eb838c;
	padding: 15px;
	color: #fff;
}
.footer .footer_nav a {
	color: #fff;
	text-decoration: none;
}
.footer .footer_nav ul {
	text-align: center;
}
.footer .footer_nav li {
	display: inline-block;
	font-size: 1.4rem;
}
.footer .footer_nav  li + li::before {
	content: "|";
	margin: 0 8px;
}
.footer .footer_container {
	width: 980px;
	margin: 0 auto;
	padding: 36px 0 15px;
}
.footer .footer_address {
	float: left;
	width: 270px;
	color: #2b2b2b;
	line-height: 2;
}
.footer .footer_address h3 img {
	margin-bottom: 10px;
}
.footer .footer_container ul {
	float: right;
}

.footer .footer_container ul li {
	display: inline-block;
	font-size: 1.4rem;
	margin-left: 1em;
}

.footer .footer_container ul li::before {
	content: "■";
	color: #eb838c;
	margin-right: 0.2em;
}
.footer .footer_container ul li a {
	color: #2b2b2b;
	text-decoration: none;
}

.footer_copyright {
	color: #2b2b2b;
	font-size: 1rem;
	padding: 20px 0;
	position: absolute;
	bottom: 0;
	right: 0;
}
.footer_sp {
	display: none;
}
@media only screen and (max-width: 736px) {
	.footer {
		padding-bottom: 70px;
	}
	.footer .footer_nav {
		padding: 0;
	}
	.footer .footer_nav ul {
		letter-spacing: 0;
		display: -webkit-flex;
  		display: flex;
		-webkit-flex-wrap: wrap;
  		flex-wrap: wrap;
		
	}
	.footer .footer_nav li {
		width: 50%;
		font-size: 1.2rem;
		text-align: center;
		border-top: solid 1px #fff;
	}
	.footer .footer_nav li a {
		display: block;
		padding: 10px 5px;
	}
	.footer .footer_nav li:nth-child(2n) {
		border-left: solid 1px #fff;
	}
	.footer .footer_nav  li + li::before {
		display: none;
	}
	.footer .footer_container {
		width: auto;
		margin: 0 auto;
		padding: 15px 0 0;
	}
	.footer .footer_container ul {
		float: none;
		text-align: center;
		margin-bottom: 25px;
	}
	.footer .footer_container ul li {
		display: inline-block;
		font-size: 1rem;
		margin: 0 0.5em;
	}
	.footer .footer_address {
		float: none;
		font-size: 1.2rem;
		text-align: center;
		width: auto;
	}
	.footer .footer_address h3 img {
		width: 109px;
		margin-bottom: 10px;
	}
	.footer_copyright {
		font-size: 1rem;
		text-align: center;
		padding: 15px 10px;
		position: relative;
	}
	.footer_sp {
		display: table;
		table-layout: fixed;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	.footer_sp a {
		display: table-cell;
		background: #eb838b;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1.3;
		text-align: center;
		text-decoration: none;
		vertical-align: middle;
		padding: 10px;
	}
	.footer_sp a:first-child {
		background: #d95963;
	}
	.footer_sp a:last-child {
		background: #644219;
	}
	.footer_sp a + a {
		border-left: solid 1px #fff;
	}

}

/*width
----------------------------------------*/
@media only screen and (max-width: 736px) {
	.w30per.only_pc,
	.w50per.only_pc { 
		width: auto !important; 
	}
}