@charset "utf-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;text-decoration:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

* {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	box-sizing: border-box;
	color: #333;
}
body {
	text-align: center;
}
img {
	width: auto;
	max-width: 100%;
	height: auto;
}
ul,ol,li {
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

#main_header {
	position: relative;
	max-width: 1200px;
	margin: auto;
}
#main_header section {
	position: relative;
	max-width: 1200px;
	margin: auto;
	padding: 6em 5%;
}
#main_header section .main_logo {
	margin: 0 auto;
	padding: 0 5%;
	font-size: 1em;
	line-height: 1;
}
#main_header nav.menu_right_mini {
	position: absolute;
	top: 6.8em;
	right: 0;
	margin: auto;
}
@media screen and (max-width: 1300px) {
	#main_header nav.menu_right_mini {
		right: 2%;
	}
}
#main_header nav.menu_right_mini ul {
	font-size: 0.8em;
}
#main_header nav.menu_right_mini ul li {
	display: inline;
	margin: 0 0 0 1.5em;
}
#main_header nav.menu_right_mini ul a {
	color: #333;
	border-bottom: 1px solid #333;
	transition: all 0.5s 0s ease;
}
#main_header nav.menu_right_mini ul a:hover {
	border-bottom: 1px solid #FFF;
}
#main_header nav.menu_main {
	max-width: 1200px;
	margin: 0 auto 2.5em auto;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1300px) {
	#main_header nav.menu_main {
		font-size: 0.9em;
	}
}
#main_header nav.menu_main ul li {
	display: inline-block;
	margin: 0 1em 0.5em 0;
}
#main_header nav.menu_main ul li::before {
	content: "｜";
	display: inline-block;
	margin: 0 1em 0 0;
	color: #CCC;
}
#main_header nav.menu_main ul li:first-child::before {
	content: "";
}
#main_header nav.menu_main ul li a {
	color: #333;
	transition: all 0.5s 0s ease;
	border-bottom: 1px solid #FFF;
}
#main_header nav.menu_main ul li a:hover {
	border-bottom: 1px solid #333;
}
#main_header .smp {
	display: none;
}
#main_header nav.menu_right_mini ul li.smp {
	display: none;
}

#main_header.smp_menu {
	height: 4rem;
}
#main_header.smp_menu section {
	position: fixed;
	width: 100%;
	box-sizing: border-box;
	height: 4rem;
	padding: 1.3em 3% 0 3%;
	background-color: #FFF;
	z-index: 100;
}
#main_header.smp_menu section .main_logo img {
	max-height: 1.5rem;
}
@media screen and (max-width: 460px) {
	#main_header.smp_menu section .main_logo {
		margin-right: 10%;
	}
}
#main_header section .smp_barger {
	display: none;
}
#main_header.smp_menu section .smp_barger {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3%;
	z-index: 100;
	display: block;
	height: 2.0rem;
	width: 2.0rem;
	padding: 0;
	margin: auto;
	cursor: pointer;
	transition: all 0.5s 0s ease;
}
#main_header.smp_menu .smp_barger .button {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	content: "";
	border: none;
	background-color: #999;
	height: 3px;
	width: 28px;
	border-radius: 6px;
	transition: all 0.5s 0s ease;
}
#main_header.smp_menu .smp_barger .button::before,
#main_header.smp_menu .smp_barger .button::after {
	position: absolute;
	left: 0;
	display: block;
	content: "";
	background-color: #999;
	height: 3px;
	width: 28px;
	border-radius: 6px;
	transition: all 0.5s 0s ease;
}
#main_header.smp_menu .smp_barger .button::before {
	top: 9px;
}
#main_header.smp_menu .smp_barger .button::after {
	bottom: 9px;
}
#main_header.smp_menu .smp_barger:hover .button,
#main_header.smp_menu .smp_barger:hover .button::before,
#main_header.smp_menu .smp_barger:hover .button::after {
	background-color: #666;
}
#main_header.smp_menu .smp_barger span {
	visibility: hidden;
}
#main_header.smp_menu.open .smp_barger .button {
	background-color: transparent;
}
#main_header.smp_menu.open .smp_barger .button::before {
	transform: rotate(-135deg);
	top: 0;
}
#main_header.smp_menu.open .smp_barger .button::after {
	transform: rotate(135deg);
	bottom: auto;
	top: 0;
}

#main_header.smp_menu .smp_menu_box {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	margin: 4rem 0 0 0;
	padding: 1rem 5%;
	background-color: #FFF;
	opacity: 0.9;
	z-index: 200;
	overflow: auto;
}
#main_header.smp_menu .smp {
	display: block;
}
#main_header.smp_menu .smp_menu_box .smp_sns {
	margin-bottom: 1.5rem;
}
#main_header.smp_menu .smp_menu_box .smp_sns li {
	display: inline-block;
	margin: 0 0.5em;
}
#main_header.smp_menu .smp_menu_box .smp_okochi {
	display: block;
	margin: auto;
	max-width: 150px;
}

#main_header.smp_menu .smp_menu_box .menu_right_mini {
	position: relative;
	top: auto;
	right: auto;
}
#main_header.smp_menu .smp_menu_box nav.menu_right_mini ul {
	margin-bottom: 1.5rem;
	font-size: 1rem;
}
#main_header.smp_menu .smp_menu_box nav.menu_right_mini ul li {
	margin: 0 0.5em 1em 0.5em;
	display: inline-block;
}
#main_header.smp_menu .smp_menu_box nav.menu_right_mini ul a {
	border-bottom: none;
}
#main_header.smp_menu .smp_menu_box nav.menu_right_mini ul a:hover {
	border-bottom: none;
}
#main_header.smp_menu .smp_menu_box nav.menu_main {
	margin: 0 0 1.5em 0;
}
#main_header.smp_menu .smp_menu_box nav.menu_main ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;
	border-bottom: 1px solid #CCC;
	border-right: 1px solid #CCC;
}
#main_header.smp_menu .smp_menu_box nav.menu_main ul li {
	width: 50%;
	margin: 0;
	align-self: stretch;
	border-top: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
@media screen and (max-width: 640px) {
	#main_header.smp_menu .smp_menu_box nav.menu_main ul li {
		width: 100%;
	}
}
#main_header.smp_menu .smp_menu_box nav.menu_main ul li a {
	display: block;
	padding: 1em;
	height: 100%;
	font-size: 1rem;
	letter-spacing: 0;
	border-bottom: none;
}
#main_header.smp_menu .smp_menu_box nav.menu_main ul li a:hover {
	border-bottom: none;
}
#main_header.smp_menu .smp_menu_box nav.menu_main ul li::before {
	content: "";
	display: none;
	margin: 0;
}

#main_footer {
	width: 100%;
}
#main_footer > section {
	width: 100%;
	background-color: #F5F5F5;
	padding: 5em 5%;
}
#main_footer > section {
	width: 100%;
	background-color: #F5F5F5;
	padding: 5em 5%;
}
#main_footer .main_footer_top {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: auto;
}
#main_footer .main_footer_company {
	text-align: left;
}
#main_footer .main_footer_company h2 {
	max-width: 350px;
	margin: 0 0 1.5rem 0;
	padding: 0;
}
#main_footer .main_footer_company address {
	margin: 0 0 1.5rem 0;
	font-size: 0.9rem;
	line-height: 2;
	font-style: normal;
}
#main_footer .main_footer_company address a {
	color: #333;
}
#main_footer .main_footer_company ul {
	margin: 0;
	padding: 0;
}
#main_footer .main_footer_company ul li {
	display: inline-block;
	margin-right: 1.5em;
}

#main_footer .main_footer_menu nav {
	display: flex;
	justify-content: flex-end;
}
#main_footer .main_footer_menu nav ul {
	margin: 0 7em 0 0;
	padding: 0;
	font-size: 0.9em;
}
#main_footer .main_footer_menu nav ul li {
	text-align: left;
	margin: 0 0 1.7em 0;
	padding: 0;
}
#main_footer .main_footer_menu nav ul li a {
	color: #333;
	transition: all 0.5s 0s ease;
	border-bottom: 1px solid rgba(0,0,0,0.00);
}
#main_footer .main_footer_menu nav ul li a:hover {
	border-bottom: 1px solid #333;
}
#main_footer .main_footer_bottom {
	padding: 3em;
	text-align: center;
}
#main_footer .main_footer_bottom a {
	display: block;
	margin-bottom: 2.5em;
}

#main_footer .main_footer_bottom span {
	font-size: 0.8em;
}
@media screen and (max-width: 1100px) {
	#main_footer .main_footer_menu nav ul {
		margin: 0 2em 0 0;
	}
	#main_footer .main_footer_menu nav ul:last-child {
		margin: 0;
	}
}
@media screen and (max-width: 860px) {
	#main_footer > section {
		padding: 3em 5%;
	}
	#main_footer .main_footer_top {
		display: block;
	}
	#main_footer .main_footer_company h2 {
		margin: 0 auto 1.5rem auto;
	}
	#main_footer .main_footer_company {
		text-align: center;
	}
	#main_footer .main_footer_menu {
		display: none;
	}
	#main_footer .main_footer_company ul li {
		margin: 0 1.0em;
	}
}


.title_udl {
	position: relative;
	margin: 0 0.1em 1.0em 0;
	padding: 0;
	font-size: 1.5em;
	font-weight: normal;
	font-style: italic;
	letter-spacing: 0.05em;
	font-family: Arial, Helvetica, "sans-serif";
	color: #333;
}
.title_udl::after {
	content: "";
	display: block;
	width: 1.5em;
	margin: 0.4em auto 0 auto;
	border-bottom: 1px solid #333;
}
.title_und {
	margin: 0 0 3.5em 0;
	padding: 0;
	font-size: 1.25em;
	font-weight: bold;
	color: #333;
}


.box_contact {
	max-width: 1200px;
	margin: 0 auto 12em auto;
	padding: 5em 5% 0 5%;
	border-top: 1px solid #EBEBEB;
}
.box_contact section {
	max-width: 1000px;
	margin: auto;
}
.box_contact_telmail {
	display: flex;
	justify-content: space-between;
}
.box_contact_telmail img {
	display: block;
	margin: 0 auto 2em auto;
}
.box_contact_telmail a {
	color: #333;
	text-decoration: none;
}
.box_contact_tel a span {
	display: block;
	margin-bottom: 0rem;
	line-height: 1.4;
	font-size: 1.5em;
	font-style: italic;
	letter-spacing: 0em;
	font-family: Arial, Helvetica, "sans-serif";
}
.box_contact_tel small {
	display: block;
	font-size: 0.8em;
	letter-spacing: 0.1em;
	margin-top: 1.5em;
}
.box_contact_mail a {
	display: block;
	width: 20em;
	max-width: 100%;
	padding: 1.1em 2em;
	border: 1px solid #333;
	border-radius: 3em;
	font-size: 1.1em;
	transition: all 0.5s 0s ease;
}
.box_contact_mail a:hover {
	background-color: #333;
	color: #FFF;
}
@media screen and (max-width: 860px) {
	.box_contact {
		margin: 2em auto 4em auto;
	}
	.box_contact_telmail {
		display: block;
	}
	.box_contact_tel a span {
		font-size: 2.0em;
	}
	.box_contact_tel small {
		letter-spacing: 0em;
		margin-bottom: 4rem;
	}
	.box_contact_mail a {
		padding: 1.1em 1em;
		font-size: 1.0em;
		margin: auto;
	}
}

.box_foot_ban {
	width: 100%;
	padding: 4em 5%;
	background-color: #EEE;
}
.box_foot_ban section {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.box_foot_ban section div {
	max-width: 49%;
}
@media screen and (max-width: 860px) {
	.box_foot_ban {
		padding: 2em 5%;
	}
	.box_foot_ban section {
		display: block;
	}
	.box_foot_ban section div {
		max-width: 100%;
		margin: 0.5em auto;
	}
}

/*
.box_news > section .but_more {
	display: inline-block;
	width: auto;
	padding: 0.6em 4em;
	border: 1px solid #CCC;
	border-radius: 3em;
	font-size: 1.1em;
	transition: all 0.5s 0s ease;
	color: #333;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: normal;
	font-style: italic;
	text-align: center;
}
.box_news > section .but_more:hover {
	background-color: #333;
	border-color: #333;
	color: #FFF;
}
*/
.but_more {
	display: inline-block;
	width: auto;
	padding: 0.6em 4em;
	border: 1px solid #CCC;
	border-radius: 3em;
	font-size: 1.1em;
	transition: all 0.5s 0s ease;
	color: #333;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: normal;
	font-style: italic;
	text-align: center;
}
.but_more:hover {
	background-color: #333;
	border-color: #333;
	color: #FFF;
}
.but_normal {
	display: inline-block;
	width: auto;
	padding: 0.8em 2.5em;
	border: 1px solid #CCC;
	border-radius: 3em;
	font-size: 1.1em;
	transition: all 0.5s 0s ease;
	color: #333;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: normal;
	font-style: italic;
	text-align: center;
}
.but_normal:hover {
	background-color: #333;
	border-color: #333;
	color: #FFF;
}


.page_top {
	position: relative;
	display: block;
	width: 100%;
	height: 0px;
}
.page_top span {
	visibility: hidden;
}
.page_top a {
	content: "";
	display: none;
	position: fixed;
	right: 0;
	bottom: 0;
	width: 4em;
	height: 4em;
	background-color: #333;
	color: #FFF;
	cursor: pointer;
	opacity: 0.8;
}
.page_top a:hover {
	opacity: 1;
}
.page_top a::after {
	content: "";
	display: block;
	position: absolute;
	right: 1.5em;
	bottom: 1.9em;
	margin: auto;
	color: #FFF;
	width: 0.5em;
	height: 0.5em;
	border: 1px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
	cursor: pointer;
}