html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd,
q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt,
dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary, time,
mark, audio, video {
	margin: 0;
	margin-top: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section {
	display: block
}

ul {
	list-style: none
}

blockquote, q {
	quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

ul {
	display: block;
	list-style-type: none;
	-webkit-margin-before: 0em;
	-webkit-margin-after: 0em;
	-webkit-margin-start: 0px;
	-webkit-margin-end: 0px;
	-webkit-padding-start: 0px;
}

:focus {
	outline: 0
}

a img {
	border: none
}

a {
	text-decoration: none;
	opacity: 1;
	transition: 0.6s;
}

a:hover {
	opacity: 0.5;
}

a:hover, a:active {
	outline: none
}

a:focus {
	-moz-outline-style: none;
	outline: none !important
}

.clearfix:after {
	clear: both;
	content: ' ';
	display: block;
	font-size: 0;
	line-height: 0;
	visibility: hidden;
	width: 0;
	height: 0
}


*html .clearfix, *:first-child+html .clearfix {
	zoom: 1
}

.group:before, .group:after {
	content: "";
	display: table;
}

.group:after {
	clear: both;
}

.group {
	zoom: 1;
}

.clear {
	clear: both;
	}

.aldrich {
	font-family: 'Aldrich', sans-serif;
}


/* END RESET CSS */


html {
	width: 100%;
	height: 100%;
	position: relative;
	overflow-x: hidden;
}

body {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
	background-color: #fff;
	color: #000;
	overflow-x: hidden;
	position: relative;
}

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 142px;
	margin: 0;
	padding: 0;
	background-color: #fff;
	z-index: 1200;
	transition: 0.8s;
}

#header.trans {
	background-color: transparent;
}

#header.ypos {
	top: -34px;
}

#header.sppos {
	top: 0px;
}

#header.yfade {
	transform: translateY(-100%);
}

a.logo {
	display: block;
	position: absolute;
	top: 50px;
	left: 50px;
	width: 402px;
	height: 70px;
	margin: 0;
	background-image: url(/commons/images/logo6.png);
	background-size: 402px 70px;
	text-indent: -9999px;
	z-index: 3000;
	opacity: 0;
	transiton: 0.6s;
}

a.logo.is-show {
	opacity: 1;
}

/*a.logo {
	display: block;
	position: absolute;
	top: 42px;
	left: 50px;
	width: 460px;
	height: 100px;
	margin: 0;
	background-image: url(/commons/images/logo2.png);
	background-size: 460px 100px;
	text-indent: -9999px;
	z-index: 1000;
}*/

.nav_wrapper {
	position: relative;
}

#nav {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
}

.nav_right_wrap {
	position: absolute;
	top: 0px;
	right: 0;
	list-style-type: none;
}

.nav_right {
	display: flex;
	align-items: center;
	width: auto;
	height: auto;
	margin: 0;
}

.nav_right li {
	width: auto;
	height: auto;
	vertical-align: middle;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0.05em;
	/*font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	font-weight: normal;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

#nav ul li a {
	display: block;
	margin: 0;
	padding: 80px 50px 46px 0;
	text-decoration: none;
	line-height: 100%;
	opacity: 1;
	transition: 0.8s;
	cursor: pointer;
}

#nav ul li a:hover {
	opacity: 0.5;
}

#nav ul li a.active {
	color: #fff;
	border-bottom: none;
}

#nav ul li:last-child a {
	display: block;
	margin: 0;
	padding: 80px 50px 46px 50px;
	text-decoration: none;
	line-height: 100%;
	background: #000;
	opacity: 1;
	transition: 0.6s;
	cursor: pointer;
}

#nav ul li:last-child a:hover {
	opacity: 0.3;
}

.nav01 a,
.nav02 a,
.nav03 a,
.nav04 a {
	color: #000;
}

.nav05 a {
	color: #fff;
}

.white a {
	color: #fff;
}



/* sp nav */

.btn_sp {
	display: none;
}

.sp_nav {
	display: none;
}



/* flexslider */

.flex_wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.flex-caption {
	position: absolute;
	top: 0;
	left: 0;
	width: 90%;
	padding: 0 5%;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #fff;
	text-align: center;
	z-index: 500;
}

.flex_title {
	display: inline-block;
	font-size: 32px;
	line-height: 140%;
	text-align: center;
	padding: 22px 0 22px;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	padding-bottom: 5px;
	border-bottom: 1px solid #FFF;
	color: #fff;
	text-decoration: none;
}

.flex_info {
	display: inline-block;
	width: auto;
	height: 14px;
	padding: 10px 12px;
	text-align: center;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
}

.bg0 { background-color: #000;}

.flex_date {
	display: inline-block;
	padding: 0 10px 0 0;
}

.flex_cat {
	display: inline-block;
	padding: 0 0 0 10px;
	color: #fff;
}

.flex_cat a {
	padding: 0 10px 0 0;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.01em;
}

.flex_read {
	color: #fff;
	text-decoration: none;
	padding: 0 0 0 10px;
}

.read {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-size: 0.8em;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	line-height: 100%;
}





/* wrapper */

#wrapper {
	margin: 0;
	text-align: left;
	position: relative;
	z-index: 120;
	background: transparent;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	overflow: hidden;
}

.head_spacer {
	padding: 200px 0 0;
}


/*top_title*/

.top_title_wrapper {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	background: transparent;
}

.top_title {
	display: block;
	position: absolute;
	top: 50%;
	left: 50px;
	width: 402px;
	height: 70px;
	margin: -35px 0 0 0;
	z-index: 1000;
	opacity: 1;
	transition: 0.3s;
}

.top_title img {
	width: 100%;
	height: auto;
}

.is-hide {
	opacity: 0;
}

.top_title_en {
	font-size: 30px;
	font-family: 'Aldrich', sans-serif;
	font-weight: bold;
	line-height: 100%;
	letter-spacing: 0.35em;
	color: #000;
}

.top_title_line {
	width: 70px;
	height: 0px;
	margin: 25px 0 28px;
	border-bottom: 1.5px solid #000;
}

.top_title_jp {
	font-size: 22px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.4em;
	color: #000;
}

.top_banner {
	display: block;
	position: absolute;
	top: 50%;
	right: 0px;
	width: 560px;
	height: 130px;
	margin: -65px 0 0 0;
	opacity: 1;
	transform: 0.6s;
	cursor: pointer;
	z-index: 1000;
}

.top_banner:hover {
	opacity: 0.5;
}

.top_banner img {
	width: 100%;
	height: auto;
}


.top_cat {
	display: block;
	margin: 0;
	padding: 45px 0 30px;
	border-bottom: 1px solid #ccc;
	position: relative;
	z-index: 10;
}



.search_box {
	position: absolute;
	top: 45px;
	right: 0;
	width: 275px;
	height: 32px;
	border-bottom: 1px solid #ccc;
}

.search-form input.search-field {
	width: 240px;
	height: 32px;
	margin: 0 0 0 0;
	border: none;
	padding: 0px 0px 0px 0px;
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0em;
	-webkit-appearance: none;
	border-radius: 0;
	background: #fff;
	color: #000;
}

.search-form input[type="submit"] {
	width: 27px;
	height: 26px;
	margin: 0 0 0 0;
	color: #fff;
	font-size: 1em;
	padding: 0 0 0 3px;
	letter-spacing: 0.1em;
	background-color: #fff;
	border: none;
	-webkit-appearance: none;
	background-image: url(/commons/images/icon_search.png);
	background-size: 27px 26px;
	background-position: right top;
	background-repeat: no-repeat;
	cursor: pointer;
}

@media only screen and ( max-width: 1560px ){

	.search_box {
		width: 170px;
	}

	.search-form input.search-field {
		width: 135px;
	}
}



/* Top News */

.top_news_wrapper {
	padding: 20px 0 0;
	position: relative;
	background-color: #fff;
	text-align: center;
}

.top_news_title {
	padding: 80px 0 20px;
	color: #666;
	font-size: 40px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-family: 'Aldrich', sans-serif;
}

.top_news {
	display: flex;
	justify-content: normal;
	list-style-type: none;
	margin: 0 30px
}

.top_news_item {
	width: 24.6%;
	height: auto;
	margin: 0 0.2%;
	text-align: left;
	overflow: hidden;
}

.top_news_item_link {
	display: block;
	cursor: pointer;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	opacity: 1;
	transition: 0.6s;
}

.top_news_item_link:hover {
	opacity: 0.5;
}

.top_news_item_image {
	width: 100%;
	height: auto;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.top_news_item_trans {
	width: 100%;
	height: auto;
}

.top_news_item_date {
	padding: 20px 0 0;
	color: #666;
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-family: 'Aldrich', sans-serif;
}

.top_news_item_title {
	padding: 15px 0 0;
	color: #000;
	font-size: 15px;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 0.05em;
}

.top_news_item_text {
	padding: 30px 0 80px;
	color: #515151;
	font-size: 14px;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 0.05em;
}

.readmore {
	display: inline-block;
	padding: 16px 70px;
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	background: #000;
}

.top_news_link {
	display: inline-block;
	margin: 100px 0;
	padding: 16px 70px;
	color: #000;
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	background: #fff;
	border: 1px solid #000;
	opacity: 1;
	transition: 0.6s;
}

.top_news_link:hover {
	opacity: 0.5;
}

.btn_article_list {
	position: absolute;
	bottom: -45px;
	left: 50%;
	width: 250px;
	height: 90px;
	margin: 0 0 0 -125px;
	background-color: #fff;
	background-image: url(/commons/images/articlelist_bg.png);
	background-size: 250px 90px;
	background-position: left top;
	background-repeat: no-repeat;
}


/* top_newsletter_block */

.top_newsletter_block_wrap {
	width: 100%;
	height: auto;
	padding: 150px 0;
	background-color: #fff;
}

.top_newsletter_block {
	width: 1130px;
	height: 294px;
	margin: 0 auto;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.top_newsletter_block_title {
	padding: 0 0 50px;
	text-align: center;
	font-size: 68px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #000;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}

.top_newsletter_block_subtitle {
	padding: 0 0 40px;
	text-align: center;
	font-size: 20px;
	line-height: 240%;
	letter-spacing: 0.01em;
	color: #000;
}

.top_newsletter_btn {
	display: block;
	width: 290px;
	height: 52px;
	margin: 0 auto;
	background-image: url(/commons/images/btn_top_newsletter.png);
	background-size: 290px 52px;
	background-position: left top;
	background-repeat: no-repeat;
	cursor: pointer;
}



/* top_cont_block */

.top_cont_block_wrapper {
	padding: 100px 0 0;
	background-color: #fff;
	text-align: center;
}

.top_cont_block {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
	margin: 0 30px
}

.top_cont_block_btn_item {
	width: 33%;
}

.top_cont_block_btn {
	position: relative;
	display: block;
}

.top_cont_block_btn img {
	width: 100%;
	height: auto;
}

.top_cont_title {
	position: absolute;
	top: 40px;
	left: 30px;
	font-size: 32px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
}

.top_cont_subtitle {
	position: absolute;
	top: 85px;
	left: 30px;
	font-size: 16px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
}

.top_cont_link {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 42px;
	margin: -21px 0 0 -100px;
	font-size: 14px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #000;
	background: #fff;
}


/*top_company*/

.top_company_wrap {
	padding: 60px 0;
	background: #fff;
}

.top_company {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 900px;
	background-image: url(/commons/images/top_100A5661.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.top_company_title {
	padding: 0 0 10px 0.15em;
	font-size: 32px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #fff;
}

.top_company_subtitle {
	padding: 0 0 25px;
	font-family: 'Aldrich', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #fff;
}

.top_company_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 42px;
	font-size: 15px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.2em;
	color: #000;
	background: #fff;
}


/* top_contact_block */

.top_contact_block {
	width: 100%;
	height: auto;
	padding: 150px 0;
}

.top_contact_block_title {
	padding: 0 0 40px;
	text-align: center;
	font-size: 68px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}

.top_contact_btn {
	display: block;
	width: 82px;
	height: 82px;
	margin: 0 auto;
	background-image: url(/commons/images/btn_top_contact.png);
	background-size: 82px 82px;
	background-position: left top;
	background-repeat: no-repeat;
	cursor: pointer;
}



/* FOOTER */

.footer {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	background-color: #000;
	position: relative;
	z-index: 1;
}

.foot_nav {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: min(80vw, 1200px);
	height: auto;
	margin: 0 auto;
	padding: 80px 0 80px;
}


/*.foot_nav_column1 {
	width: 30%;
}

.foot_nav_column2 {
	width: 30%;
}

.foot_nav_column3 {
	width: 40%;
}*/

.foot_nav_block li {
	padding: 0 0 28px;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.foot_nav_block li a {
	color: #fff;
	text-decoration: none;
}

.foot_title {
	padding: 0 0 30px;
	font-size: 24px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family: 'Noto Serif JP', serif;*/
	font-weight: 400;
}

.foot_address {
	padding: 0 0 0px;
	font-size: 14px;
	line-height: 200%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.foot_tel {
	padding: 0 0 18px;
	font-size: 14px;
	line-height: 200%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.foot_url {
	padding: 0 0 50px;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.copyright {
	padding: 0 0 15px;
	text-align: center;
	font-size: 11px;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}


/*page top*/

.page_top {
	/*position: fixed;*/
	/*bottom: 265px;*/
	position: fixed;
	bottom: 107px;
	right: 40px;
	width: 52px;
	height: 52px;
	margin: 0;
	background: url(/commons/images/btn_page_top.png) top right no-repeat;
	background-size: cover;
	cursor: pointer;
	opacity: 1;
	transition: 0.6s;
	z-index: 15000;
}

.page_top:hover {
	opacity: 0.5;
}



/* screen */

.screen_wrap {
	width: 100%;
	height: 100%;
	position: relative;
}

.screen_caption {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 30px;
	margin: 0;
	color: #fff;
	text-align: left;
	z-index: 500;
}

.screen_title {
	display: inline-block;
	padding: 0 0 15px;
	font-size: 32px;
	line-height: 100%;
	letter-spacing: 0.3em;
	text-align: left;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}

.screen_subtitle {
	width: auto;
	height: 14px;
	padding: 0;
	text-align: left;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
}

.screen_item {
	display: inline-block;
	padding: 0 10px 0 0;
}

.screen_item:last-child {
	padding: 0;
}

.screen_item a {
	padding: 0 10px 0 0;
	color: #fff;
}


h1.about_title {
	font-size: 4em;
	font-weight: 400;
	line-height: 146%;
	letter-spacing: 0.02em;
	padding: 0;
}


/*about us*/

.about_screen {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	background: url(/commons/images/company_100A5690.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.about_wrapper {
	width: 100%;
	height: auto;
}

.about_wrap {
	padding: 0;
}

.about_cont {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 200px 0 100px;
}

.about_cont_wrap {
	position: relative;
	width: 1360px;
	height: auto;
	margin: 0 auto;
	/*border-left: 1px solid #ccc;*/
}

.about_title {
	padding: 0 0 20px;
	font-family: 'Noto Serif JP', serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #000;
	text-align: center;
}

.about_subtitle {
	padding: 0 0 70px;
	font-family: 'Aldrich', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #000;
	text-align: center;
}

.about_image_wrap {
	width: 800px;
	margin: 0 auto;
	padding: 0 0 150px;
}

.about_image {
	width: 100%;
	padding: 0 0 15px;
}

.about_image img {
	width: 100%;
	height: auto;
}

.about_cont p {
	padding: 0 0 40px 0;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	line-height: 200%;
	letter-spacing: 0.0em;
	text-align: justify;
	text-justify: auto;
	font-family: 'Noto Serif JP', serif;
}

.about_cont p.center {
	text-align: center;
}

.about_cont p.text20 {
	padding: 0 0 20px 0;
	font-size: 20px;
	font-weight: bold;
}

.about_cont a {
	font-size: 18px;
	font-weight: normal;
	color: #000;
	line-height: 200%;
	letter-spacing: 0.0em;
	text-decoration: underline;
}

.company_wrap {
	display: flex;
	flex-wrap: wrap;
	width: 800px;
	margin: 0 auto;
	padding: 30px 0 0;
	border-bottom: 1px solid #000;
}

.ptitle {
	display: flex;
	justify-content: space-between;
	width: 20%;
	padding: 20px 0;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	line-height: 160%;
	letter-spacing: 0.05em;
	text-align: justify;
	text-justify: auto;
	font-family: 'Noto Serif JP', serif;
	border-top: 1px solid #000;
}

.ptext {
	width: 80%;
	padding: 20px 0;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	line-height: 160%;
	letter-spacing: 0.05em;
	text-align: justify;
	text-justify: auto;
	font-family: 'Noto Serif JP', serif;
	border-top: 1px solid #000;
}


/*related_business*/

.related_business {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 800px;
	background-color: #000;
}

.related_business_image {
	width: 50%;
	height: 100%;
	background: url(/commons/images/bg_related_business2.jpg);
	background-size: cover;
	background-position: right top;
	background-repeat: no-repeat;
}

.related_business_image img {
	width: 100%;
	height: auto;
}

.related_business_info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 100%;
	color: #fff;
}

.related_business_title {
	padding: 0 0 20px;
	font-family: 'Noto Serif JP', serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #fff;
}

.related_business_subtitle {
	padding: 0 0 0px;
	font-family: 'Aldrich', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
}

.related_business_item {
	padding: 60px 0 15px;
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.2em;
	color: #fff;
}

.related_business_url {
	padding: 0 0 0px;
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 100%;
	letter-spacing: 0.2em;
	color: #0071bc;
}


/*access*/

.access_wrap {
	width: 100%;
	margin: 0;
	padding: 150px 0 125px;
	text-align: center;
}

.googlemap {
	width: 100%;
	padding: 55px 0;
}

.access_info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-family: 'Noto Serif JP', serif;
}

.access_title {
	padding: 50px 0 28px;
	font-size: 24px;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-weight: normal;
}

.access_address {
	font-size: 16px;
	padding: 0 0 12px;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-weight: normal;
}

.access_telfax {
	font-size: 16px;
	padding: 0 0 40px;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-weight: normal;
}

.tel {
	padding-right: 10px;
}

.googlemap_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 42px;
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	background: #000;
	font-family: 'Noto Sans JP', sans-serif;
}


/*news list*/

.news_header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 400px;
	margin: 200px 0 0;
	background: url(/commons/images/bg_news.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.news_header_title {
	padding: 0 0 20px;
	font-family: 'Noto Serif JP', serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #fff;
	text-align: center;
}

.news_header_subtitle {
	padding: 0;
	font-family: 'Aldrich', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}

.news_wrapper {
	width: 1200px;
	height: auto;
	margin: 0 auto;
	padding: 105px 0 0;
}

.news_wrap {
	padding: 0;
}

.news_list {
	padding: 50px 0;
	border-top: 1px solid #999999;
}

.news_list_item {
	display: flex;
	flex-direction: row;
}

.news_list_item_image {
	width: 320px;
	height: 180px;
	margin: 0 65px 0 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.news_list_info_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: calc( 100% - 385px);
	height: 180px;
	text-align: left;
}

.news_list_date {
	padding: 0 0 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #666;
	text-align: left;
}

.news_list_title {
	padding: 0 0 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 0.05em;
	color: #000;
	text-align: left;
}

.news_list_text {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 200%;
	letter-spacing: 0.05em;
	color: #666;
	text-align: left;
}


/*news single*/

.news_single_wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 1200px;
	height: auto;
	margin: 300px auto 0;
}

.news_single {
	width: 700px;
}

.news_sidebar {
	width: 400px;
	padding: 0 0 150px;
}

.news_single_image {
	width: 100%;
	height: auto;
}

.news_single_image img {
	width: 100%;
	height: auto;
}

.news_single_date {
	padding: 40px 0 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #666;
	text-align: center;
}

.news_single_title {
	padding: 0 0 60px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 180%;
	letter-spacing: 0.05em;
	color: #000;
	text-align: center;
}

.news_single_cat {
	padding: 0 0 60px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.05em;
	color: #666;
	text-align: center;
}

.news_single_content {
	padding: 0 0 170px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 200%;
	letter-spacing: 0.05em;
	color: #000;
	text-align: left;
}

.news_single_link_list {
	display: block;
	padding: 5px 0 35px;
	border-bottom: 1px solid #999;
	background-image: url(/commons/images/btn_arrow_grey.png);
	background-size: 41px 41px;
	background-position: right top;
	background-repeat: no-repeat;
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #000;
	text-align: left;
	cursor: pointer;
}

.news_single_side_title {
	padding: 35px 0 35px;
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #000;
	text-align: left;
}

.news_single_side_list_wrap {
	border-top: 1px solid #999;
}

.news_single_side_list {
	padding: 20px 0;
	border-bottom: 1px solid #999;
}

.news_single_side_item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.news_single_list_image {
	width: 172px;
	height: 98px;
	margin: 0;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.news_single_list_info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: calc( 100% - 200px);
	height: 98px;
	text-align: left;
}

.news_single_list_date {
	padding: 0 0 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 300;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #666;
	text-align: left;
}

.news_single_list_title {
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 160%;
	letter-spacing: 0.05em;
	color: #000;
	text-align: left;
}


/*estate*/

.estate_header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 400px;
	margin: 200px 0 0;
	background: url(/commons/images/bg_estate.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.estate_header_title {
	padding: 100px 0 20px;
	font-family: 'Noto Serif JP', serif;
	font-size: 34px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.3em;
	color: #fff;
	text-align: center;
}

.estate_header_subtitle {
	padding: 0;
	font-family: 'Aldrich', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
}

.estate_cat {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 60px 0 0;
}

.estate_cat_title {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 40px;
	margin: 0 10px;
	border: 1px solid #000;
	background: #fff;
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-family: 'Noto Sans JP', sans-serif;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px; 
}

.all, .sapporo, .niseko, .overseas, .others {
	opacity: 0.7;
}

.area-active {
	opacity: 1;
}

.estate_wrapper {
	margin: 0 30px;
	padding: 80px 0 0;
}

.estate_wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: normal;
	align-items: flex-start;
}

.estate_list {
	width: calc(25% - 22px);
	margin: 0 10px 80px;
	padding: 0;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.estate_list_item {
	display: block;
	cursor: pointer;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	opacity: 1;
	transition: 0.6s;
}

.top_news_item:hover {
	opacity: 0.5;
}

.estate_list_item_image {
	width: 100%;
	height: auto;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
}

.osusume,
.shinchaku,
.hanbai,
.syoudan,
.syuuryou {
	position: relative;
}

.osusume::before {
		content: "";
		top: 0;
		right: 0;
		border-bottom: 5em solid transparent;
		border-right: 5em solid #ff0000; /* ラベルの色はここで変更 */
		position: absolute;
		z-index: 100;
}
.osusume::after {
		content: "おすすめ";
		display: block;
		top: 18px;
		transform: rotate(45deg);
		color: #fff; /* 文字色はここで変更 */
		font-size: 13px;
		font-weight: bold;
		right: 0;
		position: absolute;
		z-index: 101;
}

.shinchaku::before {
		content: "";
		top: 0;
		right: 0;
		border-bottom: 5em solid transparent;
		border-right: 5em solid #009245; /* ラベルの色はここで変更 */
		position: absolute;
		z-index: 100;
}
.shinchaku::after {
		content: "新　着";
		display: block;
		top: 18px;
		transform: rotate(45deg);
		color: #fff; /* 文字色はここで変更 */
		font-size: 13px;
		font-weight: bold;
		right: 0;
		position: absolute;
		z-index: 101;
}

.hanbai::before {
		content: "";
		top: 0;
		right: 0;
		border-bottom: 5em solid transparent;
		border-right: 5em solid purple; /* ラベルの色はここで変更 */
		position: absolute;
		z-index: 100;
}
.hanbai::after {
		content: "販売中";
		padding: 0 10px;
		display: block;
		top: 18px;
		transform: rotate(45deg);
		color: #fff; /* 文字色はここで変更 */
		font-size: 13px;
		font-weight: bold;
		right: 0;
		position: absolute;
		z-index: 101;
}

.syoudan::before {
		content: "";
		top: 0;
		right: 0;
		border-bottom: 5em solid transparent;
		border-right: 5em solid navy; /* ラベルの色はここで変更 */
		position: absolute;
		z-index: 100;
}
.syoudan::after {
		content: "商談中";
		padding: 0 10px;
		display: block;
		top: 18px;
		transform: rotate(45deg);
		color: #fff; /* 文字色はここで変更 */
		font-size: 13px;
		font-weight: bold;
		right: 0;
		position: absolute;
		z-index: 101;
}

.syuuryou::before {
		content: "";
		top: 0;
		right: 0;
		border-bottom: 5em solid transparent;
		border-right: 5em solid #000; /* ラベルの色はここで変更 */
		position: absolute;
		z-index: 100;
}
.syuuryou::after {
		content: "販売終了";
		display: block;
		top: 18px;
		transform: rotate(45deg);
		color: #fff; /* 文字色はここで変更 */
		font-size: 13px;
		font-weight: bold;
		right: 0;
		position: absolute;
		z-index: 101;
}



.estate_list_status {
	position: absolute;
	top: 0;
	right: 0;
}

.estate_list_info_wrap {
	border-top: 1px solid #ccc;
}

.estate_list_info_wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0;
}

.estate_list_info_full {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.estate_list_info_half {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 50%;
}

.estate_list_info_label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 40px;
	background: #eee8e0;
	color: #000;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.estate_list_info_cont {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 70px);
	height: 40px;
	padding: 0 0 0 10px;
	color: #000;
	font-size: 14px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.estate_list_tagcloud {
	padding: 20px;
	text-align: left;
}

.estate_list_tag {
	display: inline-block;
	margin: 0 2px 5px;
	padding: 5px 10px 4px;
	background: #ec9935;
	color: #fff;
	font-size: 11px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.01em;
	border-radius: 12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px; 
}

.estate_list_info_cont {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 70px);
	height: 40px;
	padding: 0 0 0 10px;
	color: #000;
	font-size: 14px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.estate_list_info_contact {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 0 0 10px;
	color: #603813;
	font-size: 13px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
	border: 1px solid #603813;
}

.estate_list_info_detail {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 0 0 10px;
	background: #603813;
	color: #fff;
	font-size: 13px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
	border: 1px solid #603813;
}

.not_found {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 500px;
	padding: 0 0 100px;
	color: #000;
	font-size: 24px;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-weight: 400;
}



/*estate single*/

.estate_single_header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 400px;
	margin: 200px 0 0;
	background: url(/commons/images/bg_estate.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/*single*/

.single {
	width: 1000px;
	margin: 0 auto;
	padding: 70px 0;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
}

.single_status {
	display: inline-block;
	margin: 0 0 30px;
	padding: 7px 30px;
	background: #000;
	color: #fff;
	font-size: 13px;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-weight: 400;
}

.single_title {
	padding: 0 0 50px;
	color: #000;
	font-size: 36px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}

.single_price {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: flex-end;
	padding: 0 0 40px;
	border-bottom: 1px solid #999;
}

.single_price_title {
	color: #000;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-weight: 300;
}

.single_price_price {
	padding: 0 0.5em 0 1em;
	color: #666;
	font-size: 24px;
	line-height: 100%;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.single_price_yen {
	color: #000;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.1em;v
	font-weight: 300;
}

.single_upper_info_wrap {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	padding: 60px 0;
}

.single_upper_info_left {
	width: 738px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.single_upper_info_full {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.single_upper_info_half {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 50%;
}

.single_info_label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 40px;
	background: #eee8e0;
	color: #000;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.single_info_cont {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 100px);
	height: 40px;
	padding: 0 0 0 20px;
	color: #000;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.adjh {
	height: auto;
	padding: 10px 0;
}

.tagcloud {
	padding: 20px;
	text-align: center;
}

.single .tagcloud a {
	margin: 0 2px;
	padding: 5px 20px 6px;
	background: #ec9935;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.01em;
	border-radius: 14px;
	-webkit-border-radius: 14px;
	-moz-border-radius: 14px; 
}

.single .tagcloud a:hover {
	text-decoration: none;
}

.single_upper_info_right {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	width: 225px;
}

.estate_id_wrap {
	width: calc(100% - 2px);
	margin: 0 0 35px;
	border: 1px solid #603813;;
}

.estate_id_label {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 27px;
	background: #603813;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.05em;
}

.estate_id {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 55px;
	color: #000;
	font-size: 18px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.2em;
}

.estate_brown_btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 42px;
	margin: 0 0 10px;
	background: #603813;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.05em;
}

.estate_white_btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	margin: 0 0 10px;
	border: 1px solid #603813;
	color: #603813;
	font-size: 12px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.05em;
}

.estate_brown_btn:hover,
.estate_white_btn:hover {
	text-decoration: none;
}

.single_lower_info_wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	width: 998px;
	margin: 0 0 20px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.single_lower_info_full {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.single_lower_info_half {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 50%;
}

.single_lower_info_label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 130px;
	height: 40px;
	background: #eee8e0;
	color: #000;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.single_lower_info_cont {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 150px);
	height: 40px;
	padding: 0 0 0 20px;
	color: #000;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.single_lower_info_label_large {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 130px;
	height: 180px;
	padding: 25px 0 20px;
	background: #eee8e0;
	color: #000;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.single_lower_info_cont_large {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: calc(100% - 150px);
	height: 180px;
	padding: 20px 0 20px 20px;
	color: #000;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 300;
}

.estate_movie_wrapper {
	padding: 0 0 50px;
}

.estate_google_map {
	width: 100%;
	height: 450px;
}

.estate_footer_info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px 0 170px;
}

.estate_footer_info_title {
	padding: 0 0 20px;
	color: #000;
	font-size: 24px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.estate_footer_info_address {
	padding: 0 0 30px;
	color: #000;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.estate_black_btn {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 42px;
	margin: 0 0 10px;
	background: #000;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: 100%;
	letter-spacing: 0.05em;
}


/*estate slider*/

.estate_flex_wrapper {
	width: 100%;
	padding: 60px 0 100px;
}

.flex-viewport{
	width: 1000px;
	height: 563px;
	background: #f5f5f5;
}

.estate_flexslider .slides img{
	height: 563px;
	width: auto;
}

.flex-control-thumbs {
	margin: 0 0 0 -5px;
}

.flex-control-thumbs li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90px;
	height: 90px;
	border: solid 5px #fff;
	float: left;
	margin: 0;
	overflow: hidden;
	background: #f5f5f5;
}

.flex-control-thumbs img {
	height: 90px;
	width: auto;
}









/*page*/

.page_single {
	width: 700px;
	margin: 0 auto;
}

.news_single_content h2 {
	padding: 0 0 70px;
	color: #000;
	font-size: 36px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}

.news_single_content h3 {
	margin: 0 0 15px;
	padding: 0 0 15px;
	color: #000;
	font-size: 21px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 500;
	border-bottom: 1px dotted #ccc;
}

.news_single_content h4 {
	padding: 0 0 10px;
	color: #000;
	font-size: 20px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 500;
}

.news_single_content h5 {
	padding: 0 0 5px;
	color: #000;
	font-size: 18px;
	line-height: 140%;
	letter-spacing: 0.05em;
	text-align: left;
	font-weight: 500;
}

.news_single_content .right { 
	text-align: right;
}

.news_single_content p {
	padding: 0 0 60px 0;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	line-height: 200%;
	letter-spacing: 0.0em;
	text-align: justify;
	text-justify: auto;
}

.news_single_content p.center {
	text-align: center;
}

.news_single_content a {
	color: navy;
	opacity: 1;
	transition: 0.5s;
	text-decoration: underline;
}

.news_single_content a:hover {
	text-decoration: underline;
	opacity: 0.5;
}

.news_single_content a img {
	/*display: block;*/
	width: 100%;
	height: auto;
	margin: 0 auto;
	opacity: 1;
	transition: 0.5s;
}

.news_single_content a img:hover {
	opacity: 0.5;
}

.news_single_content img {
	/*display: block;*/
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.news_single_content ul,
.news_single_content ol {
	padding: 10px 0 30px;
	list-style-type: disc;
	list-style-position: inside;
}

.news_single_content ul li,
.news_single_content ul li {
	padding: 5px 0;
}

pre {
	background: #ddd;
	word-wrap: break-word;
	overflow: auto;
	white-space: pre-wrap;
	padding: 24px;
	padding: 1.41176rem;
	color: #000;
	font-size: 14px;
	font-weight: normal;
	color: #000;
	line-height: 200%;
	letter-spacing: 0.0em;
	text-align: justify;
	text-justify: auto;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto;
}

strong { font-weight: bold; }




/*paging*/

.paging {
	width: 1200px;
	margin:  0 auto;
	padding: 50px 0 170px;
	text-align: center;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #999;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	border-top: 1px solid #999;
}

.paging_m {
	margin:  0 30px;
	padding: 0 0 170px;
	text-align: center;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0.01em;
	color: #999;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.page-numbers {
	margin: 0 20px;
	padding: 0 5px 5px;
	color: #999;
}

.current {
	margin: 0 20px;
	padding: 0 5px 5px;
	color: #999;
	border-bottom: 1px solid #999;
}

.news_next, .news_prev {
	float: left;
	width: 50%;
	font-size: 14px;
}

.news_next {
	text-align: right;
}

.news_prev {
	text-align: left;
}

.news_next a,
 .news_prev a {
	color: #000;
	text-decoration: none;
	}


/*pagenavi*/

.page,
.previouspostslink,
.nextpostslink {
	margin: 0 20px;
	padding: 0 5px 5px;
	color: #999;
}



::placeholder {
	-webkit-text-security: none;
	color: darkgray;
	pointer-events: none;
}




/* forms */

.wpcf7 {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

form.wpcf7-form {
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.single form.wpcf7-form p {
	padding: 0 0 20px 0;
}

.contact_left {
	float: left;
	width: 700px;
	padding: 0;
}

.contact_right {
	float: left;
	width: 700px;
	padding: 10px 0 20px 0;
}

.news_single_content form p {
padding: 0 0 10px 0;
}

form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"],
form.wpcf7-form input[type="tel"] {
	width: 100%;
	height: 40px;
	margin: 0 0 20px 0;
	font-size: 16px;
	padding: 10px;
	letter-spacing: 0.1em;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

form.wpcf7-form textarea {
	width: 100%;
	height: 160px;
	margin: 0 0 20px 0;
	font-size: 16px;
	padding: 10px;
	letter-spacing: 0.1em;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

form.wpcf7-form input[type="number"] {
	width: 250px;
	height: 40px;
	margin: 0 0 30px 0;
	font-size: 16px;
	padding: 10px;
	letter-spacing: 0.1em;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

form.wpcf7-form .wpcf7-select {
	width: 150px;
	height: 50px;
	margin: 0 0 30px 0;
	font-size: 16px;
	padding: 15px;
	letter-spacing: 0.1em;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

span.wpcf7-list-item {
	width: 100%;
	display: inline-block;
	margin: 10px 0 20px 0;
}

.wpcf7-radio span.wpcf7-list-item,
.wpcf7-radio span.wpcf7-list-item.first {
	width: 80px;
	display: inline-block;
	margin: 10px 0 20px 0;
}

.wpcf7-radio span.wpcf7-list-item.last {
	width: 140px;
	display: inline-block;
	margin: 10px 0 20px 0;
}

input[type=radio],
input[type=checkbox] {
	width: 20px;
	height: 20px;
	margin: 0 0 20px 0;
	font-size: 16px;
	padding: 10px;
	letter-spacing: 0.1em;
	border: 1px solid #ccc;
	border-radius: 0;
}

form.wpcf7-form input::placeholder,
form.wpcf7-form textarea::placeholder  {
	color: #999;
}

.smallcap {
	font-size: 0.8em;
	font-weight: normal;
	color: #999;
	line-height: 100%;
	letter-spacing: 0.05em;
}

/*-----------------------------------*/
input::placeholder,
textarea::placeholder {
	color: #575757;
	font-size: 18px;
}

input[type="submit"].wpcf7-confirm {
	border: 0px;
	width: 698px;
	height: 60px;
	padding: 0 0 0;
	font-size: 20px;
	color: #fff;
	text-align: center;
	background: #000;
	cursor: pointer;
	opacity: 1;
	transition: 0.6s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
}

input[type="submit"].wpcf7-confirm:hover {
	color: #fff;
}

input[type="submit"].wpcf7-submit {
	border: 0px;
	width: 48%;
	height: 60px;
	padding: 0 0 0 0;
	font-size: 20px;
	color: #fff;
	text-align: center;
	background: #000;
	cursor: pointer;
	opacity: 1;
	transition: 0.6s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
}

input[type="submit"].wpcf7-submit:hover {
	color: #fff;
	background-image: url(/commons/images/btn_frame_over.png);
}

input[type="button"].wpcf7-back {
	border: 0px;
	width: 48%;
	height: 60px;
	margin: 0 2% 0 0;
	font-size: 20px;
	color: #fff;
	text-align: center;
	background: #000;
	cursor: pointer;
	opacity: 1;
	transition: 0.6s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	transition: 0.6s;
}

input[type="button"].wpcf7-back:hover {
	opacity: 0.5;
}

.contact_small {
	padding: 30px 0 0;
	font-size: 14px;
	color: #000;
	text-align: left;
	line-height: 240%;
}

.contact_small a {
	color: navy;
}

.wpcf7-response-output {
	color: #ff0000;
	font-size: 13px;
	padding:  20px 0 0 100px;
}

.wpcf7 .screen-reader-response {
	position: absolute;
	top: -110px;
	right: 0;
	color: #c5ff00;
	font-size: 13px;
	clip: auto;
	height: auto;
	width: auto;
}

.screen-reader-response ul {
	display: none;
}

.wpcf7c-conf {
	background-color: ccc;
	color: #000;
	border: none;
}

/*thank you*/

.complete_wrapper {
	display: table;
	width: 80%;
	height: 500px;
	margin: 200px auto 0;
	text-align: center;
}

.complete_content {
	display: table-cell;
	vertical-align: middle;
}

h2.complete_title {
	font-size: 32px;
	color: #000;
	letter-spacing: 0.2em;
	line-height: 100%;
	padding: 0 0 45px 0;
	font-family: 'Aldrich', sans-serif;
	font-weight: 400;
	text-align: center;
}

.complete_text {
	color: #000;
	text-align: center;
	font-size: 18px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 200%;
}

/*--------------------------------------------*/

.bold { font-weight: bold; }
.f500 { font-weight: 500; }

.full {
	max-width: 100%;
	padding: 0;
}

.half-full{ width: 50%; }
.hide { display: block; }

.height-first {
	height: 100%;
}

.height-first img {
	height: 100%;
	width: auto;
}

.h380 { height:380px; }
.h125 { height:125px; }

.center { text-align: center; }
.jc-center { justify-content: center; }

.right { text-align: right; }

.ti-1em { text-indent:-1em; }

.p0 { padding:0; }

.ml-10 { margin-left: -10px; }

.no-margin { margin: 0; }
.m-right { margin-right: 1.2%; }
.m-right56 { margin-right: 5.6%; }

.mt30 { margin-top: 30px;}
.mt60 { margin-top: 60px;}
.mb0 { margin-bottom: 0; }
.mb40 { margin-bottom: 40px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
p.tb { margin-bottom: 30px;}
p.small { 
	font-size: 0.8em; 
	line-height: 200%;
	margin-bottom: 50px;
}

.pc_tb { display: inline-block; }
.tb_sp { display: none; }
.pc { display: block; }
.tb { display: none; }
.sp { display: none; }
