@charset "utf-8";
/* ===================================
ALBA Corp.
Style Sheet
First Update  2015-04-28
Last Update   2024-10-21
Created by Basic Plus Design Inc.
=================================== */
/* -----------------------------------------------------------
1. index.html
2. company
    2-1.  index.html
3. business
    3-1.  index.html
    3-2.  pool.html
    3-3.  jaczzi.html
    3-4.  jet.html
    3-5.  filter.html
    3-6.  construction.html
    3-7.  sauna.html
    3-8.  d_construction.html
4. products
    4-1.  index.html
    4-2.  filter.html
    4-3.  relaxation.html
    4-4.  sterilizer.html
    4-5.  parts.html
    4-6.  controlunit.html
5. case/index.html
6. contact.html
7. maintenance.html
8. privacy.html
9. sitemap.html
10. link.html
11. common style
----------------------------------------------------------- */
/* ===========================================================
1. index.html
=========================================================== */

#home .pagemenu {
	display: none;
}

/* #topimg */

#topimg {
	max-height: 500px;
	overflow: hidden;
	margin-top: 25px;
}

#topimg .container {
	width: 134%;
	max-width: 1200px;
	height: 0;
	padding-bottom: 41.66%;
	background-image: url(../images/home/topimg.jpg);
	background-repeat: no-repeat;
	background-size: contain;
}

#topimg .container h1 {
	width: 100%;
	height: 100%;
	max-width: 900px;
	max-height: 500px;
	padding-top: 6%;
	margin: 0 auto;
	text-align: center;
}

@media only screen and (max-width: 1199px) {
	#topimg .container {
		width: 100%;
		max-width: 900px;
		background-size: cover;
	}

	#topimg .container h1 {
		width: 90%;
	}
}

/* #topmenu */

#topmenu {
	height: 190px;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

#topmenu .container li:first-child {
	margin-left: -1px;
}

#topmenu .container li a {
	display: block;
	float: left;
	width: 33.33%;
	height: 188px;
	padding-top: 106px;
	text-align: center;
	border-left: 1px solid #fff;
	color: #fff;
	font-size: 150%;
	line-height: 1.3;
}

#topmenu .container .first a {
	background: url(../images/home/ico_business.png) no-repeat center 35px;
}

#topmenu .container .first a:hover {
	background: #0a2ea3 url(../images/home/ico_business.png) no-repeat center 35px;
}

#topmenu .container .second a {
	background: url(../images/home/ico_products.png) no-repeat center 35px;
}

#topmenu .container .second a:hover {
	background: #0a2ea3 url(../images/home/ico_products.png) no-repeat center 35px;
}

#topmenu .container .third a {
	border-right: 1px solid #fff;
	background: url(../images/home/ico_case.png) no-repeat center 35px;
}

#topmenu .container .third a:hover {
	background: #0a2ea3 url(../images/home/ico_case.png) no-repeat center 35px;
}

#topmenu .container li a span:before {
	content: "\A";
	white-space: pre;
	overflow: hidden;
}

@media only screen and (max-width: 460px) {
	#topmenu .container li {
		font-size: 80%;
	}

	#topmenu .container li .more img {
		width: 90%;
	}
}

/* #topworks */
#topworks .container {
	width: 100%;
	max-width: 1200px;
	height: auto;
}

#topworks .slick-slider {
	margin-bottom: 0;
}

#topworks .slick-slide {
	width: 50%;
	max-width: 600px;
	height: 100%;
	max-height: 260px;
	padding-top: 90px;
	padding-bottom: 90px;
}

#topworks .topslider p {
	width: 100%;
	text-align: center;
	color: #fff;
}

#topworks .left img {
	margin-left: 41%;
	text-align: right;
}

#topworks .left p {
	width: 100%;
	padding-left: 15%;
}

#topworks .right img {
	margin-left: 28%;
}

#topworks .right p {
	width: 100%;
	padding-right: 8%;
}

#top_case01 {
	background: url(../images/home/bg_case01.png) no-repeat;
}

#top_case02 {
	background: url(../images/home/bg_case02.png) no-repeat;
}

#top_case03 {
	background: url(../images/home/bg_case03.png) no-repeat;
}

#top_case04 {
	background: url(../images/home/bg_case04.png) no-repeat;
}

@media only screen and (max-width: 899px) {
	#topworks .left img,
	#topworks .right img {
		margin-left: auto;
		margin-right: auto;
	}

	#topworks .left p {
		padding-left: 0;
	}

	#topworks .right p {
		padding-right: 0;
	}
}

/* #topnews*/

#topnews .container {
	min-height: inherit;
}

#topnews .col {
	padding: 60px 0;
}

#topnews h2 img {
	-webkit-animation: blink 1s ease-in-out infinite alternate;
	animation: blink 1s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 1;
	}
}

@keyframes blink {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 1;
	}
}

#topnews .col h2 a {
	font-size: 13px;
	padding-top: 1em;
	float: right;
}

#topnews ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column wrap;
	flex-flow: column wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	max-width: 300px;
	margin: 50px auto 0;
}

#topnews li {
	width: 100%;
	margin: 20px auto 40px;
	position: relative;
}

#topnews li a.rollover {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#topnews figure {
	width: 100%;
	max-width: 300px;
	height: 0;
	padding-top: 90%;
	margin: 0;
	overflow: hidden;
	position: relative;
}

#topnews figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	min-width: 100%;
	max-width: initial;
	height: 100%;
}

#topnews li dt,
#topnews li dd p {
	line-height: 1.6;
}

#topnews li dt {
	width: 100%;
	border-bottom: 1px solid #999;
	margin-bottom: 20px;
	padding-bottom: 2px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#topnews li dt span {
	font-size: 105%;
	font-weight: 700;
}

#topnews li dd p:last-of-type {
	margin-bottom: -1em;
}

@media only screen and (min-width: 640px) {
	#topnews ul {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		max-width: 600px;
	}

	#topnews li {
		width: calc(50% - 1px);
		border-left: 1px solid #000;
	}

	#topnews li:nth-child(odd) {
		border-color: transparent;
	}

	#topnews li dl,
	#topnews li figure {
		width: 90%;
	}

	#topnews li:nth-child(odd) dl,
	#topnews li:nth-child(odd) figure {
		margin-left: 0;
		margin-right: 10%;
	}

	#topnews li:nth-child(even) dl,
	#topnews li:nth-child(even) figure {
		margin-left: 10%;
		margin-right: 0;
	}
}

@media only screen and (min-width: 1024px) {
	#topnews .container {
		width: 100%;
		max-width: 950px;
	}

	#topnews .col h2 {
		width: 900px;
		margin: 0 auto;
	}

	#topnews ul {
		max-width: 100%;
	}

	#topnews li {
		width: 25%;
	}

	#topnews figure {
		max-width: 270px;
		padding-top: 80%;
	}

	#topnews li dl,
	#topnews li figure {
		width: 80%;
	}

	#topnews li:nth-child(odd) {
		border-color: #000;
	}

	#topnews li:first-child {
		border-color: transparent;
	}

	#topnews li:nth-child(odd) dl,
	#topnews li:nth-child(odd) figure,
	#topnews li:nth-child(even) dl,
	#topnews li:nth-child(even) figure {
		margin-left: auto;
		margin-right: auto;
	}
}

/* bnr_contact */
a.bnr_contact {
	display: block;
	width: 98%;
	max-width: 900px;
	margin: 60px auto;
	text-align: center;
}

a.bnr_contact img {
	width: 100%;
}

/* ===========================================================
2. company
=========================================================== */

#sign {
	margin-top: 60px;
}

#overview dl.table dd {
	padding-left: 1.5em;
}

/* -----------------------------------------------------------
2-1. company/index.html
----------------------------------------------------------- */

#advantage .artwork {
	text-align: center;
	padding: 1.5em 0;
}

#accessarea {
	margin-bottom: 60px;
}

#accessarea #map {
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 56%;
	background: url(../images/company/map.png) no-repeat center top/cover;
	border: 1px solid #194aa8;
	margin: 30px 0 20px;
}

#accessarea a.link {
	display: block;
	width: 10em;
	color: #194aa8 !important;
	margin: -1em 0 20px;
	position: relative;
}

#accessarea .photo {
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
}

#accessarea .photo p {
	width: 100%;
	max-width: 334px;
	margin-top: 30px;
}

#accessarea .photo p img {
	width: 100%;
}

#accessarea .title {
	border: 2px solid #194aa8;
	color: #194aa8;
	text-align: center;
	margin-top: 50px;
}

#accessarea .route .items {
	letter-spacing: 0.05em;
}

@media all and (min-width: 600px) {
	#accessarea .address br {
		display: none;
	}

	#accessarea .address span:before {
		content: "";
		display: inline-block;
		width: 1em;
		height: 1em;
	}

	#accessarea .photo {
		flex-flow: row wrap;
	}

	#accessarea .photo p {
		width: 48%;
	}
}

/* ===========================================================
3. business
=========================================================== */
#business .sec {
	margin-bottom: 3em;
	position: relative;
}

#business .sec .img_title {
	float: left;
	margin: 0.5em 2em 1.5em 0;
}

#business .sec h4 {
	font-size: 110%;
	line-height: 2em;
	color: #1d56c3;
}

#business .sec03 {
	position: relative;
}

#business #.sec03 h4 {
	background-color: #1d56c3;
	color: #fff;
	width: 30%;
	text-align: center;
	position: absolute;
	top: 1em;
}

#business .sec01 h3 {
	color: #fff;
	text-align: center;
	min-height: 220px;
	padding-top: 130px;
	margin-bottom: 40px;
}

#business .sec .place {
	margin-top: 40px;
}

#business .sec .place span {
	border: 2px solid #1d56c3;
	color: #1d56c3;
	padding: 0.2em 1em;
	margin-right: 1em;
	margin-bottom: 1em;
	display: inline-block;
}

#business .sec .place .denim {
	color: #fff;
}

#business .sec05 div {
	display: inline-table;
	border: 1px solid #505050;
	width: 48%;
	padding: 1em;
	margin-bottom: 1.5em;
	vertical-align: top;
}

#business .sec05 .mg {
	margin-right: 1.5em;
}

#business .sec05 p {
	display: table-cell;
}

#business .sec05 .photo {
	width: 40%;
	padding-right: 1em;
}

#business .sec05 .text {
	width: 60%;
	vertical-align: top;
}

#business .sec06 .column {
	display: table;
}

#business .sec06 p {
	display: table-cell;
	width: 32%;
}

#business .sec06 p.one-col,
#business .sec06 p.two-col {
	margin-right: 2%;
}

@media only screen and (max-width: 460px) {
	#business .sec05 div {
		width: 100%;
		margin-bottom: 1em;
	}

	#business .sec05 .mg {
		margin-right: 0;
	}

	#business .sec06 p {
		display: block;
		width: 100%;
	}
}

/* -----------------------------------------------------------
3-1. business/index.html
----------------------------------------------------------- */
#business #index .sec {
	position: inherit;
	width: 100%;
	display: inline-table;
	vertical-align: top;
	position: relative;
}

#business #index .sec p {
	display: table-cell;
	margin: 0;
	padding: 0;
}

#business #index .sec .title {
	margin: 0;
	width: 43%;
	vertical-align: middle;
	text-align: center;
	padding-right: 5%;
}

#business #index .sec .photo {
	width: 17%;
}

#business #index .sec .text {
	width: 40%;
	vertical-align: top;
}

#business #index .sec .text span {
	display: none;
}

#business #index .sec .img_more {
	display: inline-block;
	position: absolute;
	bottom: -5px;
}

@media only screen and (max-width: 460px) {
	#business #index .sec p {
		display: inherit;
	}

	#business #index .sec .title {
		display: none;
	}

	#business #index .sec .photo {
		width: 25%;
		margin-right: 5%;
		display: inline-block;
	}

	#business #index .sec .text {
		width: 70%;
		vertical-align: inherit;
		display: inline-block;
	}

	#business #index .sec .text span {
		display: block;
		color: #1d56c3;
		font-weight: bold;
	}

	#business #index .sec .img_more {
		margin-top: inherit;
		position: inherit;
	}
}

/* -----------------------------------------------------------
3-2. business/pool.html
----------------------------------------------------------- */
#business #pool .sec01 {
	background: url(../images/business/img_pool3.jpg) no-repeat;
}

#business #pool .sec03 {
	position: relative;
}

#business #pool .sec03 h4 {
	background-color: #0a2ea3;
	color: #fff;
	text-align: center;
	width: 30%;
	position: absolute;
	top: 20px;
}

#business #pool .sec05 .photo img {
	width: 100%;
}

#business #pool .sec06 .column img {
	width: 100%;
}

/* -----------------------------------------------------------
3-3. business/jaczzi.html
----------------------------------------------------------- */
#business #jacuzzi .sec01 {
	background: url(../images/business/img_jac3.jpg) no-repeat;
}

#business #jacuzzi .sec02 .items {
	float: left;
	width: 67%;
}

#business #jacuzzi .sec02 .picture {
	float: right;
	width: 33%;
}

#business #jacuzzi .sec03 {
	position: relative;
}

#business #jacuzzi .sec03 h4 {
	background-color: #0a2ea3;
	color: #fff;
	text-align: center;
	width: 30%;
	position: absolute;
	top: 20px;
}

#business #jacuzzi .sec06 .column img {
	width: 100%;
}

@media only screen and (max-width: 460px) {
	#business #jacuzzi .sec02 .items {
		clear: both;
		width: 100%;
	}

	#business #jacuzzi .sec02 .picture {
		clear: both;
		width: 100%;
	}
}

/* -----------------------------------------------------------
3-4. business/jet.html
----------------------------------------------------------- */
#business #jetwater .sec01 {
	background: url(../images/business/img_jet3.jpg) no-repeat;
}

/* -----------------------------------------------------------
3-5. business/filter.html
----------------------------------------------------------- */
#business #filter .sec01 {
	background: url(../images/business/img_filt3.jpg) no-repeat;
}

#business #filter .sec02 .items {
	display: table;
}

#business #filter .sec02 .items p {
	display: table-cell;
	width: 110px;
}

/* -----------------------------------------------------------
3-6. business/construction.html
----------------------------------------------------------- */
#business #const .sec01 {
	background: url(../images/business/img_const3.jpg) no-repeat;
}

#business #const .sec02 img {
	float: left;
	margin-right: 2em;
}

/* -----------------------------------------------------------
3-7. business/sauna.html
----------------------------------------------------------- */
#business #sauna .sec01 {
	background: url(../images/business/img_sauna3.jpg) no-repeat;
}

#business #sauna .sec02 h4 {
	font-weight: bold;
	width: 100%;
	line-height: 1;
}

#business #sauna .sec02 div {
	display: table;
	margin-bottom: 2em;
}

#business #sauna .sec02 div div {
	display: table-cell;
	vertical-align: top;
}

#business #sauna .sec02 div .photo {
	width: 27%;
}

#business #sauna .sec02 div .text {
	width: 73%;
}

/* -----------------------------------------------------------
3-8. business/d_construction.html
----------------------------------------------------------- */
#business #d_const .sec01 {
	background: url(../images/business/img_d_const3.jpg) no-repeat;
}

#business #d_const .sec02 div {
	margin-bottom: 3em;
}

#business #d_const .sec02 .img_flow {
	display: inline;
	width: 25%;
	margin-right: 3em;
}

#business #d_const .sec02 .text {
	display: inline-table;
	width: 75%;
	height: 100%;
	vertical-align: middle;
}

#business #d_const .sec02 .text span {
	display: block;
	color: #1d56c3;
	font-weight: bold;
	font-size: 110%;
	padding-bottom: 0.5em;
	border-bottom: 1px dashed #1d56c3;
	margin-bottom: 0.5em;
}

/* ===========================================================
4. products
=========================================================== */

/* -----------------------------------------------------------
4-1. products/index.html
----------------------------------------------------------- */
#product #index .sec {
	margin-bottom: 40px;
	position: inherit;
	width: 100%;
	display: inline-table;
	vertical-align: top;
}

#product #index .sec div {
	display: table-cell;
	margin: 0;
	padding: 0;
}

#product #index .sec .photo {
	width: 30%;
	border: 1px solid #505050;
	text-align: center;
	vertical-align: middle;
}

#product #index .sec .text {
	width: 70%;
	padding-left: 2em;
	vertical-align: top;
}

#product #index .sec .text h4 {
	font-size: 130%;
	line-height: 2em;
	color: #1d56c3;
	font-weight: bold;
}

@media only screen and (max-width: 460px) {
	#product #index .sec div {
		display: inherit;
	}

	#product #index .sec .photo {
		width: 100%;
		margin-bottom: 1em;
	}

	#product #index .sec .text {
		width: 100%;
		padding-left: inherit;
	}

	#product #index .sec .text h4 {
		font-size: 100%;
		line-height: 2em;
	}
}

/* -----------------------------------------------------------
4-2. products/filter.html
----------------------------------------------------------- */
/* -----------------------------------------------------------
4-3. products/relaxation.html
----------------------------------------------------------- */
/* -----------------------------------------------------------
4-4. products/sterilizer.html
----------------------------------------------------------- */
/* -----------------------------------------------------------
4-5. products/parts.html
----------------------------
------------------------------- */
#product #main #este01 img {
	padding-top: 1em;
	padding-bottom: 1em;
}

/* -----------------------------------------------------------
4-6. products/controlunit.html
----------------------------------------------------------- */
/* ===========================================================
5. case/index.html
=========================================================== */

#case #main .sec_zenkoku {
	width: 690px;
	margin-bottom: 3em;
}

#case #main .sec_zenkoku table {
	width: 210px;
	line-height: 2em;
	letter-spacing: 0.1em;
	font-size: 90%;
	border: 1px solid #ededed;
	float: left;
}

#case #main .sec_zenkoku table.chiiki,
#case #main .sec_zenkoku table.shurui {
	margin-right: 30px;
}

#case #main .detail {
	width: 460px;
	margin-bottom: 3em;
}

#case #main .detail .lt {
	float: left;
}

#case #main .detail table {
	width: 210px;
	line-height: 2em;
	letter-spacing: 0.1em;
	font-size: 90%;
	border: 1px solid #ededed;
}

#case #main .detail .chiiki {
	margin-right: 30px;
	margin-bottom: 30px;
}

#case #main .sec table th {
	text-align: left;
	padding: 0.1em 0.5em;
	border: 1px solid #ededed;
	font-weight: normal;
	word-break: break-all;
}

#case #main .sec table td {
	text-align: right;
	padding: 0.1em 0.5em;
	border: 1px solid #ededed;
}

#case #main .sec table caption {
	text-align: left;
	caption-side: left;
	padding: 0.1em 0 0.1em 0.5em;
	color: #fff;
}

#case #main .sec_zenkoku table caption {
	background: #1d56c3;
}

#case #main .sec_kanto table caption {
	background: #47416a;
}

#case #main .sec_hokkaido table caption {
	background: #796e29;
}

#case #main .sec_tohoku table caption {
	background: #81832c;
}

#case #main .sec_chubu table caption {
	background: #007083;
}

#case #main .sec_kansai table caption {
	background: #4b894e;
}

#case #main .sec_chugoku table caption {
	background: #796e29;
}

#case #main .sec_sikoku table caption {
	background: #b05150;
}

#case #main .sec_kyushu table caption {
	background: #81832c;
}

#case #main .sec_okinawa table caption {
	background: #47416a;
}

#case #main .sec01 {
	position: relative;
}

#case #main .sec01 #working {
	position: absolute;
	top: 0;
	left: 0;
}

#case #main #index .sec01 {
	padding-top: 2em;
}

#case #main #index .sec01 li {
	/* 全てのボックスに共通部分を適用 */
	width: 100%;
	padding-right: 14px;
	/* ガーター */
	padding-left: 14px;
	/* ガーター */
	float: left;
	-webkit-box-sizing: border-box;
	/* 追加 */
	/* 追加 */
	box-sizing: border-box;
	/* 追加 */
	margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
	/*768px 以上の画面幅て適用する CSS*/

	#case #main #index .sec01 li {
		width: 50%;
		/* 2カラム */
	}
}

@media screen and (min-width: 1024px) {
	/*1024px 以上の画面幅て適用する CSS*/

	#case #main #index .sec01 li {
		width: 33.33333%;
		/* 3カラム  */
	}
}

#case #main #index .sec01 .case_number {
	font-size: 2em;
	line-height: 2em;
	color: #0a2ea3;
	font-weight: bold;
	font-family: "Arial Black", Gadget, sans-serif;
	vertical-align: text-bottom;
	display: block;
	letter-spacing: -0.05em;
	padding: 0;
	margin: 0;
}

#case #main #index .sec01 .case_number img {
	margin-right: 0.3em;
	margin-bottom: 0.2em;
}

#case #main #index .sec01 h3 {
	font-size: 1em;
	vertical-align: middle;
	display: block;
}

#case #main #index .sec01 h3 a {
	color: #0a2ea3;
	font-size: 1.2em;
	letter-spacing: 0.01em;
}

#case #main #index .sec01 h3 img {
	margin-left: 0.3em;
	margin-bottom: 0.5em;
}

#case #main #index .sec02 {
	display: none;
}

#ui-lightbox-bottombar {
	-webkit-box-sizing: content-box !important;
	-o-box-sizing: content-box !important;
	-ms-box-sizing: content-box !important;
	box-sizing: content-box !important;
}

/* ===========================================================
6. contact.html
=========================================================== */
#contact .sec01 > p:nth-of-type(1) > span {
	display: inline-block;
}

#contact .sec01 dl {
	background-repeat: no-repeat;
	background-position: 2em 1.5em;
	background-size: 10% auto;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-bottom: 3em;
	padding: 1.5em 2em 1.5em 18%;
}

#contact .sec01 #contact_tel {
	background-image: url(../images/contact/ico_tel.png);
	background-color: #fdfdfd;
	border: 1px solid #ededed;
	margin-top: 3em;
}

#contact .sec01 #contact_fax {
	background-image: url(../images/contact/ico_fax.png);
	background-color: #fdfdfd;
	border: 1px solid #ededed;
}

#contact .sec01 #contact_mail {
	background-color: #fdfdfd;
	background-image: url(../images/contact/ico_mail.png);
	border: 1px solid #ededed;
	margin-bottom: 0.5em;
}

#contact .sec01 #contact_form {
	background-image: url(../images/contact/ico_pc.png);
	margin-bottom: 0;
}

#contact .sec01 dl dt span {
	color: #1d56c3;
	font-size: 260%;
	font-weight: bold;
	letter-spacing: 0.2em;
	margin-bottom: 1em;
}

#contact .sec01 h4 {
	color: #1d56c3;
	font-size: 150%;
	font-weight: bold;
	line-height: 1.5em;
}

#contact .sec01 #comment0 {
	font-size: 85%;
	line-height: 1.7;
	margin-left: 18%;
}

#contact .sec02 .formlist {
	background-color: #fdfdfd;
	border: 1px solid #ededed;
	padding: 1.5em 2em;
}

#contact .sec02 dl {
	display: table;
	padding-bottom: 0.8em;
	width: 100%;
}

#contact .sec02 dt {
	display: table-cell;
	vertical-align: top;
	width: 12em;
}

#contact .sec02 dd {
	display: table-cell;
	width: calc(100% - 12em);
	text-align: left;
}

#contact .sec02 textarea {
	margin: 0.5em auto 0 auto;
	line-height: 1;
}

#contact #mfp_buttons,
#contact .c-button__area {
	text-align: center;
	width: 100%;
	margin-top: 3em;
}

#contact #mfp_buttons button,
#contact .c-button__area input,
#contact .c-button__area button {
	background-color: #1d56c3;
	color: #fff;
	padding: 0.5em;
	width: 100px;
	height: 40px;
	border: none;
	margin: 0 2em;
}

#contact form input[type="text"],
#contact form textarea,
#contact form input[type="email"] {
	padding: 0.5em;
	display: block;
	background-color: #f4f4f4;
	border: 0;
	border: solid 1px #ccc;
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
	color: #505050;
	width: 100%;
}

#contact form .txtarea {
	width: 100%;
	line-height: 1.5em;
}

/* confirm */
#contact .p-confirm__content {
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
#contact .p-confirm__content > div {
	border-bottom: 1px solid #ccc;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	height: auto;
	width: 100%;
}

#contact .p-confirm__content > div:last-of-type {
	padding: 0 !important;
}

#contact .p-confirm__content > div > label {
	background: #1d56c3;
	border: 1px solid #1d56c3;
	color: #fff;
	font-weight: 900;
	line-height: 1.8;
	padding: 1em;
	width: 13em;
}

#contact .p-confirm__content > div > p {
	display: block;
	padding-left: 2em;
	text-align: left;
	width: calc(100% - 13em);
}

@media screen and (min-width: 767px) {
	#contact .sec01 dl {
		padding-left: 23%;
		background-size: calc(13% + 2 * (100vw - 767px) / 233) auto;
	}
	/* confirm */
	#contact .p-confirm__content > div {
		background-size: calc(13% + 2 * (100vw - 767px) / 233) auto;
	}
}

@media screen and (min-width: 1000px) {
	#contact .sec01 dl {
		background-size: 100px auto;
	}

	#contact .sec01 #contact_tel a span,
	#contact .sec01 #contact_fax span,
	#contact .sec01 #contact_mail a span {
		font-size: 53px;
	}

	#contact .sec01 #contact_mail a span {
		letter-spacing: 0.1em;
	}

	#contact .sec01 #comment0 {
		margin-left: 160px;
	}

	dl#contact_form {
		margin-top: 50px;
	}

	#contact .p-confirm__content > div {
		background-size: 100px auto;
	}
}

@media all and (max-width: 809px) {
	#contact > h2 {
		display: none;
	}

	#contact .formlistbottom p {
		font-size: 10px;
	}
}

@media only screen and (max-width: 599px) {
	#contact .sec01 dl {
		letter-spacing: inherit;
		padding-left: 1em;
		margin-bottom: 2em;
	}

	#contact .sec01 #contact_tel {
		background-image: none;
		margin-top: 1em;
	}

	#contact .sec01 #contact_fax {
		background-image: none;
	}

	#contact .sec01 #contact_mail {
		background-image: none;
	}

	#contact .sec01 #comment0 {
		margin-left: 0;
		padding-left: 1.5em;
		padding-right: 1.5em;
	}

	#contact .sec01 #contact_form {
		background-image: none;
	}

	#contact .sec01 dl dt span {
		font-size: 200%;
		font-weight: inherit;
	}

	#contact .sec01 h4 {
		font-size: 110%;
		line-height: 1.2em;
		margin-bottom: 0.5em;
	}

	#contact .sec02 .formlist {
		padding: 0.5em 1em;
	}

	#contact .sec02 dl {
		display: inherit;
	}

	#contact .sec02 dt {
		display: inherit;
		margin-bottom: 1em;
		width: 100%;
	}

	#contact .sec02 dd {
		display: inherit;
		width: 100%;
	}

	#contact .sec02 #comment1 {
		line-height: 1.5;
	}

	#contact .sec02 #comment2 {
		line-height: 1.5;
	}

	#contact #mfp_buttons {
		margin-top: 2em;
	}

	#contact #mfp_buttons button,
	#contact .c-button__area input,
	#contact .c-button__area button {
		width: 30%;
		height: 30px;
		margin: 0 1em 1em;
	}

	/* confirm */
	#contact .p-confirm__ttl {
		font-size: 17px;
	}
	#contact .p-confirm__content > div > label {
		display: inherit;
		margin-bottom: 1em;
		width: 100%;
	}
	#contact .p-confirm__content > div > p {
		display: inherit;
		width: 100%;
	}

	#contact .p-confirm__content > div > p {
		padding-right: 1em;
		padding-left: 1em;
	}
}

/* ===========================================================
7. maintenance.html
=========================================================== */
#maintenance #main .sec {
	margin-bottom: 3em;
}

#maintenance #main .sec02 {
	background: url(../images/maintenance/bg_maintenance_.png) repeat-y top left;
	padding: 2em;
}

#maintenance #main .sec02 h4 {
	font-size: 130%;
	line-height: 2em;
	color: #1d56c3;
	width: 100%;
	font-weight: bold;
	margin-bottom: 1em;
}

#maintenance #main .sec02 ul {
	margin-bottom: 1em;
}

#maintenance #main .sec02 li {
	line-height: 2em;
	letter-spacing: 0.1em;
}

#maintenance .sec03 h4 {
	font-size: 110%;
	line-height: 2em;
	color: #1d56c3;
}

#maintenance .sec03 .column {
	display: table;
}

#maintenance .sec03 p {
	display: table-cell;
	width: 32%;
}

#maintenance .sec03 p img {
	margin-bottom: 1em;
}

#maintenance .sec03 p.one-col,
#maintenance .sec03 p.two-col {
	margin-right: 2%;
}

@media only screen and (max-width: 460px) {
	#maintenance #main .sec02 {
		background: url(../images/maintenance/bg_maintenance.png) repeat-y top left;
		height: inherit;
	}

	#maintenance .sec03 p {
		display: block;
		width: 100%;
	}
}

/* ===========================================================
8. privacy.html
=========================================================== */
#privacy #main h4 {
	font-size: 130%;
	line-height: 1em;
	color: #1d56c3;
	width: 100%;
	font-weight: bold;
}

#privacy #main p {
	margin-bottom: 30px;
}

/* ===========================================================
9. sitemap.html
=========================================================== */

#main #sitemap h2 span {
	display: block;
}

#sitemap #main ul.sm > li {
	background: url(../images/boxarrow_w.png) no-repeat 1em 1em;
	line-height: 3em;
	padding: 0;
	background-color: #ededed;
	text-indent: 3em;
	margin-bottom: 1em;
}

#sitemap #main ul.sm2 {
	display: block;
	background-color: #fff;
	margin: 0;
	padding: 0;
}

#sitemap #main ul.sm2 li {
	background: url(../images/boxarrow_w.png) no-repeat 3em 1em;
	line-height: 2em;
	padding: 0.5em 0 0.5em 2em;
	background-color: #fff;
}

#sitemap #main h4 {
	font-size: 130%;
	line-height: 1em;
	color: #1d56c3;
	width: 100%;
	font-weight: bold;
}

#sitemap #main p {
	margin-bottom: 30px;
}

/* ===========================================================
10. link.html
=========================================================== */
#link #main h4 {
	font-size: 110%;
	line-height: 1em;
	color: #1d56c3;
	width: 100%;
	font-weight: bold;
}

#link #main p {
	margin-bottom: 30px;
	line-height: 1;
}

#link #main .photo {
	float: left;
	margin: 0;
	margin-right: 2em;
}

/* ===========================================================
11. common style
=========================================================== */

/* #page-menu*/

#page-menu {
	width: 100%;
}

#page-menu ul {
	font-size: 0;
}

#page-menu ul li {
	font-size: 13px;
	width: 25%;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	border-left: 1px solid #fff;
}

#case #page-menu ul li {
	width: 50%;
}

#page-menu li a {
	color: #fff;
	display: block;
	padding: 10px 5px;
	background-color: #1d56c3;
}

#page-menu li a:hover {
	background-color: #1d56c3;
	padding: 10px 5px;
	color: #fff;
	border-bottom: #fff;
}

#page-menu li.on a {
	background-color: #0a2ea3;
}

.items span,
.items span {
	color: #194aa8;
	padding-right: 0.2em;
}

.tate-cho {
	display: block;
	-webkit-transform: matrix(0, 1, 1, 0, 0, 0);
	transform: matrix(0, 1, 1, 0, 0, 0);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1, mirror=1);
}

@media only screen and (max-width: 810px) {
	.tate-cho {
		display: inline;
		-webkit-transform: inherit;
		transform: inherit;
		-webkit-filter: inherit;
		filter: inherit;
	}
}

@media only screen and (max-width: 460px) {
	.tate-cho {
		display: inline;
		-webkit-transform: inherit;
		transform: inherit;
		-webkit-filter: inherit;
		filter: inherit;
	}
}

#product #relax h2,
#privacy #main h2 {
	width: 1.05em;
	line-height: 1.05em;
	padding: 0;
	margin-left: 1em;
}

@media only screen and (max-width: 810px) {
	#product #relax h2,
	#privacy #main h2 {
		width: inherit;
		line-height: inherit;
		padding: inherit;
		margin-left: inherit;
	}
}

@media only screen and (max-width: 460px) {
	#product #relax h2 {
		width: inherit;
		line-height: inherit;
		padding: inherit;
		margin-left: inherit;
	}
}
