/* reset
--------------------------------*/
h1, h2, h3, h4, h5, h6, p{
	font-weight: normal;
	margin: 0;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1;
}

ul, ol, dl, li, dt, dd{
	list-style: none;
	margin: 0;
	padding: 0;
}
a {
	text-decoration: none;
}

img {
	vertical-align: top; /* 画像下の余白削除 */
}

address {
	font-style: normal;
}

/* common
--------------------------------*/
html {
	width: 100%;
	font-family: Meiryo, "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	line-height: initial;
	box-sizing: border-box;
}

body {
	width: 100%;
	letter-spacing: 0.05px;
}

.container {
	width: 100%;
	max-width: 960px;
	margin: auto;
}

header,
nav,
main,
section,
footer {
	width: 100%;
	min-width: 960px;
	margin: 0 auto;
}

.inner {
	box-sizing: border-box;
}

.middleheading {
	/*margin-bottom: 7.3%;*/
	margin-bottom: 5%;
	font-size: 1.75rem;
	color: #5876aa;
	text-align: center;
}

p {
	font-size: 1rem;
	line-height: 1.9;
}

.flex_container {
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.pc_only,
br.pc_only {
	display: block;
}

.sp_only,
br.sp_only {
	display: none;
}

.hidden {
	display: none;
}

.color_bg {
	background-color: #5876aa;
	color: #ffffff;
}

.pdf_download,
.text_link {
	color: #5876aa;
	font-weight: bold;
}
.pdf_download:hover,
.text_link:hover {
	text-decoration: underline;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.capsule {
	border-radius: 10000px;
}

.red {
	color: #ff3939;
	font-weight: bold;
}


/* header
--------------------------------*/
header h1 {
	padding-left: 4.16%;
	font-size: 1.75rem;
}

header img {
	max-width: 100%;
	-webkit-backface-visibility: hidden; /*Chromeで画像がぼやける対策*/
	margin: auto;
}

header .inner {
	padding-top: 4.7%;
	padding-bottom: 2.5%;
}

#header_logo {
	width: 80px;
	height: 100%;
}


/* nav
--------------------------------*/
nav {
	padding-bottom: 2.08%;
}

nav li {
	padding-top: 1.56%;
	padding-bottom: 1.56%;
	margin-right: 3.65%;
}

nav li a {
	color: #ffffff;
}

nav li:hover,
nav li.current {
	border-bottom: solid 2px #829bc7;
}


/* footer
--------------------------------*/
footer {
	width: 100%;
	height: auto;
	font-size: 1rem;
	color: #ffffff;
	text-align: center;
	background-color: #000000;
	box-sizing: border-box;
}
footer .inner {
	padding-top: 14px;
	padding-bottom: 16px;
}
footer .inner a {
	display: block;
	width: 100px;
	margin: 0 auto 40px;
}
footer .inner p {
	line-height: 1;
}
footer img {
	width: 93px;
}
footer br {
	display: none;
}
footer small {
	font-size: 0.625rem;
}



/****** responcive:smartphone ******/
@media screen and (max-width: 640px) {

/* common:sp
--------------------------------*/
	html {
		font-size: 24px;
		font-size: calc(0% + 2.5vw);
	}

	body {
		min-width: auto;
	}

	header,
	nav,
	main,
	section,
	footer {
		min-width: auto;
	}

	.middleheading {
		margin-bottom: 3.9%;
		font-size: 2.625rem;
		font-weight: bold;
	}

	.inner {
		padding: 0 6.25% 0;
		min-width: auto;
		max-width: none;
	}

	.flex_container.sp {
		display: block;
	}

	.pc_only,
	br.pc_only {
		display: none;
	}
	.sp_only,
	br.sp_only {
		display: block;
	}

	h3 {
		font-size: 2.375rem;
		padding-top: 25%;
		margin-bottom: 8.3%;
	}

	p {
		font-size: 1.75rem;
	}

	.btn01 {
		width: 100%;
		padding: 8% 0;
		font-size: 1.75rem;
		font-weight: bold;
	}


/* header:sp
--------------------------------*/
	header {
		min-width: auto;
	}
	header .inner {
		padding-top: 2.34%;
		padding-left: 1.25%;
		padding-right: 1.25%;
		padding-bottom: 3.6%;
	}
	#logo_container .nd_logo {
		display: block;
		width: 28%;
	}
	#logo_container .nd_logo img {
		max-width: 100%;
	}
	header h1 {
		padding-left: 0;
		margin-top: 6.5%;
		font-size: 2.875rem;
		text-align: center;
		line-height: 1.2;
	}

/* nav:sp
--------------------------------*/
	nav {
		padding-bottom: 3.125%;
	}
	nav .flex_container {
		justify-content: space-between;
	}
	nav .inner {
		padding: 0 6.25% 0;
	}
	nav li {
		margin-right: 2%;
		font-size: 1.625rem;
		text-align: center;
		line-height: 1.4;
	}
	.nav01 {

	}
	.nav02 {

	}
	.nav03 {

	}


/* main:sp
--------------------------------*/

	#sec01 {
		min-width: auto;
		height: auto;
	}
	#sec01 .inner {
		padding: 10% 3.125% 20%;
	}
	#sec01 .bg_container {
		background: url(../img/sec01_device-photo_sp.png) no-repeat center top;
		background-size: 49.6% auto;
	}
	#sec01 h3 {
		padding-top: 100%;
		background: url(../img/sec01_ttl_sp.png) no-repeat center 95%;
		background-size: 42.16% auto;
	}
	#sec01 .aboutWrap {
		padding-bottom: 12.5%;
	}
	#sec01 .aboutWrap p {
		text-align: justify;
	}
	#sec01 .about_btn a.btn02 {
		width: 100%;
		padding: 7.5% 0;
		font-size: 1.875rem;
		font-weight: bold;
	}
	#sec01 .about_btn a.btn02:nth-child(1) {
		margin-right: 0;
		margin-bottom: 2.5%;
	}



/* footer:sp
--------------------------------*/
	footer {
		min-width: auto;
		margin-top: 0;
		font-size: 1.25rem;
		line-height: 0.75rem;
	}
	footer .inner {
		padding-top: 6.25%;
		padding-bottom: 6.25%;
	}
	footer .inner a {
		width: 16.6%;
		margin: 0 auto 6%;
	}
	footer img {
		max-width: 100%;
	}
	footer .page_top a {
		min-width: auto;
		background: #e7e7e7 url(../img/btn_top_sp.png) no-repeat center center;
		background-size: 2.81% auto;
	}
	footer br {
		display: block;
	}
	footer small {
		margin-top: 8.33%;
		font-size: 1.25rem;
	}

}
