/* Familiar Trading : style.css */


html, 
body {
	width: 100%;
	min-width: 320px;
	background: #fff;
	text-align: center;
}

html {
	font-size: 62.5%; /* 基本サイズ：10px */
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", Verdana, sans-serif;
	font-size: 1.6em; /* Chrome対策でremにしない */
	line-height: 1.6;
}


/* [ link ] */
a {
	color: #0c3c6c;
	-webkit-transition: all ease .3s; /* Safari */
	transition: all ease .3s;
}
a:link, 
a:visited {
}
a:hover,
a:active {
}

/* [ img ] */
img {
	max-width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: middle;
}
a img {
	-webkit-transition: all ease .3s; /* Safari */
	transition: all ease .3s;
}
a:hover img, 
a:active img {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

/* [ svg ] */
svg {
	max-width: 100%;
	height: auto;
	line-height: 0;
	vertical-align: middle;
}
a svg {
	-webkit-transition: all ease .3s; /* Safari */
	transition: all ease .3s;
}

/* [ p ] */
p {
	margin: 15px 0;
}

/* [ span / b ] */
span, b {
	display: inline-block;
}

/* [ button ] */
button {
	-webkit-transition: all ease .3s; /* Safari */
	transition: all ease .3s;
}

/* [ form ] */
input,
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 7px 10px;
	border: 1px solid #c4c4c4;
	border-radius: 5px;
	background: #fff;
	font-size: 1.6rem;
	line-height: 1.4;
}
input,
textarea {
	width: 100% !important;
	height: auto !important;
}
.select {
	display: inline-block;
	position: relative;
	max-width: 100%;
	border: 1px solid #c4c4c4;
	border-radius: 5px;
	background: #fff;
}
.select::before {
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 15px;
	height: 15px;
	margin-top: -12px;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	content: "";
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.select select {
	position: relative;
	max-width: 100%;
	padding: 7px 40px 7px 10px;
	border: none;
	background: none;
	cursor: pointer;
	z-index: 10;
}
.select select::-ms-expand { /* IE対策 */
	display: none;
}
.select option {
	line-height: 1;
	padding: 0 10px;
}

/* [ clearfix ] */
.cf::after {
	display: block;
	clear: both;
	content: "";
}


/*======================================================================*
 *  [ header ]
 *======================================================================*/

#header {
	width: 100%;
	padding: 20px 50px;
	background: #fff;
}

#header .pagenav {
	padding: 20px 0;
	font-size: 1.8rem;
	font-family: 'Roboto', sans-serif;
	line-height: 1;
}
#header .pagenav ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	list-style: none;
}
#header .pagenav li + li {
	border-left: 1px solid #0c3c6c;
}
#header .pagenav .active {
	font-weight: bold;
}
#header .pagenav a {
	display: block;
	padding: 0 25px;
	text-decoration: none;
}
#header .pagenav a:hover, 
#header .pagenav a:active {
	text-decoration: underline;
}
/* Tablet */
@media screen and (max-width: 768px) {
	#header {
		padding: 20px 30px;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	#header {
		padding: 20px;
	}
	#header .logo img {
		width: 120px;
	}
	#header .pagenav {
		padding-bottom: 0;
	}
	#header .pagenav a {
		padding: 0 12px;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 320px) {
	#header .pagenav a {
		padding: 0 8px;
	}
} /* */
/* Scroll */
#header.clone {
	position: fixed;
	top: 0;
	left: 0;
	border-bottom: 1px solid #d5e1ed;
	z-index: 100;
	transition: .3s;
	transform: translateY(-100%);
}
#header.show {
	transform: translateY(0);
}
#header.clone .logo img {
	width: 50px;
}
#header.clone .pagenav {
	padding: 10px 0 0 0;
}


/*======================================================================*
 *  [ common ]
 *======================================================================*/

.wrap {
	width: 100%;
	padding: 100px 50px;
}
.wrap.bg {
	background: url(../img/bg_box.png) left top repeat;
	background-size: 5px 5px;
}
.noimg > .wrap:first-child {
	padding-top: 50px;
}
.wrap .wrap {
	width: auto;
	min-width: 320px;
	margin: 50px -50px;
	padding: 50px;
}
.wrap .inner {
	max-width: 1270px;
	margin: 0 auto;
}
.wrap .inner + .inner {
	margin-top: 50px;
}
.wrap .inner h2 {
	margin-bottom: 50px;
	color: #0c3c6c;
	font-size: 4rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	line-height: 1;
}
.wrap .inner h2 span {
	padding-top: 20px;
	border-top: 5px solid #0c3c6c;
}
/* Tablet */
@media screen and (max-width: 768px) {
	.wrap {
		padding: 75px 30px;
	}
	.wrap .wrap {
		margin: 50px -30px;
		padding: 50px 30px;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	.wrap {
		padding: 50px 20px;
	}
	.noimg > .wrap:first-child {
		padding-top: 30px;
	}
	.wrap .wrap {
		margin: 30px -20px;
		padding: 30px 20px;
	}
	.wrap .inner + .inner {
		margin-top: 30px;
	}
	.wrap .inner h2 {
		margin-bottom: 30px;
		font-size: 3.6rem;
	}
	.wrap .inner h2 span {
		padding-top: 15px;
	}
} /* */

/* [ .flex ] */
.flex {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
.flex.middle {
	-webkit-align-items: center;
	align-items: center;
}
.flex.center {
	-webkit-justify-content: center;
	justify-content: center;
}
.flex.return {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
/* Tablet */
@media screen and (max-width: 768px) {
	.flex.break.tb {
		display: block;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	.flex.break.sp {
		display: block;
	}
} /* */

.table {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: 1px solid #c4c4c4;
	font-size: 1.6rem;
}
.table.large  { font-size: 1.8rem; }
.table.mw700  { max-width: 900px; margin: 0 auto; }
.table.mw900  { max-width: 900px; margin: 0 auto; }
.table.mw1000 { max-width: 1000px; margin: 0 auto; }
.table dt, 
.table dd {
	padding: 20px 10px;
	border-bottom: 1px solid #c4c4c4;
}
.table dt {
	width: 30%;
	color: #0c3c6c;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.26;
}
.table.large dt { font-size: 2rem; }
.table dd {
	width: 70%;
	line-height: 1.1;
	text-align: left;
	line-height: 1.4;
}
/* Tablet */
@media screen and (max-width: 768px) {
	.table.break.tb {
		display: block;
	}
	.table.break.tb dt, 
	.table.break.tb dd {
		width: 100%;
	}
	.table.break.tb dt {
		margin-bottom: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}
	.table.break.tb dd {
		padding-top: 0;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	.table {
		font-size: 1.4rem;
	}
	.table dt {
		font-size: 1.6rem;
	}
	.table.break.sp {
		display: block;
	}
	.table.break.sp dt, 
	.table.break.sp dd {
		width: 100%;
	}
	.table.break.sp dt {
		margin-bottom: 10px;
		padding-bottom: 0;
		border-bottom: none;
	}
	.table.break.sp dd {
		padding-top: 0;
	}
	.table.large { font-size: 1.6rem; }
	.table.large dt { font-size: 1.8rem; }
} /* */

.disc {
	margin: 20px 0 20px 30px;
}
.disc li {
	margin-top: 10px;
}

.txt.left   { text-align: left; }
.txt.center { text-align: center; }
.txt.right  { text-align: right; }
.txt.large  { font-size: 1.8rem; }
.txt.medium { font-size: 1.6rem; }
.txt.small  { font-size: 1.4rem; }
.txt.lh180  { line-height: 1.8; }
.txt.lh160  { line-height: 1.6; }
.txt.lh140  { line-height: 1.4; }
.txt.margin { margin: 85px 0; }
/* Smartphone */
@media screen and (max-width: 480px) {
	.txt.large  { font-size: 1.6rem; }
	.txt.medium { font-size: 1.4rem; }
	.txt.small  { font-size: 1.3rem; }
} /* */

.button {
	display: inline-block;
	width: 100%;
	max-width: 300px;
	padding: 30px 5px;
	border-radius: 10px;
	background: #0c3c6c;
	color: #fff;
	line-height: 1;
}
a.button {
	color: #fff;
	text-decoration: none;
}
.button.text {
	font-size: 2.2rem;
}
.button.icon {
	font-size: 2rem;
}
.button.icon::before {
	display: inline-block;
	margin-right: 15px;
	vertical-align: middle;
}
.button.icon.mail::before {
	width: 52px;
	height: 52px;
	content: url(../img/icon_mail.svg);
}
.button.icon.home::before {
	width: 52px;
	height: 52px;
	content: url(../img/icon_home.svg);
}
.button:hover, 
.button:active {
	background: #496d91;
}

.mt0 { margin-top: 0; }
.mb0 { margin-bottom: 0; }


/*======================================================================*
 *  [ snsbox ]
 *======================================================================*/

.snsbox {
	width: 100%;
	padding: 40px 50px;
	background: url(../img/bg_snsbox.png) left top repeat;
	background-size: 2px 2px;
	font-size: 1.3rem;
}

.snsbox ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	list-style: none;
	margin: -5px;
}
.snsbox li {
	width: 210px;
	padding: 5px;
}
.snsbox a {
	display: block;
	padding: 8px 5px;
	border-radius: 5px;
	background: #fff;
	text-decoration: none;
}
.snsbox svg {
	width: 34px;
	height: 34px;
	margin: 0;
	fill: #0c3c6c;
}
.snsbox span {
	margin-left: 5px;
}
.snsbox a:hover, 
.snsbox a:active {
	background: #0c3c6c;
	color: #fff;
}
.snsbox a:hover svg, 
.snsbox a:active svg {
	fill: #fff;
}
/* Tablet */
@media screen and (max-width: 768px) {
	.snsbox {
		padding: 40px 30px;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	.snsbox {
		padding: 40px 20px;
	}
	.snsbox li {
		width: 50%;
	}
	.snsbox span {
		display: block;
		margin-left: 0;
	}
} /* */


/*======================================================================*
 *  [ footer ]
 *======================================================================*/

#footer {
	width: 100%;
	padding: 35px 50px;
}

#footer small {
	display: block;
	margin: 15px 0;
	font-size: 1.3rem;
	font-family: 'Roboto', sans-serif;
	line-height: 1;
}
/* Tablet */
@media screen and (max-width: 768px) {
	#footer {
		padding: 35px 30px;
	}
} /* */
/* Smartphone */
@media screen and (max-width: 480px) {
	#footer {
		padding: 35px 20px;
	}
	#footer .logo img {
		width: 100px;
	}
} /* */

