@charset "utf-8";

/* ==========================================================
 * reset
 * ========================================================*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,th,dt {
	font-weight: 400;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
q:before,q:after {
	content: '';
}
object,embed {
	vertical-align: top;
}
legend {
	display: none;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
img,abbr,acronym,fieldset {
	border: 0;
}
ol,ul {
	list-style-type: none;
}
button {
	border: none;
	background: none;
}

/* ==========================================================
 * common
 * ========================================================*/
body {
	font-size: 1rem;
	font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	line-height: normal;
	color: #222325;
	background: #f5f7f9;
}
img {
	vertical-align: top;
	width: 100%;
}
p {
	text-align: justify;
}
button {
	font-size: 1.1rem;
	color: #07344e;
	transition: 0.2s;
}
button:hover {
	opacity: 0.5;
}
*::selection {
	background: #bb7c8e;
	color: #f5f7f9;
}
*::-moz-selection {
	background: #bb7c8e;
	color: #f5f7f9;
}
::-webkit-scrollbar {
	width: 10px;
}
::-webkit-scrollbar-track {
	background: #f5f7f9;
	border-left: solid 1px #ececec;
}
::-webkit-scrollbar-thumb {
	background: #09203f;
	border-radius: 10px;
	box-shadow: inset 0 0 0 1px #ced6dc;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clear {
	clear: both;
}
.left {
	float: left;
	width: 50%;
}
.right {
	float: right;
	width: calc(50% - 1px);
}
.center {
	margin: 0 auto;
}
.te_left {
	text-align: left !important;
}
.te_right {
	text-align: right !important;
}
.te_center {
	text-align: center !important;
}
.block {
	display: block !important;
}
.inline {
	display: inline !important;
}
.inline-b {
	display: inline-block !important;
}
.flex {
	display: flex;
}
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.small {
	font-size: 90%;
	font-weight: normal;
}
.strong {
	font-size: 110%;
	font-weight: bold;
}
a {
	outline: none;
	text-decoration: none;
	color: #07344e;
	transition: 0.2s;
}
a img {
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
/* ie lt 8 */
	-ms-filter: alpha(opacity=60);
/* ie 8 */
	-moz-opacity: 0.6;
/* FF lt 1.5, Netscape */
	-khtml-opacity: 0.6;
/* Safari 1.x */
}
span.anchorlink {
	position: relative;
	top: -30px;
	display: block;
}
.col-1 > * {
	width: calc(100% - 3%);
	margin: 0 0.5%;
	padding: 0 1%;
}
.col-2 > * {
	width: calc(100% / 2 - 3%);
	margin: 0 0.5%;
	padding: 0 1%;
}
.col-3 > * {
	width: calc(100% / 3 - 3%);
	margin: 0 0.5%;
	padding: 0 1%;
}
.col-4 > * {
	width: calc(100% / 4 - 3%);
	margin: 0 0.5%;
	padding: 0 1%;
}
a[href^="tel:"],
a[href^="fax:"] {
		pointer-events: none;
}

/* ==========================================================
 * header
 * ========================================================*/
.header {
	background: rgba(255,255,255,0.8);
	padding: 0.5rem 0;
	position: fixed;
	top: 0;
	transition: 0.5s;
	width: 100%;
	z-index: 999;
}
.header .h_nav {
	font-size: 0.9rem;
	max-width: 1000px;
}
.header .h_nav_menu_item_link span {
	font-size: 0.7rem;
	margin-top: -0.2rem;
}
.header.hide {
	transform: translateY(-100%);
}
/* ==========================================================
 * footer
 * ========================================================*/
footer {
	color: #efefef;
	height: 10vh;
	background-image: linear-gradient(-45deg, #09203f 0%, #537895 100%);
	box-shadow: 0px 3px 10px 0px rgb(0 0 0 / 40%) inset;
}
footer p.te_center {
	padding: 2vh 0 0;
	letter-spacing: 2px;
	font-size: 0.8rem;
}

/* =========================================================
 * トップへ戻るボタン
 * =========================================================*/
.topBtn {
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: block;
	color:#6e91ad;
	text-decoration: none;
	font-weight: bold;
	font-size: 11px;
	width: 35px;
	height: 50px;
	text-align: center;
	line-height: 22px;
	border-radius: 30px;
	padding-top: 30px;
	box-sizing: border-box;
	transition: 0s;
}
.topBtn::before {
	content: '\25B2';
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 20px;
}
.topBtn::hover {
	opacity: 0.7;
}

/* =========================================================
 * responsive
 * =========================================================*/
@media screen and (min-width:480px){
	/* ===== common =====*/
}
@media screen and (min-width:768px) and (max-width:1024px) {
}
@media screen and (min-width:1024px) {
	.float > * {
		float: left;
	}
}