@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');
	
/*-----------------------------------

	base

-----------------------------------*/
html {
	overflow-y: auto;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: 'Noto Serif CJK JP',serif;
	font-size: 18px;
	font-size: 1.8em;
	color: #464646;
	line-height: 1.8em;
	letter-spacing:0.3rem;
	font-weight:500;
	background: #fcfcfc;
	margin:0 !important;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
.min{
	font-family:'Noto Sans CJK JP', "メイリオ", sans-serif;
	letter-spacing: 0.4rem;
}
.fw700{
	font-weight:700;
}
.contents_inner{
	width: 1200px;
	margin: 0 auto;
}
img {
	max-width: 100%;
	height: auto;
}
a, a:link, a:visited {
	color: #464646;
	text-decoration:none;
	cursor: pointer;
}
a:hover {
	color:#6e6e6e;
	text-decoration:none;
}
a:hover img {
	transition: all .3s;
	opacity: 0.7;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}
a.link{
	display:inline-block;
	position:relative;
}
a.link:after {
	content: "";
	width: 100%;
	height: 2px;
	background:#464646; 
	position: absolute;
	bottom: -5px;
	left: 0;
	transition: 0.2s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
}
a.link:hover:after{
	height: 0;
	bottom: -5px;	
}
a.link_btn{
	font-size: 18px;
	display: inline-block;
	padding: 20px 30px;
	border: solid 2px #464646;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
}
a.link_btn:hover{
	color: #fff;
	background:#6e6e6e;
	border: solid 2px rgba(0,0,0,0.00);
}
.over{
	/*overflow:hidden !important;*/
	height:100% !important;
}
.sp{
	display:none;
}
.tab{
	display:none;
}
.pc{
	display:block;
}
.left{
	float: left;
}
.right{
	float: right;
}
h2,h3,h4,h5{
	font-weight: 500;
}
.sec_60{
	padding: 60px 0;
}
@media screen and (max-width: 1199px) {
	.contents_inner{
		width: 95%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 980px) {
	.sp{
		display:none;
	}
	.pc{
		display:none;
	}
	.tab{
		display:block;
	}
}
@media screen and (max-width: 740px) {
	body {
		font-size: 14px;
		font-size: 1.4em;
		font-family: "游明朝体", 'Yu Mincho', 'YuMincho', 'Noto Serif JP', serif;
		font-weight: 500;
		line-height: 1.6em;
		letter-spacing: 0.2rem;
	}
	a.link:after {
		top: 0px;
	}
	a.link_btn{
		width: 80%;
		font-size: 15px;
		font-size: 1.5rem;
		padding: 20px 0;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	.sec_60{
		padding: 40px 0;
	}
}
/*-----------------------------------

	clearfix

-----------------------------------*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}


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

	nav

-----------------------------------*/
nav#nav_pc{
	width: 100%;
	height: 70px;
	background: #fff;
	position: absolute;
	left: 0px;
	bottom: 0px;
	z-index: 998;
	margin-bottom: 0px;
}
nav#nav_pc li{
	width: 14%;
	height: 70px;
	text-align:center;
	float: left;
	cursor:pointer;
	box-sizing:border-box;
}
nav#nav_pc li a{
	font-size: 18px;
	height: 70px;
	display: block;
	line-height:1.6rem;
	padding: 20px 0;
	transition: all .3s;
	box-sizing:border-box;
}
nav#nav_pc li:first-child {
	width: 5%;
}
nav#nav_pc li:first-child p{
	width: 30px;
	margin: 0 auto;
}
nav#nav_pc li:nth-child(4),
nav#nav_pc li:nth-child(7){
	width: 12%;
}
nav#nav_pc li:nth-child(8){
	width: 15%;
}
nav#nav_pc li a span{
	font-size: 10px;
	color: #a2a2a2;
}
nav#nav_pc li a:hover{
	margin-top: -5px;
}
nav#nav_pc  .sub_menu {
	width: 100%;
	visibility: hidden;
	background: rgba(30,30,30,0.85);
	display: block;
	position: absolute;
	top: 70px;
	left: 0;
	 opacity: 0;
	z-index: 1;
	padding: 10px 2.5%;
	box-sizing:border-box;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
  }
nav#nav_pc  .sub_menu li{
	width: 25%;
	height: auto !important;
	padding: 0;
}
nav#nav_pc  .sub_menu a {
	width: 100%;
	font-size: 15px;
	height: auto !important;
	color:#fff;
	line-height:1.6rem;
	text-align:left;
	padding: 10px 10px 10px 15px;
	display:block;
	border: none;
	position: relative;
 }
nav#nav_pc  .sub_menu a::before {
	content: "";
	width: 10px;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
}
 nav#nav_pc  .sub_menu a:hover{
	 color: #7F7F7F!important;
	 background: none;
	 margin-top: 0;
 }

nav#nav_pc  li:hover .sub_menu {
	visibility: visible;
	opacity: 1;
	z-index: 9999;
}
.fixed {
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 1000;
}
@media screen and (max-width: 1099px){
	nav#nav_pc li a{
		font-size: 14px;
		letter-spacing: 0.2rem;
	}
}
@media screen and (max-width: 980px){
	nav#nav_pc {
		display: none;
	}
}
/*-----------------------------------

	sp_menu

-----------------------------------*/
#sp_menu {
	height: 68px;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 998;
	width: 100%;
}
#sp_menu ul {
	width: 100%;
}
#sp_menu li {
	width: 25%;
	float: left;
}
#sp_menu li a, #sp_menu li span {
	display: block;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
	padding: 10px 0;
	box-sizing:border-box;
}
#sp_menu li a, #sp_menu li span {
	height: 68px;
	display: block;
	text-decoration: none;
	text-align: center;
}

#sp_menu li a:before, 
	#sp_menu li span:before {
	margin: 0 auto 2px;
	display: block;
	line-height: 1;
}
#sp_menu li:first-child a{
	background: #e46161;
}
#sp_menu li:first-child a:before{
	width: 25px;
	content: url(../img/common/icon_tel_w.svg);
}
#sp_menu li:first-child a:hover{
	background: #f77b7b;
}
#sp_menu li:nth-child(2) a {
	background: #d2b97d;
}
#sp_menu li:nth-child(2) a:before {
	width: 25px;
	content: url(../img/common/icon_book_w.svg);
}
#sp_menu li:nth-child(2) a:hover{
	background: #ead49d;
}
#sp_menu li:nth-child(3) a {
	background: #66924f;
}
#sp_menu li:nth-child(3) a:hover{
	background: #7fad6b;
}
#sp_menu li:nth-child(3) a:before{
	width: 28px;
	content: url(../img/common/icon_line_w.svg);
}
#sp_menu li:nth-child(4) span {
	cursor:pointer;
	background: #b49342;
}
#sp_menu li:nth-child(4) span:before{
	width: 25px;
	content: url(../img/common/icon_menu_w.svg);
}
#sp_menu li:nth-child(4) span:hover{
	background: #caa958;
}
/*-----------------------------------

	nav_sp

-----------------------------------*/
@media screen and (max-width: 980px) {

	.menu_btn_wrap {
		width: 40px;
		height: 40px;
		background: #464646;
		cursor: pointer;
		position: absolute;
		top: 10px;
		right: 10px;
		z-index: 999;
	}
	.menu_btn {
		width: 30px;
		height: 2px;
		display: block;
		position: absolute;
		top: 18px;
		right: 5px;
		background: #fff;
		cursor: pointer;
		box-sizing: border-box;
		-moz-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		border-radius: 5px;
		z-index: 999;
	}
	.menu_btn:before {
		content: '';
		position: absolute;
		width: 30px;
		height: 2px;
		background: #fff;
		top: -8px;
		-moz-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		border-radius: 5px;
	}
	.menu_btn:after {
		content: '';
		position: absolute;
		width: 30px;
		height: 2px;
		background: #fff;
		bottom: -8px;
		-moz-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		border-radius: 5px;
	}
	.menu_btn.active {
		background:none;
	}
	.menu_btn.active:before {
		-moz-transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
		transform:rotate(-135deg);
		top:0;
		right:0;
	}
	.menu_btn.active:after {
		-moz-transform:rotate(135deg);
		-webkit-transform:rotate(135deg);
		transform:rotate(135deg);
		bottom:0;
		right:0;
	}
	#nav_sp{
		width: 100%;
		height: 100%;
		background:rgba(255, 255, 255, 0.95);
		position: fixed;
		overflow-y: scroll;
		top: 0;
		right: -100%;
		-webkit-transition: all 0.35s ease;
		transition: all 0.35s ease;
		padding:65px 2.5% 30px;
		display:inline-block;
		z-index: 998;
		box-sizing: border-box;
	}
	#nav_sp.toggle{
		right: 0 !important;
	}
	#nav_sp .nav_title_sp{
		font-size: 24px;
		letter-spacing:0.4rem;
		text-align:center;
		margin: 10px 0;
	}
	#nav_sp ul{
		text-align:center;
		margin: 40px 0;
	}
	#nav_sp ul li{
		text-align: left;
		border-top:solid 1px #e7e7e7;
	}
	#nav_sp ul li a{
		display:block;
		position:relative;
		padding: 10px 0 10px 2.5%;
		transition: 0.3s;
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
	}
	#nav_sp ul li a:hover,
	#nav_sp ul li div:hover{
		color:#fff;
		background: rgba(30,30,30,0.85);
	}
	#nav_sp ul li div{
		padding: 15px 0 15px 2.5%;
	}
	#nav_sp ul li ul {
		display: none;	
		margin: 0;
	}
	#nav_sp ul li ul li a {
		padding: 10px 0 10px 10%;
	}
	#nav_sp .accordion_title{
		float: left;
	}
	#nav_sp .accordion_icon,
	#nav_sp .accordion_icon span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#nav_sp .accordion_icon {
		position: relative;
		width: 15px;
		height: 15px;
		float: right;
		margin: 5px 10px 0 0 ;
	}
	#nav_sp .accordion_icon span {
		position: absolute;
		width: 100%;
		height: 4px;
		background-color: #645551;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-ms-border-radius: 4px;
		-moz-border-radius: 4px;
		-o-border-radius: 4px;
	}
	#nav_sp ul li div:hover .accordion_icon span{
		background-color: #fff !important;
	}
	#nav_sp .accordion_icon span:nth-of-type(1) {
		top: 5px;
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
	}
	#nav_sp .accordion_icon span:nth-of-type(2) {
		top: 5px;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
	}
	/*＋、－切り替え*/
	#nav_sp .accordion_icon.active span:nth-of-type(1) {
		display:none;
	}
	#nav_sp .accordion_icon.active span:nth-of-type(2) {
		top: 5px;
		transform: rotate(180deg);
		-webkit-transform: rotate(180deg);
		-moz-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
	}
}
/*-----------------------------------

	bnr

-----------------------------------*/
#bnr ul {
	padding: 55px 0;
}
#bnr ul li{
	float: left;
	margin-left: 12px;
}
#bnr ul li:first-child{
	margin-left: 0;
}
@media screen and (max-width: 1199px){
	#bnr ul li{
		width: 24%;
		margin-left: 1%;
	}
}
@media screen and (max-width: 740px){
	#bnr ul {
		padding: 10px 0 30px;
	}
	#bnr ul{
		width: 90%;
		max-width: 600px;
	}
	#bnr ul li{
		width: 49%;
		margin:20px 0 0 2%;
	}
	#bnr ul li:first-child,
	#bnr ul li:nth-child(3){
		margin-left: 0;
	}
}
/*-----------------------------------

	cm_contact

-----------------------------------*/
#cm_contact{
	text-align: center;
	font-size: 14px;
	line-height: 1.6rem;
	padding: 50px 0;
}
#cm_contact .bg_cm_contact{
	height: 325px;
	background:url("../img/common/bg_cm_contact.jpg"),no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
}
#cm_contact .contents_inner{
	position: relative;
}
#cm_contact .contents_inner:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 300px 80px 300px;
	border-color: transparent transparent #fcfcfc transparent;
	position: absolute;
	top: -80px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#cm_contact .logo{
	width: 115px;
	display: inline-block;
	margin: 0 auto 40px;
}
#cm_contact .title{
	font-size: 32px;
	margin-bottom: 30px;
}
#cm_contact .lead{
	font-size: 24px;
	margin-bottom: 30px;
}
#cm_contact ul.sns li{
	display: inline-block;
	margin: 0 10px;
}
#cm_contact ul.sns li:first-child{
	font-size: 18px;
	margin-top: 10px;
}
#cm_contact ul.sns li:nth-child(2) img,
#cm_contact ul.sns li:nth-child(3) img{
	width: 30px;
	margin-top: -10px;
}
#cm_contact ul.link{
	margin: 20px 0;
}
#cm_contact ul.link li{
	display: inline-block;
	margin: 0 10px;
}
#cm_contact p{
	font-size: 14px;
	line-height: 2.1rem;
}
@media screen and (max-width: 740px){
	#cm_contact {
		padding: 30px 0;
	}
	#cm_contact .bg_cm_contact{
		height: 190px;
		background: url(../img/common/sp/bg_cm_contact.jpg),no-repeat;
		background-attachment: fixed;
		background-size: contain;
		background-position: center top;
		background-repeat: no-repeat;
	}
	#cm_contact .contents_inner:before {
		border-width: 0 100px 40px 100px;
		top: -40px;
	}
	#cm_contact .logo {
		width: 20%;
		max-width: 115px;
		margin: 0 auto 30px;
	}
	#cm_contact .title {
		font-size: 21px;
		margin-bottom: 20px;
	}
	#cm_contact .lead {
		font-size: 18px;
		margin-bottom: 20px;
	}
	#cm_contact ul.link {
		width: 80%;
		margin: 0 auto 20px;
	}
	#cm_contact ul.link li {
		width: 100%;
		margin: 20px 0 0;
	}
	#cm_contact ul.link li a{
		width: 100%;
	}
}
/*-----------------------------------

	footer

-----------------------------------*/
footer{
	color: #fff!important;
	background: #6e6e6e;
	position:relative;
	padding: 25px 0 10px;
}
footer a{
	color: #fff!important;
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
}
footer a:hover{
	color: #d8d8d8!important;
}
footer #ft_address{
	width: 30%;
}
footer #ft_address #ft_logo{
	width: 280px;
	display: inline-block;
	margin-bottom: 10px;
}
footer #ft_address p{
	font-size: 14px;
	line-height: 2.1rem;
}
footer #ft_nav{
	width: 70%;
}
footer #ft_nav ul{
	width: 25%;
	font-size: 16px;
	float: left;
	box-sizing: border-box;
}
footer #ft_btm{
	margin-top: 15px;
	border-top: solid 1px #979797;
	padding: 10px 0 0;
}
footer #ft_btm ul{
	float: right;
	text-align: right;
}
footer #ft_btm ul li{
	width: 30px;
	display: inline-block;
	margin-left: 10px;
}
footer #ft_btm small{
	font-size: 12px;
	text-align: left;
	float: left;
}
@media screen and (max-width: 980px){
	footer #ft_address {
		width: 100%;
		text-align: center;
		float: none!important;
	}
	footer #ft_nav{
		width: 100%;
		margin-bottom: 20px;
	}
	footer #ft_nav ul{
		width: 100%;
		font-size: 14px;
		float: none!important;
	}
	footer #ft_nav ul li {
		width: 50%;
		float: left;
		border-bottom: solid 1px #979797;
		box-sizing: border-box;
	}
	footer #ft_nav ul li:nth-child(2n) {
		border-left: solid 1px #979797;
	}
	footer #ft_nav #nav_01 {
		border-top: solid 1px #979797;
	}
	footer #ft_nav ul li a{
		display:block;
		padding: 15px 0 15px 3%;
		box-sizing: border-box;
	}
	footer #ft_btm{
		text-align: center;
	}
	footer #ft_btm ul {
		float: none!important;
		text-align: center;
		margin-bottom: 5px;
	}
	footer #ft_btm small {
		font-size: 10px;
		text-align: center;
		float: none!important;
	}
}

.mgt30{
	margin-top: 30px;
}
.mgt40{
	margin-top: 40px;
}
.mgt80{
	margin-top: 80px;
}

