@charset "utf-8";

/*-------------------------
汎用css
---------------------------*/
.sp {
	display: none;
}
@media screen and (max-width: 904px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
}

/* width */
.box-size {
	width: 100%;
	margin: 0 auto;
}
.box-side20 {
	padding: 0 20px;
}
.box-side25 {
	padding-right: 25px;
	padding-left: 25px;
}
.box-side25-45 {
	padding-right: 25px;
	padding-left: 25px;
}
@media screen and (max-width: 960px) {
	.box-side25-45 {
		padding-right: 45px;
		padding-left: 45px;
	}
}
.w420 {
	max-width: 420px;
}
.box-side20.w420 {
	max-width: 460px;
}
.w460 {
	max-width: 460px;
}
.box-side20.w460 {
	max-width: 500px;
}
.w520 {
	max-width: 520px;
}
.box-side20.w520 {
	max-width: 560px;
}
.w680 {
	max-width: 680px;
}
.box-side20.w680 {
	max-width: 720px;
}
.w760 {
	max-width: 760px;
}
.box-side20.w760 {
	max-width: 800px;
}
.w880 {
	max-width: 880px;
}
.box-side20.w880 {
	max-width: 920px;
}
.w925 {
	max-width: 975px;
}
.w930 {
	max-width: 980px;
}
.w960 {
	max-width: 960px;
}
.box-side20.w960 {
	max-width: 1000px;
}

/* flex box */
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex a,
.flex img {
	display: block;
	width: 100%;
}
.reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.box-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.col2 > *,
.col2-2-1 > * {
	width: 50%;
}
.col3-3-2 > * {
	width: calc(100% / 3);
}
.col-margin10 {
	margin: 0 0 -10px -10px;
}
.col-margin10 > * {
	padding: 0 0 10px 10px;
}
.col-margin50-20 {
	margin: 0 0 -50px -50px;
}
.col-margin50-20 > * {
	padding: 0 0 50px 50px;
}
.col-margin100-30 {
	margin: 0 0 -100px -100px;
}
.col-margin100-30 > * {
	padding: 0 0 100px 100px;
}
@media screen and (max-width: 960px) {
	.col-margin50-20 {
		margin: 0 0 -20px -20px;
	}
	.col-margin50-20 > * {
		padding: 0 0 20px 20px;
	}
	.col-margin100-30 {
		margin: 0 0 -30px -30px;
	}
	.col-margin100-30 > * {
		padding: 0 0 30px 30px;
	}
}
@media screen and (max-width: 640px) {
	.col2-2-1 > * {
		width: 100%;
	}
	.col3-3-2 > * {
		width: 50%;
	}
}

/* description list */
.d-list {
	font-weight: bold;
	line-height: 1.5;
}
.d-list dt {
	color: #ffbe00;
	padding: 0 1em 1em 0;
	position: relative;
}
.d-list dt:after {
	content: "｜";
	position: absolute;
	top: 0;
	right: 0;
}
.d-list dd {
	padding: 0 0 1em 1em;
}
@media screen and (max-width: 640px) {
	.d-list dt {
		width: 100% !important;
		padding: 0 1em 0 0;
		border: none;
	}
	.d-list dt:after {
		position: relative;
		top: 0;
		right: auto;
		left: 1em;
	}
	.d-list dd {
		width: 100% !important;
		padding: 0 0 1em 0;
	}
}
.d-term8 dt {
	width: 8em;
}
.d-term8 dd {
	width: calc(100% - 8em);
}

/* list */
.list-disk li {
	text-align: justify;
	line-height: 1.2;
	padding-left: 1em;
	position: relative;
}
.list-disk li+li {
	margin-top: 1em;
}
.list-disk li:before {
	color: #ffbe00;
	position: absolute;
	top: 0;
	left: 0;
}
.list-disk li:before {
	content: "\25CF";
}

/* text */
.text-c {
	text-align: center!important;
}
.text-l {
	text-align: justify;
}

/* font */
.serif {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
}
.font-size-s {
	font-size: .8rem !important;
}
.font-size-l {
	font-size: 1.15rem;
	line-height: 2.4;
}

.font-bold {
	font-weight: bold;
}

/* image */
.img-c {
	display: block;
	width: 100%;
	margin: 0 auto;
}

/* anchor */
.anchor01:hover {
	box-shadow: 8px 8px 5px rgba(0,0,0,.2);
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}
.group1,
.group2,
.group3,
.group4 {
	overflow: hidden;
}
.group1 img,
.group2 img,
.group3 img,
.group4 img {
	transition: .8s;
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
}
.group1:hover img,
.group2:hover img,
.group3:hover img,
.group4:hover img {
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/* border */
.top-border {
	position: relative;
}
.top-border:before {
	content: "";
	background: url("../img/bg_pattern01.jpg") fixed;
	width: 100%;
	height: 4px;
	position: absolute;
	top: 0;
}
.top-circle {
	padding-top: 130px;
	margin-top: 90px;
	position: relative;
}
.top-circle:before {
	content: "";
	background: url("../img/ico_circle.png") no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* margin */
.mt1 {
	margin-top: 1rem !important;
}
.mt2 {
	margin-top: 2rem !important;
}
.mt3 {
	margin-top: 3rem !important;
}
.mt4 {
	margin-top: 4rem !important;
}
.mt5 {
	margin-top: 5rem !important;
}
.mt6 {
	margin-top: 6rem !important;
}
.mt8 {
	margin-top: 8rem !important;
}

@media screen and (max-width: 640px) {
	.sp-mt20 {
		margin-top: 20px;
	}
}

/* map */
.map iframe {
	display: block;
	width: 100%;
	height: 400px;
	-webkit-transition: .2s;
	transition: .2s;
	-webkit-filter: grayscale(100);
	filter: grayscale(100);
}
.map iframe:hover {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
}

/* animation */
.animated {
	-webkit-transition: 1s;
	transition: 1s;
}
