@charset "UTF-8";

html, body,
header, main, footer,
article, section, nav, aside,
h1, h2, h3, h4, h5,
ul, ol, li, dl, dt, dd,
table, tbody, tr, th, td,
div, p, span, a {
	padding: 0;
	border: 0 none transparent;
	margin: 0;
}
main {display: block;}
img {
	max-width: 100%;
	border: 0;
	vertical-align: top;
/*
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	user-select: none;
*/
}
html, h1, h2, h3, h4, h5 {
	font: normal normal 600 20px/1 Helvetica, Arial, Verdana, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
@media screen\0 { 
	html {font-family: Arial, Verdana, "メイリオ", Meiryo;}
}
/*
html {
	font: normal normal 500 20px/1 Helvetica, Arial, Verdana, "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
*/
body {
	color: #000;
	background-color: #FFF;
}

.text-centre {text-align: center;}

.text-black {color: #080808;}
.text-grey {color: #5A5C56;}
.border-purple {border-color: #AF1F8D;}
.back-white {background-color: rgba(255, 255, 255, 0.6);}
.ornament {
	background: transparent url("../common/images/ornament.png") no-repeat scroll right 0.3% bottom 0;
	background-size: 53.4% auto;
}
.ornament_news {
	background: transparent url("../common/images/ornament_news.png") no-repeat scroll right 0.3% bottom 0%;/*20211229 edit bottom -60%;*/
	background-size: 35% auto;
}

ul.nomark {
	list-style: none none outside;
}
ul.horizontal li {
	display: inline-block;
	vertical-align: middle;
}

#wrapper {
	max-width: 1000px;
	margin: 0 auto;
}

#logo-wrapper, #header-lead {
	display: inline-block;
	vertical-align: top;
}
#logo-wrapper {
	margin-right: 1.35%;
}
#logo {
	max-width: 297px;
}
#logo::before {
	content: "";
	display: inline-block;
	width: 3.367004%;
}
#logo img {
	width: 96.632996%;
}
#header-lead {
	font-size: 13px;
	line-height: 1.21;
	letter-spacing: 0.131em;
}

nav, #footer-navi li {
	background: transparent url("../common/images/menu-back.gif") repeat-x scroll left top;
	background-size: 1px 100%;
}
.navi li {
	/* flex未対応ブラウザ向け */
	display: inline-block;
	vertical-align: middle;
	
	display: inline-flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 52px;
}
.navi a {
	display: flex;
	flex-direction: row;
	align-items: center;
	
	word-break: break-all;
	word-wrap: break-word;
	
	font-weight: 700;
	color: #373232;
	text-decoration: none;
}
.navi a, .menu-inner {
	width: 100%;
}
.menu-inner {
	display: inline-block;
	vertical-align: top;
	padding: 0.5em 0;
}

#main-img {
	border-width: 3px 0;
	border-style: solid none;
}

#copyright-wrapper {
	min-height: 132px;
	background: transparent url("../common/images/footer.jpg") no-repeat scroll left top;
	background-size: cover;
}
#copyright {
	padding: 1.5em 2% 0;
	font-weight: 500;
	letter-spacing: 0.126em;
}

@media only screen and (min-width: 639px) {
	.only-sp {display: none;}
	
	#logo-wrapper {
		width: 39.9%;/*width: 40.9%;*/
	}
	#header-lead {
		width: 57.5%;/*width: 57.75%;*/
		margin-top: 6.5px;
	}
	nav {
		border-top: 1px solid #DDA1CF;
		font-size: 14.5px;
		letter-spacing: 0.1em;
	}
	nav ul {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
	}
	nav.navi li {
		flex: 0 1 auto;
		position: relative;
		padding: 0 0.6rem;
		margin-left: -0.5px;
	}
	nav li:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		height: 1.1em;
		margin-top: -0.55em;
		display: inline-block;
		width: 1px;
		background-color: #A7A0A0;
	}
	
	#copyright-wrapper {
		border-width: 3px 0 0;
		border-style: solid none none;
	}
	#copyright {font-size: 14px;}
}

@media only screen and (max-width: 638px) {
	.only-pc {display: none;}
	html {font-size: 15px;}
	
	#logo-wrapper {
		width: 46.551724%;/*width: 46.551724%;*/
	}
	#header-lead {
		width: 50.098276%;/*width: 52.098276%;*/
	}
	
	footer {
		overflow: hidden;
	}
	#footer-navi {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: stretch;
		align-content: flex-start;
		margin: 0 -4px;
		font-size: 20px;
	}
	#footer-navi li {
		box-sizing: border-box;
		flex: 0 1 auto;
		width: 33.333333%;
		border-width: 0 2px;
		border-style: none solid;
		border-color: #E07CA4;
		margin: 0 -1px 7px;
	}
	#footer-navi .width100 {width: 100%;}
	
	#copyright {font-size: 16px;}
}