@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 {
	text-decoration:none;
	color:#2c4fff;
}

a:hover {
	text-decoration:underline;
	color:#062fff;
}
.clearfix {
	clear: both;
}

/****************************************
	html
****************************************/
html {
	min-height: 100%;
	position: relative;
}

/****************************************
	body
****************************************/
body {
    font-family:'Roboto', '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;
}

.breadcrumb {
	padding:20px 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;
	text-decoration:underline;
	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-family:'Roboto', 'Noto Sans JP', sans-serif;
	color:#101010;
	font-size:22px;
	font-weight:500;
	letter-spacing:0.05em;

	
}
h2 span {
	display:inline-block;
	padding-right:10px;
}


h3 {
	position: relative;
	margin:10px 10px 20px 0px;
	padding:10px 30px 10px 20px;
	letter-spacing:0.2em;
	font-size:18px;
	background:#505050;
	border-left:7px solid #303030;
	color:#fff;
}

h4 {
	position: relative;
	margin:10px 10px 20px 0px;
	padding:5px 20px 5px 20px;
	font-size:16px;
	border-left:2px solid #021612;
	text-align:left;
}

.clear {
	clear:both;
}

.flex {
	display:flex;
	flex-wrap:wrap;
}

p {
	margin:0;
	letter-spacing:0.05em;
	line-height:2.0em;
}

.list-disc li {
	margin:0px 0px 0px 20px;
}

.list-disc li {
	list-style-type:disc;
}

.list-decimal li {
	margin:0px 0px 0px 20px;
}

.list-decimal li {
	list-style-type:decimal;
}

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

	p {
		line-height:1.8em;
	}

	h3 {
		width:100%;
	}

}

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


}


/****************************************
	nav
****************************************/
nav {
	position:fixed;
	top:0;
	right:0;
	background:#1f2a53;
	margin:70px 0 0 0;
	padding:60px 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 ul {
	width:100%;
	max-width:400px;
	margin:0px auto;
}
nav li {
	position:relative;
	border-bottom:1px solid #fff;
	padding:15px;
	cursor:pointer;
	color:#fff;
	transition:.4s;
}

nav li:hover {
	color:#c0c0c0;
	transition:.4s;
}

nav li a {
	display:block;
	color: #fff !important;;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	transition:.4s;
}

nav li a:hover {
	text-decoration:none;
	color:#c0c0c0;
	transition:.4s;
}

nav li span {
	display:inline-block;
}

nav li small {
	color:#808080;
	display:block;
}

nav li strong {
	color:#000;
	display:block;
	font-weight:normal;
}


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

	nav {
		width:100%;
		padding:100px 10px 120px;
	}


}


/****************************************
	header
****************************************/

header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:99;
	height:70px;
	transition:0.4s;
}

header .header-content {
	position:relative;
	width:100%;
}


header .header-content nav {
	position:relative;
	background:none;
	margin:0px;
	padding:0px;
	width:100%;
	overflow:auto;
	z-index:1;
	transform:translateX(0);
	transition:.4s;
	height:70px;
}

header .header-content nav ul {
	position:absolute;
	top:25px;
	right:80px;
	width:100%;
	margin:0px;
	max-width:none;
	text-align:right;
}
header .header-content nav li {
	display:inline-block;
	border-bottom:none;
	border-right:1px solid #fff;
	padding:0px 15px;
	color:#fff;
	letter-spacing:0.1em;
	transition:.4s;
}

header .header-content nav li:hover {
	color:#c0c0c0;
	transition:.4s;
}


header .header-content nav li:last-child {
	border-right:none;
}

header .header-content nav li a {
	color:#c0c0c0;
}

header .header-content nav li a:hover {
	display:block;
	color:#000;
}


header .header-content h1 {
	position:absolute;
	top:5px;
	left:5px;
	color:#101010;
	font-size:13px;
	font-weight:normal;
	transition: 0.4s;
	z-index:2;
}

header .header-content h1 img {
	height:60px;
	vertical-align:middle;
}

header .header-content h1 a {
	color:#000;
	transition: 0.4s;
}

header .header-content h1 a:hover {
	color:#000;
	text-decoration:none;
	transition: 0.4s;
}


#menu-bar {
	position:absolute;
	top:0px;
	right:0px;
	width: 70px;
	height: 70px;
	padding:0px;
	cursor:pointer;
	z-index:999;
	background:#1f2a53;
	transition: 0.4s;
}


#menu-bar:hover {
	transition: all .6s;

}

#menu-trigger {
	position: absolute;
	top:13px;
	left:8px;
	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:1px;
	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);
	height:2px;
}
#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);
	height:2px;
}


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


}


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

}

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


}

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

	header .header-content nav {
		display:none;
	}



}

@media screen and (max-width:480px){
	header .header-content h1 .sub-title {
		display:none;
	}

	header .sub-title span {
		font-size:12px;
	}

}

/****************************************
	fixed-menu
****************************************/
#fixed-menu {
	position:fixed;
	left:0px;
	bottom:0px;
	width:100%;
	text-align:center;
	z-index:3;
}

#fixed-menu img {
	width:100%;
	cursor:pointer;
}


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

}


/****************************************
	main-content
****************************************/
.main-content {
	transform:translateX(0%);
	transition:.5s;
	display:flex;
	flex-flow:column;
	min-height:100vh;
}

.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 {
    position: relative;
    display: inline-block;
    padding: 10px 50px 10px 30px;
    /* border: 1px solid #fff; */
    background: #1f2a53;
    color: #fff;
    letter-spacing: 0.2em;
    text-align: center;
    transition: .4s;
	font-size: 20px;
}


.to-list a:hover {
	background:#303030;
	text-decoration:none;
	transition:.4s;
}

.to-list a::after{
	content:"";
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:18px;
	width:11px;    /* くの字を山なりに見た時、左側の長さ */
	height:11px;   /* くの字を山なりに見た時、右側の長さ */
	border-top:1px solid #fff;     /* くの字を山なりに見た時、左側の太さと色 */
	border-right:1px solid #fff;   /* くの字を山なりに見た時、右側の太さと色 */
	transform:rotate(45deg);    /* くの字の向き */
	transition:.4s;
}

.to-list .btn {
	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;
}

.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){


}






/****************************************
	footer
****************************************/
footer {
	margin-top: auto;
	font-size:12px;
	padding:70px 0px 70px;
    background: #1f2a53;
	color:#fff;
}

footer .copyright {
	text-align:center;
	font-size:12px;
}

footer .copyright span {
	display:inline-block;
}

footer .recaptcha {
	text-align:center;
	font-size:12px;
	padding:10px;
}

footer .recaptcha span {
	display:inline-block;
}

footer .recaptcha a {
	color:#fff;
	text-decoration:underline;
}

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

	
}

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

	footer {
		margin-top: auto;
		font-size:12px;
		padding:50px 0px 50px;
	}


}

/****************************************
	contact
****************************************/
.grecaptcha-badge {
	visibility: hidden;
}
