/* フレックスボックス */
.row_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
	align-items: center;
}

a {
	color: #171717;
    text-decoration: none;
	cursor: pointer;
}
button{
	cursor: pointer;
}
img{
	display: block;
	width: 100%;
}
html {
    height: 100%;
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
    overflow-x: hidden;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    /*font-size: 1.5em;*/
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
    color: #171717;
    counter-reset: number 0;
    background: #F2F2F2;
    margin:0 !important;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    z-index: 999;
}
.contents_inner {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
}

.pc{
	display: block;
}
.sp{
	display: none;
}

/*==== btn ====*/


/*==== title ====*/


@media screen and (max-width: 640px){
	html{
		font-size: 14px;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}

/*********************

      header

*********************/
header {
	position: fixed;
	top: 0;
	z-index: 999;
	padding: 26px 0;
	width: 100%;
}
header .contents_inner{
	justify-content: space-between;
}
header .logo_area{
	width: 404px;
}

header #nav,
header .menu_btn_wrap {
    display: none;
}

@media screen and (max-width: 640px){
}
@media screen and (max-width: 640px){
	header{
		padding: 10px 0;
	}
	header.scrolled{
		background: #2148A5;
	}
	header .logo_area{
		width: 263px;
	}
	
	header .menu_btn_wrap {
        display: block;
		z-index: 999;
	}
	header .menu_btn_wrap .menu_btn {
		width: 40px;
		height: 40px;
		cursor:pointer;
		position: relative;
		background: #0A3794;
	}
	header .menu_btn_wrap .menu_btn .lineh,
	header .menu_btn_wrap .menu_btn .lineb {
		position:absolute;
		left: 0;
		right: 0;
		margin: auto;
		width: 20px;
		height: 2px;
		background: #fff;
		transition:all 0.3s;
	}
	header .menu_btn_wrap .menu_btn .lineh {
		top:15px;
	}
	header .menu_btn_wrap .menu_btn .lineb {
		bottom: 15px;
	}
	header .menu_btn_wrap .menu_btn.active .lineh {
		transform:rotate(-135deg);
		top: 19px;
	}
	header .menu_btn_wrap .menu_btn.active .lineb {
		transform:rotate(135deg);
		bottom: 19px;
	}	
	header #nav {
		width: 100%;
		/*height: 100vh;*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: #2148A5;
		position: fixed;
		top: 60px;
		left: 0;
		display:none;
		z-index: 999;
	}
    header #nav ul.gnav {
		border-top: 1px solid #fff;
	}
	header #nav ul.gnav li {
		width: 100%;
		border-bottom: 1px solid #fff;
	}
	header #nav ul.gnav li a {
		display: block;
		text-align: center;
        color: #fff;
        margin: 0;
        padding: 10px 0;
		transition: 0.3s;
	}
	header #nav ul.gnav li a:hover{
		background: #0A3794;
	}
}


/*********************

    footer

*********************/
footer .copyright{
	background: #ECECEC;
	text-align: center;
	padding: 27px 0;
	font-size: 18px;
	line-height: 1.5;
}

@media screen and (max-width: 840px){
}
@media screen and (max-width: 640px) {
	footer .copyright{
		padding: 10px 0;
		font-size: 14px;
	}
}