/* CSS Document */

/* M+ 1C :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

@font-face
{
font-family: mplus-1c-thin;
src: url(/assets/fonts/mplus-1c-thin.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-light;
src: url(/assets/fonts/mplus-1c-light.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-regular;
src: url(/assets/fonts/mplus-1c-regular.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-medium;
src: url(/assets/fonts/mplus-1c-medium.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-bold;
src: url(/assets/fonts/mplus-1c-bold.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-heavy;
src: url(/assets/fonts/mplus-1c-heavy.ttf)
     format("truetype");
}

@font-face
{
font-family: mplus-1c-black;
src: url(/assets/fonts/mplus-1c-black.ttf)
     format("truetype");
}

/* tsef icon */

@font-face {
	font-family: 'tseficon';
	src:url(fonts/tseficon.eot?-4aa4j6);
	src:url(fonts/tseficon.eot?#iefix-4aa4j6) format('embedded-opentype'),
		url(fonts/tseficon.woff?-4aa4j6) format('woff'),
		url(fonts/tseficon.ttf?-4aa4j6) format('truetype'),
		url(fonts/tseficon.svg?-4aa4j6#tseficon) format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'tseficon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-rooms:before {
	content: "\e600";
}
.icon-price:before {
	content: "\e603";
}
.icon-house:before {
	content: "\e602";
}
.icon-office:before {
	content: "\e601";
}
.icon-image:before {
	content: "\e604";
}
.icon-music:before {
	content: "\e605";
}
.icon-film:before {
	content: "\e606";
}
.icon-file:before {
	content: "\e607";
}
.icon-clock:before {
	content: "\e608";
}
.icon-googleplus:before {
	content: "\e609";
}
.icon-facebook:before {
	content: "\e60a";
}
.icon-twitter:before {
	content: "\e60b";
}
.icon-file-pdf:before {
	content: "\e60c";
}
.icon-file-word:before {
	content: "\e60d";
}
.icon-file-excel:before {
	content: "\e60e";
}
.icon-file-zip:before {
	content: "\e60f";
}
.icon-file-powerpoint:before {
	content: "\e610";
}
.icon-export:before {
	content: "\e611";
}
.icon-popup:before {
	content: "\e612";
}


/* Define mobile styles */

html,body {
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	-webkit-text-size-adjust: none;
}

body {
	height:100%;
	width:100%;
}

#fullheightcontainer {
	height:auto;
	min-height:100%;
	position:relative;
	overflow:hidden;
}

.nowrap {white-space:nowrap;}

#content a:hover{
	text-decoration:underline;
}

/* header */
header {
	border-top:5px solid #6c94d0;
	background-color:#3e67b7;
	height:auto;
	overflow:hidden;
}

#logo {
	margin:10px 0;
	width:160px;
	height:35px;
	overflow:hidden;
	background:url(/assets/templates/company/logo_small@x1.png) no-repeat;
	background-size:160px 35px;
}

#logo a {
	display:block;
	height:35px;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

#submenu {
	position:absolute;
	display:block;
	top:0;
	bottom:0;
	right:0;
	overflow:visible;
	width:86px;
}

#submenu a.button {
	position:absolute;
	display:block;
	width:70px;
	height:25px;
	margin:0;
	padding:8px;
	box-sizing:content-box;
 	background:url(/assets/templates/company/sprite@x1.png) no-repeat -67px 8px;
	text-indent:300%;
	white-space:nowrap;
	top:8px;
	right:8px;
}

#drop1 {
	z-index:999px;
}
#drop1 li{
	font-size:1.25em;
}
#drop1 li a{
	padding:1em;
}

.bottom-align-left.open::before {display:none !important;}
.bottom-align-left.open::after {display:none !important;}

#headmenu {
	background-color:#fff;
	height:40px;
}
#headmenu ul {
	margin:0;
	height:40px
}
#headmenu ul li{
	height:40px;
	list-style:none;
	font-size:.8em;
	line-height:1;
}

#headmenu ul li a{
	display:block;
	padding: 15px 0 0 1em;
	height:40px;
	overflow:hidden;
	text-shadow: 1px 1px 1px rgba(128,128,128,0.6);
	font-size:1.25em;
}

#headmenu .mailicon {
	float:left;
	width:16px;
	height:12px;
	margin-left:10%;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
	margin-right:.5em;
 	background:url(/assets/templates/company/sprite@x1.png) no-repeat -42px 0;
	vertical-align:top;
}

#contact {
	background-color:#fff;
	text-align:center;
	line-height:1.1;
	height:40px;
}

#contact .tel{
	color:#e46189;
	font-size:2.6em;
	font-style:normal;
	font-family:lato;
	margin:0;
}

#contact .opentime{
	font-size:62.5%;
	font-style:normal;
	white-space:nowrap;
}

#keyvisual {
	width:100%;
	max-width:1200px;
	height:185px;
	margin:0 auto;
}

#keyvisual .swiper-slide{
	width:100%;
	height:185px;
	background-position:center;
	background-size: cover;
	background-repeat:no-repeat;
	position:relative;
}

#keyvisual .copy{
	width:100%;
	height:auto;
	background-color:#fff;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:auto 0 0 0;
	filter: alpha(opacity=80);
	-moz-opacity:.8;
	opacity:.8;
	text-align:center;
	padding:.5em;
	font-size:1.5em;
	line-height:1.4;
}

#townews_wrapper {
	width:100%;
	max-width:1200px;
	height:auto;
	margin:0 auto .625em auto;
	background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAACAQMAAAByorfhAAAAA3NCSVQICAjb4U/gAAAABlBMVEVslNDp6eko2rfxAAAACXBIWXMAAAsSAAALEgHS3X78AAAAFnRFWHRDcmVhdGlvbiBUaW1lADA4LzE1LzE0OfqF3QAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAVSURBVBiVY2BAB/z/BwHAcNXgcBYA/6wHJoAAu4cAAAAASUVORK5CYII=);
	background-repeat:repeat-y;
	background-position:0 0;
}

#topnews h3 {
	background-color:#6c94d0;
	color:#fff;
	text-align:center;
	font-size:1.5em;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	padding:.125em 0;
	margin:0;

}

#topnews .newsList {
	background-color:#e9e9e9;
	font-size:1em;
	padding:.5em .5em .5em 2em;
	margin:0;
}
#topnews .newsblock{
	list-style:none;
	display: block;
    overflow:hidden;
}
#topnews .newsblock:before {
	content:"☞";
	color:#3e67b7;
	display: block;
    float: left;
    margin-left: -1.5em;
    width: 1.5em;
    text-align: center;
}

#topnews .newsblock .newstitle {
	color:#222;
	text-shadow: 1px 1px 1px rgba(128,128,128,0.3);
}
#topnews .newsblock .description {
	color:#444;
}
#topnews .newsblock .image{
    float:right;
    width:33%;
    height:auto;
    padding-left:2%;
    padding-bottom:2%;
}
#address {
	overflow:hidden;
	height:auto;
}

#address table{
	margin:0 auto;
	width:100%;
	height:auto;
	border:none;
}
#address table td{
	padding:0;
	border:none;
}
#address h3{
	background-color:#6c94d0;
	color:#fff;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	text-align:center;
	font-size:1.5em;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	padding:.25em 0;
	margin:0;
}
#address address {
	font-style:normal;
	color:#333;
	padding:1em;
	background-color:#cfdef4;
}
#address address a {
	color:#333;
}
#googlemap {
	position:relative;
	width:100%;
	height: 100%;
	overflow: hidden;
	background-color:#cfdef4;
}
#googlemap iframe {
	width:100%;
}
#googlemap label { width: auto; display: inline; }
#googlemap img { max-width: none; max-height: none; }
#googlemap .gm-style-iw {white-space:nowrap;}


#topblock .topmenu{
	height:80px;
	overflow:hidden;
	margin-bottom:.625em;
}
#topblock .topmenu a{
	display:table;
	width:100%;
	height:80px;
	color:#333;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-ms-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}
#topblock .topmenu a:hover{
	background-color:rgba(255,255,255, .3);	
}
#topblock .topmenu .columns {
	display:table-cell;
	float:none;
	overflow:hidden;
	height:100%;
}
#topblock div.description {
	background-color:rgba(255,255,255, .3);
	color:#333;
	font-size:1.375em;
	padding:1em .75em;
	line-height:1.6;
	display:table-cell;
	vertical-align:middle;
	width:66.6666%
}
#topblock div.description span{
	color:#fff;
	font-family:lato;
	display:block;
	text-align:right;
	position:absolute;
	right:.75em;
	bottom:0;
}
#topblock .topmenu h2 {
	width:100%;
	height:80px;
	font-size:200%;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	margin: 0;
	line-height: 1.1;
	text-align:center;
	color:#fff;
}
#topblock .topmenu h2 span.icon{
	width:16px;
	height:16px;
	display:inline-block;
	background-repeat:no-repeat;
	background-size: contain;
	background-position:center;
	margin:8px auto 4px auto;
}

#topblock .topmenu h2 .sub {
	white-space:nowrap;
	font-size:.5em;
	font-style:normal;
	font-family:lato;
}
div.mainnav_wrap {
	width:100%;
	height:auto;
}

div.mainnav_wrap nav {
	height:auto;
	background-color:#fff;
}

ul.mainnav {
	height:auto;
	overflow: visible;
	margin:0;
}
ul.mainnav li {
	overflow:hidden;
	height:40px;
}
ul.mainnav li h2{
	font-size:100%;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	margin: 0;
	line-height: 2;
}
ul.mainnav li a {
	border-top:5px solid #ccc;
	display:block;
	height:40px;
	padding:5px .25em 0 .25em;
	color:#333;
	white-space: nowrap;
	font-size:1.25em;
	line-height:2;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-ms-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}
ul.mainnav > li.active a,
ul.mainnav > li a:hover {
	background-color: rgba(255,255,255, .7);
}

ul.mainnav li a .sub{
	font-family: Lato;
	font-weight:300;
	font-size:.75em;
	padding-left:.5em;
	vertical-align:middle;
	color:#666;
}

.clearfooter {
	height:8em;
	width:100%;
}

footer {
	width:100%;
	height:auto;
	overflow:hidden;
	padding:0 0 1em 0;
	text-align:center;
	background-color:#333;
	margin-top:1.5em;
	color:#fff;
	font-size:87.5%;
	font-family:lato;
	position:absolute;
	bottom:0;
}

.footermenu ul {
	margin:0;
	text-align:center;
	list-style:none;
}
.footermenu ul li{
	display:inline-block;
}
.footermenu ul li a{
	color:#f0f0f0;
	display:block;
	padding:1em 1em;
	height:100%;
	width:100%;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-ms-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}
.footermenu ul li a:hover{
	background-color: rgba(255,255,255, .3);
}

#pagetop {
	width:40px;
	height:40px;
	background:url(/assets/templates/company/sprite@x1.png) no-repeat 0 0;
	position:fixed;
	z-index:9999;
	-ms-filter: "alpha(opacity=80)";
	filter: alpha(opacity=80);
	-moz-opacity:0.80;
	opacity:0.80;
	right:10px;
	bottom:10px;
	display:none;
	white-space:nowrap;
	text-indent: 101%;
	overflow: hidden;
	-webkit-transition: bottom 0.2s;
	-moz-transition: bottom 0.2s;
	-ms-transition: bottom 0.2s;
	-o-transition: bottom 0.2s;
	transition: bottom 0.2s;
}

#pagetop:hover {
	cursor:pointer;
	filter: alpha(opacity=100);
	-moz-opacity:1;
	opacity:1;
}


h2.title {
	color:#fff;
	padding:.5em;
	font-size:1.625em;
	text-align:center;
	margin:0 0 1em 0;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;

}
h2.title br {
	display: none;
}

#content *{
	word-wrap: break-word;
	line-break: strict;
}

#content h3 {
	margin:0 0 .75em 0;
	border-top:10px solid;
	border-bottom:solid 1px;
	padding:.25em .5em .2em .5em;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size:1.5em;
	color:#333;
	clear:both;
	display:block;
	overflow:hidden;
}
#content h4 {
	margin:.5em 0;
	border-left:10px solid;
	padding:.25em .5em .2em .5em;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size:1.25em;
	color:#333;
	display:block;
	overflow:hidden;
}
#content h5 {
	margin:.5em 0;
	padding:.2em .5em .15em .5em;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size:1.125em;
	color:#000;
	border-left:10px solid;
	background-color: transparent !important;
	display:block;
	overflow:hidden;
}
#content h6 {
	margin:.5em 0;
	padding:.2em .5em .15em .5em;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size:1em;
	color:#000;
	border-left:10px solid;
	border-color:#999 !important;
	background-color: transparent !important;
	display:block;
	overflow:hidden;
}

#content p {
	padding:0 .5em;
	line-height:1.8;
}

#content blockquote {
	border:1px solid #ccc;
	background-color:#f3f3f3;
	color:#000;
	overflow:hidden;
	clear:both;
}
#content blockquote p{
	color:#000;
}
#content blockquote ul,
#content blockquote ol {
	margin-bottom:.5em;
}

#content ol {
    counter-reset: li;
    list-style: none;
	overflow:hidden;
	padding-left:.5em;
	padding-right:.25em;
}

#content ol li{
	padding-left:1em;
	text-indent:-1.5em;
	float:left;
	display:block;
	clear:both;
}

#content ol li:before {
    font-weight: bold;
    counter-increment: li;
    content: counter(li) ". ";
	margin-right:.15em;
}

#content ul {
    counter-reset: li;
    list-style: none;
	overflow:hidden;
	padding-left:0;
	padding-right:.25em;
	margin-left:0;
}

#content ul li{
	padding-left:1.6em;
	text-indent:-1em;
	float:left;
	display:block;
	clear:both;
}

#content ul li:before {
    font-weight: 700;
    counter-increment: li;
    content: "\2713 ";
	margin-right:.1em;
}
#content .toctxt {
	padding-left:0;
	width:auto;
	margin-bottom:.5em;
	text-indent:0;
	font-size:87.5%;
	color:#333;
}

#content table {
	margin:0 auto 1.75rem auto;
	clear:both;
}
#content table thead td {
	border-bottom:1px solid #f0f0f0;
	border-right:1px solid #f0f0f0;
	background-color:transparent;
}
#content table thead th {
	border:1px solid #f0f0f0;
	background-color:#ccc;
}

#content table tbody td {
	border:1px solid #f0f0f0;
}
#content table tbody th {
	border:1px solid #f0f0f0;
}
#content table th p,
#content table td p,
#content table td ul, 
#content table td ol {
	margin:0;
	padding:0;
}
#content table.hiddenTbl,
#content table.hiddenTbl * {
    border:none;
    background-color:transparent;
}

#content .errors {
	background-color:#fcc;
	padding:1em;
	line-height:1.6;
	margin-bottom:2em;
}
#content .Must {color:red;}

.photoleft{
	float:left;
	padding:0 1.5em 1em .25em;
	background-color:#fff;
	line-height:1.1;
}

.photoright{
	float:right;
	padding:0 .25em 1em 1.5em;
	background-color:#fff;
}
.photocenter{
	padding:0 .15em 1em .15em;
	margin:0 auto;
	background-color:#fff;
	text-align:center;
}

a.lightboximg {
	display:block;
	width:auto;
	overflow:hidden;
}
a.lightboximg:hover {
	filter: alpha(opacity=70);
	-moz-opacity:.7;
	opacity:.7;
}

.justifycenter {text-align:center;}
.justifyleft {text-align:left;}
.justifyright {text-align:right;}
#content .clear {clear:both;}

#content form .rowElem {
	margin-bottom:1em;
	width:100%;
	overflow:hidden;
}
#content form .required,
#content form .invalid {
	background-color:#fcc !important;
}

#content label.required,
#content label.invalid {
	color:#f00;
	font-weight:bold;
	background-color:transparent !important;
}
#content fieldset legend {
	font-weight:normal;
	color: #4d4d4d;
    font-size: 0.875rem;
}

/* file detail */
.filedetail {
	color:#444;
	white-space:nowrap;
}
.fileIcon {
	padding-right:.2em;
	color:#5e91cf;
}
.icon-export,
.icon-popup {
	padding-left:.25em;
}
.filedetail .filetype{
	display:inline-block;
	overflow:hidden;
	width:0;
	height:0;
}

#insurance_products {
	margin-bottom:1em;
}

#insurance_products > .product a{
	display:block;
	height:96%;
	padding:2% 0;
	overflow:hidden;
	color:#222;
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	-ms-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

#insurance_products > .product a:hover{
	background-color:rgba(255,255,255,.4);
    text-decoration: none;
}
#insurance_products > .product a > span.filedetail {display: none;}
#insurance_products > .product {
	margin-bottom:1em;
	overflow:hidden;
}
#insurance_products .product_wrapper{
	height:100%;
	border-radius: 2%;
    -webkit-border-radius:2%;
    -moz-border-radius: 2%;
}
#insurance_products .product_wrapper.landscape{
    border:3px solid #ccc;
}
#insurance_products > .product h4{
	border:none;
	background-color: transparent;
	margin:0;
	margin-bottom:.25em;
	font-size:1.25em;
	text-shadow: 1px 1px 1px rgba(128,128,128,0.5);
}

#insurance_products > .product .logo_wrapper {
	padding:0 2%;
}

#insurance_products > .product .logo {
	height:0;
	padding-bottom:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}
#insurance_products > .product > .landscape .logo {
    width:100%;
	height:0;
    padding-bottom:32.4%;
}
#insurance_products > .product .description {
	font-size:1.125em;
	padding-right:.5em;
}
#insurance_products > .product > .landscape .description {
	font-size:1.125em;
	padding:.5em;
}

#tmn_wrapper {
	overflow:hidden;
	width:100%;
	height:auto;
	margin-bottom:1em;
}
#tmn_wrapper > iframe{
	border:none;
	overflow:hidden;

}
#insurance_products > .product > .landscape .filedetail {
    display:none;
}
@media only screen and (max-width: 40em) {
	html,
	address,
	#keyvisual,
	#topblock>div  {font-size:75%;} 
	#townews_wrapper {background:none;}
	#address address {font-size:100%;}
	.photoleft,
	.photoright {
		width:auto;
		height:45%;
	}
	header {overflow:visible;}
	#content table {width:100%;}
	#content table * tr th {word-break:break-all}
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

@media only screen and (min-width: 40.063em) {
	header {
		height:112px;
		border-top-width:10px;
	}
	#logo {
		margin: 30px 0 0 0;
		width: 342px;
		height: 48px;
		overflow: hidden;
		background: url(/assets/templates/company/logo_large.png) no-repeat;
		background-size:auto;
	}
	#logo a {
		height: 48px;
	}
	#headmenu {
		background:none;
		width:50%;
		height:30px;
		margin:0 0 0 50%;
		white-space:nowrap;
		text-align:center;
	}
	#headmenu ul {
		height:30px;
		overflow:hidden;
	}
	#headmenu ul li {
		display:inline-block !important;
		font-size:.5625em;
		vertical-align:top;
		width:40%;
		height:auto;
	}
	#headmenu ul li.hide-for-small {
		width:60%;
	}
	#headmenu ul li a {
		color:#fff;
		padding:10px 0;
		height:auto;
		white-space:nowrap;
		-webkit-transition: background-color 0.3s;
		-moz-transition: background-color 0.3s;
		-ms-transition: background-color 0.3s;
		-o-transition: background-color 0.3s;
		transition: background-color 0.3s;
	}
	#headmenu ul li a.inquiry {
		
	}
	#headmenu ul li a:hover {
		background-color:rgba(255,255,255, .3);	
	}
	#contact {
		width:50%;
		height:60px;
		margin:0 0 0 50%;
		display:table;
	}
	#contact address{
		display:table-cell;
		vertical-align:middle;
	}
	#contact .tel {
		font-size:1.75em;
	}
	#contact .opentime {
		font-size:0.75em;
	}
	div.mainnav_wrap {
		width:100%;
		height:80px;
		border-top:10px solid #e9e9e9;
	}
	div.mainnav_wrap nav {
		margin-top:-10px;
		height:auto;
		border-top:10px solid #ccc;
		background-color:#fff;
	}
	ul.mainnav {
		margin-top:-10px;
		position: relative;
	}
	ul.mainnav > li {
		overflow:visible;
		height:auto;
		position: static;
	}
	ul.mainnav li > a {
		border-top:10px solid #ccc;
		display:block;
		padding:3px .5em 0 .5em;
		height:50px;
		font-size:1.25em;
		line-height:2;
	}
	ul.mainnav li a .sub{font-size:0.625em;}
	ul.mainnav li ul{
		visibility:hidden;
		width:100%;
		height:30px;
		margin:0;
		overflow:hidden;
		border:none;
		position:absolute;
		left:0;
		z-index:999;
		white-space:nowrap;
	}
	ul.mainnav li.active ul{
		visibility:visible;
	}
	ul.mainnav li ul li{
		width:auto;
		height:30px;
		display:inline-block;
	}
	ul.mainnav li ul li a{
		border:none;
		font-size:.85em;
		background-color:transparent !important;
		height:30px;
		padding:.25em .75em 0 .75em;
		-webkit-transition: background-color 0.3s;
		-moz-transition: background-color 0.3s;
		-ms-transition: background-color 0.3s;
		-o-transition: background-color 0.3s;
		transition: background-color 0.3s;
		text-align:left;
	}
	ul.mainnav li ul li.active a,
	ul.mainnav li ul li a:hover{
		background-color:rgba(255,255,255, .7) !important;
	}
	#keyvisual {
		height:370px;
	}
	
	#keyvisual .swiper-slide{
		width:100%;
		height:370px;
		background-size:cover;
	}

	#keyvisual .copy{
		width:auto;
		height:auto;
		background:none;
		position:absolute;
		top:40%;
		margin:auto;
		filter: alpha(opacity=100);
		-moz-opacity:1;
		opacity:1;
		text-align:center;
		padding:.5em;
		font-size:1.5em;
		line-height:1.6;

		color:#000;
		text-shadow: -1px -1px 0 rgba(255, 255, 255, 0.9),
					  1px -1px 0 rgba(255, 255, 255, 0.9),
					  1px 1px 0 rgba(255, 255, 255, 0.9),
                     -1px 1px 0 rgba(255, 255, 255, 0.9),
                      0px 0px .5em rgba(255, 255, 255, 0.9),
                      0px 0px .25em rgba(255, 255, 255, 0.9);
	}
	
	#topnews h3 {
		font-size:1.25em;
		white-space:nowrap;
		display:table;
	}
	#topnews h3 span {
		float:none;
		display:table-cell;
		width:100%;
		vertical-align:middle;
	}

	#topblock .topmenu {
		max-width:32%;
		margin-right:1.333333%;
	}
	#topblock .topmenu h2 {
		height:130px;
		line-height:1;
	}
	#topblock .topmenu h2 span.icon {
		width: 32px;
		height: 32px;
		margin: 24px auto 16px auto;
	}
	#topblock .topmenu h2 .sub {
		height:40px;
	}
	#topblock .topmenu a{
		height:100%;
	}
	#topblock .topmenu .columns {
		display:block;
		float:left;
		height:auto;
	}
	#topblock .topmenu .columns.header {
		font-family: mplus-1c-light;
		font-size:87.5%;
		position:absolute;
		top:0;
		bottom:160px;
	}
	#topblock .topmenu .columns.description {
		width:inherit;
		font-size:87.5%;
		position:absolute;
		top:160px;
		bottom:60px;
	}
	#topblock div.info {
		top:270px;
		bottom:0;
		width:100%;
		height:60px;
		min-height:60px;
		max-height:60px;
		overflow:hidden;
		text-align:center;
		padding:1.5em 0 0 0;
		color:#fff;
		font-family:lato;
		line-height:1;
		white-space:nowrap;
	}
	#address {
		padding-left:10px;
		height:330px;
	}
	#address table{
		height:330px;
	}
	#address h3 {
		padding:.25em 0;
	}
	#address address{
		height:auto;
		padding:.75em .5em;
		font-size:.875em;
		line-height:1.4;
	}
	
	#googlemap iframe {
		height:100%;
	}
	footer {
		padding-top:1em;
	}
	
	h2.title {
		width:83.33333%;
		height:0;
		padding-top:8.33333%;
		padding-bottom:75%;
		margin-left:4.16667%;
		margin-right:12.5%;
		text-align:left;
	}
	h2.title br {
		display: inline;
	}
	#content table tbody th {
		text-align:right;
		white-space:nowrap;
	}
	
	#insurance_products > .product {
		padding:0 1%;
	}
	#insurance_products > .product h4{
		display: table;
		overflow:hidden;
		min-height:3em;
	}
	#insurance_products > .product h4 span{
		display: table-cell;
		vertical-align:middle;
	}
	#insurance_products > .product a{
		height:100%;
	}
	
	#insurance_products > .product .logo_wrapper{

	}
	#insurance_products > .product .logo{

	}
	#insurance_products > .product .description {
		font-size:.875em;
		padding:.25em .5em;
	}
	.clearfooter {
		height:7em;
		width:100%;
	}

} /* min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) and (max-width: 59.937em) {
	ul.mainnav li a .sub{font-size:0.5em;}
	#content blockquote {clear:none;}
} /* min-width 641px and max-width 959px, use when QAing tablet-only issues */
@media only screen and (min-width: 40.063em) and (max-width: 48em) {
	#keyvisual .copy {font-size:1.1875em;}
	#topnews h3 {font-size:1em;}
	h2.title {
		font-size:1.25em;
	}
	#headmenu {
		width:70%;
		margin:0 0 0 30%;
	}
	#contact {
		width:70%;
		margin:0 0 0 30%;
	}
	#logo {
		width:90%;
		background-size:contain;
	}
	#content table tr *{
		font-size:75%;
	}
	#content blockquote {clear:both;}
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 59.937em),
    only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 59.937em),
    only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 59.937em),
    only screen and (min-device-pixel-ratio: 1.5) and (max-width: 59.937em){
	#logo {
		background-image:url(logo_small@x2.png);
	}
	#headmenu .mailicon {
	 	background-image:url(/assets/templates/company/sprite@x2.png);
		background-size:146px 78px;
	}
	#pagetop {
		background-image:url(/assets/templates/company/sprite@x2.png);
		background-size:146px 78px;
	}

	#submenu a.button {
		background-image:url(/assets/templates/company/sprite@x2.png);
		background-size:146px 78px;
	}
}

@media only screen and (min-width: 60em) {
	html,body {font-size: 100%;}
	#content blockquote {clear:none;}
} /* min-width 960px, large screens */

@media print {
	.hide-for-small {display:none !important;}
	a,a:visited{text-decoration:none;}
	a[href]:after{content:""}
	abbr[title]:after{content:""}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after{content:""}
	thead{display:table-header-group}
	tr,img{page-break-inside:avoid}
	@page{margin:0.5cm}
	p,h2,h3{orphans:3;widows:3}
	h2,h3,h4{page-break-after:avoid}
	footer,pagetop,.mainnav_wrap,#submenu,#headmenu {display:none;}
	#keyvisual{height: 370px;}
	#contact {width:auto;height:auto;margin-top:-3.5em;float:right;font-size:1em;padding:.5em;}
	#contact .tel{ font-size:1.5em;color:#000;}
	#topblock {height:230px;}
	#topblock .columns{margin-bottom:1em;}
	#topnews h3 {
		background-color: #6c94d0;
		color: #fff;
		text-align: center;
		font-size: 1.5em;
		font-family: inherit;
		font-weight: inherit;
		font-style: inherit;
		padding: .125em 0;
		margin: 0;
		width:25%;
		position:relative;
	}
	#topnews h3 span {
		position:absolute;
		top:35%;
		right:0%;
		width:100%;
	}
	#topnews ul.newsList {width:75%;}
	#topblock .topmenu {max-width: 32%;margin-right:2%;position:relative}
	#topblock .topmenu.last {margin-right:0;}
	#topblock .topmenu a {
		display: table;
		width: 100%;
		height: 100%;
		color: #333;
	}
	#topblock .topmenu .columns.header {
		font-size: 87.5%;
		position:absolute;
		top: 0;
		bottom: 160px;
	}
	#topblock .topmenu .columns.description {
		width: inherit;
		font-size: 87.5%;
		position: absolute;
		top: 120px;
		bottom: 0;
		height:auto;
		margin-bottom:0;
	}
	#topblock div.info {
	top: 270px;
	bottom: 0;
	width: 100%;
	height: 60px;
	min-height: 60px;
	max-height: 60px;
	overflow: hidden;
	text-align: center;
	padding: 1.5em 0 0 0;
	color: #fff;
	font-family: lato;
	line-height: 1;
	white-space: nowrap;
	}
	.large-1 {width: 8.33333%;}
	.large-2 {width: 16.66667%;}
	.large-3 {width: 25%;}
	.large-4 {width: 33.33333%;}
	.large-5 {width: 41.66667%;}
	.large-6 {width: 50%;}
	.large-7 {width: 58.33333%;}
	.large-8 {width: 66.66667%;}
	.large-9 {width: 75%;}
	.large-10 {width: 83.33333%;}
	.large-11 {width: 91.66667%;}
	.large-12 {width: 100%;}
}