@charset "UTF-8";
/****************************************
	共通
****************************************/

html, body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
}

ul, ol, li {
  list-style:none;
}

table{
  border-collapse:collapse;
  border-spacing:0;
  border:none;
}

a {
	color:#808080;
	transition:.4s;
}

a:hover {
	color:#000000;
	transition:.4s;
}

.clearfix {
	clear: both;
}

/****************************************
	html
****************************************/
html {
	min-height: 100%;
	position: relative;
}

/****************************************
	body
****************************************/
body {
	font-family:'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;


	word-wrap:break-word;
	overflow-wrap:break-word;
	margin:0px;
	opacity:0;
}

body.m_active {
	overflow:hidden;
}

/****************************************
	wrapper
****************************************/
#wrapper {
	position:relative;
	width:100%;
	height: 100vh;
	max-width:2000px;
	margin:0px auto;
}




/****************************************
	common
****************************************/
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.content {
	width:100%;
	margin:0px auto;
	max-width:1080px;
}

.content-3 {
	width:100%;
	margin:0px auto;
	max-width:800px;
}


.breadcrumb {
	padding:30px 10px 3px 3px;
}

.breadcrumb ul {
	width:100%;
	padding:0px 0px 0px 10px;
}

.breadcrumb ul li {
	display:inline-block;
	padding:0px 1px;
	font-size:12px;
}

.breadcrumb ul li a {
	color:#101010;
	transition:.4s;
}

.breadcrumb ul li a:hover {
	color:#9f3b42;
	text-decoration:none;
	transition:.4s;
}


h2 {
	position: relative;
	margin:25px auto 35px;
	padding:2px 3px 2px 10px;
	font-size:36px;
}

h3 {
	position: relative;
	max-width:1080px;
	margin:10px 10px 20px 0px;
	padding:2px 3px 2px 0px;
	letter-spacing:0.4em;
	font-size:18px;
	color:#101010;
	display: flex;
	align-items: center;
}

h3:before {
  content: "";
  width:30px;
  height: 1px; /* 線の太さ */
  background: #000; /* 線の色 */
  margin-right:18px; /* 文字と線の余白 */
}

.clear {
	clear:both;
}

.flex {
	display:flex;
	flex-wrap:wrap;
}

p {
	margin:0;
	letter-spacing:0.05em;
	line-height:1.7em;
}

@media screen and (max-width:768px){


}

@media screen and (max-width:480px){

	.left-side {
		width:100%;
	}

	.right-side {
		width:100%;
		padding:0px;
	}

}


/****************************************
	nav.h-menu
****************************************/
nav.h-menu {
	position:fixed;
	top:0;
	right:0;
	background:#1eae38;
	margin:0px 0 0 0;
	padding:130px 10px 20px;
	width:50%;
	height:100vh;
	overflow:auto;
	z-index:98;
	transform:translateX(100%);
	transition:.5s;
}

nav.nav-active {
	transform:translateX(0%);
	transition:.5s;
}


nav.h-menu ul {
	width:90%;
	max-width:400px;
	margin:0px auto;
}
nav.h-menu li {
	border-bottom:1px dashed #fff;
	padding:15px;
	cursor:pointer;
	color:#fff;
	transition: 0.4s;;
}

nav.h-menu li:hover {
	text-decoration:none;
	color:#f0f0f0;
	transition: 0.4s;;
}

nav.h-menu li a {
	display:block;
	color:#fff;
	text-decoration:none;
	transition: 0.4s;;
}

nav.h-menu li a:hover {
	text-decoration:none;
	color:#fff;
	transition: 0.4s;;
}

nav.h-menu li span {
	display:inline-block;
}

nav.h-menu li small {
	color:#fff;
	display:block;
}

nav.h-menu li strong {
	color:#fff;
	display:block;
	font-weight:normal;
}


@media screen and (max-width:768px){

	nav.h-menu {
		width:100%;
	}


}


/****************************************
	header
****************************************/

header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:99;
	height:70px;
	transition:0.4s;
}

header.scroll-down {
	transition:0.4s;
}


header .header-content {
	position:relative;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.8);
}

header .header-content h1 {
	position:absolute;
	top:5px;
	left:5px;
	width:120px;
	color:#101010;
	transition: 0.4s;
}

header .header-content h1 img {
	height:60px
}

header #instagram {
	position:absolute;
	top:10px;
	right:78px;
	width:50px;
	height:50px;
}

header #instagram img {
	width:100%;
}

#menu-bar {
	position:absolute;
	top:0px;
	right:0px;
	width: 70px;
	height: 70px;
	padding:0px;
	cursor:pointer;
	z-index:999;
	background:#1eae38;
	transition: 0.4s;
}


#menu-bar:hover {
	transition: all .6s;

}

#menu-trigger {
	position: absolute;
	top:13px;
	left:6px;
	width: 100%;
	height:44px;
}

#menu-trigger,
#menu-trigger span {
	display: inline-block;
	transition: all .4s;
}
#menu-trigger span {
	position: absolute;
	left: 6.5px;
	width: 65%;
	height:2px;
	background-color: #fff;
	border-radius: 4px;
}

#menu-trigger span:nth-of-type(1) {
	top: 9px;
}
#menu-trigger span:nth-of-type(2) {
	top: 20px;
}
#menu-trigger span:nth-of-type(3) {
	top: 31px;
}

#menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-45deg);
	transform: translateY(11px) rotate(-45deg);
}
#menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
#menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}


@media screen and (max-width:870px){

	header {
		height:70px;
	}


}



@media screen and (max-width:768px){




}

@media screen and (max-width:480px){

}

/****************************************
	fixed-menu
****************************************/
#fixed-menu {
	position:fixed;
	right:-100px;
	bottom:10px;
	z-index:3;
	text-align:right;
}

#fixed-menu img {
	width:90px;
	cursor:pointer;
}


@media screen and (max-width:480px){

	#fixed-menu img {
		width:70px;
	}

}


/****************************************
	main-content
****************************************/
.main-content {
	transform:translateX(0%);
	transition:.5s;
	display:flex;
	flex-flow:column;
	min-height:100vh;
	overflow:hidden;
}

.main-content.menu-on {
	transform:translateX(-50%);
	transition:.5s;
}

@media screen and (max-width:768px){

	.main-content.menu-on {
		transform:translateX(-100%);
	}

}


/****************************************
	main
****************************************/
main {
}

.to-list {
	text-align:center;
	padding:30px 0px 0px;
}

.to-list a {
	display:inline-block;
	width:200px;
	color:#fff;
	letter-spacing:0.2em;
}

.to-list .btn {
	position:relative;
	display:inline-block;
	width:100%;
	padding:10px 30px;
	background:#133684;
	font-size:14px;
	color:#fff;
	transition: all .4s;
	cursor:pointer;
	border-radius:60px;
}

.to-list .btn:hover {
	background:#0b2656;
	transition: all .4s;
}


.contact-btn {
	padding:30px 10px;
}

.contact-btn p {
	position:relative !important;
	font-size:14px !important;
	padding:30px 10px 0px !important;
	text-align:center;
}

.contact-btn p span {
	display:inline-block;
}

.contact-btn .to-list {
	padding:10px;
}

.contact-btn .to-list a {
	width:100%;
	max-width:500px;
}

.contact-btn .to-list a span {
}


.contact-btn .to-list .btn {
	padding:20px 30px;
	color:#378cbf;
	background:#fff;
	font-size:16px;
	border:1px solid #378cbf;
	transition: all .4s;
}

.contact-btn .to-list .btn:hover {
	background:#378cbf;
	color:#fff;
	transition: all .4s;
}


.select-area {
	padding:5px 10px 20px;
}

.select-area ul {
	width:100%;
}

.select-area ul li {
	border-bottom:1px dashed #c0c0c0;
}

.select-area ul li:last-child {
	border-bottom:none;
}

.select-area ul li a {
	display:block;
	height:100%;
	padding:10px;
	color:#101010;
}

.select-area ul li a:hover {
	text-decoration:none;
	background:#f0f0f0;
}

.select-area ul ul.children {
	width:100%;
	padding-left:10px;
}

.select-area ul ul.children li {
	margin-left:40px;
	list-style-type:disc;
	font-size:14px;
}

.select-area ul ul.children ul.children li {
	margin-left:15px;
	list-style-type:circle;
	font-size:14px;
}

@media screen and (max-width:870px){


}

@media screen and (max-width:768px){


}


/****************************************
	pager
****************************************/


.nav-links {
	text-align:center;
	margin:50px 0px 30px;
}

.nav-links a, .nav-links span {
	display:inline-block;
	line-height:10px;
	padding:10px;
	margin:3px;
	background:#fff;
	box-shadow:2px 2px 0 rgba(0,0,0,.2);
	font-size:14px;
}

.nav-links li {
	display:inline-block;
}

.nav-links span {
	background:#f06644;
	color:#fff;
}



/****************************************
	footer
****************************************/
footer {
	margin-top: auto;
	font-size:12px;
	padding:70px 0px;
	background:#020f05;
	color:#fff;
}

footer .footer-img {
	text-align:center;
}

footer .footer-img img {
	width:80%;
	max-width:200px;
}

footer .footer-info {
	text-align:center;
	width:100%;
	padding:20px 10px;
}

footer .copyright {
	text-align:center;
	font-size:12px;
}

footer .copyright span {
	display:inline-block;
}

@media screen and (max-width:768px){
	
}

@media screen and (max-width:480px){


}

/****************************************
	contact
****************************************/
