@charset "utf-8";

.front-most {
	position: relative;
	z-index: 100;
}
.item-wrap {
	width: 100%;
}

/*PC・SP表示切り替え*/
.pc {
	display: block;
}
.sp {
	display: none;
}
@media only screen and (max-width: 480px) {
.pc {
	display: none;
}
.sp {
	display: block;
}
/********************/}
/*================================================================================================

* BG COLOR *

================================================================================================*/
.bg-wh {
	background: #fff;
}
.bg-gray {
	background: #fafafc;
}

/*================================================================================================

* SECTION TITLE *

================================================================================================*/
.section-title {
	text-align: center;
}
		.section-title.left {
			text-align: left;
		}
.section-title p.main {
	font-size: 1.6rem;
	letter-spacing: 4px;
	line-height: 1.5em;
	color: #204A95;
}
.section-title p.sub {
	font-size: 1rem;
	letter-spacing: 6px;
	line-height: 1.5em;
	font-family: "Roboto";
	font-size: 0.8rem;
	font-weight: 700;
	color: #204A95;
}

.section-title.white {
	color: #fff
}
.section-title.mb1 {
	margin-bottom: 1rem;
}
.section-title.mb2 {
	margin-bottom: 2rem;
}
.section-title.mb3 {
	margin-bottom: 3rem;
}


.section-title.small p.main {
	font-size: 1.25rem;
	line-height: 1.75em;
}
.section-title.small p.sub {
	font-size: 0.8rem;
}

/*================================================================================================

* TEXT LINK BTN *

================================================================================================*/
.link-btn {
	width: 100%;
	max-width: 230px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
	background: #fff;
	display: block;
	border: 2px solid #204A95;
	border-radius: 100px;
	text-align: center;
	font-size: 0.9rem;
	font-weight: 700;
	box-shadow: 0 2px 5px -1px rgba(75,110,145,0.45);
	transition: 0.15s ease;
}

.link-btn span {
	position: relative;
}
		.link-btn span::after {
			width: 9px;
			height: 9px;
			border-top: 2px solid;
			border-right: 2px solid;
			border-color: #204A95;
			content: "";
			margin: auto;position: absolute;top: 0;right: -1.5rem;bottom: 0;
			transform: translateX(0) rotate(45deg);
			transition: 0.15s ease;
		}

.link-btn:hover {
	color: #fff;
	background: #204A95;
	transition: 0.35s ease;
}
		.link-btn:hover span::after {
			border-color: #fff;
			transform: translateX(6px) rotate(45deg);
		}

/*================================================================================================

* ENTRY LINK BTN *

================================================================================================*/
.entry {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	background: #204A95;
	display: block;
	box-shadow: 0 2px 5px -1px rgba(75,110,145,0.8);
	border-radius: 3px;
	color: #fff;
	text-align: center;
}

/*================================================================================================

* LINK ICON *

================================================================================================*/
a.link-icon-btn span {
	position: relative;
}

a.link-icon-btn span::after {
	width: 21px;
	height: 21px;
	content: "";
	margin: auto;position: absolute;top: -1px;bottom: 0;left: -2.25rem;
	transition: 0.15s ease;
}
		a.link-icon-btn:hover span::after {
			transform: translateX(20px);
			opacity: 0;
			transition: 0.15s ease;
		}

a.link-icon-btn span::before {
	width: 11px;
	height: 11px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	margin: auto;position: absolute;top: 0;bottom: 0;right: -1.5rem;
	transition: 0.15s ease;
	transform: translateX(-20px) rotate(45deg) ;
	opacity: 0;
	transition: 0.15s ease;
}
		a.link-icon-btn:hover span::before {
			transform: translateX(0px) rotate(45deg) ;
			opacity: 1;
			transition: 0.15s ease 0.2s;
		}

/* ICON SETTING ================================================*/
a.link-icon-btn.mail span::after {
	background: url(../../img/icon/mail.svg)no-repeat center / contain;
}
a.link-icon-btn.doc span::after {
	background: url(../../img/icon/document.svg)no-repeat center / contain;
}

/*================================================================================================

* NAV GLOBAL *

================================================================================================*/
nav.global {
	width: 100%;
	position: relative;
	background: #fff;
	height: 60px;
}


/* ロゴ ================================================*/
nav.global .logo {
	width: 20%;
	height: 100%;
	position: relative;
}
nav.global .logo img {
	width: 180px;
	position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
}

body.index nav.global .logo.top {
	display: flex;
}
body.index nav.global .logo.sub {
	display: none;
}

body.sub-page nav.global .logo.top,
body.single-page nav.global .logo.top {
	display: none;
}
body.sub-page nav.global .logo.sub,
body.single-page nav.global .logo.sub {
	display: flex;
}



@media only screen and (max-width: 1240px) {
nav.global .logo {
	width: 200px;
}
/********************/}

@media only screen and (max-width: 768px) {
nav.global .logo {
	padding: 1rem;
}
/********************/}

/* メニュー ================================================*/
nav.global .center {
	width: 65%;
	background: #fff;
}

nav.global ul.nav-inner {
	width: 100%;
	margin: 0 auto;
}
nav.global ul.nav-inner li {
	width: 15%;
}
nav.global ul.nav-inner li.ex {
	width: 20%;
}
nav.global ul.nav-inner li a {
	display: block;
	color: #204A95;
	background: #fff;
	text-align: center;
	padding: 1rem;
	transition: 0.15s ease;
}
		nav.global ul.nav-inner li a:hover {
			color: #fff;
			background: #204A95;
			transition: 0.15s ease;
		}

nav.global ul.nav-inner li.sp {
	display: none;
}

@media only screen and (max-width: 1400px) {
nav.global ul.nav-inner li {
	font-size: 0.9rem;
}
nav.global ul.nav-inner li a {
	padding: 1rem 0.25rem;
}
/********************/}
@media only screen and (max-width: 1240px) {
nav.global .center {
	display: none;
}
/********************/}
@media only screen and (max-width: 768px) {
nav.global ul.nav-inner li.sp {
	display: block;
}
/********************/}

/* お問い合わせボタン ================================================*/
nav.global .contact {
	width: 15%;
	padding: 1rem;
	background: #204A95;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
@media only screen and (max-width: 1400px) {
nav.global .contact {
	padding: 1rem 0.25rem;
	font-size: 0.9rem;
}
/********************/}
@media only screen and (max-width: 1240px) {
nav.global .contact {
	display: none;
}
/********************/}

/* 追従用 ================================================*/
.fixed-nav {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	transform: translateZ(0) translate3d(0,0,0) translateY(-103%);
	transition: 0.15s ease;
	z-index: 5000;
}
.fixed-nav.on {
	transform: translateZ(0) translate3d(0,0,0) translateY(0%);
	transition: 0.35s ease;
}

/*================================================================================================

* MAIN LIST *

================================================================================================*/
ul.main-list {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	border: 1px solid #4b4b4b;
}
ul.main-list li {
	width: 100%;
	border-bottom: 1px solid #4b4b4b;
}
		ul.main-list li:last-of-type {
			border-bottom: 0px solid #4b4b4b;
		}
ul.main-list li > div:nth-child(1) {
	width: 30%;
	padding: 1.5rem 1rem;
	background: #f5f5f7;
	text-align: center;
	color: #37474F;
	border-right: 1px solid #4b4b4b;
}
ul.main-list li > div:nth-child(2) {
	width: calc(70% - 0rem);
	padding: 1.5rem 2rem 1.5rem 2rem;
	background: #fafafc;
}

/* サブスタイル ================================================*/
ul.main-list.sub {
	border: 0px solid #4b4b4b;
}
ul.main-list.sub li {
	width: 100%;
	border-bottom: 1px solid #4b4b4b;
}
		ul.main-list.sub li:last-of-type {
			border-bottom: 0px solid #4b4b4b;
		}
ul.main-list.sub li > div:nth-child(1) {
	width: 30%;
	padding: 0.5rem 1rem;
	background: none;
	text-align: left;
	color: #37474F;
	font-size: 0.9rem;
	border-right: 0px solid #eee;
}
ul.main-list.sub li > div:nth-child(2) {
	width: calc(70% - 0rem);
	font-size: 0.9rem;
	padding: 0.5rem 1rem;
	background: none;
}

@media only screen and (max-width: 480px) {

ul.main-list li > div:nth-child(1) {
	width: 100%;
	padding: 1rem 1rem 0.5rem 1rem;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
	border-right: 0px solid #4b4b4b;
}
ul.main-list li > div:nth-child(2) {
	width: calc(100% - 0rem);
	padding: 0.5rem 1rem 1rem 1rem;
	font-size: 1rem;
	text-align: center;
}
ul.main-list.sub li > div:nth-child(1) {
	width: 100%;
	font-weight: 700;
	padding: 0rem;
	padding-top: 1rem;
}
ul.main-list.sub li > div:nth-child(2) {
	width: calc(100% - 0rem);
	text-align: left;
	padding: 0rem;
	padding-bottom: 1rem;
}
/********************/}

/*================================================================================================

* POST CARD *

================================================================================================*/
.post-card-wrap {
	width: 100%;
}
.post-card {
	width: 33.333%;
	background: #fff;
}
.post-card-wrap .post-card {
	width: calc(33.333% - 20px);
	margin-right: 30px;
	margin-bottom: 2rem;
}

.post-card-wrap .post-card:nth-child(3n) {
	margin-right: 0px;
}

@media only screen and (max-width: 768px) {
.post-card-wrap .post-card {
	width: calc(50% - 1rem);
	margin-right: 30px;
	margin-bottom: 2rem;
}
.post-card-wrap .post-card:nth-child(3n) {
	margin-right: 30px;
}
.post-card-wrap .post-card:nth-child(2n) {
	margin-right: 0px;
}
/********************/}

@media only screen and (max-width: 480px) {
.post-card-wrap .post-card {
	width: calc(100% - 0rem);
	margin-right: 0px;
	margin-bottom: 2rem;
}
.post-card-wrap .post-card:nth-child(3n) {
	margin-right: 0px;
}
.post-card-wrap .post-card:nth-child(2n) {
	margin-right: 0px;
}
/********************/}


/* サムネイル ================================================*/
.post-card .img-wrap {
	padding-top: 58%;
	position: relative;
	overflow: hidden;
}
		.post-card .img-wrap .img {
			width: 100%;
			height: 100%;
			position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
			transition: 0.35s ease;
		}
		.post-card:hover .img-wrap .img {
			transform: scale(1.03);
			transition: 0.35s ease;
		}

/* カテゴリーラベル ================================================*/
.post-card .img-wrap .label {
	margin: auto;position: absolute;top: 0.5rem;left: 0.5rem;
	z-index: 10;
}
.post-card .img-wrap .label p {
	padding: 0.25rem 1rem;
	font-size: 0.8rem;
	color: #204A95;
	font-weight: 700;
	background: #fff;
}

		.post-card .img-wrap .label.hotel p::after,
		.select-cate-wrap .main.hotel::after {
			content: "ホテル・旅館";
		}
		.post-card .img-wrap .label.hospital p::after,
		.select-cate-wrap .main.hospital::after {
			content: "病院・施設";
		}
		.post-card .img-wrap .label.school p::after,
		.select-cate-wrap .main.school::after {
			content: "保育園・幼稚園・学校等";
		}
		.post-card .img-wrap .label.mansion p::after,
		.select-cate-wrap .main.mansion::after {
			content: "マンション";
		}
		.post-card .img-wrap .label.housing p::after,
		.select-cate-wrap .main.housing::after {
			content: "住宅";
		}
		.post-card .img-wrap .label.facility p::after,
		.select-cate-wrap .main.facility::after {
			content: "各種企業施設等";
		}
		.post-card .img-wrap .label.etc p::after,
		.select-cate-wrap .main.etc::after {
			content: "その他";
		}

		.post-card .img-wrap .label.public p::after,
		.select-cate-wrap .main.public::after {
			content: "公共工事";
		}
		.post-card .img-wrap .label.private p::after,
		.select-cate-wrap .main.private::after {
			content: "民間工事";
		}
		.post-card .img-wrap .label.pavement p::after,
		.select-cate-wrap .main.pavement::after {
			content: "舗装工事";
		}

		.post-card .img-wrap .label.none p {
			display: none;
		}

/* センテンス ================================================*/
.post-card .info {
	background: #fff;
	padding: 1.5rem 1rem;
	position: relative;
}
		.post-card .info .time {
			width: 100%;
			font-size: 0.8rem;
			font-weight: 700;
			font-family: "Roboto";
			color: #37474F;
		}
		.post-card .info h2,
		.post-card .info h3 {
			overflow: hidden;
			margin-bottom: 0.5rem;
			color: #37474F;
			font-weight: 700;
		}
		.post-card .info p {
			font-size: 0.8rem;
			color: #37474F;
			height: 108px;
			overflow: hidden;
		}

/* ボタン ================================================*/
		.post-card .info .btn {
			width: 45px;
			height: 45px;
			border-radius: 100%;
			background: #204A95;
			content: "";
			margin: auto;position: absolute;top: 0;right: 1.5rem;
			transform: scale(1) translateY(-50%);
			box-shadow: 0 2px 5px -1px rgba(10,10,10,0.25);
			transition: 0.35s ease;
		}
		.post-card .info .btn span {
			display: inline-block;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 6px 0 6px 9px;
			border-color: transparent transparent transparent #ffffff;
			content: "";
			margin: auto;position: absolute;top: 0;right: 0;bottom: 0;left: 4px;
		}

		.post-card:hover .info .btn {
			background: #7FC5EF;
			transition: 0.35s ease;
		}

/*================================================================================================

* SUB PAGE HEADER *

================================================================================================*/
.sub-page-header {
	width: 100%;
	position: relative;
}
.sub-page-header img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 1280px) {
/********************/}
@media only screen and (max-width: 480px) {
/********************/}

/*================================================================================================

* SUBPAGE TITLE *

================================================================================================*/
.sub-page-title {
	width: 100%;
	background: #fafafc;
	padding-bottom: 2rem;
}
		.sub-page-title.wh {
			background: #fff;
		}
		.sub-page-title.p0 {
			padding-bottom: 0;
		}

.sub-page-title h1 {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
.sub-page-title h1 .main {
	width: 62%;
	padding: 1.5rem 2rem;
	background: #204A95;
	color: #fff;
}
		.sub-page-title h1 .main p {
			font-size: 1.25rem;
		}

.sub-page-title h1 .sub {
	width: 38%;
	color: #204A95;
	background: #fff;
}

@media only screen and (max-width: 480px) {
.sub-page-title h1 .main {
	width: 100%;
	padding: 1rem 2rem;
	text-align: center;
}
.sub-page-title h1 .sub {
	width: 100%;
}
.sub-page-title h1 .sub p {
	font-size: 0.8rem;
	padding: 0.5rem;
}
		.sub-page-title h1 .main p {
			font-size: 1rem;
		}
/********************/}
/*================================================================================================

* SELCT CATEGORY *

================================================================================================*/
.select-cate-wrap {
	width: 100%;
	padding: 0 1rem;
	background: #fafafc;
}
.select-cate-wrap > .p1024 {
	padding-bottom: 4rem;
	border-bottom: 1px solid #ddd;
}

.select-cate-wrap h2 {
	text-align: center;
	padding: 3rem 0rem 2rem 0rem;
}
.select-cate-wrap p.sub {
	font-size: 0.8rem;
	color: #37474F;
}
.select-cate-wrap p.main {
	font-size: 1.25rem;
	color: #204A95;
}
body.achv-all .select-cate-wrap p.main::after {
	content: "施工実績 全件" !important;
}
body.achv-building.all .select-cate-wrap p.main::after {
	content: "建築工事 全件" !important;
}
body.achv-engineering.all .select-cate-wrap p.main::after {
	content: "土木工事 全件" !important;
}
body.achv-demolition.all .select-cate-wrap p.main::after {
	content: "解体工事 全件" !important;
}

.select-cate-wrap .item-wrap a {
	width: calc(33.333% - 20px);
	padding: 1rem;
	color: #204A95;
	border: 2px solid #204A95;
	border-radius: 3px;
	background: #fff;
	text-align: center;
	font-weight: 700;
	box-shadow: 0 2px 5px -1px rgba(75,110,145,0.45);
	position: relative;
	transition: 0.35s ease;
}
.select-cate-wrap .item-wrap a:hover {
	color: #fff;
	background: #204A95;
	border: 2px solid #204A95;
	transition: 0.35s ease;
}
.select-cate-wrap .item-wrap a::after {
	width: 10px;
	height: 10px;
	content: '';
	position: absolute;margin: auto;top: 0;right: 1.5rem;bottom: 0;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: rotate(45deg);
}

@media only screen and (max-width: 1280px) {
.select-cate-wrap > .p1024 {
	padding-bottom: 2rem;
}
.select-cate-wrap .item-wrap {
	max-width: 768px;
	margin: 0 auto;
}
.select-cate-wrap .item-wrap a {
	width: calc(33.333% - 20px);
	padding: 0.5rem 1rem;
	font-size: 0.8rem;
}
/********************/}

@media only screen and (max-width: 580px) {
.select-cate-wrap .item-wrap a {
	width: calc(100% - 0px);
	margin-bottom: 1rem;
	padding: 1rem;
	font-size: 1rem;
}
.select-cate-wrap .item-wrap a:last-child {
	margin-bottom: 0rem;
}
/********************/}
/*================================================================================================

* SELCT MODAL *

================================================================================================*/
.select-modal-bg {
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.4);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6000;
	opacity: 0;
	pointer-events: none;
	transition: 0.35s ease 0.15s;
}
		.select-modal-bg.on {
			opacity: 1;
			pointer-events: none;
			transition: 0.35s ease;
		}

.select-modal-scroll {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6100;
	overflow-y: scroll;
	pointer-events: none;
	opacity: 0;
	transition: 0.35s ease;
}
		.select-modal-scroll.on {
			pointer-events: auto;
			opacity: 1;
			transition: 0.35s ease 0.15s;
		}

.select-modal-container {
	width: 100%;
	position: relative;
	padding: 8rem 1rem;
	transform: scale(0.95);
	transition: 0.35s ease 0s;
}
		.on .select-modal-container {
			transform: scale(1);
			transition: 0.35s ease 0.15s;
		}

.select-modal-wrap {
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
	background: #fff;
	padding: 2rem 1rem 3rem 1rem;
	border-radius: 5px;
	box-shadow: 0 45px 45px -15px rgba(10,10,10,0.3);
	position: relative;
	z-index: 6000;
}
		.select-modal-wrap > .inner {
			width: 100%;
			max-width: 380px;
			margin: 0 auto;
		}

/* LIST ================================================*/
.select-modal-wrap h3 {
	margin-bottom: 1rem;
}
.select-modal-wrap ul {
	width: 100%;
}
.select-modal-wrap ul li {
	width: 100%;
}
.select-modal-wrap ul li a {
	width: 100%;
	padding: 1rem;
	color: #37474F;
	border-bottom: 1px solid #e7e7e7;
	position: relative;
	display: block;
	transition: 0.35s ease;
}

ul.news-list li a:hover,
.select-modal-wrap ul li a:hover {
	color: #204A95;
	transition: 0.35s ease;
}

ul.news-list li a::after,
.select-modal-wrap ul li a::after {
	width: 100%;
	height: 1px;
	background: #204A95;
	content: "";
	position: absolute;margin: auto;right: 0;bottom: -1px;left: 0;
	transform-origin: left;
	transform: scaleX(0);
	transition: 0.35s ease;
}

ul.news-list li a:hover::after,
.select-modal-wrap ul li a:hover::after {
	transform: scaleX(1);
	transition: 0.35s ease;
}

ul.news-list li a::before,
.select-modal-wrap ul li a::before {
	width: 7px;
	height: 7px;
	content: '';
	position: absolute;margin: auto;top: -2px;right: 1.5rem;bottom: 0;
	border-top: 1px solid #929292;
	border-right: 1px solid #929292;
	transform: translateX(0rem) rotate(45deg);
	transition: 0.35s ease;
}
		ul.news-list li a:hover::before,
		.select-modal-wrap ul li a:hover::before {
			border-top: 1px solid #204A95;
			border-right: 1px solid #204A95;
			transform: translateX(0.5rem) rotate(45deg);
			transition: 0.35s ease;
		}

/* CLOSE ================================================*/
.select-modal-close-bg {
	width: 100%;
	height: 100%;
	cursor: pointer;
	top: 0;
	left: 0;
	position: absolute;margin: auto;top: 0;left: 0;
}
.select-modal-close-btn {
	width: 50px;
	height: 50px;
	content: '';
	position: absolute;margin: auto;top: -50px;right: 0;
	cursor: pointer;
}

		.select-modal-close-btn span {
			width: 60%;
			height: 2px;
			background: #fff;
			content: "";
			position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
			transition: 0.35s ease 0s;
		}
				.select-modal-close-btn.on span:nth-child(1) {
					transform: rotate(45deg);
					transition: 0.35s ease 0.5s;
				}
				.select-modal-close-btn.on span:nth-child(2) {
					transform: rotate(-45deg);
					transition: 0.35s ease 0.5s;
				}


/*================================================================================================

* Footer *

================================================================================================*/
footer {
	width: 100%;
	padding: 1.5rem 1rem 1.5rem 1rem;
	background: #204A95;
}
footer p {
	text-align: center;
	color: #fff;
}

footer .info {
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(255,255,255,0.2)
}
		footer .info > div:nth-child(1) {
			width: 50%;
			padding-right: 2rem;
		}
		footer .info > div:nth-child(2) {
			width: 50%;
			color: #fff;
		}

footer .sns-section {
margin-top: 2rem;
margin: 2rem auto 0rem auto;
text-align: center;


}
.sns-icons {
	display: flex;
	justify-content: center;
	gap: 25px;
}

.sns-icon {
	height: 2rem;
}


footer img {
	max-width: 300px;
	display: block;
	margin: 0 auto;
}

footer .info .row {
	width: 100%;
}
		footer .info .row > div:nth-child(1) {
			width: 44px;
		}
		footer .info .row > div:nth-child(2) {
			width: calc(100% - 44px);
		}

@media only screen and (max-width: 1024px) {
footer .info {
	max-width: 380px;
}
footer .info img {
	margin-bottom: 1rem;
}
footer .info > div:nth-child(1) {
	width: 100%;
}
footer .info > div:nth-child(2) {
	width: 100%;
}
/********************/}

/*================================================================================================

* ページネーション *

================================================================================================*/
.page-no {
	width: 100%;
	padding-top: 1rem;
}
		.page-no span {
			color: #37474F;
		}

.pgnt-wrap {
	width: 100%;
	margin: 0 auto;
	padding-top: 1rem;
}
.pgnt-wrap .nmbr {
	width: 50%;
}
.pgnt-wrap .nmbr a {
	width: 45px;
	padding: 7px 0rem;
	text-align: center;
	background: #fff;
	border-right: 1px solid #eee;
}
.pgnt-wrap .nmbr a:last-child {
	border-right: 0px solid #eee;
}

		.pgnt-wrap .nmbr a.current {
			color: #fff;
			background: #204A95;
			pointer-events: none;
		}

.pgnt-wrap .control {
	width: 50%;
}

.pgnt-wrap .control a {
	width: 45px;
	padding: 7px 0rem;
	text-align: center;
	background: #f0f3f4;
	color: #37474F;
	border-right: 1px solid #eee;
	pointer-events: none;
}
.pgnt-wrap .control a:last-child {
	border-right: 0px solid #eee;
}
		.pgnt-wrap .control a.plus,
		body.paged .pgnt-wrap .control a.minus {
			background: #fff;
			color: #204A95;
			pointer-events: auto;
		}

@media only screen and (max-width: 480px) {
.page-no {
	text-align: center;
}
.pgnt-wrap .nmbr {
	width: 100%;
	max-width: 180px;
	margin: 0 auto;
	margin-bottom: 1rem;
}
.pgnt-wrap .control {
	width: 100%;
	max-width: 180px;
	margin: 0 auto;
}
/********************/}

/*================================================================================================

* SP MENU - BTN *

================================================================================================*/
.sp-menu-btn {
	width: 56px;
	height: 56px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 15000;
	display: none;
}
		nav.global .sp-menu-btn {
			position: relative;
		}
		div.fixed-nav .sp-menu-btn {
			display: none;
		}

		.sp-menu-btn.fixed {
			transform: translateY(-103%);
			transition: 0.15s ease;
		}
		.sp-menu-btn.fixed.on {
			transform: translateY(0%);
			transition: 0.35s ease;
		}
		.sp-menu-btn.lock{
			pointer-events: none;
		}

.sp-menu-btn span {
	width: 50%;
	height: 2px;
	background: #204A95;
	content: "";
	position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
	transition: 0.35s ease;
}
		.sp-menu-btn span:nth-child(1) {
			position: absolute;margin: auto;top: -16px;right: 0;bottom: 0;left: 0;
			transition-delay: 0.35s;
		}
		.sp-menu-btn span:nth-child(2) {
			position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
		}
		.sp-menu-btn span:nth-child(3) {
			position: absolute;margin: auto;top: 0;right: 0;bottom: 0;left: 0;
		}
		.sp-menu-btn span:nth-child(4) {
			position: absolute;margin: auto;top: 0;right: 0;bottom: -16px;left: 0;
			transition-delay: 0.35s;
		}

.sp-menu-btn.active span {
	transition: 0.35s ease;
}
.sp-menu-btn.active span:nth-child(1) {
	transform: translateY(-3px);
	opacity: 0;
}
.sp-menu-btn.active span:nth-child(2) {
	transform: rotate(45deg);
	transition-delay: 0.35s;
}
.sp-menu-btn.active span:nth-child(3) {
	transform: rotate(-45deg);
	transition-delay: 0.35s;
}
.sp-menu-btn.active span:nth-child(4) {
	transform: translateY(3px);
	opacity: 0;
}

@media only screen and (max-width: 1240px) {
.sp-menu-btn {
	display: block;
}
/********************/}

@media only screen and (max-width: 320px) {
.sp-menu-btn {
	width: 45px;
}
/********************/}

/*================================================================================================

* SP MENU - WRAP *

================================================================================================*/
.sp-menu-wrap {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 12000;
	pointer-events: none;
}
.sp-menu-wrap > .inner {
	width: 100%;
	height: 100%;
	opacity: 0;
	overflow-y: scroll;
	transition: 0.35s ease;
}
			.sp-menu-wrap.on > .inner {
				opacity: 1;
			}
.sp-menu-wrap ul {
	width: 100%;
	padding: 6rem 1rem;
	overflow: hidden;
}
.sp-menu-wrap ul li {
	width: 100%;
	margin-bottom: 2rem;
	text-align: center;
	opacity: 0;
	transform: translateX(20px);
	transition: 0.35s;
}
.sp-menu-wrap ul li a {
	width: 100%;
	color: #204A95;
	display: block;
	font-size: 1.5rem;
}


.sp-menu-wrap.on {
	pointer-events: auto;
}
.sp-menu-wrap.on ul li {
	opacity: 1;
	transform: translateX(0px);
}
.sp-menu-wrap.on ul li:nth-of-type(1) {
	transition-delay: 0s;
}
.sp-menu-wrap.on ul li:nth-of-type(2) {
	transition-delay: 0.05s;
}
.sp-menu-wrap.on ul li:nth-of-type(3) {
	transition-delay: 0.1s;
}
.sp-menu-wrap.on ul li:nth-of-type(4) {
	transition-delay: 0.15s;
}
.sp-menu-wrap.on ul li:nth-of-type(5) {
	transition-delay: 0.2s;
}
.sp-menu-wrap.on ul li:nth-of-type(6) {
	transition-delay: 0.25s;
}
.sp-menu-wrap.on ul li:nth-of-type(7) {
	transition-delay: 0.3s;
}
.sp-menu-wrap.on ul li:nth-of-type(8) {
	transition-delay: 0.35s;
}

/*================================================================================================

* SP MENU - BG *

================================================================================================*/
.sp-menu-bg {
	width: 100%;
	height: 100vh;
	background: rgba(255,255,255,0.9);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6000;
	opacity: 0;
	cursor: pointer;
	pointer-events: none;
	transition: 0.35s ease 0.15s;
}
		.sp-menu-bg.on {
			opacity: 1;
			pointer-events: auto;
			transition: 0.35s ease;
		}

/*================================================================================================

* メディアクエリ *

================================================================================================*/
@media only screen and (max-width: 1240px) {
/********************/}
@media only screen and (max-width: 768px) {
/********************/}
@media only screen and (max-width: 480px) {
/********************/}