/*
Theme Name: JME2025
Theme URI: https://polyphonic.me/
Author: Polyphonic
Author URI: https://polyphonic.me/
Description: Wall Street is a responsive WordPress business theme for savvy entrepreneurs and startups.
Version: 1.1.10
License: GNU General Public License, V2
License URI: license.txt
Text Domain: wallstreet
Domain Path: /languages/
Tags: black, white, light, dark, right-sidebar, fluid-layout, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

*/

@charset "UTF-8";
/* CSS Document */

.grecaptcha-badge {
	display: none !important;
}
/*
----------------------------------------------
HOME SLIDER
----------------------------------------------
*/
.swiper-wrapper {
	height: calc(100vh - 90px) !important;
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes zoom {
  0% {
    background-size: 100%; /* 初期サイズ */
  }
  100% {
    background-size: 130%; /* 初期サイズに戻る */
  }
}

.swiper-container {
    width: 100%;
    height: 100vh;
	transform: translate3d(0,0,0);
}
.swiper-wrapper .swiper-slide p {
    position: absolute;
    top: 27vh;
	left: 5vw;
	color: #ffffff;
	font-size: 6vh;
	font-weight: 700;
	text-shadow: 0 0 5px rgba(0,0,0,0.3);
	line-height: 1.2;
}

.swiper-wrapper .swiper-slide h4 span,
.swiper-wrapper .swiper-slide p span {
	font-size: 0.7em;
}
.swiper-slide-active p {
	animation-name: fade-in;
	animation-duration: 2s;
	animation-delay: 1s;
	animation-fill-mode: both;
}
.swiper-slide-active,
.swiper-slide-duplicate-active,
.swiper-slide-prev {
	animation: zoom 15s linear infinite;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	will-change: transform;
}
.swiper-wrapper .swiper-slide h4 {
	position: absolute;
    top: 5vh;
    left: 5vw;
    color: #004488;
    font-size: 8vh;
    font-weight: 700;
    text-shadow: 0 0 10px rgba(255,255,255,0.7);
    line-height: 1.2;
}
.swiper-wrapper .swiper-slide img {
	width: 50vw;
}
.swiper-pagination-bullet {
	width: 8%;
	height: 8px;
	border-radius: 0;
}
.swiper-pagination-bullet-active {
	opacity: 0.7;
}

.swiper-slide.slide01 {
	background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-001.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}
.swiper-slide.slide02 {
	background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-014.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}
.swiper-slide.slide03 {
	background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-020.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}
.swiper-slide.slide04 {
	background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-017.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}
.swiper-slide.slide05 {
	background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-019.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

/*
----------------------------------------------
HOME SLIDER Tablet Portrait
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
	/*.swiper-wrapper {
		height: 33vh !important;
	}
	/*.swiper-slide img {
		width: 100vh !important;
		height: 70vh !important;
		max-inline-size: none !important;
		max-block-size: 100% !important;
	}*/
}

/*
----------------------------------------------
HOME SLIDER Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
	.swiper {
		
	}
	.swiper-wrapper {
		height: 50vh !important;
	}
	.swiper-slide-active,
	.swiper-slide-duplicate-active,
	.swiper-slide-prev {
		animation: zoom 7s linear infinite;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
	}
	.swiper-wrapper .swiper-slide h4  {
		position: absolute;
		top: 1vh;
		left: 5vw;
		font-size: 3.6vh;
		line-height: 1.2;
	}
	.swiper-wrapper .swiper-slide p {
		top: 11vh;
		left: 5vw;
		font-size: 3.0vh;
	}
	.swiper-wrapper .swiper-slide img {
		width: 50vw;
	}
}

/*
----------------------------------------------
HOME SLIDER Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 440px) {
	.swiper-wrapper {
		height: 35vh !important;
		transform: translate3d(0,0,0);
	}
	.swiper-slide.slide01 {
		background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-sp01.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.swiper-slide.slide021 {
		background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-sp02.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.swiper-slide.slide03 {
		background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-sp03.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.swiper-slide.slide04 {
		background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-sp04.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
	.swiper-slide.slide05 {
		background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/topimg-sp05.jpg) no-repeat;
		background-size: cover;
		background-position: center;
	}
}

/*
----------------------------------------------
TOP CATCH COPY
----------------------------------------------
*/
.kanmin-banner {
	position: absolute;
	top: 57vh;
	left: 5vw;
	z-index: 3;
}
body.test3 .kanmin-banner {
	top: 61vh;
}
.kanmin-banner a {
	width: 14vw;
	display: block;
}
body.test3 .kanmin-banner a {
	width: 22vh;
}
.kanmin-banner a img {
	width: 27vh;
	height: auto;
}
.kanmin-banner a:hover img {
	opacity: 0.5;
}
.kanmin-banner-sp {
	display: none;
}

/*
----------------------------------------------
TOP CATCH COPY Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
	.kanmin-banner {
		display: none;
	}
	.kanmin-banner-sp {
		position: absolute;
		top: 32.5vh;
		left: 5vw;
		z-index: 3;
		display: block;
	}
	.kanmin-banner-sp a {
		width: 100%;
		display: block;
	}
	.kanmin-banner-sp a img {
		width: 50vw;
		height: auto;
	}
	.kanmin-banner-sp a:hover img {
		opacity: 0.5;
	}
}

/*
----------------------------------------------
HOME SLIDER Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 440px) {
	body.test9 .kanmin-banner-sp,
	body.test10 .kanmin-banner-sp,
	body.test11 .kanmin-banner-sp,
	body.test12 .kanmin-banner-sp,
	body.test13 .kanmin-banner-sp,
	body.test14 .kanmin-banner-sp {
		position: absolute;
		top: 31vh;
		left: 5vw;
		z-index: 3;
		display: block;
	}
	.kanmin-banner-sp a {
		width: 90vw;
		display: block;
	}
	.kanmin-banner-sp a img {
		width: 90vw;
		height: auto;
	}
	.kanmin-banner-sp a:hover img {
		opacity: 0.5;
	}
}

/*
----------------------------------------------
NEWS BOX
----------------------------------------------
*/
.news-box {
	width: 90vw;
	margin: 0 5vw 0;
	background: rgba(0,0,0,0.6);
	border: 1px solid #fff;
	z-index: 3;
	position: absolute;
	top: calc(86vh - 1vh);
	padding: 10px 0;
}
body.test3 .news-box {
	top: 82vh;
}
.news-title {
	color: #fff;
	font-weight: 700;
	font-size: 1.25vw;
	display: inline-block;
	line-height: 50px;
	margin-left: 1em;
}
.news-title a {
	color: #fff;
	font-weight: 700;
}
.news-title a:hover {
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
}
.news-slick {
	width: 85%;
	float: right;
	display: inline-block;
}
.carousel-wrapper {
	position: relative;
}
.carousel {
	height: 50px;
}
.item {
	display: flex;
	align-items: center;
	height: 50px;
	color: #fff;
	font-size: 1.0vw;
	font-weight: 400;
}
.item a {
	font-weight: 400;
	color: #fff;
}
.item a:hover {
	color: #fff;
	text-decoration: underline;
}
.item p::after {
	content: '';/*何も入れない*/
	display: inline-block;
	width: 18px;/*画像の幅*/
	height: 18px;/*画像の高さ*/
	background-image: url("../../uploads/arrow.png");
	background-size: contain;
    position: relative;
    top: 4px;
	left: 4px;
}

/*
----------------------------------------------
NEWS BOX Smart Phone Tablet Portrait
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
	.news-box {
		width: 90vw;
		margin: 0 5vw 0;
		background: rgba(0,0,0,0.6);
		border: 1px solid #fff;
		z-index: 3;
		position: absolute;
		top: calc(43vh);
		padding: 10px 0;
	}
	.news-title {
		font-size: 2.2vw;
	}
	.news-slick {
		width: 85%;
		float: right;
		display: inline-block;
	}
	.item {
		font-size: 1.8vw;
	}
}

/*
----------------------------------------------
NEWS BOX Smart Phone Tablet Portrait
----------------------------------------------
*/
@media screen and (max-width: 440px) {
	.news-box {
		width: 100vw;
		margin: 0 0 0;
		top: calc(35vh + 50px);
		padding: 10px 0;
		border-left: none;
		border-right: none;
	}
	body.test3 .news-box {
		top: calc(35vh + 50px);
	}
	.news-title {
		font-size: 3.6vw;
		text-align: center;
		line-height: 2;
		width: 100%;
		margin-left: 0;
	}
	.item {
		font-size: 3.6vw;
	}
	.item {
		display: inline-block;
		align-items: center;
		height: 50px;
		color: #fff;
		font-size: 3.6vw;
		font-weight: 400;
	}
	.news-slick {
		width: 94%;
		float: none;
		margin: 0 0 0 3%;
		padding: 0;
	}
}

/*
----------------------------------------------
OTHER
----------------------------------------------
*/

@media screen and (max-width: 440px) {
	body.home footer,
	body.test1 footer,
	body.test2 footer,
	body.test3 footer,
	body.test4 footer,
	body.test5 footer,
	body.test6 footer,
	body.test7 footer,
	body.test8 footer,
	body.test9 footer,
	body.test10 footer,
	body.test11 footer,
	body.test12 footer,
	body.test13 footer,
	body.test14 footer {
		padding-top: 15vh;
	}
	body.test3 .kanmin-banner-sp,
	body.test4 .kanmin-banner-sp,
	body.test5 .kanmin-banner-sp {
		top: 60vw;
	}
	body.test6 .kanmin-banner-sp,
	body.test7 .kanmin-banner-sp {
		top: 60vw;
	}
	body.test8 .kanmin-banner-sp {
		top: 62vw;
	}
	body.test3 .swiper-pagination {
		margin-left: -10vw;
	}
}

/*
----------------------------------------------
TOP　Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
}

/*
----------------------------------------------
PAGES
----------------------------------------------
*/
#pages.content-wrapper {
	background: url("../../uploads/pages-bg.jpg") no-repeat top center;
	background-size: 100%;
	padding-bottom: 15vw;
}

#pages.content-wrapper .main-content {
	max-width: 1080px;
	margin: 0 auto;
}

#content-header {
	width: 100%;
	border-bottom: 10px solid #004488;
}
.content-header-inner {
	max-width: 1000px;
	margin: 0 auto;
}
#content-header h2 {
	font-size: clamp(30px, 3vw, 72px);
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.5vw;
	padding: 0 0 0;
}
#content-header h2.privacy {
	padding: 0.5em 0 0;
	line-height: 1.2;
}
#content-header h3 {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 2vw;
	font-size: clamp(24px, 2vw, 42px);
	text-transform: uppercase;
	color: #004488;
	padding: 1.5em 0 0;
}
#content-header h3.privacy {
	padding: 1em 0 0;
}
.main-content {

}

#content-header-2 {
	width: 100%;
	border-bottom: 10px solid #004488;
	padding-top: 5vw;
}
#content-header-2 h3 {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 2vw;
	text-transform: uppercase;
	color: #004488;
	padding: 1.5em 0 0;
}

/*
----------------------------------------------
NEWS ARCHIVE
----------------------------------------------
*/
body.news article.hentry {
	width: 90%;
	margin: 5em auto;
}
body.news .entry-date {
	font-size: clamp(14px, 1.1vw, 19px);
	letter-spacing: 1px;
}
body.news h3.entry-title {
	font-size: 1.4vw;
	font-weight: 700;
}
body.news h3.entry-title a {
	color: #004488;
}
body.news article.hentry p {
	font-size: clamp(14px, 1.1vw, 19px);
}

/*
----------------------------------------------
PAGES Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	#pages.content-wrapper {
		background: url("../../uploads/pages-bg.jpg") no-repeat top center;
		background-size: 200%;
		padding-bottom: 15vw;
	}

	#pages.content-wrapper .main-content {
		max-width: 90vw;
		margin: 0 auto;
	}
	#content-header {
		width: 100%;
		border-bottom: 5px solid #004488;
	}
	.content-header-inner {
		max-width: 90vw;
		margin: 0 auto;
	}
	#content-header h2 {
		font-size: 6.6vw;
		padding: 2em 0 0;
	}
	#content-header h3 {
		font-size: 5vw;
		padding: 1.5em 0 0;
	}
	#content-header-2 {
		border-bottom: 5px solid #004488;
		padding-top: 5vw;
	}
	#content-header-2 h3 {
		font-size: 5vw;
		padding: 1.5em 0 0;
	}
}

/*
----------------------------------------------
NEWS
----------------------------------------------
*/
body.single.news article.post {
	width: 90%;
	margin: 0 auto;
}
body.single.news article.post header.entry-header h1.entry-title {
	font-size: 1.4vw;
	font-weight: 700;
}
body.single.news article.post header.entry-header .entry-meta {
	margin: 1em 0;
}
.news-list {
	text-align: center;
	clear: both;
	margin-top: 5vw;
}
.news-list a {
	color: #fff;
	background: #004488;
	padding: 0.2em 2em 0.3em;
	border-radius: 4px;
	font-size: 1.2vw;
}
.news-list a:hover {
	color: #d5f4ff;
}

/*
----------------------------------------------
NEWS Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	body.single.news article.post header.entry-header h1.entry-title {
		font-size: 4vw;
	}
	body.single.news article.post header.entry-header .entry-meta {
		font-size: 3vw;
	}
	body.single.news article.post .entry-content {
		font-size: 3vw;
	}
}


/*
----------------------------------------------
MESSAGE
----------------------------------------------
*/
.main-content.message h4 {
	font-size: 2.2vw;
	font-size: clamp(18px, 2.2vw, 30px);
	color: #004488;
	font-weight: 700;
	padding: 3em 0 1.5em;
	text-align: center;
}
.main-content.message .left-content {
	width: 70%;
	font-size: clamp(16px, 1.2vw, 21px);
	line-height: 1.8;
	margin: 0 auto;
}
.main-content.message .left-content p.ceo-name {
	width: 474px;
    height: 90px;
    background: url(http://jme-net.co.jp/wordpress/wp-content/uploads/ceo-name.png) no-repeat;
    background-size: 100%;
    margin: 3em 0 0;
    float: right;
	text-indent: -9999%;
}

/*.main-content.message .right-content {
	width: auto;
	float: right;
}
.main-content.message .right-content img {
	width: 380px;
	height: 475px;
}
/*
----------------------------------------------
MESSAGE Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.message h4 {
		font-size: 5vw;
		padding: 3em 0 1.5em;
	}
	.main-content.message .left-content {
		width: 100%;
		float: none;
		font-size: 3.3vw;
		line-height: 1.8;
	}
	.main-content.message .right-content {
		width: auto;
		float: none;
	}
	.main-content.message .right-content img {
		width: 80%;
		height: auto;
		margin: 10vw 10% 0
	}
	.main-content.message .left-content p.ceo-name {
		width: 65VW;
		height: 12.3VW;
		margin: 2em 0 0;
	}
}

/*
----------------------------------------------
HISTORY
----------------------------------------------
*/
.main-content.history {
	padding-top: 5vw;
}
.main-content.history table {
	width: 100%;
}
.main-content.history table tr:nth-of-type(odd){
	background: rgba(0, 204, 255, 0.2);
}
.main-content.history table tr td {
	padding: 0.8vw 0;
	font-size: clamp(16px, 1.2vw, 21px);
}
.main-content.history table tr td.his-y {
	width: 18%;
	text-align: right;
}
.main-content.history table tr td.his-m {
	width: 5%;
	text-align: right;
}
.main-content.history table tr td.his-c {
	padding-left: 1vw;
}

/*
----------------------------------------------
HISTORY Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.history {
		padding-top: 5vw;
	}
	.main-content.history table tr td {
		padding: 2vw 0;
		font-size: 3vw;
	}
	.main-content.history table tr td.his-y {
		width: 30%;
	}
	.main-content.history table tr td.his-m {
		width: 8%;
	}
	.main-content.history table tr td.his-c {
		padding-left: 3vw;
	}
}

/*
----------------------------------------------
COMPANY
----------------------------------------------
*/
.main-content.company {
	padding-top: 5vw;
}
.main-content.company table {
	width: 100%;
}
.main-content.company table tr {
	border-bottom: 1px solid #222;
}
.main-content.company table tr td {
	padding: 1.5vw 0;
	font-size: clamp(14px, 1.2vw, 19px);
}
.main-content.company table tr td.comp-t {
	width: 30%;
}
.main-content.company table tr td.comp-c {
	padding-left: 0;
}
.main-content.company table tr td.comp-c .trans {
	opacity: 0;
}
.main-content.company table tr td.comp-c a.btn3d {
	width: 22vw;
	text-align: left;
	padding: 0 0.5em 0 0.5em;
	margin: 0;
}
.main-content.organization {
	padding-top: 5vw;
}

/*
----------------------------------------------
COMPANY Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.company table tr td {
		padding: 2vw 0;
		font-size: 3vw;
	}
	.main-content.company table tr td.comp-t {
		width: 25%;
	}
	.main-content.company table tr td.comp-c {
		padding-left: 0;
	}
	.main-content.company table tr td.comp-c .trans {
		opacity: 0;
	}
	.main-content.company table tr td.comp-c a.btn3d {
		width: auto;
		font-size: 3vw;
		padding: 1em 0 2em;
		text-align: center;
	}
	.main-content.company table tr:nth-of-type(12) td {
		vertical-align: middle;
	}
}

/*
----------------------------------------------
OFFICE
----------------------------------------------
*/
.main-content.office,
.main-content.branch {
	padding-top: 5vw;	
	width: 100%;
}
.main-content.office article,
.main-content.branch article {
	display: inline-block;
	width: 45%;
	margin: 0 9% 5vw 0;
}
.main-content.office article:nth-of-type(even),
.main-content.branch article:nth-of-type(even) {
	margin-right: 0;
}
.main-content.office article h5,
.main-content.branch article h5 {
	background: #004488;
	font-size: clamp(16px, 1.4vw, 21px);
	color: #fff;
	padding: 0 0 0 1vw;
	margin-bottom: 0.5em;
}
.main-content.office article iframe,
.main-content.branch article iframe {
	width: 100%;
	height: 17vw;
}
.main-content.office article p,
.main-content.branch article p {
	font-size: clamp(14px, 1.1vw, 19px);
	line-height: 1.6;
	margin-bottom: 0.5em;
}
.main-content.office article p a,
.main-content.branch article p a {
	background: #ddd;
	font-size: 1.2vw;
	color: #222;
	font-weight: 500;
	padding: 0 1em;
}
.main-content.office article p a:hover,
.main-content.branche article p a:hover {
	background: #004488;
	color: #fff;
}
table.branch-tbl {
	width: 100%;
	margin-top: 1.5vw;
}
table.branch-tbl tr {
	background: #eee;
}
table.branch-tbl tr:nth-of-type(even) {
	background: rgba(0, 204, 255, 0.2);
}
table.branch-tbl tr td {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	text-align: center;
	padding: 0.5vw;
	font-size: clamp(10px, 0.8vw, 15px);
	line-height: 1.4;
}

/*
----------------------------------------------
OFFICE Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.office,
	.main-content.branch {
		padding-top: 5vw;	
		width: 100%;
	}
	.main-content.office article,
	.main-content.branch article {
		display: inline-block;
		width: 100%;
		margin: 0 0 5vw 0;
	}
	.main-content.office article:nth-of-type(even),
	.main-content.branch article:nth-of-type(even) {
		margin-right: 0;
	}
	.main-content.office article h5,
	.main-content.branch article h5 {
		font-size: 4vw;
	}
	.main-content.office article iframe,
	.main-content.branch article iframe {
		width: 100%;
		height: 35vw;
	}
	.main-content.office article p,
	.main-content.branch article p {
		font-size: 3.3vw;
	}
	.main-content.office article p a,
	.main-content.branch article p a {
		font-size: 3.6vw;
	}
	table.branch-tbl {
		width: 100%;
		margin-top: 1.5vw;
	}
	table.branch-tbl tr td {
		font-size: 3vw;
	}
}

/*
----------------------------------------------
POLICY
----------------------------------------------
*/
.main-content.policy {
	padding-top: 5vw;
}
.main-content.policy p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.policy .content-box-1 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0;
}
.main-content.policy .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
}
.main-content.policy .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.policy .content-box-1 h5 {
	text-align: center;
	font-size: 1.4vw;
	background: #004488;
	color: #d5f4ff;
	width: 90%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0.5vw;
}
.main-content.policy .content-box-1 p {
	text-align: center;
}
.main-content.policy .content-box-1 .mark-wrapper {
	display: flex;
	margin: 0 7.5vw;
	justify-content: space-between;
	align-items: flex-end;
}
.main-content.policy .content-box-1 p.kankyo {
	text-align: left;
	margin: 0;
	display: block;
}
.main-content.policy .content-box-1 p.isomark {
	width: 20%;
}
.main-content.policy .content-box-1 p span {
	font-size: clamp(10px, 0.8vw, 14px);
}
.main-content.policy .content-box-1 p.sekinin {
	text-align: right;
	margin: 2vw 0;
}

.accordion-001 {
    max-width: 70%;
    margin: 1.5em auto;
    background-color: #004488;
	text-align: center;
}
.accordion-001 summary {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.3em;
    color: #d5f4ff;
    cursor: pointer;
	font-size: 1.4vw;
	line-height: 1;
	letter-spacing: 0.5vw;
}
.accordion-001 summary::-webkit-details-marker {
    display: none;
}
.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 16px;
    height: 16px;
    margin-left: 10px;
    /*border-bottom: 2px solid #d5f4ff;*/
    /*border-right: 2px solid #d5f4ff;*/
	background-image: linear-gradient(-45deg, rgba(213, 244, 255, 1) 50%, rgba(213, 244, 255, 0) 50%);
    content: '';
    transition: transform .3s;
}
.accordion-001[open] summary::after {
    transform: rotate(225deg);
}
.accordion-001 div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #222;
    transition: transform .5s, opacity .5s;
}
.accordion-001[open] div {
    transform: none;
    opacity: 1;
	background: #eee;
}
.accordion-001 div table tr td {
	text-align: left;
	padding: 0.5vw;
}
.accordion-001 div table tr td:first-of-type {
	font-weight: 700;
	width: 27%;
}

.main-content.policy .content-box-2 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0;
}
.main-content.policy .content-box-2 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	margin-bottom: 0.5em;
}
.main-content.policy .content-box-2 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.policy .content-box-2 h5 {
	text-align: center;
	font-size: 1.4vw;
	background: rgba(0,204,255,0.2);
	color: #222;
	width: 90%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0.5vw;
}
.main-content.policy .content-box-2 p {
	text-align: center;
}
.main-content.policy .content-box-2 .mark-wrapper {
	display: flex;
	margin: 0 7.5vw;
	justify-content: space-between;
	align-items: flex-end;
}
.main-content.policy .content-box-2 p.kankyo {
	text-align: left;
	margin: 0;
	display: block;
}
.main-content.policy .content-box-2 p.isomark {
	width: 20%;
}
.main-content.policy .content-box-2 p span {
	font-size: 0.8vw;
}
.main-content.policy .content-box-2 p.sekinin {
	text-align: right;
	margin: 2vw 0;
}

.accordion-002 {
    max-width: 70%;
    margin: 1.5em auto;
    background: rgba(0,204,255,0.2);
	text-align: center;
}
.accordion-002 summary {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.3em;
    color: #222;
    cursor: pointer;
	font-size: 1.4vw;
	line-height: 1;
	letter-spacing: 0.5vw;
}
.accordion-002 summary::-webkit-details-marker {
    display: none;
}
.accordion-002 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 16px;
    height: 16px;
    margin-left: 10px;
    /*border-bottom: 2px solid #222;*/
    /*border-right: 2px solid #222;*/
	background-image: linear-gradient(-45deg, rgba(34, 34, 34, 1) 50%, rgba(34, 34, 34, 0) 50%);
    content: '';
    content: '';
    transition: transform .3s;
}
.accordion-002[open] summary::after {
    transform: rotate(225deg);
}
.accordion-002 div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #222;
    transition: transform .5s, opacity .5s;
}
.accordion-002[open] div {
    transform: none;
    opacity: 1;
	background: #004488;
	color: #d5f4ff;
	display: flex;
    justify-content: center;
    align-items: center;
}
.accordion-002 div::after {
    transform: translateY(-25%) rotate(-45deg);
    width: 40px;
    height: 40px;
	margin-top: 2vw;
    margin-left: 10px;
    border-bottom: 2px solid #d5f4ff;
    border-right: 2px solid #d5f4ff;
    content: '';
    transition: transform .3s;
}

.main-content.policy .content-box-3 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0;
}
.main-content.policy .content-box-3 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	margin-bottom: 0.5em;
}
.main-content.policy .content-box-3 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.policy .content-box-3 h5 {
	text-align: center;
	font-size: 1.4vw;
	background: #004488;
	color: #d5f4ff;
	width: 90%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0.5vw;
}
.main-content.policy .content-box-3 p {
	text-align: center;
}
.main-content.policy .content-box-3 p.pdf-link {
	text-align: right;
	margin: 2vw 0;
}
.main-content.policy .content-box-3 p.pdf-link a:hover {
	text-decoration: underline;
}
.main-content.policy .content-box-3 img {
	width: 90%;
	height: auto;
	margin: 1vw 5% 0;
}
.main-content.policy .content-box-3 img.SDGs-s {
	width: 50%;
	height: auto;
	margin: 0 25% 0;
}

.main-content.policy .content-box-4 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0;
}
.main-content.policy .content-box-4 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	margin-bottom: 0.5em;
}
.main-content.policy .content-box-4 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.policy .content-box-4 h5 {
	text-align: center;
	font-size: 1.4vw;
	background: rgba(0,204,255,0.2);
	color: #222;
	width: 90%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0.5vw;
}
.main-content.policy .content-box-4 p {
	text-align: center;
}
.main-content.policy .content-box-4 .shikaku-wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
	align-content: space-between;
	height: 43vw;
	width: 90%;
	margin: 0 auto 3vw;
}
.main-content.policy .content-box-4 .shikaku-wrapper .item {
	padding-bottom: 0.5vw;
    width: 30%;
    font-size: clamp(11px, 0.9vw, 15px);
    color: #222;
    display: block;
    height: auto;
}

/*
----------------------------------------------
POLICY Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.policy p.lead {
		font-size: 3.6vw;
	}
	.main-content.policy .content-box-1 {
		background: rgba(0, 204, 255, 0.2);
		width: 100%;
		padding: 2% 5%;
		margin: 5vw 0;
	}
	.main-content.policy .content-box-1 .content-box-header p,
	.main-content.policy .content-box-2 .content-box-header p,
	.main-content.policy .content-box-3 .content-box-header p,
	.main-content.policy .content-box-4 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.policy .content-box-1 .content-box-header span,
	.main-content.policy .content-box-2 .content-box-header span,
	.main-content.policy .content-box-3 .content-box-header span,
	.main-content.policy .content-box-4 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.policy .content-box-1 h5,
	.main-content.policy .content-box-2 h5,
	.main-content.policy .content-box-3 h5,
	.main-content.policy .content-box-4 h5 {
		font-size: 4vw;
	}
	.main-content.policy .content-box-1 p,
	.main-content.policy .content-box-2 p,
	.main-content.policy .content-box-3 p,
	.main-content.policy .content-box-4 p {
		text-align: left;
		font-size: 3vw;
	}
	.main-content.policy .content-box-1 p.kankyo,
	.main-content.policy .content-box-2 p.kankyo {
		margin: 0 0;
	}
	.main-content.policy .content-box-1 p span,
	.main-content.policy .content-box-2 p span {
		font-size: 2.4vw;
	}

	.accordion-001,
	.accordion-002 {
		max-width: 90%;
	}
	.accordion-001 summary,
	.accordion-002 summary {
		font-size: 4vw;
	}
	.accordion-001 div {
		padding: .3em 1em 1.5em;
	}
	.accordion-001 div table tr td {
		text-align: left;
		padding: 0.5vw;
		display: block;
		width: 100%;
		font-size: 3vw;
	}
	.accordion-001 div table tr td:first-of-type {
		width: 100%;
	}
	
	.accordion-002 div {
		font-size: 3vw;
		text-align: left;
		line-height: 1.4;
		padding: .3em 1em 1.0em;
	}
	.accordion-002 div::after {
		width: 30px;
		height: 18px;
		margin-top: 4vw;
		margin-left: 5px;
	}
	
	.main-content.policy .content-box-3 img {
		width: 100%;
		height: auto;
		margin: 1vw 0 0;
	}
	.main-content.policy .content-box-3 img.SDGs-s {
		width: 70%;
		height: auto;
		margin: 0 15% 0;
	}

	.main-content.policy .content-box-4 .shikaku-wrapper {
		flex-wrap: nowrap;
		height: auto;
		width: 90%;
		margin: 0 auto 3vw;
	}
	.main-content.policy .content-box-4 .shikaku-wrapper .item {
		padding-bottom: 0.5vw;
		width: 100%;
		font-size: 3vw;
	}
	.main-content.policy .content-box-1 .mark-wrapper,
	.main-content.policy .content-box-2 .mark-wrapper {
		display: flex;
		margin: 0 auto;
		justify-content: space-between;
		align-items: flex-end;
		width: 90%;
	}
	.main-content.policy .content-box-1 p.isomark,
	.main-content.policy .content-box-2 p.isomark {
		width: 30%;
	}
	
}

/*
----------------------------------------------
CONTACT
----------------------------------------------
*/
.main-content.contact {
	padding-top: 5vw;
}
.main-content.contact p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
}
.main-content.contact .contact-btn-wrapper {
	display: flex;
	justify-content: space-between;
	margin: 2em 0;
}
.main-content.contact .contact-btn-wrapper a.contact-btn {
	width: 23.5%;
	font-weight: 700;
	padding: 0.3em 0 0.5em;
	text-align: center;
	background: #eee;
	font-size: clamp(14px, 1.1vw, 18px);
}
.main-content.contact .contact-btn-wrapper a.contact-btn.btn1 {
	background: #00ccff;
	color: #004488;
}
.main-content.contact .contact-btn-wrapper a.contact-btn.btn2 {
	background: #004488;
	color: #00ccff;
}
.main-content.contact .contact-btn-wrapper a.contact-btn.btn3 {
	background: #eee;
	color: #004488;
}
.main-content.contact .contact-btn-wrapper a.contact-btn.btn4 {
	background: #999;
	color: #fff;
}
.main-content.contact .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 10vw;
}
.main-content.contact ul.contact-ul {
	list-style-type: "■";
	margin: 5em 5% 0;
	width: 90%;
}
.main-content.contact ul.contact-ul li {
	margin: 0 0 0.2em 1em;
}
.main-content.contact ul.contact-ul p {
	margin: 1.5em 0 0.25em;
}
.main-content.contact ul.contact-ul li:nth-of-type(3),
.main-content.contact ul.contact-ul li:nth-of-type(5),
.main-content.contact ul.contact-ul li:nth-of-type(7),
.main-content.contact ul.contact-ul li:nth-of-type(9),
.main-content.contact ul.contact-ul li:nth-of-type(12),
.main-content.contact ul.contact-ul li:nth-of-type(14) {
	list-style-type: none;
	margin: 0 0 0.75em 1em;
}
.main-content.contact ul.contact-ul li:nth-of-type(1),
.main-content.contact ul.contact-ul li:nth-of-type(10) {
	margin: 0 0 0.75em 1em;
}
dl.contact-form {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}
dl.contact-form dt {
	width: 30%;
	border-bottom: 1px solid #222;
	padding: 0.5em 0;
	font-weight: 700;
	font-size: clamp(14px, 1.1vw, 18px);
}
dl.contact-form dd {
	width: 70%;
	border-bottom: 1px solid #222;
	padding: 0.5em 0;
}
dl.contact-form dt sup {
	top: -0.25em; 
}
dl.contact-form dd input,
dl.contact-form dd textarea {
	background: rgba(0,204,255,0.2);
	padding: 10px 10px;
	width: 100%;
}
dl.contact-form dd input.postal {
	width: 50%;
}
dl.contact-form dd input.mail {
	margin-bottom: 0.5em;
}
.selectbox-3 {
    display: inline-flex;
    align-items: center;
    position: relative;
}
.selectbox-3::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.selectbox-3 select {
    appearance: none;
    width: 340px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border-radius: 3px;
    background: rgba(0,204,255,0.2);
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}
.radio-2 {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}
.radio-2 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}
.radio-2 label::before,
.radio-2 label::after {
    border-radius: 50%;
    content: '';
}
.radio-2 label::before {
    width: 24px;
    height: 24px;
    border: 1px solid #dee5eb;
    box-sizing: border-box;
}

.radio-2 label::after {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translate(-50%, -50%);
    width: 24px;
    height: 24px;
    background-color: #dee5eb;
}
.radio-2 label:has(:checked)::after {
    background: rgba(0,204,255,0.2);
    animation: anim-radio-2 .3s linear;
}


.radio-2 {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}
.radio-2 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}
.radio-2 label::before,
.radio-2 label::after {
    border-radius: 50%;
    content: '';
}
.radio-2 label::before {
    width: 24px;
    height: 24px;
    border: 1px solid #666;
    box-sizing: border-box;
}
.radio-2 label::after {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background-color: #dee5eb;
}
.radio-2 label:has(:checked)::after {
    background-color: #2589d0;
}
.radio-2 input {
    display: none;
}

.checkbox-1 {
    display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
	margin: 0 0;
	padding: 0.35em 0 0.75em;
}

.checkbox-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.checkbox-1 label::before,
.checkbox-1 label:has(:checked)::after {
    content: '';
}

.checkbox-1 label::before {
    width: 24px;
    height: 24px;
    border-radius: 3px;
    background: rgba(0,204,255,0.2);
	border: 1px solid #888;
}

.checkbox-1 label:has(:checked)::before {
    background-color: #2589d0;
}

.checkbox-1 label:has(:checked)::after {
    position: absolute;
    top: 3px;
	left: 8px;
    transform: rotate(45deg);
    width: 8px;
    height: 14px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

.checkbox-1 input {
    display: none;
}

dl.contact-form dd input::placeholder,
dl.contact-form dd textarea::placeholder {
	color: #999;
}
dl.contact-form dt:last-of-type,
dl.contact-form dd:last-of-type {
	border-bottom: none;
	margin-bottom: 1em;
}

.main-content.contact .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	font-weight: 700;
	color: #004488;
	margin-top: -1em;
	line-height: 2;	
}
.main-content.contact .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}

.main-content.contact.contact-confirm .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	font-weight: 700;
	color: #004488;
	margin: 0 0 0;
	line-height: 2;
	padding-bottom: 1em;
}
.main-content.contact.contact-thanks .content-box-1 p {
	text-align: center;	
	font-size: clamp(14px, 1.1vw, 18px);
	line-height: 2.2;
	font-weight: 500;
	margin: 1em 0;
}
dl.contact-form dd input.wpcf7-form-control {
	padding: 10px 5px;
	font-weight: 700;
	cursor: pointer;
	width: 100%;
}
dl.contact-form dd input[type="submit"].wpcf7-form-control {
	background: #004488;
	padding: 10px 5vw;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	width: auto;
}
dl.contact-form dd input[type="submit"].wpcf7-form-control:disabled {
	background-color: #999;
}
dl.contact-form dd input[type="submit"].wpcf7-form-control {
	background: #004488;
	padding: 10px 5vw;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	width: auto;
}
dl.contact-form dd input[type="button"].wpcf7-form-control {
	background: rgba(0,204,255,0.2);
	padding: 10px 5vw;
	font-weight: 700;
	color: #222;
	cursor: pointer;
	width: auto;
}

/*
----------------------------------------------
CONTACT Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.contact p.lead {
		font-size: 3.0vw;
	}
	.main-content.contact .contact-btn-wrapper {
		flex-wrap: wrap;
	}
	.main-content.contact .contact-btn-wrapper a.contact-btn {
		width: 48%;
		font-size: 3.3vw;
		margin-bottom: 1em;
	}
	.main-content.contact ul.contact-ul {
		margin: 5em 0 0;
		width: 100%;
	}
	.main-content.contact ul.contact-ul li {
		font-size: 3vw;
	}
	.main-content.contact ul.contact-ul p {
		font-size: 3vw;
	}
	.main-content.contact .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.contact .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	dl.contact-form dt {
		width: 100%;
		border-bottom: none;
		font-size: 3vw;
	}
	dl.contact-form dd {
		width: 100%;
		border-bottom: 1px solid #222;
	}
	dl.contact-form dd input,
	dl.contact-form dd textarea {
		margin-bottom: 3vw;
		font-size: 3vw;
	}
	.selectbox-3 select {
		max-width: 95%;
		font-size: 3vw;
		margin-bottom: 3vw;
	}
	.selectbox-3::after {
		right: 25px;
		top: 30%;
	}
	.radio-2 label {
		font-size: 3vw;
	}
	dl.contact-form dd button {
		font-size: 3vw;
		margin-left: 33%;
	}
	.main-content.contact.contact-confirm .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.contact.contact-thanks .content-box-1 p {
		font-size: 3vw;
	}
	.checkbox-1 label {
		font-size: 3vw;
	}
}

/*
----------------------------------------------
ROAD
----------------------------------------------
*/
.main-content.road {
	padding-top: 2.5vw;
}
.main-content.road h4 {
	font-size: clamp(18px, 1.7vw, 24px);
	font-weight: 700;
	color: #004488;
	text-align: center;
	margin-bottom: 1em;
}
.main-content.road p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.road .thum-img-wrapper {
	display: flex;
	justify-content: space-between;
	width: 80%;
	margin: 5vw auto 10vw;
}
.main-content.road .thum-img-wrapper .thum-img {
	width: 29%;
}
.main-content.road .thum-img-wrapper .thum-img img {
	width: 90%;
	margin: 0 5%;
}
.main-content.road .thum-img-wrapper .thum-img h6 {
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 3vw;
	color: #004488;
	padding: 0 0 0;
	margin-bottom: 0;
	line-height: 1.4;
}
.main-content.road .thum-img-wrapper .thum-img p {
	text-align: center;
	color: #004488;
	font-weight: 700;
	line-height: 1.4;
	font-size: clamp(18px, 1.4vw, 24px);
}
.main-content.road .thum-img-wrapper .thum-img p img {
	width: 2vw;
	margin-top: 0.5em;
}
.main-content.road .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 15vw;
}
.main-content.road .content-box-1:last-of-type {
	margin: 5vw 0 0;
}
.main-content.road .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.road .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.road .content-box-1 h5 {
	text-align: center;
	font-size: clamp(18px, 1.4vw, 24px);
	font-weight: 700;
	margin: 1em auto 0.75em;
	line-height: 1;
}
.main-content.road .content-box-1 p {
	text-align: center;
}
.main-content.road .content-box-1 p span {
	font-size: 0.8vw;
}
.main-content.road .content-box-1 .img-box-wrapper {
	display: flex;
	margin: 1.5em 0 0;
}
.main-content.road .content-box-1 .img-box-wrapper h6 {
	text-align: center;
	font-weight: 700;
	font-size: 1.1em;
}
.main-content.road .content-box-1 .img-box-wrapper p {
	font-size: clamp(11px, 0.9vw, 15px);
}

/*
----------------------------------------------
ROAD Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.road h4 {
		font-size: 4vw;
	}
	.main-content.road p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.road .thum-img-wrapper {
		display: none;
	}
	.main-content.road .content-box-1#content1 {
		margin-top: 20vw;
	}
	.main-content.road .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.road .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.road .content-box-1 h5 {
		text-align: center;
		font-size: 4vw;
		font-weight: 700;
		margin: 1em auto 0.75em;
		line-height: 1.4;
	}
	.main-content.road .content-box-1 p {
		font-size: 3vw;
		text-align: left;
	}
	.main-content.road .content-box-1 p span {
		font-size: 0.8vw;
	}
	.main-content.road .content-box-1 .img-box-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 1.5em 0 0;
	}
	.main-content.road .content-box-1 .img-box-wrapper .img-box {
		width: 100%;
		margin-bottom: 3vh;
	}
	.main-content.road .content-box-1 .img-box-wrapper h6 {
		font-size: 4vw;
	}
	.main-content.road .content-box-1 .img-box-wrapper p {
		text-align: center;
		font-size: 3vw;
	}
}

/*
----------------------------------------------
WATER
----------------------------------------------
*/
.main-content.water {
	padding-top: 2.5vw;
}
.main-content.water p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
}
.main-content.water .content-box-1 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 5vw;
}
.content-box-subheader {
	margin-top: 2.5vw;
}
.content-box-subheader span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 2.4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
	line-height: 1;
	margin-top: 0.5em;
}
.content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.water .content-box-1:last-of-type {
	margin: 5vw 0 0;
}
.main-content.water .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.water .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.water .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.water .content-box-1 h5 {
	text-align: center;
	font-size: 1.4vw;
	font-weight: 700;
	margin: 1em auto 0.75em;
	line-height: 1;
}
.main-content.water .content-box-1 p {
	text-align: center;
}
.main-content.water .content-box-1 .img-box-wrapper {
	display: flex;
	margin: .5em 0 0;
}
.main-content.water .content-box-1 .img-box {
	width: 50%;
}
.main-content.water .content-box-1 .img-box-wrapper img {
	margin: 0;
	clear: both;
	vertical-align: bottom;
}
.main-content.water .content-box-1 .img-box-wrapper p {
	font-size: clamp(11px, 0.9vw, 16px);
	width: 94%;
	margin: 0.5em 3% 5em;
	text-align: left;
}
.img-box-wrapper-3 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3vw;
}
.img-box-wrapper-3 article {
	width: calc(100% / 3);
}
.img-box-wrapper-3 article .img_wrap {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	background: #000;
	position: relative;
}
.img-box-wrapper-3 article .img_wrap p {
	color: #fff;
	position: absolute;
	top: 40%;
	width: 100%;
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6vw;
	opacity: 0;
	text-transform: uppercase;
}
.img-box-wrapper-3 article .img_wrap button {
	border: none;
	vertical-align: bottom;
}
.img-box-wrapper-3 article .img_wrap img {
	border: 1px solid #fff;
	vertical-align: bottom;
	cursor: pointer;
}
.img-box-wrapper-3 article .img_wrap.nolink img {
	cursor: default;
}
.img-box-wrapper-3 article .img_wrap:hover img {
	opacity: 0.2;
	transition-duration: 0.3s;
}
.img-box-wrapper-3 article .img_wrap.nolink:hover img {
	opacity: 1;
	transition-duration: 0;
}
.img-box-wrapper-3 article .img_wrap:hover p {
	opacity: 1;
	transition-duration: 0.3s;
}
.img-box-wrapper-3 article a img {
	border: 1px solid #fff;
}
.main-content.water a.btn3d {
	width: 20vw;
	height: 2vw;
	font-size: 1.2vw;
	font-weight: 700;
	background: #eee;
	text-align: center;
	display: block;
	line-height: 2vw;
	color: #004488;
	margin: 1.5em auto 1.5em;
	box-shadow: 3px 3px #ccc;
	transition: .4s;
}
.main-content.water a.btn3d:hover {
	box-shadow: 0 0 #ccc;
	background: #ddd;
}
.water video {
	width: 100%;
}

/*
----------------------------------------------
WATER Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.water h4 {
		font-size: 4vw;
	}
	.main-content.water p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.water .thum-img-wrapper {
		display: none;
	}
	.main-content.water .content-box-1#content1 {
		margin-top: 20vw;
	}
	.main-content.water .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.water .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.water .content-box-1 h5 {
		text-align: center;
		font-size: 4vw;
		font-weight: 700;
		margin: 1em auto 0.75em;
		line-height: 1.4;
	}
	.main-content.water .content-box-1 p {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.water .content-box-1 p span {
		font-size: 4vw;
	}
	.main-content.water .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		text-align: center;
	}
	.content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.water .content-box-1 .img-box-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 1.5em 0 0;
	}
	.main-content.water .content-box-1 .img-box-wrapper .img-box {
		width: 100%;
		margin-bottom: 3vh;
	}
	.main-content.water .content-box-1 .img-box-wrapper h6 {
		font-size: 4vw;
	}
	.main-content.water .content-box-1 .img-box-wrapper p {
		text-align: left;
		font-size: 3vw;
		width: 100%;
		margin: 0.5em 0 0;
	}
	.img-box-wrapper-3 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 3vw;
	}
	.img-box-wrapper-3 article {
		width: calc(100% / 2);
		margin-bottom: 4em;
	}
	.main-content.water .content-box-1 .img-box-wrapper-3 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.water a.btn3d {
		width: 60vw;
		height: 6vw;
		font-size: 4vw;
		line-height: 6vw;
	}
}

/*
----------------------------------------------
WATER ANALYSIS
----------------------------------------------
*/
.main-content.water.analysis .img-box-wrapper-3 article {
	width: 46%;
	margin: 0 2% 2em 2%;
}
.main-content.water.analysis .img-box-wrapper-3 article ul.analysis {
	list-style-type: "●"
}
.main-content.water.analysis .img-box-wrapper-3 article ul.analysis li {
	margin: 0 0 0 1.5em;
}
.main-content.water.analysis .img-box-wrapper-3 article ul.analysis li a.btn3d {
	width: auto;
	font-size: clamp(16px, 1.2vw, 21px);
	font-weight: 700;
	background: #eee;
	text-align: left;
	display: block;
	line-height: 2vw;
	color: #004488;
	margin: 0.5em auto 0;
	box-shadow: 3px 3px #ccc;
	transition: .4s;
}
.main-content.water.analysis .img-box-wrapper-3 article ul.analysis li a.btn3d:hover {
	box-shadow: 0 0 #ccc;
	background: #ddd;
}

/*
----------------------------------------------
WATER ANALYSIS Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.water.analysis .img-box-wrapper-3 article {
		width: 100%;
		margin: 0 0 2em 0;
	}
	.main-content.water.analysis .img-box-wrapper-3 article ul.analysis li {
		font-size: 3vw;
	}
	.main-content.water.analysis .img-box-wrapper-3 article ul.analysis li a.btn3d {
		width: auto;
		height: auto;
		font-size: 4vw;
		line-height: 4vw;
	}
	.main-content.water.analysis a.btn3d {
		width: 60vw;
		height: 6vw;
		font-size: 4vw;
		line-height: 6vw;
	}
}

/*
----------------------------------------------
SEWERAGE
----------------------------------------------
*/
.main-content.sewerage {
	padding-top: 2.5vw;
}
.main-content.sewerage p.lead {
	text-align: center;
	font-size: 1.1vw;
	font-weight: 700;
}
.main-content.sewerage .content-box-1 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.content-box-subheader {
	margin-top: 2.5vw;
}
.content-box-subheader span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 2.4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
	line-height: 1;
	margin-top: 0.5em;
}
.content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-size: clamp(16px, 1.2vw, 20px);
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.sewerage .content-box-1:last-of-type {
	margin: 5vw 0 0;
}
.main-content.sewerage .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.sewerage .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.sewerage .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.sewerage .content-box-1 p {
	text-align: center;
}
.main-content.sewerage .content-box-1 .img-box-wrapper {
	margin: .5em 0 0;
}
.main-content.sewerage .content-box-1 .img-box-wrapper img {
	margin: 0;
	clear: both;
	vertical-align: bottom;
}
.main-content.sewerage .content-box-1 .img-box-wrapper p.lead {
	font-size: clamp(14px, 1.1vw, 19px);
	margin: 0.75em 0 1.5em;
}
.main-content.sewerage .content-box-1 p.sewerage-title {
	background: #004488;
	font-size: 1.4vw;
	color: #fff;
	font-weight: 700;
	padding: 0.1em 0 0.3em;
	margin: 2em 0 1em;
}
.main-content.sewerage .content-box-1 .img-box-wrapper-3 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-bottom: 3vw;
}

a.btn3d {
	width: 20vw;
	height: 2vw;
	font-size: 1.2vw;
	font-weight: 700;
	background: #eee;
	text-align: center;
	display: block;
	line-height: 2vw;
	color: #004488;
	margin: 1.5em auto 1.5em;
	box-shadow: 3px 3px #ccc;
	transition: .4s;
}
a.btn3d:hover {
	box-shadow: 0 0 #ccc;
	background: #ddd;
}

/*
----------------------------------------------
SEWERAGE Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.water h4 {
		font-size: 4vw;
	}
	.main-content.sewerage p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.sewerage .thum-img-wrapper {
		display: none;
	}
	.main-content.sewerage .content-box-1#content1 {
		margin-top: 20vw;
	}
	.main-content.sewerage .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.sewerage .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.sewerage .content-box-1 h5 {
		text-align: center;
		font-size: 4vw;
		font-weight: 700;
		margin: 1em auto 0.75em;
		line-height: 1.4;
	}
	.main-content.sewerage .content-box-1 p {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.sewerage .content-box-1 p span {
		font-size: 4vw;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper p.lead {
		font-size: 3vw;
	}
	.main-content.sewerage .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		text-align: center;
	}
	.content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 1.5em 0 0;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper .img-box {
		width: 100%;
		margin-bottom: 3vh;
	}
	.main-content.sewerage.content-box-1 .img-box-wrapper h6 {
		font-size: 4vw;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper p {
		text-align: left;
		font-size: 3vw;
		width: 100%;
		margin: 0.5em 0 0;
	}
	.main-content.sewerage .content-box-1 p.sewerage-title {
		font-size: 4vw;
		text-align: center;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper-3 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 3vw;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper-3 article {
		width: calc(100% / 1);
		margin-bottom: 4em;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper-3 article .modal article:first-of-type {
		margin-bottom: 0.5em;
	}
	.main-content.sewerage .content-box-1 .img-box-wrapper-3 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
}

/*
----------------------------------------------
CONSTRUCTION
----------------------------------------------
*/
.main-content.construction {
	padding-top: 0;
}
.main-content.construction p.lead {
	text-align: center;
	font-size: 1.1vw;
	font-weight: 700;
}
.main-content.construction .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 5vw;
}
.main-content.construction .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.construction .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.construction .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.construction .content-box-1 p {
	text-align: center;
}
.main-content.construction .content-box-1 p.small-strong {
	text-align: center;
	font-weight: 700;
	font-size: 0.9vw;
	margin: 1em auto 2em;
}
.main-content.construction .content-box-1 .text-box-1 {
	display: flex;
	background: rgba(0, 204, 255, 0.2);
	margin: 1vw 0;
	padding: 6px 0;
	align-items: center;
}
.main-content.construction .content-box-1 .text-box-1 article {
	width: 50%;
	text-align: center;
}
.main-content.construction .content-box-1 .text-box-1 article:first-of-type {
	border-right: 2px solid #222;
}
.main-content.construction .content-box-1 .text-box-1 article:last-of-type {
	text-align: left;
	padding-left: 1em;
}

.main-content.construction .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.construction .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.construction .content-box-1 .const-strong {
	width: 100%;
	background: #004488;
	color: #fff;
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	padding: 5px 0;
}

.main-content.construction .content-box-1 .img-box-title {
	width: 100%;
	background: #004488;
	color: #fff;
	text-align: center;
	font-size: 1.1vw;
	font-weight: 700;
	padding: 3px 0;
	margin-bottom: 0.25em;
}
.main-content.construction .content-box-1:last-of-type .content-box-subheader {
	margin-top: 0;
}
.main-content.construction .content-box-1:last-of-type .content-box-subheader p {
	text-align: center;
	font-size: clamp(10px, 0.9vw, 15px);
	font-weight: 500;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #222;
}
.const-arrow {
	width: 271px;
	height: 148px;
	background: url("../../uploads/const-arrow.png") no-repeat;
	background-size: 100%;
	margin: 2em auto 2em;
}
.main-content.construction .content-box-1 .img-box-wrapper-3.havespace {
	justify-content: space-between;
}
.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article {
	width: 33%;
	margin-bottom: 2em;
}
.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:first-of-type {
	width: 57%;
	margin-right: 3%;
}
.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:last-of-type {
	width: 40%;
}
.main-content.construction .content-box-1:last-of-type {
	margin-bottom: 0;
}
ul.as-form {
	list-style-type: decimal;
}
ul.as-form li {
	margin: 5px 0 0 1.5em;
}
dl.as-form2 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
dl.as-form2 dt, dl.as-form2 dd {
	border-bottom: 1px solid #222;
	line-height: 1.2;
	padding: 4px 0;
}
dl.as-form2 dt {
	width: 40%;
}
dl.as-form2 dd {
	width: 60%;
}
dl.as-form2:last-of-type {
	margin-top: 2em;
}
dl.as-form2:last-of-type dt {
	width: 45%;
}
dl.as-form2:last-of-type dd {
	width: 55%;
}
dl.as-form2 dt:first-of-type, dl.as-form2 dd:first-of-type {
	border-top: 1px solid #222;
}
dl.as-form2 p {
	font-weight: 700;
	clear: both;
	width: 100%;
	text-align: left !important;
}
dl.as-form2 span {
	font-size: 0.8vw;
}
.construction .modal .modal-content-wrapper article:first-of-type,
.construction .modal .modal-content-wrapper article:last-of-type,
.construction .modal2 .modal-content-wrapper article:first-of-type,
.construction .modal2 .modal-content-wrapper article:last-of-type,
.construction .modal3 .modal-content-wrapper article:first-of-type,
.construction .modal3 .modal-content-wrapper article:last-of-type,
.construction .modal4 .modal-content-wrapper article:first-of-type,
.construction .modal4 .modal-content-wrapper article:last-of-type,
.construction .modal5 .modal-content-wrapper article:first-of-type,
.construction .modal5 .modal-content-wrapper article:last-of-type,
.construction .modal6 .modal-content-wrapper article:first-of-type,
.construction .modal6 .modal-content-wrapper article:last-of-type,
.construction .modal10 .modal-content-wrapper article:first-of-type,
.construction .modal10 .modal-content-wrapper article:last-of-type,
.construction .modal11 .modal-content-wrapper article:first-of-type,
.construction .modal11 .modal-content-wrapper article:last-of-type,
.construction .modal12 .modal-content-wrapper article:first-of-type,
.construction .modal12 .modal-content-wrapper article:last-of-type,
.construction .modal13 .modal-content-wrapper article:first-of-type,
.construction .modal13 .modal-content-wrapper article:last-of-type,
.construction .modal14 .modal-content-wrapper article:first-of-type,
.construction .modal14 .modal-content-wrapper article:last-of-type,
.construction .modal15 .modal-content-wrapper article:first-of-type,
.construction .modal15 .modal-content-wrapper article:last-of-type,
.construction .modal16 .modal-content-wrapper article:first-of-type,
.construction .modal16 .modal-content-wrapper article:last-of-type,
.construction .modal17 .modal-content-wrapper article:first-of-type,
.construction .modal17 .modal-content-wrapper article:last-of-type,
.construction .modal18 .modal-content-wrapper article:first-of-type,
.construction .modal18 .modal-content-wrapper article:last-of-type {
	width: 80% !important;
	margin: 0 auto 2em !important;
}

/*
----------------------------------------------
CONSTRUCTION Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.construction h4 {
		font-size: 3.6vw;
	}
	.main-content.construction .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.construction .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.construction p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.construction .content-box-1 p {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.construction .content-box-1 p span {
		font-size: 4vw;
	}
	.main-content.construction .content-box-1 .text-box-1 {
		display: flex;
		background: rgba(0, 204, 255, 0.2);
		margin: 1vw 0;
		padding: 6px 0;
		align-items: center;
		flex-wrap: wrap;
	}
	.main-content.construction .content-box-1 .text-box-1 article {
		width: 100%;
		text-align: center;
		font-size: 3vw;
	}
	.main-content.construction .content-box-1 .text-box-1 article:first-of-type {
		border-bottom: 2px solid #004488;
		border-right: none;
	}
	.main-content.construction .content-box-1 .text-box-1 article:last-of-type {
		text-align: center;
		padding-left: 0;
	}
	
	.main-content.construction .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		text-align: center;
	}
	.content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.construction .content-box-1 .img-box-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 1.5em 0 0;
	}
	.main-content.construction .content-box-1 .img-box-wrapper .img-box {
		width: 100%;
		margin-bottom: 3vh;
	}
	.main-content.construction .content-box-1 .img-box-wrapper h6 {
		font-size: 4vw;
	}
	.main-content.construction .content-box-1 .img-box-wrapper p {
		text-align: left;
		font-size: 3vw;
		width: 100%;
		margin: 0.5em 0 0;
	}
	.img-box-wrapper-3 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 3vw;
	}
	.main-content.construction .content-box-1.img-box-wrapper-3 article,
	.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article {
		width: calc(100% / 2);
		margin-bottom: 4em;
	}
	.main-content.construction .content-box-1 .img-box-wrapper-3 .modal-header {
        font-size: 4vw;
        padding-top: 5vw;
    
    }
	.main-content.construction .content-box-1 .img-box-wrapper-3 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.const-arrow {
		width: 30vw;
		height: 16.3vw;
		margin: 2em auto 2em;
	}
	.main-content.construction .content-box-1 .const-strong {
		font-size: 3.6vw;
	}
	.main-content.construction .content-box-1 p.small-strong {
		font-size: 3vw;
	}
	.main-content.construction .content-box-1 .img-box-title {
		font-size: 4vw;
	}
	.main-content.construction .content-box-1:last-of-type .content-box-subheader p {
		font-size: 3vw;
	}
	.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:first-of-type {
		width: 100%;
		margin-right: 0;
		margin-bottom: 1em;
	}
	.main-content.construction .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:last-of-type {
		width: 100%;
		margin-bottom: 4em;
	}
	dl.as-form2 span {
		font-size: 2.4vw;
	}
}

/*
----------------------------------------------
CONSULTING
----------------------------------------------
*/
.main-content.consulting {
	padding-top: 0;
}
.main-content.consulting p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
	margin-bottom: 2em;
}
.main-content.consulting .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 5vw;
}
.main-content.consulting .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.consulting .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.consulting .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.consulting .content-box-1 p {
	text-align: center;
}

.main-content.consulting .content-box-1 .img-box-title {
	width: 100%;
	background: #004488;
	color: #fff;
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	padding: 3px 0;
	margin-bottom: 0.5em;
}
.main-content.consulting .content-box-1:last-of-type .content-box-subheader {
	margin-top: 0;
}
.main-content.consulting .content-box-1:last-of-type .content-box-subheader p {
	text-align: center;
	font-size: 0.9vw;
	font-weight: 500;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #222;
}
.main-content.consulting .content-box-1 .img-box-wrapper-2.havespace {
	display: flex;
	justify-content: space-between;
}
.main-content.consulting .content-box-1 .img-box-wrapper-2.havespace article {
	width: 49%;
	margin-bottom: 2em;
}
.main-content.consulting .content-box-1 .img-box-wrapper-2.havespace article p {
	text-align: left;
}
.main-content.consulting .content-box-1 .content-box-b {
	background: rgba(0, 204, 255, 0.2);
	margin: 2em auto;
}
.main-content.consulting .content-box-1 .content-box-b .img-box-title {
	margin-bottom: 0;
}
.main-content.consulting .content-box-1 .content-box-b .img-box-wrapper-2.havespace {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90%;
	margin: 2em auto;
}
.main-content.consulting .content-box-1 .content-box-b  .img-box-wrapper-2.havespace article {
	width: 47%;
	margin-bottom: 3em;
	text-align: left;
}
.main-content.consulting .content-box-1 .content-box-b  .img-box-wrapper-2.havespace article strong {
	text-align: center;
	display: block;
	font-size: 1.2em;
}

/*
----------------------------------------------
CONSULTING Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.consulting h4 {
		font-size: 3.6vw;
	}
	.main-content.consulting .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.consulting .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.consulting p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.consulting .content-box-1 p {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.consulting .content-box-1 .img-box-title {
		font-size: 4vw;
	}
	.main-content.consulting .content-box-1 .img-box-wrapper-2 {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 3vw;
	}
	.main-content.consulting .content-box-1 .img-box-wrapper-2.havespace article {
		width: 100%;
	}
	.main-content.consulting .content-box-1 .img-box-wrapper-2.havespace article:last-of-type {
		margin-bottom: 4em;
		width: 100%;
	}
	.main-content.consulting .content-box-1 .content-box-b .img-box-wrapper-2.havespace {
		margin: 4em auto;
	}
	.main-content.consulting .content-box-1 .content-box-b  .img-box-wrapper-2.havespace article {
		width: 100%;
		margin-bottom: 8vw;
	}
	.main-content.consulting .content-box-1 .content-box-b  .img-box-wrapper-2.havespace article strong {
		font-size: 4vw;
	}
	.main-content.consulting .content-box-1:first-of-type {
		margin-bottom: 20vw;
	}
	.main-content.consulting .content-box-1:last-of-type {
		margin-bottom: 20vw;
	}
}

/*
----------------------------------------------
DAM
----------------------------------------------
*/
.main-content.dam {
	padding-top: 2.5vw;
}
.main-content.dam p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.dam .content-box-1 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.main-content.dam .content-box-1 ul.dam-lead {
	list-style-type: disc;
}
.main-content.dam .content-box-1 ul.dam-lead li {
	width: 36vw;
	font-size: clamp(16px, 1.2vw, 21px);
	font-weight: 700;
	margin: 0 auto;
}
.main-content.dam .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.dam .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.dam .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.dam .content-box-1 p {
	text-align: center;
}
.main-content.dam .content-box-1 p.small-strong {
	text-align: center;
	font-weight: 700;
	font-size: 0.9vw;
	margin: 1em auto 2em;
}
.main-content.dam .content-box-1 .text-box-1 {
	display: flex;
	background: rgba(0, 204, 255, 0.2);
	margin: 1vw 0;
	padding: 6px 0;
	align-items: center;
}

.main-content.dam .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.dam .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.dam .content-box-1 .const-strong {
	width: 100%;
	background: #004488;
	color: #fff;
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	padding: 5px 0;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article {
	width: 47%;
	margin-bottom: 2em;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .content-box-subheader {
	border-bottom: 2px solid #004488;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	background: #000;
	position: relative;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap p {
	color: #fff;
	position: absolute;
	top: 40%;
	width: 100%;
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6vw;
	opacity: 0;
	text-transform: uppercase;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap button {
	border: none;
	vertical-align: bottom;
	cursor: pointer;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap img {
	border: 1px solid #fff;
	vertical-align: bottom;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap:hover img {
	opacity: 0.2;
	transition-duration: 0.3s;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap:hover p {
	opacity: 1;
	transition-duration: 0.3s;
}
.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article a img {
	border: 1px solid #fff;
}

/*
----------------------------------------------
DAM Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.dam h4 {
		font-size: 3.6vw;
	}
	.main-content.dam  .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.dam  p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.dam .content-box-1 ul.dam-lead {
		list-style-type: disc;
	}
	.main-content.dam .content-box-1 ul.dam-lead li {
		width: 95%;
		font-size: 3vw;
		margin: 0.25em 0 0.25em 5%;
		text-indent: -4vw;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2.havespace {
		margin: 5em 0 0;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article {
		width: 100%;
		margin-bottom: 1em;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article:nth-of-type(2) {
		margin-bottom: 3em;
	}
	.main-content.dam .content-box-1 .content-box-subheader {
		margin-top: 2.5vw;
	}
	.main-content.dam .content-box-1 .content-box-subheader p {
		font-size: 4vw;
	}
	.main-content.dam .content-box-1 .content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2 .modal-header {
        font-size: 4vw;
        padding-top: 5vw;
    
    }
	.main-content.dam .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.dam .content-box-1 .img-box-wrapper-2 .modal-header {
        font-size: 4vw;
        padding-top: 5vw;
    
    }
	.main-content.dam .content-box-1 .img-box-wrapper-2.havespace article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
		font-size: 3.6vw;
	}
}

/*
----------------------------------------------
PPP
----------------------------------------------
*/
.main-content.ppp {
	padding-top: 2.5vw;
}
.main-content.ppp p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.ppp .content-box-1 {
	background: rgba(0, 204, 255, 0.2);
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.main-content.ppp .content-box-1 ul.ppp-lead {
	list-style-type: decimal;
}
.main-content.ppp .content-box-1 ul.ppp-lead li {
	width: 46vw;
	font-size: clamp(16px, 1.2vw, 21px);
	font-weight: 700;
	margin: 0 auto;
}
.main-content.ppp .content-box-1 p.ppp-lead-p {
	text-align: center;
	margin: 2vw 0 1vw;;
}
.main-content.ppp .content-box-1 .ppp-map {
	width: 100%;
	height: 910px;
	background: url("../../uploads/map.png") no-repeat;
	background-size: 100%;
	position: relative;
}
.main-content.ppp .content-box-1 p.pdf-link {
	text-align: center;
	margin-bottom: 1em;
}
.main-content.ppp .content-box-1 p.pdf-link span {
	background: #004488;
	padding: 0.2em 0.7em 0.3em;
	border-radius: 10px;
}
.main-content.ppp .content-box-1 p.pdf-link a {
	color: #fff;
}

.main-content.ppp .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.ppp .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.ppp .content-box-1 .map-link-1 {
	position: absolute;
	top: 600px;
	left: 460px;
}
.main-content.ppp .content-box-1 .map-link-2 {
	position: absolute;
	top: 620px;
	left: 480px;
}
.main-content.ppp .content-box-1 .map-link-3 {
	position: absolute;
	top: 620px;
	left: 520px;
}
.main-content.ppp .content-box-1 .map-link-4 {
	position: absolute;
	top: 640px;
	left: 450px;
}
.main-content.ppp .content-box-1 .map-link-5 {
	position: absolute;
	top: 650px;
	left: 280px;
}
.main-content.ppp .content-box-1 .map-link-6 {
	position: absolute;
	top: 630px;
	left: 430px;
}
.main-content.ppp .content-box-1 .map-link-7 {
	position: absolute;
	top: 600px;
	left: 440px;
}
.main-content.ppp .content-box-1 .map-link-8 {
	position: absolute;
	top: 610px;
	left: 460px;
}
.main-content.ppp .content-box-1 .map-link-9 {
	position: absolute;
	top: 615px;
	left: 390px;
}
.main-content.ppp .content-box-1 .map-link-10 {
	position: absolute;
	top: 615px;
	left: 405px;
}
.main-content.ppp .content-box-1 .map-link-11 {
	position: absolute;
	top: 630px;
	left: 500px;
}
.main-content.ppp .content-box-1 .map-link-12 {
	position: absolute;
	top: 620px;
	left: 505px;
}
.main-content.ppp .content-box-1 .map-link-13 {
	position: absolute;
	top: 645px;
	left: 490px;
}
.main-content.ppp .content-box-1 .map-link-14 {
	position: absolute;
	top: 600px;
	left: 415px;
}
.main-content.ppp .content-box-1 .map-link-15 {
	position: absolute;
	top: 625px;
	left: 480px;
}
.main-content.ppp .content-box-1 .map-link-16 {
	position: absolute;
	top: 640px;
	left: 320px;
}
.main-content.ppp .content-box-1 img.map-pin {
	width: 28px;
	cursor: pointer;
}
.main-content.ppp .content-box-1 .modal-header span {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.4vw;
	line-height: 1.4;
	text-align: left;
	color: #fff;
	padding: 0em 0.5em 0.1em;
	background: #004488;
	margin-top: -0.3em;
}
.main-content.ppp .content-box-1 .modal-header span.ppp-cat1 {
	background: #f6c;
}
.main-content.ppp .content-box-1 .modal-header span.ppp-cat2 {
	background: #063;
}
.main-content.ppp .content-box-1 .modal-header span.ppp-cat3 {
	background: #630;
}
.main-content.ppp .content-box-1 .modal-header span:last-child {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: clamp(18px, 1.4vw, 24px);
	line-height: 1.4;
	text-align: left;
	color: #004488;
	padding: 0em 0.5em 0.1em;
	background: #eee;
	margin-top: -0.3em;
}
.main-content.ppp .content-box-1 .modal-content-wrapper dl {
	display: flex;
	flex-wrap: wrap;
}
.main-content.ppp .content-box-1 .modal-content-wrapper dl dt {
	width: 20%;
	margin-bottom: 0.5em;
}
.main-content.ppp .content-box-1 .modal-content-wrapper dl dd {
	width: 80%;
	margin-bottom: 0.5em;
}
.main-content.ppp .content-box-1 #map {
	width: 100%;
	height: 600px;
	background-size: 100%;
	position: relative;
}

.main-content.ppp .content-box-1 #map .modal-header span:last-child {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: clamp(18px, 1.4vw, 24px);
	line-height: 1.4;
	text-align: left;
	padding: 0em 0.5em 0.1em;
	background: none;
	margin-top: -0.3em;
}
.main-content.ppp .content-box-1 #map .gm-style-iw-d {
	margin-top: -2em;
}

/*
----------------------------------------------
DAM Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.ppp h4 {
		font-size: 3.6vw;
	}
	.main-content.ppp p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.ppp .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.ppp .content-box-1 .content-box-header {
		padding-bottom: 1vw;
	}
	.main-content.ppp .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.ppp .content-box-1 ul.ppp-lead li {
		width: 95%;
		font-size: 3vw;
		margin: 0 0 0.5em 5%;
		line-height: 1.4;
	}
	.main-content.ppp .content-box-1 p.ppp-lead-p {
		font-size: 3vw;
		text-align: left;
	}
	.main-content.ppp .content-box-1 .ppp-map {
		width: 100%;
		height: 80vw;
		background-size: 200%;
		background-position: top -70vw left -25vw;
	}
	.main-content.ppp .content-box-1 .ppp-map p.pdf-link {
		font-size: 3vw;
	}
	.main-content.ppp .content-box-1 .map-link-1 {
		top: 27vw;
		left: 48vw;
	}
	.main-content.ppp .content-box-1 .map-link-2 {
		top: 25vw;
		left: 54vw;
	}
	.main-content.ppp .content-box-1 .map-link-3 {
		top: 30vw;
		left: 65vw;
	}
	.main-content.ppp .content-box-1 .map-link-4 {
		top: 33vw;
		left: 51vw;
	}
	.main-content.ppp .content-box-1 .map-link-5 {
		top: 35vw;
		left: 23vw;
	}
	.main-content.ppp .content-box-1 img.map-pin {
		width: 28px;
	}
	.main-content.ppp .content-box-1 .modal-header span {
		font-size: 4vw;
	}
	.main-content.ppp .content-box-1 .modal-header span:last-child {
		font-size: 4vw;
	}
	.main-content.ppp .content-box-1 .modal-content-wrapper dl {
		display: flex;
		flex-wrap: wrap;
		font-size: 3vw;
	}
	.main-content.ppp .content-box-1 .modal-content-wrapper dl dt {
		width: 25%;
		margin-bottom: 0.5em;
	}
	.main-content.ppp .content-box-1 .modal-content-wrapper dl dd {
		width: 75%;
		margin-bottom: 0.5em;
	}
	.main-content.ppp .modal__button-wrap {
    	top: 0px;
	}
	
	.main-content.ppp .content-box-1 #map .gm-style-iw-d {
	margin-top: -1em;
}
	.main-content.ppp .content-box-1 #map .modal-header span:last-child {
		font-size: 4vw;
		margin-top: 0.25em;
	}
	.main-content.ppp .content-box-1 #map .modal-header span {
		display: block;
	}
}

/*
----------------------------------------------
SYSTEM
----------------------------------------------
*/
#content-header h2 span {
	font-size: clamp(20px, 0.75em, 40px);
	letter-spacing: 0.2vw;
}
.main-content.system {
	padding-top: 0;
}
.main-content.system p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
	margin-top: 2vw;
}
.main-content.system img.systemimg {
	margin: 2vw 0 0;
}
.main-content.system .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 5vw;
}
.main-content.system .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.system .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.system .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.system .content-box-1 p {
	text-align: center;
}
.main-content.system .content-box-1 p.lead-s {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 500;
}
.main-content.system .content-box-1 .function-box {
	background: rgba(0, 204, 255, 0.2);
	margin: 3vw 0 0;
}
.main-content.system .content-box-1 .function-box .function-title {
	background: #004488;
	color: #fff;
	font-size: clamp(18px, 1.6vw, 30px);
	font-weight: 700;
	padding: 0.3em 0;
	width: 100%;
}
.main-content.system .content-box-1 .function-box .function-subtitle {
	background: #004488;
	color: #fff;
	font-size: 1.4vw;
	font-size: clamp(18px, 1.4vw, 24px);
	font-weight: 700;
	padding: 0.1em 0 0.2em;
	width: 96.5%;
	margin: 0 auto;
}
.main-content.system .content-box-1 .function-box .function-ul {
	list-style-type: decimal;
	padding-bottom: 1.2em;
}
.main-content.system .content-box-1 .function-box .function-ul li {
	width: calc(100% - 3em);
	margin:  0.25em 0 0.25em 3em;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 500;
}
.main-content.system .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.system .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: clamp(18px, 1.4vw, 24px);
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.8;
	color: #004488;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace {
	justify-content: space-around;
	margin-bottom: 0;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article {
	width: 30%;
	margin-bottom: 2em;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(4),
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(5) {
	width: 40%;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(4) .img_wrap,
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(5) .img_wrap {
	width: 75%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .img_wrap:hover img {
	opacity: 1.0;
	transition-duration: 0;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:first-of-type {
	width: 57%;
	margin-right: 3%;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:last-of-type {
	width: 40%;
}
.main-content.system .content-box-1:last-of-type {
	margin-bottom: 0;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article ul {
	list-style-type: disc;
}
.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article ul li {
	text-indent: -0.5em;
	margin: 0.5em 0 0.5em 0.5em;
}
.main-content.system .content-box-1 .function-box-flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.main-content.system .content-box-1 .function-box ul.function-li {
	list-style-type: "●";
	padding: 1em 0;
}
.main-content.system .content-box-1 .function-box ul.function-li li {
	padding: 0.2em 0 0.2em 0;
    font-size: clamp(14px, 1.1vw, 19px);
}
.main-content.system .content-box-1 .function-box img.function-img {
	width: 80%;
	margin: 0 10% 2em;
}
.main-content.system .content-box-1 .function-box img.function-img2 {
	width: 50%;
	margin: 0 25% 2em;
}
.main-content.system .content-box-1 .function-box-flex2 {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.main-content.system .content-box-1 .function-box-flex2 article.otherfunction {
	width: 42%;
	border-top: 15px solid #004488;
	margin: 2.5vw 0 0;
}
.main-content.system .content-box-1 .function-box-flex2 article.otherfunction p {
	font-size: clamp(18px, 1.4vw, 24px);
	font-weight: 700;
	margin-top: 0.3em;
}
.main-content.system .content-box-1 .function-box-flex2 article.otherfunction ul {
	padding-top: 0;
	padding-bottom: 2em;
}
.main-content.system .content-box-1 .function-box-flex2 article.otherfunction ul li {
	margin-left: 1.5em;
}
.main-content.system .content-box-1 .img-box-wrapper-3 article .img_wrap img {
	cursor: default;
}
/*
----------------------------------------------
SYSTEM Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.system h4 {
		font-size: 3.6vw;
	}
	.main-content.system .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.system .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.system p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.system .content-box-1 p {
		font-size: 3.6vw;
	}
	.main-content.system .content-box-1 p.lead-s {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.construction .content-box-1 p span {
		font-size: 4vw;
	}
	.main-content.system .content-box-1 .content-box-subheader p {
		font-size: 3.6vw;
	}
	.main-content.system .content-box-1 .function-box .function-title {
		font-size: 4vw;
	}
	.main-content.system .content-box-1 .function-box .function-subtitle {
		font-size: 3.6vw;
	}
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article {
		width: 90%;
	}
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(4),
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(5) {
		width: 90%;
	}
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(4) .img_wrap,
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(5) .img_wrap {
		width: 100%;
	}
	.main-content.system .content-box-1 .function-box .function-ul li {
		width: calc(90% - 0);
		margin:  0.25em 0 0.25em 2em;
		font-size: 3.6vw;
	}
	.main-content.system .content-box-1 .function-box ul.function-li li {
		font-size: 3.6vw;
		width: 90%;
		margin: 0 2% 0 1.5em;
	}
	.main-content.system .content-box-1 .function-box img.function-img {
		width: 90%;
		margin: 0 5% 2em;
	}
	.main-content.system .content-box-1 .function-box img.function-img2 {
		width: 90%;
		margin: 0 5% 2em;
	}
	.main-content.system .content-box-1 .function-box-flex2 article.otherfunction {
		width: 90%;
	}
	.main-content.system .content-box-1 .function-box-flex2 article.otherfunction p {
		font-size: 4vw;
	}
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:first-of-type {
		width: 100%;
		margin-right: 0%;
		margin-bottom: 1em;
	}
	.main-content.system .content-box-1 .img-box-wrapper-3.havespace article .modal-content-wrapper article:last-of-type {
		width: 95%;
		margin-left: 5%;
	}
}

/*
----------------------------------------------
RESEARCH
----------------------------------------------
*/
.main-content.reserch {
	padding-top: 2.5vw;
}
.main-content.reserch p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.reserch p.lead-l {
	font-size: clamp(18px, 1.4vw, 24px);
	padding: 0 1em;
	line-height: 2;	
	font-weight: 700;
}
.main-content.reserch p.lead-l span {
	background: linear-gradient(transparent 60%, #d0f0ff 60%);
}
.main-content.reserch .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.main-content.reserch .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.reserch .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.reserch .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.reserch .content-box-1 p {
	text-align: center;
}
.main-content.reserch .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.reserch .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article {
	width: 47%;
	margin-bottom: 1em;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .content-box-subheader {
	border-bottom: 2px solid #004488;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	background: #000;
	position: relative;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap p {
	color: #fff;
	position: absolute;
	top: 40%;
	width: 100%;
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6vw;
	opacity: 0;
	text-transform: uppercase;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap button {
	border: none;
	vertical-align: bottom;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap img {
	border: 1px solid #fff;
	vertical-align: bottom;
	cursor: pointer;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap:hover img {
	opacity: 0.2;
	transition-duration: 0.3s;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap:hover p {
	opacity: 1;
	transition-duration: 0.3s;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article a img {
	border: 1px solid #fff;
}
.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace .modal__content p.hourei {
	text-align: left;
	font-size: 0.85em;
	width: 100%;
}
a.btn3d-l {
    width: 30vw;
    height: 3vw;
    font-size: 1.2vw;
    font-weight: 700;
    text-align: center;
    display: block;
    line-height: 3vw;
    color: #004488;
    margin: 1.5em auto 1.5em;
    box-shadow: 3px 3px #ccc;
    transition: .3s;
}
a.btn3d-l.btn-pbl {
	background: #d0f0ff;
	margin-bottom: 3em;
}
a.btn3d-l.btn-pbl:hover {
	box-shadow: 0 0 #ccc;
	background: #85b3cc;
}
a.btn3d-l.btn-gry {
	background: #eee;
}
a.btn3d-l.btn-gry:hover{
	box-shadow: 0 0 #ccc;
	background: #ddd;
}

/*
----------------------------------------------
RESEARCH Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.reserch h4 {
		font-size: 3.6vw;
	}
	.main-content.reserch .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.reserch  p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.reserch p.lead-l {
		font-size: 4vw;
		line-height: 1.4;
		margin-bottom: 0.75em;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace {
		margin: 5em 0 0;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article {
		width: 100%;
		margin-bottom: 5em;
	}
	.main-content.reserch .content-box-1 .content-box-subheader {
		margin-top: 2.5vw;
	}
	.main-content.reserch .content-box-1 .content-box-subheader p {
		font-size: 4vw;
	}
	.main-content.reserch .content-box-1 .content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2 .modal-header {
        font-size: 4vw;
        padding-top: 5vw;   
    }
	.main-content.reserch .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2 .modal-header {
        font-size: 4vw;
        padding-top: 0;   
    }
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
		font-size: 3.6vw;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .modal-content-wrapper article:first-of-type {
		width: 90%;
		margin: 0 5%;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace article .modal-content-wrapper article:last-of-type {
		width: 90%;
		margin: 0 5%;
	}
	.main-content.reserch .content-box-1 .img-box-wrapper-2.havespace .modal__content p.hourei {
		font-size: 2.4vw;
		width: 95%;
		margin: 0 auto;
		padding-bottom: 1em;
	}
	a.btn3d-l {
		width: 60vw;
		height: 8vw;
		font-size: 4vw;
		line-height: 8vw;
	}
	a.btn3d-l.btn-pbl {
		margin-top: 3em;
	}
}

/*
----------------------------------------------
PRODUCT
----------------------------------------------
*/
.main-content.product {
	padding-top: 2.5vw;
}
.main-content.product h4 {
	font-size: 1.7vw;
	font-weight: 700;
	color: #004488;
	text-align: center;
	margin-bottom: 1em;
}
.main-content.product p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
}
.main-content.product .img-wrapper {
	display: flex;
	margin: 3em 0 6em;
}
.main-content.product .img-wrapper img {
	width: 50%;
}
.main-content.product .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.main-content.product .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.product .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.product .content-box-1 .content-box-header p.caps {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	border-bottom: none;
	color: #222;
	font-weight: 700;
	padding: 0.5em 0;
}
.main-content.product .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.product .content-box-1 p {
	text-align: center;
}
.main-content.product .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.product .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: 1.2vw;
	font-weight: 700;
	margin: 0 auto 0.5em;
	padding-bottom: 0.25em;
	line-height: 2;
	color: #004488;
	width: 33%;
	border-bottom: 1px solid #004488;
}
.main-content.product .content-box-1 .content-box-subheader p.caps {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
	margin: 0 auto 1em;
	line-height: 1.4;
	color: #222;
	width: 100%;
	border-bottom: none;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace {
	display: flex;
	justify-content: center;
	flex-wrap: nowrap;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article {
	margin-bottom: 1em;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .content-box-footer {
	margin-top: 0.5em;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
	color: #004488;
	text-align: center;
	line-height: 1.2;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	background: #000;
	position: relative;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap p {
	color: #fff;
	position: absolute;
	top: 40%;
	width: 100%;
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6vw;
	opacity: 0;
	text-transform: uppercase;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap button {
	border: none;
	vertical-align: bottom;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap img {
	border: 1px solid #fff;
	vertical-align: bottom;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap:hover img {
	opacity: 0.2;
	transition-duration: 0.3s;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap:hover p {
	opacity: 1;
	transition-duration: 0.3s;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace article a img {
	border: 1px solid #fff;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace .modal__content p.hourei {
	text-align: left;
	font-size: 0.85em;
	width: 100%;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace .modal-content-wrapper article:first-of-type {
	width: 47%;
	margin-right: 3%;
	margin-bottom: 1em;
}
.main-content.product .content-box-1 .img-box-wrapper-3.havespace .modal-content-wrapper article:last-of-type {
	width: 50%;
	margin-bottom: 1em;
}

/*
----------------------------------------------
PRODUCT Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.product h4 {
		font-size: 4vw;
	}
	.main-content.product .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.product  p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.product .img-wrapper {
		display: flex;
		margin: 3em 0 6em;
		flex-wrap: wrap;
	}
	.main-content.product .img-wrapper img {
		width: 100%;
	}
	.main-content.product .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.product .content-box-1 .content-box-header p.caps {
		font-size: 3vw;
	}
	.main-content.product .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		width: 50%;
	}
	.main-content.product .content-box-1 .content-box-subheader p.caps {
		font-size: 3vw;
	}
	.main-content.product .content-box-1 .img-box-wrapper-3.havespace {
		flex-wrap: wrap;
	}
	.main-content.product .content-box-1 .img-box-wrapper-3.havespace article {
		width: 100%;
		margin-bottom: 8vw;
	}
	.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .content-box-footer {
		font-size: 3.6vw;
	}
	.main-content.product .content-box-1 .img-box-wrapper-3.havespace article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
		font-size: 3.6vw;
	}
}

/*
----------------------------------------------
OEM
----------------------------------------------
*/
.main-content.oem {
	padding-top: 2.5vw;
}
.main-content.oem h4 {
	font-size: 1.7vw;
	font-size: clamp(20px, 1.7vw, 33px);
	font-weight: 700;
	color: #004488;
	text-align: center;
	margin-bottom: 1em;
}
.main-content.oem p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
}
.main-content.oem .img-wrapper {
	display: flex;
	margin: 3em 0 6em;
}
.main-content.oem .img-wrapper img {
	width: 100%;
}
.main-content.oem .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 2vw 0 5vw;
}
.main-content.oem .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.oem .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
}
.main-content.oem .content-box-1 .content-box-header p.caps {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 18px);
	border-bottom: none;
	color: #222;
	font-weight: 700;
	padding: 0.5em 0;
}
.main-content.oem .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
}
.main-content.oem .content-box-1 p {
	text-align: center;
}
.main-content.oem .content-box-1 .content-box-subheader {
	margin-top: 0;
}
.main-content.oem .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: clamp(16px, 1.2vw, 21px);
	font-weight: 700;
	margin: 0 auto 0;
	padding-bottom: 0.25em;
	line-height: 1.4;
	color: #004488;
}
.main-content.oem .content-box-1 .content-box-subheader p.line {
	border-bottom: 1px solid #004488;
	width: 33%;
	margin: 0 auto 1em;
}
.main-content.oem .content-box-1 .img-box-wrapper-3.havespace {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article {
	background: rgba(0, 204, 255, 0.2);
	padding: 0 0.5em 1em;
	margin: 2em 5% 2em 0;
	width: 30%;
}
.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(3),
.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article:nth-of-type(5) {
	margin-right: 0;
}
.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article p.cpas {
	text-align: center;
	font-size: clamp(14px, 1.15vw, 18px);
	margin: 0 auto 1em;
	line-height: 1.6;
	color: #222;
	font-weight: 500;
	width: 70%;
}
.main-content.oem .content-box-1 img.flow-img {
	margin-bottom: 5em;
}
p.spacer {
	width: 100%; height: 3em; clear: both;
}

/*
----------------------------------------------
OEM Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.oem h4 {
		font-size: 4vw;
	}
	.main-content.oem .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.oem  p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.oem .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.oem .content-box-1 .content-box-header p.caps {
		font-size: 3vw;
	}
	.main-content.oem .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		width: 50%;
	}
	.main-content.oem .content-box-1 .content-box-subheader p.caps {
		font-size: 3vw;
	}
	.main-content.oem .content-box-1 .img-box-wrapper-3.havespace {
		flex-wrap: wrap;
	}
	.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article {
		width: 100%;
		margin: 5vw auto 5vw;
	}
	.main-content.oem .content-box-1 .img-box-wrapper-3.havespace article p.cpas {
		font-size: 3.6vw;
		margin: 0 auto 1em;
		width: 70%;
	}
	.main-content.oem .content-box-1 img.flow-img {
		margin-top: 3em;
	}
	p.spacer {
		height: 8em;
	}
}

/*
----------------------------------------------
LABO
----------------------------------------------
*/
.main-content.labo {
	padding-top: 0;
}
.main-content.labo p.lead {
	text-align: center;
	font-size: clamp(14px, 1.1vw, 19px);
	font-weight: 700;
}
.main-content.labo .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 5vw 0 5vw;
}
.main-content.labo .content-box-1 .content-box-header {
	padding-bottom: 1vw;
}
.main-content.labo .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	color: #004488;
	font-weight: 700;
	padding-bottom: 0.2em;
}
.main-content.labo .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
	line-height: 1.2;
}
.main-content.labo .content-box-1 p {
	text-align: center;
}
.main-content.labo .content-box-1 .text-box-1 {
	display: flex;
	margin: 0 0;
	padding: 6px 0;
	align-items: center;
	flex-wrap: wrap;
}
.main-content.labo .content-box-1 .text-box-1 article {
	text-align: left;
	padding: 0 0 0.2em 1.5em;
	margin-bottom: 0.75em;
	background: rgba(0, 204, 255, 0.2);
	font-weight: 500;
}
.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(odd) {
	width: 15%;
	position: relative;
}
.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(odd)::before {
	content: '';
	position: absolute;
	right: 2px;
	bottom: 6px;/*線の上下位置*/
	display: inline-block;
	width: 1px;/*線の長さ*/
	height: 1vw;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: black;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}
.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(even) {
	width: 85%;
}
.main-content.labo .content-box-1 .flex-center {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 2em;
}
.main-content.labo .content-box-1 ul.labo-ul {
	list-style-type: decimal;
}
.main-content.labo .content-box-1 ul.labo-ul li {
	font-weight: 500;
	font-size: clamp(14px, 1.1vw, 18px);
	margin: 0 0 1em;
}
.main-content.labo .content-box-1 .mark-wrapper {
	display: flex;
	margin: 0 10vw;
	justify-content: space-between;
}
.main-content.labo .content-box-1 p.isomark {
	width: 10%;
}
.main-content.labo .content-box-1 p.caps {
	text-align: left;
	font-size: 0.9em;
	padding: 1em 0 3em;
}
.main-content.labo .content-box-1 ul.labo-ul2 {
	list-style: none;
	padding: 0 0 3em;
}
.main-content.labo .content-box-1 ul.labo-ul2 li {
	font-weight: 500;
	font-size: clamp(14px, 1.1vw, 18px);
	margin: 0 0 0.2em;
	display: flex; /* 点とリストを横並びに */
  	align-items: center; /* 垂直方向に中央揃い */
}
.main-content.labo .content-box-1 ul.labo-ul2 li::before {
	content: "⚫︎"; /* 記号(黒丸)を挿入 */
	color: #bde5f2; /* 好きな色にする */
	font-size: 1.2em; /* 点の大きさ */
	margin-right: 0; /* 点とテキストの距離 */
}
.main-content.labo .content-box-1 ul.labo-ul2 li:nth-of-type(5) {
	margin-bottom: 1.5em;
}
.main-content.labo .content-box-1 ul.labo-ul2 p {
	text-align: left;
	font-weight: 500;
	margin-bottom: 0.5em;
}
.main-content.labo .content-box-1 ul.labo-ul2 p span {
	background: #bde5f2;
	padding: 0.2em 0.5em 0.4em;
}
.main-content.labo .content-box-1 p.loabo-title {
	background: #004488;
	font-size: 1.4vw;
	color: #fff;
	font-weight: 700;
	padding: 0.1em 0 0.3em;
	margin: 2em 0 1em;
}
.main-content.labo .content-box-1 .content-box-subheader {
	margin-top: 2.5vw;
}
.main-content.labo .content-box-1 .content-box-subheader p {
	text-align: center;
	font-size: clamp(16px, 1.2vw, 21px);
	font-weight: 700;
	margin: 0 auto 0;
	line-height: 1.4;
	color: #004488;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-header {
	line-height: 1.2;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article:first-of-type {
	width: 47%;
	margin-right: 3%;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article:last-of-type {
	width: 50%;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article p {
	text-align: left;
	margin-bottom: 0.5em;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article ul.labo-ul3 {
	list-style-type: "●"
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article ul.labo-ul3 li {
	margin-left: 1em;
}
.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article ul.labo-ul3 p {
	margin-bottom: 0;
	font-weight: 700;
}
.main-content.labo .content-box-1:last-of-type {
	margin-bottom: 0;
}
.main-content.labo .content-box-1 p.address {
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
	margin: 0.5em 0 0;
}
.main-content.labo .content-box-1 p.access {
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
	margin: 0.5em 0 2em;
}
.main-content.labo .content-box-1 .labo-map {
	margin-bottom: 3em;
}

/*
----------------------------------------------
LABO Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.labo h4 {
		font-size: 3.6vw;
	}
	.main-content.labo .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.labo .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.labo p.lead {
		font-size: 3.6vw;
		text-align: left;
	}
	.main-content.labo .content-box-1 .text-box-1 {
		display: flex;
		margin: 0 0;
		padding: 6px 0;
		align-items: center;
		flex-wrap: wrap;
	}
	.main-content.labo .content-box-1 .text-box-1 article {
		text-align: center;
		padding: 0 0 0.2em 0;
		margin-bottom: 0.75em;
		background: rgba(0, 204, 255, 0.2);
		font-weight: 500;
		font-size: 3.3vw;
	}
	.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(odd) {
		width: 100%;
		position: relative;
		margin-bottom: 0;
	}
	.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(odd)::before {
		content: '';
		position: absolute;
		left: 50%;
		bottom: 0px;/*線の上下位置*/
		display: inline-block;
		width: 30%;/*線の長さ*/
		height: 1px;/*線の太さ*/
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);/*位置調整*/
		background-color: black;/*線の色*/
		border-radius: 2px;/*線の丸み*/
	}
	.main-content.labo .content-box-1 .text-box-1 article:nth-of-type(even) {
		width: 100%;
	}
	.main-content.labo .content-box-1 ul.labo-ul li {
		font-size: 3vw;
		margin: 0 0 1em 1.5em;
	}
	.main-content.labo .content-box-1 p.caps {
		font-size: 2.6vw;
	}
	.main-content.labo .content-box-1 ul.labo-ul2 li {
		font-weight: 500;
		font-size: 3vw;
		margin: 0 0 0.2em;
		display: flex; /* 点とリストを横並びに */
		align-items: flex-start ; /* 垂直方向に中央揃い */
	}
	.main-content.labo .content-box-1 ul.labo-ul2 li::before {
		content: "⚫︎"; /* 記号(黒丸)を挿入 */
		color: #bde5f2; /* 好きな色にする */
		font-size: 1.2em; /* 点の大きさ */
		margin-right: 0; /* 点とテキストの距離 */
	}
	.main-content.labo .content-box-1 ul.labo-ul2 p {
		font-size: 3vw;
	}

	.main-content.labo .content-box-1 p.loabo-title {
		font-size: 4vw;
	}
	.main-content.labo .content-box-1 p.labo-p {
		font-size: 3vw;
	}
	.main-content.labo .content-box-1 .content-box-subheader p {
		font-size: 4vw;
		text-align: center;
	}
	.content-box-subheader span {
		font-size: 6vw;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 {
		align-items: flex-end;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article {
		width: 100%;
		margin-bottom: 4em;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article .img_wrap p {
		top: 40%;
		width: 100%;
		text-align: center;
		font-size: 4vw;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article:first-of-type {
		width: 100%;
		margin: 0 auto 0;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article:last-of-type {
		width: 100%;
		margin-bottom: 2em;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article p {
		text-align: left;
		margin-bottom: 0.5em;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-content-wrapper article ul.labo-ul3 {
		list-style-type: "●";
		display: flex;
		flex-wrap: wrap;
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-header {
		font-size: 4vw;
		padding-top: 5vw;   
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-header {
		padding-top: 2.5vw;   
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-content-wrapper article ul.labo-ul3 li {
		margin-left: 1em;
		width: calc(90% - 1.0em);
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-content-wrapper article ul.labo-ul3 li:nth-of-type(2),
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-content-wrapper article ul.labo-ul3 li:nth-of-type(3),
	.main-content.labo .content-box-1 .img-box-wrapper-3 article:first-of-type .modal-content-wrapper article ul.labo-ul3 li:nth-of-type(7){
		margin-left: calc(10% + 1.0em);
	}
	.main-content.labo .content-box-1 .img-box-wrapper-3 .modal-content-wrapper article ul.labo-ul3 p {
		width: 10%;
		line-height: 1.6;
	}
	.main-content.labo .content-box-1:last-of-type {
		margin-bottom: 0;
	}
	.main-content.labo .content-box-1 p.address,
	.main-content.labo .content-box-1 p.access {
		font-size: 3.6vw;
		text-align: center;
	}
	.main-content.labo .content-box-1 .labo-map {
		margin-bottom: 3em;
	}
	.main-content.labo .content-box-1 .mark-wrapper {
		display: flex;
		margin: 0 0;
		justify-content: space-between;
	}
	.main-content.labo .content-box-1 p.isomark {
		width: 20%;
	}
}

/*
----------------------------------------------
PRIVACY
----------------------------------------------
*/
.main-content.privacy {
	padding-top: 5vw;
}
.main-content.privacy p.lead {
	text-align: center;
	font-size: 1.1vw;
	font-weight: 700;
}
.main-content.privacy .content-box-1 {
	background: #eee;
	width: 100%;
	padding: 2% 5%;
	margin: 0 0 5vw;
}
.main-content.privacy .content-box-1 .content-box-header {
	padding-top: 1.5vw;
}
.main-content.privacy .content-box-1 .content-box-header p {
	text-align: center;
	font-size: 1.6vw;
	border-bottom: 1px solid #222;
	font-weight: 700;
	color: #004488;
}
.main-content.privacy .content-box-1 .content-box-header span {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 4vw;
	text-align: center;
	color: #004488;
	padding: 0 0 0;
	display: block;
	line-height: 1;
}
.main-content.privacy .content-box-1 h5 {
	text-align: center;
	font-size: 1.4vw;
	background: #004488;
	color: #d5f4ff;
	width: 90%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0.5vw;
}
.main-content.privacy .content-box-1 p {
	text-align: center;
}
.main-content.privacy .content-box-1 p.kankyo {
	text-align: left;
	margin: 0 10vw;
	display: block;
}
.main-content.privacy .content-box-1 p span {
	font-size: 0.8vw;
}
.main-content.privacy .content-box-1 p.sekinin {
	text-align: right;
	margin: 2vw 0;
}

.main-content.privacy .accordion-001 {
    max-width: 100%;
    margin: 1.5em auto;
    background-color: #004488;
}
.main-content.privacy .accordion-001 p {
	text-align: left;
}
.main-content.privacy .accordion-001 summary {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.3em;
    color: #d5f4ff;
    cursor: pointer;
	font-size: 1.4vw;
	line-height: 1;
	letter-spacing: 0.5vw;
}
.main-content.privacy .accordion-001 summary::-webkit-details-marker {
    display: none;
}
.main-content.privacy .accordion-001 summary::before {
	content: 'MORE';
}
.main-content.privacy .accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 12px;
    height: 12px;
    margin-left: 10px;
    border-bottom: 2px solid #d5f4ff;
    border-right: 2px solid #d5f4ff;
    content: '';
    transition: transform .3s;
}
.main-content.privacy .accordion-001[open] summary::after {
    transform: rotate(225deg);
}
.main-content.privacy .accordion-001[open] summary::before {
	content: 'CLOSE';
}
.main-content.privacy .accordion-001 div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 0 1.5em;
    color: #222;
    transition: transform .5s, opacity .5s;
}
.main-content.privacy .accordion-001[open] div {
    transform: none;
    opacity: 1;
	background: #eee;
}
.main-content.privacy .accordion-001 h5.privacy-acd-title {
	text-align: left;
	font-size: 1.2vw;
	background: rgba(0,204,255,0.2);
	color: #222;
	width: 100%;
	margin: 2.5em auto 0.75em;
	line-height: 1;
	padding: 0.3em;
	letter-spacing: 0;
	font-weight: 500;
}
.main-content.privacy .accordion-001 ul.privacy-acd-txt li {
	text-align: left;
	list-style-type: decimal;
	padding: 0.2em 0 0.2em 0;
	margin-left: 1.5em;
}
.main-content.privacy .accordion-001 ul.privacy-acd-txt2 li {
	text-align: left;
	list-style-type: "●";
	padding: 0.2em 0 0.2em 0;
	margin-left: 1.5em;
}
.main-content.privacy .accordion-001 ul.privacy-acd-txt2 {
	text-align: left;
	padding: 1vw 0;
}
.main-content.privacy .accordion-001 p.pdf-link {
	margin-top: 1.2em;
}
.main-content.privacy .accordion-001 p.pdf-link a {
	color: #004488;
}
.privacy-anchor {
	width: 100%;
	height: 100px;
}
.main-content.privacy #privacy02 a.btn3d {
	width: auto;
	height: 2vw;
	font-size: 1.2vw;
	font-weight: 700;
	background: #eee;
	text-align: center;
	display: inline-block;
	line-height: 2vw;
	color: #004488;
	margin: 0 auto 0;
	box-shadow: 3px 3px #ccc;
	transition: .4s;
}

/*
----------------------------------------------
PRIVACY Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.privacy p.lead {
		font-size: 3.6vw;
	}
	.main-content.privacy .content-box-1 {
		background: #eee;
		width: 100%;
		padding: 2% 5%;
		margin: 5vw 0;
	}
	.main-content.privacy .content-box-1 .content-box-header p {
		font-size: 4vw;
	}
	.main-content.privacy .content-box-1 .content-box-header span {
		font-size: 8vw;
	}
	.main-content.privacy .content-box-1 h5 {
		font-size: 4vw;
	}
	.main-content.privacy .content-box-1 p{
		text-align: left;
		font-size: 3vw;
	}
	.main-content.privacy .content-box-1 p.kankyo {
		margin: 0 5vw;
	}
	.main-content.privacy .content-box-1 p span {
		font-size: 2.4vw;
	}

	.main-content.privacy .content-box-1 .accordion-001 {
		width: 100%;
	}
	.main-content.privacy .accordion-001 summary {
		font-size: 4vw;
	}
	.main-content.privacy .accordion-001 h5.privacy-acd-title {
		font-size: 3.6vw;
		line-height: 1.2;
	}
	.main-content.privacy .accordion-001 ul.privacy-acd-txt li {
		font-size: 3vw;
	}
	.main-content.privacy .accordion-001 ul.privacy-acd-txt2 li {
		font-size: 3vw;
	}
	.main-content.privacy .accordion-001 ul.privacy-acd-txt2 strong {
		font-size: 3vw;
	}
}

/*
----------------------------------------------
SEARCH
----------------------------------------------
*/
.main-content.serch h5.serch-title {
	background: #004488;
	color: #fff;
	text-align: center;
	font-size: 1.4vw;
	font-weight: 500;
	margin: 2em 0;
}
.main-content.serch h5.serch-title span {
	font-size: 1.4em;
	font-weight: 700;
}
.main-content.serch article.hentry {
	width: 90%;
	margin: 0 auto;
}
.main-content.serch article.hentry h1 {
	margin-bottom: 0;
}
.main-content.serch article.hentry h1 a {
	font-size: 1.4vw;
	font-weight: 700;
	color: #004488;
}
.main-content.serch .search-form-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border: 1px solid #fff;
    border-radius: 25px;
	width: 300px;
	margin: 0 auto;
}
.main-content.serch .search-form-1 input {
    width: 250px;
    height: 45px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    font-size: 1em;
    outline: none;
	background: rgba(0, 204, 255, 0.5);
	color: #fff;
}
.main-content.serch .search-form-1 input::placeholder{
    color: #fff;
}
.main-content.serch .search-form-1 button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 45px;
    border: none;
    background: rgba(0, 204, 255, 0.5);
    cursor: pointer;
}
.main-content.serch .search-form-1 button::after {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

/*
----------------------------------------------
SEARCH Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.main-content.serch h5.serch-title {
		font-size: 4vw;
	}
	.main-content.serch article.hentry {
		width: 100%;
		margin-bottom: 5vw;
	}
	.main-content.serch article.hentry h1 a {
		font-size: 4vw;
	}
	.main-content.serch article.hentry .entry-summary p {
		font-size: 3vw;
	}
}

/*
----------------------------------------------
MODAL
----------------------------------------------
*/
.layer {
	background-image: radial-gradient(circle at 50% 0%, rgba(75, 102, 153, 0.9), rgba(0, 34, 77, 0.9) 60%);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s linear, visibility 0.3s linear, z-index 0.3s linear;
}
.layer.is-open {
	z-index: 999;
	opacity: 1;
	visibility: visible;
	overflow: scroll;
}
.layer.is-open .modal,
.layer.is-open .modal2,
.layer.is-open .modal3,
.layer.is-open .modal4,
.layer.is-open .modal5,
.layer.is-open .modal6,
.layer.is-open .modal7,
.layer.is-open .modal8,
.layer.is-open .modal9,
.layer.is-open .modal10,
.layer.is-open .modal11,
.layer.is-open .modal12,
.layer.is-open .modal13,
.layer.is-open .modal14,
.layer.is-open .modal15,
.layer.is-open .modal16,
.layer.is-open .modal17,
.layer.is-open .modal18,
.layer.is-open .modal19,
.layer.is-open .modal20 {
	opacity: 1;
	visibility: visible;
}
.modal__button-wrap {
	position: absolute;
	right: 10px;
	top: 10px;
	display: inline-flex;
}
.close-button {
	position: relative;
	width: 39px;
	height: 39px;
	background: none;
	border-radius: 50%;
	padding: 0;
	border: transparent;
	cursor: pointer;
}
.close-button span {
	width: 25px;
	height: 2px;
	background: #004488;
	display: inline-block;
	position: absolute;
	left: calc(50% - 12px);
	top: 50%;
	border-radius: 20px;
}
.close-button span:nth-child(1) {
	transform: rotate(45deg) translate(-1px, -1px);
}
.close-button span:nth-child(2) {
	transform: rotate(-45deg) translate(1px, -1px);
}
.modal, .modal2, .modal3, .modal4, .modal5, .modal6, .modal7, .modal8, .modal9, .modal10, .modal11, .modal12, .modal13, .modal14, .modal15, .modal16, .modal17, .modal18, .modal19, .modal20 {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	width: 70%;
	min-width: 380px;
	opacity: 0;
	visibility: hidden;
	transition:  visibility .7s linear, opacity .7s linear;
}
.modal__inner {
	margin-top: 125px;
	margin-bottom: 125px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	background: #eee;
	box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 13px;
	display: block;
	padding: 21px 8px 21px;
	height: auto;
}
.modal__content {
	padding: 0 2vw 0;
}
.modal__button-area {
	max-width: 843px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 17px;
	padding-top: 15px;
}

.modal-header {
	font-size: 1.4vw;
	font-weight: 700;
	color: #004488;
	border-bottom: 2px solid #004488;
	padding-bottom: 0.5em;
}
.modal-header span {
	color: #004488;
	text-align: center;
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 2.4vw;
	text-transform: uppercase;
	position: relative;
	top: 0.25em;
}
.modal-content-wrapper {
	display: flex;
	margin-top: 1vw;
}
.modal-content-wrapper article {
	font-size: 1.0vw;
}
.modal-content-wrapper article:first-of-type {
	width: 57%;
	margin-right: 3%;
}
.modal-content-wrapper article:last-of-type {
	width: 40%;
}

/*
----------------------------------------------
MODAL Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) {
	.modal, .modal2, .modal3, .modal4, .modal5, .modal6, .modal7, .modal8, .modal9, .modal10, .modal11, .modal12, .modal13, .modal14, .modal15, .modal16, .modal17, .modal18, .modal19, .modal20 {
		width: 90vw;
		min-width: 90vw;
	}
	.modal__inner {
		margin-top: 50px;
		margin-bottom: 0;
		padding: 0;
	}
	.modal-header {
		font-size: 4vw;
	}
	.modal-header span {
		font-size: 8vw;
		top: 0.25em;
	}
	.modal-content-wrapper {
		display: flex;
		margin-top: 1vw;
		flex-wrap: wrap;
	}
	.modal-content-wrapper article {
		font-size: 3.0vw;
	}
	.modal-content-wrapper article:first-of-type {
		width: 100%;
		margin-right: 0;
		margin-bottom: 1em
	}
	.modal-content-wrapper article:last-of-type {
		width: 100%;
	}
}

/*
----------------------------------------------
OTHER
----------------------------------------------
*/
.pagination {
	margin-top: 5em;
}
.nav-links{
	display: flex;
	justify-content: center;
}
.page-numbers{
	display: inline-block;
	margin-right: 10px;
	padding: 10px 20px;
	color: #666666;
	border-radius: 3px;
	background: #fff;
	border: 1px solid #666;
}
.page-numbers.current{
	padding:10px 20px;
	background: #004488;
	color: #fff;
}
.page-numbers.prev,
.page-numbers.next{
	background: transparent;
	box-shadow: none;
	border: none;
	color: #666; 
}
.page-numbers.dots{
	background: transparent;
	box-shadow: none;
	border: none;
	color: #666; 
}

#pages.content-wrapper .main-content.notfound404 {
	max-width: 1000px;
	margin: 3em auto;
	font-size: 1.2vw;
	font-weight: 700;
	line-height: 2;
}
 
 
/* レスポンシブデザインのためのメディアクエリ */
@media (max-width: 600px) {
	.page-numbers,
	.page-numbers.current {
		padding:5px 10px;
	}
}

@media screen and (max-width: 440px) {
	footer {
		padding-top: 2vh;
	}
}

/*
----------------------------------------------
TOP　Tablet Portrait /  Smart Phone
----------------------------------------------
*/
@media screen and (max-width: 1024px) and (orientation: portrait) {
	#pages.content-wrapper .main-content.notfound404 {
		max-width: 90vw;
		margin: 3em auto;
		font-size: 3.4vw;
	}
}