.sp {
	display: block;
}
.pc {
	display: none;
}

@media print, screen and (min-width:768px) {
.sp {
	display: none;
}
.pc {
	display: block;
}
}
.br_pc {
	display: none;
}
.br_sp {
	display: inline;
}

@media print, screen and (min-width:768px) {
.br_pc {
	display: inline;
}
.br_sp {
	display: none;
}
}
/* ----------------------------------------------------------------header*/
header {
	text-align: left;
	position: absolute;
	top: 0;
	z-index: 1;
	width: 100%;
	height: auto;
	color: #fff;
}
#header {
	height: auto;
}
h1 {
	text-align: center;
	font-size: 10px;
	font-family: '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #a09d95;
	padding: 5px 0 0 0;
}
#header .flex_box {
	display: flex;
}
#header > .flex_box {
	justify-content: space-between;
	align-items: center;
}
.header_logo {
	text-align: left;
	margin: 0 0 8px 0;
	padding: 0 0 0 7px;
}
.header_logo img {
	width: 180px;
	height: auto;
}
.header_contact {
	padding: 0 15px 0 0;
}
.header_contact .flex_box {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header_contact .h_tel {
	font-size: 0;
	margin-right: 50px;
}
.header_contact .h_tel img {
	display: inline-block;
	vertical-align: middle;
	width: 38px;
	height: auto;
}
.header_contact .h_mail img {
	width: 38px;
	height: auto;
}
#toggle {
	position: fixed;
	top: 40px;
	right: 15px;
	z-index: 3500;
}
#toggle {
	width: 37px;
	height: 45px;
	margin-left: 5px;
	cursor: pointer;
}
#toggle span {
	display: block;
	width: 37px;
	height: 41px;
	background: url(../img/common_img/menu.png) no-repeat center;
}
#toggle span.active {
	display: block;
	width: 37px;
	height: 43px;
	background: url(../img/common_img/close.png) no-repeat center;
}

@media print, screen and (min-width:768px) {
h1 {
	text-align: right;
	padding: 7px 0 0 0;
}
#header {
	padding: 0 30px 0 30px;
}
#header .flex_box {
	display: flex;
}
#header > .flex_box {
	justify-content: space-between;
	align-items: flex-start;
}
.header_logo {
	margin: -7px 0 0 0;
	padding: 0 0 0 6px;
}
.header_logo img {
	width: 100%;
	height: auto;
}
.header_contact {
	padding: 16px 0 0 0;
}
.header_contact .flex_box {
	justify-content: space-between;
	align-items: center;
}
.header_contact .h_tel {
	margin-right: 0;
}
.header_contact .h_tel img {
	width: auto;
	height: auto;
	margin-right: 5px;
}
.header_contact .h_tel p {
	display: inline-block;
	vertical-align: middle;
	font-size: 28px;
}
.header_contact .h_mail img {
	width: auto;
	height: auto;
}
#toggle {
	display: none;
}
}
/*------------------------------------------------------------mainnavi*/
#mainnavi {
	position: absolute;
	z-index: 3;
	width: 100%;
	height: 100%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4f2029+0,5c2433+100&1+0,1+50,0.9+100 */
	background: -moz-linear-gradient(top, rgba(79,32,41,1) 0%, rgba(86,34,46,1) 50%, rgba(92,36,51,0.9) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(79,32,41,1) 0%, rgba(86,34,46,1) 50%, rgba(92,36,51,0.9) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(79,32,41,1) 0%, rgba(86,34,46,1) 50%, rgba(92,36,51,0.9) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f2029', endColorstr='#e65c2433', GradientType=0 ); /* IE6-9 */
	visibility: hidden;
	opacity: 0;
	transition: 0.5s all;
	display: flex;
	justify-content: center;
	align-items: center;
}
#mainnavi.show {
	opacity: 1;
	visibility: visible;
	position: fixed;
}
#mainnavi > ul {
	width: 100%;
}
#mainnavi > ul > li:not(:last-child) {
	margin: 0 0 14px 0;
}
#mainnavi > ul > li a {
	position: relative;
	color: #f4f2ec;
	text-decoration: none;
	padding: 0 0 12px;
}
#mainnavi > ul > li.active > a {
	color: #bedcb8;
}
#mainnavi > ul > li a:hover {
	color: #bedcb8;
	cursor: pointer;
}
#mainnavi > ul > li.active > a:before, #mainnavi > ul > li > a:hover:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 13px;
	background: url(../img/common_img/nav_active.png) no-repeat top center;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown {
	display: none;
	background: #d2e2d1;
	margin-top: 15px;
	padding: 10px 0 18px;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown li:not(:last-child) {
	margin: 0 0 8px 0;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown li a {
	width: 100%;
	color: #5c2433;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown li.active a:before, #mainnavi > ul > li.sub_toggle ul.mnav_dropdown li a:hover:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 13px;
	background: url(../img/common_img/drop_active.png) no-repeat top center;
}

@media print, screen and (min-width:768px) {
#mainnavi {
	position: relative;
	min-width: 1140px;
	height: auto;
	padding: 30px 35px 23px 0;
}
#mainnavi .fix_logo img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	margin: auto;
}
#mainnavi > ul {
	width: 100%;
	text-align: right;
	font-size: 0;
}
#mainnavi > ul > li {
	display: inline-block;
}
#mainnavi > ul > li.sp {
	display: none;
}
#mainnavi > ul > li:not(:last-child) {
	margin: 0 30px 0 0;
}
#mainnavi > ul > li:nth-of-type(8) {
	margin: 0;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown {
	position: absolute;
	top: 80px;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 0;
	margin-top: 0;
	padding: 10px 0 20px 0;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown li {
	display: inline-block;
}
#mainnavi > ul > li.sub_toggle ul.mnav_dropdown li:not(:last-child) {
	margin: 0 20px 0 0;
}
#mainnavi.fix {
	display: block;
	position: fixed;
	top: 0;
	animation: haslide linear .3s 1;
	-webkit-animation: haslide linear .3s 1;
	z-index: 3000;
	visibility: visible;
	opacity: 1;
}
}
 @keyframes haslide {
 0% {
top: -55px;
}
 100% {
top: 0;
}
}
 @-webkit-keyframes haslide {
 0% {
top: -55px;
}
 100% {
top: 0;
}
}
/*------------------------------------------------------------pagetitle*/
#pagetitle {
	position: relative;
	min-height: 200px;
	margin-bottom: 10px;
}
#pagetitle h2 {
	font-size: 25px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 10px;
	text-shadow: 0px 0px 5px rgba(29,61,114,1.00), 0px 0px 10px rgba(222,218,202,1);
	color: #fff;
	padding-top: 100px;
}

@media print, screen and (min-width:768px) {
#pagetitle {
	min-height: 350px;
	margin-bottom: 30px;
}
#pagetitle h2 {
	font-size: 40px;
	padding-top: 160px;
}
}
/*------------------------------------------------------------content*/
#content {
	text-align: left;
}
.section {
	clear: both;
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
.section {
	margin-bottom: 30px;
}
}
/*subnavi*/
p.side_title {
	padding: 3px 0 3px 10px;
	font-size: 14px;
	font-weight: bold;
	border-left: 4px solid #666;
	margin: 5px 0;
}
.subnavi {
	margin-bottom: 10px;
}
.subnavi {
	border-top: 1px dotted #6D6D6D;
}
.subnavi li {
	border-bottom: 1px dotted #6D6D6D;
}
.subnavi li a {
	padding: 10px 0;
	display: block;
}
.subnavi li a:hover {
	text-decoration: underline;
}

@media print, screen and (min-width:768px) {
.subnavi {
	margin-bottom: 20px;
}
}
/* ----------------------------------------------------------------footer*/
footer {
	color: #fff;
	padding: 50px 0 40px;
	background: #5c2433;
}
footer .f_info, small {
	font-family: '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
footer .f_info {
	margin: 0 0 30px 0;
}
footer .f_logo {
	margin: -7px 0 24px -10px;
}
footer .address li {
	line-height: 1.4;
}
footer .tel-link a {
	color: #fff;
}
footer .f_navi {
	font-size: 0;
	width: 100%;
	margin: 0 0 20px 0;
}
footer .f_navi li {
	display: inline-block;
	position: relative;
	line-height: 1;
	margin: 0 0 10px 0;
}
footer .f_navi a {
	display: block;
	font-family: '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #fff;
	text-decoration: none;
	padding: 0 13px;
}
small {
	font-size: 12px;
	color: #b49b80;
}

@media print, screen and (min-width:768px) {
footer .f_info {
	text-align: left;
	margin: 0;
}
footer .flex_box {
	display: flex;
	justify-content: space-between;
}
footer .f_navi {
	width: 935px;
	margin: 0 auto 14px;
}
footer .map {
	width: 555px;
	height: auto;
}
footer .f_navi li.border_r:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 16px;
	background: #fff;
}
}

@media print, screen and (min-width:768px) {
}
/*------------------------------------------------------------f_contact*/
#f_contact {
	position: relative;
	width: 100%;
	height: 0;
	background: url(../img/common_img/bg_contact_sp.png) no-repeat bottom center;
	background-size: cover;
	border-top: 10px #5c2433 solid;
	padding: 70px 0 700px;
}
#f_contact .bg_f_contact img {
	width: 100%;
	height: auto;
}
#f_contact .tx_box {
	padding: 0 15px;
}
#f_contact h3 {
	position: relative;
	font-size: 22px;
	font-weight: bold;
	color: #481b24;
}
#f_contact h3:before {
	content: "";
	position: absolute;
	top: -24px;
	left: 0;
	right: 0;
	margin: auto;
	width: 148px;
	height: 19px;
	background: url(../img/common_img/eyecatch02.png) no-repeat top center;
	background-size: 148px 19px;
}
#f_contact .ribbon02 {
	font-size: 18px;
	line-height: 1;
	color: #fff;
	background: url(../img/common_img/bg_ribbon02_sp.png) no-repeat center;
	background-size: 300px auto;
	padding: 9px 0 20px;
}
#f_contact .why {
	display: inline-block;
	font-size: 16px;
	font-family: '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: bold;
	color: #541e2d;
	background: url(../img/common_img/bg_shasen01.png);
	border-radius: 5px;
	padding: 2px 74px;
}
#f_contact .tx_box .tx {
	padding: 10px 0;
}
#f_contact .bn_tel_num {
	display: flex;
	justify-content: center;
	align-items: center;
}
#f_contact .bn_tel_num img {
	width: auto;
	height: 28px;
	margin-right: 10px;
}
#f_contact .bn_tel_num p {
	font-size: 28px;
	line-height: 1.3;
	font-weight: bold;
	color: #551f2e;
}
#f_contact .tel-link a {
	color: #551f2e;
}

@media print, screen and (min-width:768px) {
#f_contact {
	position: static;
	height: 560px;
	background: url(../img/common_img/bg_contact.png) no-repeat top center;
	border: none;
	padding: 0;
}
#f_contact .container {
	position: relative;
}
#f_contact .tx_box {
	position: absolute;
	right: 15px;
	top: 121px;
	padding: 0;
}
#f_contact h3 {
	font-size: 36px;
}
#f_contact h3:before {
	top: -45px;
	width: 297px;
	height: 37px;
	background-size: auto;
}
#f_contact .ribbon02 {
	font-size: 24px;
	background: url(../img/common_img/bg_ribbon02.png) no-repeat center;
	background-size: auto;
	padding: 15px 0 40px;
}
#f_contact .why {
	font-size: 18px;
	color: #541e2d;
	padding: 3px s74px;
}
#f_contact .bn_tel_num img {
	width: auto;
	height: auto;
}
#f_contact .bn_tel_num p {
	font-size: 40px;
}
}
/*------------------------------------------------------------sponsor*/
#sponsor {
	background: #d2e2d1;
	border-bottom: 10px #5c2433 solid;
	padding: 40px 0;
}
#sponsor .bg_bnr_sponsor {
	position: relative;
	width: 290px;
	height: auto;
	margin: 0 auto;
}
#sponsor .bg_bnr_sponsor .tx_box {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: 26px 15px 0;
}
#sponsor h3 {
	position: relative;
	font-size: 20px;
	font-weight: bold;
	color: #28191c;
	background: url(../img/common_img/eyecatch02.png) no-repeat top center;
	background-size: 160px auto;
	margin: 0 0 38px 0;
	padding: 25px 0 0;
}
#sponsor h3:before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: auto;
	width: 129px;
	height: 20px;
	/*background: url(../img/index_img/equest_for_sponsorship.png) no-repeat bottom center;
	background-size: 129px auto;*/
}
#sponsor .ribbon01 {
	line-height: 1.3;
	color: #fff;
	text-shadow: 1px 1px 10px #3f1920, -1px 1px 10px #3f1920, 1px -1px 10px #3f1920, -1px -1px 10px #3f1920;
	background: url(../img/common_img/bg_ribbon_sp.png) no-repeat top center;
	background-size: 260px auto;
	padding: 13px 0 45px;
}
#sponsor .tx {
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
#sponsor {
	padding: 60px 0 70px;
}
#sponsor .bg_bnr_sponsor {
	position: static;
	width: 100%;
	height: 420px;
	background: url(../img/index_img/bg_sponsor.png) no-repeat top center;
	margin: 0;
	padding: 45px 0 0;
}
#sponsor .bg_bnr_sponsor .tx_box {
	position: static;
	padding: 0;
}
#sponsor h3 {
	font-size: 32px;
	background-size: auto;
	margin: 0 0 40px 0;
	padding: 50px 0 0;
}
#sponsor h3:before {
	width: 172px;
	height: 26px;
	background-size: auto;
}
#sponsor .ribbon01 {
	font-size: 24px;
	line-height: 1.5;
	background: url(../img/common_img/bg_ribbon.png) no-repeat top center;
	background-size: 1018px auto;
	padding: 9px 0 31px;
}
#sponsor .tx {
	margin-bottom: 16px;
}
}
/*------------------------------------------------------------Pankuzu*/
/*pankuzu*/
#pankuzu {
	width: 100%;
	margin: 5px 0 15px;
	clear: both;
}

@media print, screen and (min-width:768px) {
#pankuzu {
	margin: 5px 0 20px;
}
}
#pankuzu ol {
	list-style: none;
}
#pankuzu ol li {
	float: left;
	font-size: 11px;
	padding: 0 7px 0 10px;
	background: url(../img/common_img/icon_pankuzu.gif) no-repeat 0 50%;
}
#pankuzu ol li em {
	font-style: normal;
}
#pankuzu ol li.home {
	padding-left: 0;
	background: none;
}
#pankuzu ol li a:link, #pankuzu ol li a:visited {
	text-decoration: underline;
}
#pankuzu ol li a:hover, #pankuzu ol li a:active {
	text-decoration: underline;
}
/* ----------------------------------------------------------------bg*/
.bg01 {
	background: #f8f8f8;
}
.bg02 {
	background: #F3FFF3;
}
.bg03 {
	background: #fff;
}

/* ----------------------------------------------------------------font*/
/*color*/
.font_brown {
	color: #90622f;
}
.font_yellow {
	color: #e6d196;
}
/* ----------------------------------------------------------------rayout*/
section.inside {
	padding: 40px 0;
}
.sec {
	margin-bottom: 40px;
	padding: 30px 0;
}

@media print, screen and (min-width:768px) {
section.inside {
	padding: 70px 0;
}
}
.center {
	display: block;
	margin: auto;
}
/*------------------------------------------------------------table*/
.sheet_basic {
	width: 100%;
	border-collapse: collapse;
}
.sheet_basic tr th, .sheet_basic tr td {
	border: 1px dotted #6D6D6D;
	padding: 10px;
	text-align: left;
	vertical-align: top;
	display: block;
}

@media print, screen and (min-width:768px) {
.sheet_basic tr th, .sheet_basic tr td {
	display: table-cell;
}
}
/*------------------------------------------------------------Decoration*/
/*Line*/
hr.line_01 {
	height: 1px;
	clear: both;
	margin: 20px 0px;
	border-top: 1px dotted #CCC;
	border-right: 0 dotted #CCC;
	border-bottom: 0 dotted #CCC;
	border-left: 0 dotted #CCC;
}
hr.line02 {
	width: 280px;
	height: 10px;
	background: url(../img/common_img/hr_line01_sp.png) no-repeat center;
	background-size: contain;
	border: none;
	padding: 48px 0 38px;
}

@media print, screen and (min-width:768px) {
hr.line02 {
	width: 424px;
	height: 17px;
	background: url(../img/common_img/hr_line01.png) no-repeat center;
	border: none;
}
}
.space_10 {
	height: 10px;
	clear: both;
}
.space_20 {
	height: 20px;
	clear: both;
}
.space_30 {
	height: 30px;
	clear: both;
}
.space_10 hr, .space_20 hr, .space_30 hr {
	display: none;
}
/*------------------------------------------------------------Text*/
/*title*/
.title01 {
	font-size: 20px;
	font-weight: bold;
	color: #5c2433;
	background: url(../img/common_img/eyecatch02.png) no-repeat top center;
	background-size: 200px auto;
	padding: 30px 15px 0;
	margin-bottom: 30px;
}
.title02 {
	font-size: 18px;
	font-weight: bold;
	color: #551f2e;
	background: url(../img/common_img/hr_line01.png) no-repeat bottom center;
	background-size: 280px auto;
	margin-bottom: 26px;
	padding: 0 10px 16px;
}
.title03 {
	font-size: 17px;
	font-weight: bold;
	color: #551f2e;
  background: url(../img/common_img/bg_title03.png) no-repeat bottom center;
	background-size: auto 10px;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

@media print, screen and (min-width:768px) {
.title01 {
	font-size: 34px;
	background-size: auto;
	padding: 50px 15px 0;
	margin-bottom: 30px;
}
.title02 {
	font-size: 26px;
	background-size: auto;
	padding: 0 15px 20px;
}
.title03 {
	font-size: 24px;
	background-size: auto 14px;
	padding-bottom: 15px;
	margin-bottom: 20px;
}
}
/*TextRight*/
.tx_right {
	text-align: right;
}
/*TextLeft*/
.tx_left {
	text-align: left;
}
/*TextCenter*/
.tx_cent {
	text-align: center;
}
/*bold*/
.tx_bold {
	font-style: normal;
	font-weight: bold;
}
/*TextRed*/
.tx_red {
	color: #C33;
}
/*attention*/
.attention {
	font-size: 10px;
	line-height: 130%;
	margin: 5px 0;
}
/*------------------------------------------------------------Float*/
/*FloatLeft*/
.float_left {
	float: left;
}
/*FloatRight*/
.float_right {
	float: right;
}
/*ClearBoth*/
.clearboth {
	clear: both;
}
/*phbox*/
.phbox_right {
	text-align: center;
	margin-bottom: 10px;
}
.phbox_right img {
	max-width: 100%;
	height: auto;
}
.phbox_left {
	text-align: center;
	margin-bottom: 10px;
}
.phbox_left img {
	max-width: 100%;
	height: auto;
}
.ov_hidden {
	overflow: hidden;
}

@media print, screen and (min-width:768px) {
.phbox_right {
	float: right;
	margin-left: 10px;
	margin-bottom: 20px;
}
.phbox_left {
	float: left;
	margin-right: 10px;
	margin-bottom: 20px;
}
}
/*------------------------------------------------------------Margin*/
/*MarginTop*/
.margin_t05 {
	margin-top: 5px;
}
.margin_t10 {
	margin-top: 10px;
}
.margin_t20 {
	margin-top: 20px;
}
.margin_t30 {
	margin-top: 30px;
}
.margin_t40 {
	margin-top: 40px;
}
.margin_t50 {
	margin-top: 50px;
}
/*MarginBottom*/
.margin_b05 {
	margin-bottom: 5px;
}
.margin_b10 {
	margin-bottom: 10px;
}
.margin_b20 {
	margin-bottom: 20px;
}
.margin_b30 {
	margin-bottom: 30px;
}
.margin_b40 {
	margin-bottom: 40px;
}
.margin_b50 {
	margin-bottom: 50px;
}
/*MarginRight*/
.margin_r05 {
	margin-right: 5px;
}
.margin_r10 {
	margin-right: 10px;
}
.margin_r15 {
	margin-right: 15px;
}
.margin_r20 {
	margin-right: 20px;
}
/*MarginLeft*/
.margin_l05 {
	margin-left: 50px;
}
.margin_l10 {
	margin-left: 10px;
}
.margin_l15 {
	margin-left: 15px;
}
.margin_l20 {
	margin-left: 20px;
}
/*Margin_device*/
.margin-xs-b10 {
	margin-bottom: 10px;
}

@media print, screen and (min-width:768px) {
.margin-xs-b10 {
	margin-bottom: 0px;
}
}
/*------------------------------------------------------------ClearFix*/
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/*------------------------------------------------------------Hoverimg*/
a:hover img.hoverimg {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}
/*------------------------------------------------------------other*/
/*anchor*/
.anchor {
	margin-top: -70px;
	padding-top: 70px;
}

@media print, screen and (min-width:768px) {
.anchor {
	margin-top: -100px;
	padding-top: 100px;
}
}
/*Pagetop*/
#pagetop {
	position: fixed;
	bottom: 30px;
	right: 15px;
}
#pagetop img {
	width: 40px;
	height: auto;
}

@media print, screen and (min-width:768px) {
#pagetop {
	bottom: 30px;
	right: 30px;
}
#pagetop img {
	width: auto;
	height: auto;
}
}
.imeoff {
	ime-mode: disabled;
}
.imeactive {
	ime-mode: active;
}
