@charset "utf-8";
/*-----------------------------------------------------
@@ Reset
------------------------------------------------------*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
http://code.google.com/p/html5resetcss/downloads/list
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}
th,td{
	text-align: left;
	vertical-align: top;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}




article, aside, dialog, figure, footer, header,hgroup, menu, nav, section { display: block; }

img{border: 0; vertical-align: bottom;-ms-interpolation-mode: bicubic; }


/* For modern browsers */
.clearfix:before,.clearfix:after,.cf:before,.cf:after{
	content:"";
	display:table;
}
.clearfix:after,.cf:after{clear:both;}
.clearfix,.cf{zoom:1;}/* For IE 6/7 (trigger hasLayout) */

*{box-sizing: border-box;}

/*-----------------------------------------------------
@@ 基本
------------------------------------------------------*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}

a{text-decoration: underline; color: #3a84df;}
a:hover{color: #f58015;}

html{
	color: #333333;
	background: white;
	overflow-y: scroll;	/*ここでスクロールバーを常に表示*/
}
body{
	text-align: center;
	font-size: 16px;
	font-family: "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;

	/*font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
	/*font-family: 'Hiragino Mincho Pro', 'ヒラギノ明朝 Pro W3', "メイリオ", Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
	/*font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;*/
	font-weight:500;
	background-color: white;
	word-wrap: break-word;
	overflow-wrap : break-word;
}
/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif;
  }
}

@media all and (-ms-high-contrast:none){
	/* IE10以降ハック*/
	/*body{font-family: "メイリオ", "Meiryo", sans-serif;}*/
}

/*  #boxが#box-innerを囲む。 -------------------------------*/
/*  #box-innerは#header,#main,#footerを含む ----------------*/
#box{
	width: 1000px;	/* #box-innerとの差が余白 */
	margin: 0 auto;
	/*background: url(images/body_back.gif) repeat 0 0;*/
	background-color: white;
}

#box-inner{
	width: 960px;	/* #boxとの差が余白 */
	margin: 0 auto;
	text-align: left;
	background-color: white;
	box-shadow: 0px 0px 6px 6px rgba(0,0,0,0.2);	/* IE9以降 */
}

.wrap1{
}


/*-----------------------------------------------------
@@ ヘッダ
------------------------------------------------------*/

@media (min-width: 768px)  {	/* PC */

	.head-bar{
		background-color: #0b3775;
		height: 30px;
		text-align: right;
	}
	.head-bar div{
		width: 990px;
		margin: 0 auto;
	}
	.header-telephone{
		width: 357px;
		height: 15px;
		background: url(images/header-telephone.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		display: inline-block;
		margin: 7px 2px 0 0;
	}

	.index-head{
		margin-bottom: 82px;
	}
	

  .index-head-slider{
    max-width:1200px;
    max-width:1040px;
    margin:0 auto;
    position: relative;
  }
  .index-title-2 {
    position: absolute;
    top: 4.09%;
    left: 8.75%;
    right: 8.75%;
    margin: auto;
    /*max-width: 990px;
    max-width: 82.5%;*/
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    z-index: 2;
  }
  .index-title-2 h1 {
    width: 24.546%;
    height: 7.09%;
  }

  .header-list-2 {
    list-style-type: none;
    font-size: 0;
    display: flex;
    justify-content: flex-end;
    flex: 1;
  }
  .header-list-2-01 {
    width: 32.665%; /* 本体+padding */
    height: 100%;
    padding-right: 2.68%;
    border-right: 1px solid white;
  }
  .header-list-2-02 {
    width: 20.08%; /* 本体+padding */
    height: 100%;
    padding-right: 2.68%;
    padding-left: 2.68%;
    border-right: 1px solid white;
  }

  .index-title-2 h1 a img,
  .header-list-2-01 a img,
  .header-list-2-02 a img{
    filter: drop-shadow(2px 2px 1px #000000);
  }

  .index-catch-01 {
    position: absolute;
    width: 71.17%;
    height: 22.36%;
    top: 26.46%;
    left: 14.42%;
    background: url(images/index-head-message@2x.png) no-repeat 0 0;
    background-size: contain;
    filter: drop-shadow(2px 2px 1px #000000);
  }
  .index-bar-01 {
    position: absolute;
    width: 100%;
    height: 2.36%;
    bottom: 3px;
    left: 0;
    background-color: rgba(255,255,255, 0.4);
  }


	.index-header{
		height: 516px;
		background: url(images/index-header-back.jpg) no-repeat 50% 100%;
		padding-top: 26px;
		position: relative;
	}


	header.index-title{
		width: 990px;
		height: 48px;
		margin: 0 auto 0;
		text-align: left;
		position: relative;
	}

	header.index-title h1 a{
		position: absolute;
		display: block;
		width: 243px;
		height: 45px;
		background: url(images/logo1.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	ul.header-list{
		position: absolute;
		top: 0;
		right: 0;
		font-size: 0;
		list-style-type: none;
	}
	ul.header-list li{
		display: inline-block;
		font-size: 43px;
		padding: 0 20px;
		border-right: 1px solid white;
	}
	ul.header-list li a{
		display: block;
		height: 43px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.header-list li a.header-list-telephone{
		width: 224px;
		background: url(images/header-list-telephone.png) no-repeat 0 0;
	}
	ul.header-list li a.header-list-mail{
		width: 110px;
		background: url(images/header-list-mail.png) no-repeat 0 0;
	}

	.normal-header{
		padding-top: 44px;
		padding-left: 20px;
		margin-bottom: 58px;
	}
	header.normal-title{
		width: 990px;
		height: 30px;
		margin: 0 auto 0;
		text-align: left;
		position: relative;
	}

	header.normal-title h1 a{
		display: block;
		width: 232px;
		height: 30px;
		background: url(images/logo2.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	header.normal-title p{
		position: absolute;
		left: 244px;
		top: 12px;
		display: block;
		width: 442px;
		height: 12px;
		background: url(images/normal-title-p1.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.index-head-message{
		display: block;
		width: 854px;
		height: 142px;
		margin: 94px auto 0;
		background: url(images/index-head-message.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.index-head-bottom-line{
		position: absolute;
		width: 100%;
		height: 14px;
		bottom: 0;
		background-color: rgba(255,255,255, 0.5);
	}




}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	.head-bar{
		background-color: #0b3775;
		height: 30px;
	}
	.header-telephone{
		width: 300px;
		height: auto;
		background: url(images/header-telephone.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		display: inline-block;
		margin: 8px 2px 0 0;
	}

	.index-head{
		margin-bottom: 20px;
	}


  .index-head-slider{
    margin:0 auto;
    position: relative;
  }
  .index-title-2 {
    position: absolute;
    top: 4%;
    left: 3%;
    right: 3%;
    margin: auto;
    z-index: 2;
  }
  .index-title-2 h1 {
    width: 50%;
    height: 8%;
    margin-bottom: 4%;
  }

  .header-list-2 {
    list-style-type: none;
    font-size: 0;
    display: flex;
    justify-content: flex-start;
    flex: 1;
  }
  .header-list-2-01 {
    width: 32.665%; /* 本体+padding */
    height: 100%;
    padding-right: 2.68%;
    border-right: 1px solid white;
  }
  .header-list-2-02 {
    width: 20.08%; /* 本体+padding */
    height: 100%;
    padding-right: 2.68%;
    padding-left: 2.68%;
    border-right: 1px solid white;
  }

  .index-title-2 h1 a img,
  .header-list-2-01 a img,
  .header-list-2-02 a img{
    filter: drop-shadow(1px 1px 1px #000000);
  }

  .index-catch-01 {
    position: absolute;
    width: 70%;
    height: 39%;
    top: 50%;
    left: 3%;
    background: url(images/index-head-message-smp@2x.png) no-repeat 0 0;
    background-size: contain;
    filter: drop-shadow(1px 1px 1px #000000);
  }
  .index-bar-01 {
    position: absolute;
    width: 100%;
    height: 4%;
    bottom: 0px;
    left: 0;
    background-color: rgba(255,255,255, 0.4);
  }



	.index-header{
		height: 300px;
		background: url(images/index-header-back.jpg) no-repeat 75% 100%;
		background-size: cover;
		padding-top: 10px;
		position: relative;
	}

	header.index-title{
		margin: 0 5px 0;
		text-align: left;
		position: relative;
	}

	header.index-title h1{
		border-bottom: 1px solid white;
		padding: 0 0 10px;
		margin: 0 0 10px;
	}
	header.index-title h1 a{
		display: block;
		width: 243px;
		height: 45px;
		background: url(images/logo1.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	ul.header-list{
		font-size: 0;
		list-style-type: none;
		display: flex;
		/*justify-content: space-between;*/
		margin: 0 0 20px;
	}
	ul.header-list li{
		display: inline-block;
		font-size: 12px;
		margin-right: 10px;
	}
	ul.header-list li a{
		display: block;
		height: 38px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.header-list li a.header-list-telephone{
		width: 198px;
		background: url(images/header-list-telephone.png) no-repeat 0 0;
		background-size: contain;
	}
	ul.header-list li a.header-list-mail{
		width: 97px;
		background: url(images/header-list-mail.png) no-repeat 0 0;
		background-size: contain;
	}

	.normal-header{
		padding-top: 20px;
		padding-left: 10px;
		margin-bottom: 20px;
	}
	header.normal-title{
		margin: 0 auto 0;
		text-align: left;
		position: relative;
	}


	header.normal-title h1 a{
		display: block;
		width: 232px;
		height: 30px;
		background: url(images/logo2.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	header.normal-title p{
		font-size: 13px;
		line-height: 1.2;
		display: inline-block;
		margin: 8px 0 0 0;
	}

	.index-head-message{
		position: relative;
		width: 300px;
		margin: 0 0 0 10px;
	}
	.index-head-message:before{
		content:"";
		display: block;
		padding-top: 43.2%; /* 高さを幅の75%に固定 */
	}
	.index-head-message span{
		position: absolute;
		top: 0; left: 0; bottom: 0; right: 0;
		display: block;
		background: url(images/index-head-message-smp.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.index-head-bottom-line{
		position: absolute;
		width: 100%;
		height: 14px;
		bottom: 0;
		background-color: rgba(255,255,255, 0.5);
	}



}	/* スマホ */




/*-----------------------------------------------------
@@ フッタ
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	#page-footer{
		margin: 83px 0 0;
		padding: 20px 0 60px 0;
		border-top: 1px solid #595757;
	}
	.footer-in-index{
		width: 854px;
		margin: 0 auto 16px;
		/*height: 40px;
		display: flex;*/
	}
	.footer-in-normal{
		/*width: 854px;
		height: 40px;*/
		margin: 0 auto 16px;
	}
	.footer-in-index .footer-logo{
		/*width: 50%;
		text-align: right;
		padding-right: 10px;*/
		margin-bottom: 10px;
	}
	.footer-logo a{
		display: inline-block;
		/*width: 280px;
		height: 40px;*/
		width: 196px;
		height: 28px;
		background: url(images/footer-logo.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	.footer-in-index .footer-navi{
		/*display: block;
		width: 50%;*/
		text-align: center;
		padding-top: 6px;
		padding-left: 10px;
		font-size: 12px;
		line-height: 1.2;
	}
	.copyright{
		text-align: center;
		font-size: 12px;
		font-family: Arial, sans-serif;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		.footer-logo a{
			background-image: url(images/footer-logo@2x.png);
			background-size: contain;
		}

	}

}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	#page-footer{
		margin: 40px 0 0;
		padding: 20px 0 20px 0;
		border-top: 1px solid #595757;
	}
	.footer-in-index{
	}

	.footer-logo{
		margin-bottom: 10px;
	}
	.footer-logo a{
		display: block;
		/*width: 280px;
		height: 40px;*/
		width: 196px;
		height: 28px;
		background: url(images/footer-logo.png) no-repeat 0 0;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		margin: 0 auto;
	}
	.footer-navi{
		font-size: 12px;
		line-height: 1.2;
		margin-bottom: 10px;
	}
	.copyright{
		text-align: center;
		font-size: 12px;
		font-family: Arial, sans-serif;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		.footer-logo a{
			background-image: url(images/footer-logo@2x.png);
			background-size: contain;
		}

	}

}	/* スマホ */


/*-----------------------------------------------------
@@ メインメニュー
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	ul.navi-normal{
		width: 854px;
		margin: 0 auto 80px;
		font-size: 0;
		list-style-type: none;
		display: flex;
		justify-content: space-between;
	}
	ul.navi-normal li{
		display: block;
		flex: 1;
		border-right: 1px solid #666;
	}
	ul.navi-normal li:first-child{
		border-left: 1px solid #666;
	}
	ul.navi-normal li a{
		display: block;
		width: 100%;
		height: 27px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.navi-normal li a.navi-index-greetings{
		background: url(images/nav-btn-normal-01.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-index-company-profile{
		background: url(images/nav-btn-normal-02.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-index-bussiness-results{
		background: url(images/nav-btn-normal-03.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-index-contact{
		background: url(images/nav-btn-normal-04.png) no-repeat 50% 0;
	}

	ul.navi-normal li a.navi-normal-greetings{
		background: url(images/nav-btn-normal-01.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-company-profile{
		background: url(images/nav-btn-normal-02.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-bussiness-results{
		background: url(images/nav-btn-normal-03.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-contact{
		background: url(images/nav-btn-normal-04.png) no-repeat 50% 0;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		ul.navi-normal li a.navi-normal-greetings{
			background-image: url(images/nav-btn-normal-01@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-company-profile{
			background-image: url(images/nav-btn-normal-02@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-bussiness-results{
			background-image: url(images/nav-btn-normal-03@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-contact{
			background-image: url(images/nav-btn-normal-04@2x.png);
			background-size: contain;
		}

	}

}	/* PC */

@media screen and (max-width: 767px) {	/* スマホ */

	ul.navi-normal{
		font-size: 0;
		list-style-type: none;
		margin: 0 0 40px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		border-top: 1px solid #666;
	}
	ul.navi-normal li{
		display: block;
		width: 50%;
		border-bottom: 1px solid #666;
		padding: 10px 0;
	}
	ul.navi-normal li:first-child,
	ul.navi-normal li:nth-child(3){
		border-right: 1px solid #666;
	}
	ul.navi-normal li a{
		display: block;
		width: 100%;
		height: 27px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.navi-normal li a.navi-normal-greetings{
		background: url(images/nav-btn-normal-01.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-company-profile{
		background: url(images/nav-btn-normal-02.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-bussiness-results{
		background: url(images/nav-btn-normal-03.png) no-repeat 50% 0;
	}
	ul.navi-normal li a.navi-normal-contact{
		background: url(images/nav-btn-normal-04.png) no-repeat 50% 0;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		ul.navi-normal li a.navi-normal-greetings{
			background-image: url(images/nav-btn-normal-01@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-company-profile{
			background-image: url(images/nav-btn-normal-02@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-bussiness-results{
			background-image: url(images/nav-btn-normal-03@2x.png);
			background-size: contain;
		}
		ul.navi-normal li a.navi-normal-contact{
			background-image: url(images/nav-btn-normal-04@2x.png);
			background-size: contain;
		}

	}


}	/* スマホ */




/*-----------------------------------------------------
@@ メイン
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */
	#contents{
		width: 854px;
		margin: 0 auto;
	}
	#contents-inner{
		margin: 0;
		background-color: white;
		text-align: left;
	}
}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */
	#contents{
		width: 100%;
		margin: 0 auto;
	}
	#contents-inner{
		margin: 15px 15px;
		background-color: white;
		text-align: left;
	}
}	/* スマホ */


p.err-box{
	color: red;
	border: 1px solid red;
	padding: 8px;
}

/*-----------------------------------------------------
@@ 段落
------------------------------------------------------*/
p{
	line-height: 1.5;
	margin-bottom: 1em;
	color: #404040;
}
p.indent1{
	text-indent: -1em;
	margin-left: 1em;
}


/*-----------------------------------------------------
@@ IME制御（WinIEのみ）等
------------------------------------------------------*/
.imeon{ime-mode:active;}
.imeoff{ime-mode:disabled;}

.right{text-align: right;}
.center{text-align: center;}
.left{text-align: left;}

.nowrap{white-space: nowrap;}

a:hover img,
.pronikike-bottom a:hover{
	opacity: 0.7;
}

/*-----------------------------------------------------
@@ For media queries
レスポンシブ Web デザイン　Responsive Web Design
------------------------------------------------------*/
/* set image max width to 100% */
video,
img, object, iframe {
	max-width: 100%;
	height: auto;
}

.video embed,
.video object,
.video iframe {
	width: 100%;
	height: auto;
}

/*-----------------------------------------------------
@@ 箇条書き
------------------------------------------------------*/
ul.link{
	margin: 8px 12px 24px 24px;
}
ul.link li{
	list-style-type: disc;
	margin-bottom: 4px;
	padding-left: 8px;
}
ul.link li a{
	color: #0066cc;
	text-decoration: none;
}
ul.link li a:hover{
	text-decoration: underline;
}


/*-----------------------------------------------------
@@ index インデックス トップページ
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	.index-message1{
		display: block;
		margin: 0 auto 60px;
		width: 460px;
		height: 22px;
		background: url(images/index-message1.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	ul.navi-index{
		font-size: 0;
		list-style-type: none;
		margin: 0;
		display: flex;
		justify-content: space-between;
	}
	ul.navi-index li{
		display: block;
		flex: 1;
		border-right: 1px solid #666;
	}
	ul.navi-index li:first-child{
		border-left: 1px solid #666;
	}
	ul.navi-index li a{
		display: block;
		width: 100%;
		height: 70px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.navi-index li a.navi-index-greetings{
		background: url(images/nav-btn-index-01.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-company-profile{
		background: url(images/nav-btn-index-02.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-bussiness-results{
		background: url(images/nav-btn-index-03.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-contact{
		background: url(images/nav-btn-index-04.png) no-repeat 50% 0;
	}


	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		.index-message1{
			background-image: url(images/index-message1@2x.png);
			background-size: 460px 22px;
		}

		ul.navi-index li a.navi-index-greetings{
			background-image: url(images/nav-btn-index-01@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-company-profile{
			background-image: url(images/nav-btn-index-02@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-bussiness-results{
			background-image: url(images/nav-btn-index-03@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-contact{
			background-image: url(images/nav-btn-index-04@2x.png);
			background-size: contain;
		}

	}

}	/* PC */

@media screen and (max-width: 767px) {	/* スマホ */

	.index-message1{
		display: block;
		margin: 0 auto 30px;
		width: 240px;
		height: 44px;
		background: url(images/index-message1-smp.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}


	ul.navi-index{
		font-size: 0;
		list-style-type: none;
		margin: 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		border-top: 1px solid #666;
	}
	ul.navi-index li{
		display: block;
		/*flex: 1;*/
		width: 50%;
		/*border-right: 1px solid #666;*/
		border-bottom: 1px solid #666;
		padding: 10px 0;
	}
/*	ul.navi-index li:first-child,
	ul.navi-index li:nth-child(3){
		border-left: 1px solid #666;
	}
	ul.navi-index li:first-child,
	ul.navi-index li:nth-child(2){
		margin-bottom: 20px;
	}*/
	ul.navi-index li a{
		display: block;
		width: 100%;
		height: 70px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	ul.navi-index li a.navi-index-greetings{
		background: url(images/nav-btn-index-01.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-company-profile{
		background: url(images/nav-btn-index-02.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-bussiness-results{
		background: url(images/nav-btn-index-03.png) no-repeat 50% 0;
	}
	ul.navi-index li a.navi-index-contact{
		background: url(images/nav-btn-index-04.png) no-repeat 50% 0;
	}


	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		.index-message1{
			background-image: url(images/index-message1-smp@2x.png);
			background-size: 240px 44px;
		}

		ul.navi-index li a.navi-index-greetings{
			background-image: url(images/nav-btn-index-01@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-company-profile{
			background-image: url(images/nav-btn-index-02@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-bussiness-results{
			background-image: url(images/nav-btn-index-03@2x.png);
			background-size: contain;
		}
		ul.navi-index li a.navi-index-contact{
			background-image: url(images/nav-btn-index-04@2x.png);
			background-size: contain;
		}

	}

}	/* スマホ */




/*-----------------------------------------------------
@@ 共通
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	h2.h2-title{
		width: 175px;
		height: 90px;
		margin: 0 auto 80px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	h2.h2-title-01{
		background: url(images/h2-title-01.png) no-repeat 0 0;
	}
	h2.h2-title-02{
		background: url(images/h2-title-02.png) no-repeat 0 0;
	}
	h2.h2-title-03{
		background: url(images/h2-title-03.png) no-repeat 0 0;
	}
	h2.h2-title-04{
		background: url(images/h2-title-04.png) no-repeat 0 0;
	}

	.content-body-width1{
		width: 598px;
		margin: 0 auto;
	}
	.content-body-width2{
		width: 542px;
		margin: 0 auto;
	}
	.content-body-width3{
		width: 630px;
		margin: 0 auto;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		h2.h2-title-01{
			background-image: url(images/h2-title-01@2x.png);
		background-size: contain;
		}
		h2.h2-title-02{
			background-image: url(images/h2-title-02@2x.png);
		background-size: contain;
		}
		h2.h2-title-03{
			background-image: url(images/h2-title-03@2x.png);
		background-size: contain;
		}
		h2.h2-title-04{
			background-image: url(images/h2-title-04@2x.png);
		background-size: contain;
		}

	}

}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	h2.h2-title{
		width: 175px;
		height: 90px;
		margin: 0 auto 40px;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
		background-size: contain;
	}
	h2.h2-title-01{
		background: url(images/h2-title-01.png) no-repeat 0 0;
	}
	h2.h2-title-02{
		background: url(images/h2-title-02.png) no-repeat 0 0;
	}
	h2.h2-title-03{
		background: url(images/h2-title-03.png) no-repeat 0 0;
	}
	h2.h2-title-04{
		background: url(images/h2-title-04.png) no-repeat 0 0;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		h2.h2-title-01{
			background-image: url(images/h2-title-01@2x.png);
			background-size: contain;
		}
		h2.h2-title-02{
			background-image: url(images/h2-title-02@2x.png);
			background-size: contain;
		}
		h2.h2-title-03{
			background-image: url(images/h2-title-03@2x.png);
			background-size: contain;
		}
		h2.h2-title-04{
			background-image: url(images/h2-title-04@2x.png);
			background-size: contain;
		}

	}

}	/* スマホ */




/* @@ なんか */


/*-----------------------------------------------------
@@ フォーム
------------------------------------------------------*/
form{vertical-align:baseline;}
input,textarea{outline:0;}

textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"] {
	border: 1px solid #737373;
	padding: 4px;
	font-size: 15px;
}
select{
	border: 1px solid #737373;
	font-size: 15px;
	height: 2em;
}

textarea:focus,
select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus {
	border: 1px solid #737373;
	background-color: #ffc;
}
select, input, textarea, button { 
	vertical-align:middle;
	font-family: inherit;
}

textarea{overflow: auto;}/* 内容が少ないのに薄くスクロールバーが出る事への対策。IEのみ  */

input,textarea,select,button{
	margin: 2px 4px 2px 0;
}
input[type="submit"], button {
	-webkit-appearance: none;
	border: 1px solid #737373;
	border-radius: 3px;
	padding: 6px 12px;
	font-size: 15px;
	line-height: 1.2;
	overflow:visible;
	background: #eeeeee; /* Old browsers */
}
input[type="submit"]:hover,
button:hover {
	cursor: pointer;
}

label{
	font-size: 15px;
	margin-right: 1em;
}

/* placeholder属性 */
:placeholder-shown {
	color: #737373; }
::-webkit-input-placeholder {/* Google Chrome, Safari, Opera 15+, Android, iOS */
	color: #737373; }
:-moz-placeholder {/* Firefox 18- */
	color: #737373; opacity: 1; }
::-moz-placeholder {/* Firefox 19+ */
	color: #737373; opacity: 1; }
:-ms-input-placeholder {/* IE 10+ */
	color: #737373; }


/*-----------------------------------------------------
@@ 代表挨拶
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	.greetings-box{
		display: flex;
		justify-content: space-between;
	}
	.greetings-box-left{
		width: 364px;
	}
	.greetings-box-right{
		width: 206px;
	}

	.greetings-box-left p{
		font-size: 14px;
		line-height: 1.7;
		margin: 0 0 1em;
		text-align:justify;
		text-justify:inter-ideograph; 
	}
	.greetings-box-right img{
		margin-bottom: 10px;
	}
	p.katagaki{
		font-size: 14px;
		line-height: 1.2;
		margin-bottom: 8px;
	}
	p.president-name{
		display: block;
		text-align: right;
		width: 122px;
		height: 28px;
		margin: 0 0 0 auto;
		background: url(images/president-name.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		p.president-name{
			background-image: url(images/president-name@2x.png);
			background-size: contain;
		}

	}
	.greetings-footer{width : 550px;margin : 60px auto 120px auto;}

}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	.greetings-box-right{
		width: 206px;
		margin: 0 auto;
	}
	.greetings-box-left p{
		font-size: 14px;
		line-height: 1.7;
		margin: 0 0 1em;
	}
	.greetings-box-right img{
		margin-bottom: 10px;
	}
	p.katagaki{
		font-size: 14px;
		line-height: 1.2;
		margin-bottom: 8px;
	}
	p.president-name{
		display: block;
		text-align: right;
		width: 122px;
		height: 28px;
		margin: 0 0 0 auto;
		background: url(images/president-name.png) no-repeat 0 0;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	@media 
	only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {

		p.president-name{
			background-image: url(images/president-name@2x.png);
			background-size: contain;
		}

	}
	.greetings-footer{width : 90%;margin : 60px auto;}

}	/* スマホ */


/*-----------------------------------------------------
@@ 会社概要
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	.table-02{
		width: 492px;
		margin: 0 auto;
	}
	.table-02 th,
	.table-02 td{
		padding: 10px 16px;
		line-height: 1.4;
		font-size: 13px;
	}
	.table-02 th{
		color: #0f3675;
		width: 110px;
		
	}
	.table-02 td{
	}

	.company-profile-table-wrap1{
		margin: 50px 0 0 0;
		padding: 25px;
		background-color: #eaf2fa;
	}

	.gmap{
		width: 100%;
		height: 220px;
		margin: 4px 0;
	}
	.gmap iframe{
		width: 100%;
		height: 100%;
	}

}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	.table-02{
		width: 100%;
		margin: 0 auto;
	}
	.table-02 th,
	.table-02 td{
		display: block;
		line-height: 1.4;
		font-size: 13px;
	}
	.table-02 th{
		color: white;
		background-color: #0f3675;
		padding: 8px 5px;
	}
	.table-02 td{
		padding: 10px 0;
	}

	.company-profile-table-wrap1{
		margin: 20px 0 0 0;
		padding: 5px;
		background-color: #eaf2fa;
	}

	.gmap{
		width: 100%;
		height: 220px;
		margin: 4px 0;
	}
	.gmap iframe{
		width: 100%;
		height: 100%;
	}

}	/* スマホ */


/*-----------------------------------------------------
@@ 業務実績
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	.table-01{
		width: 100%;
		border: 1px solid #0b3775;
	}
	.table-01 th,
	.table-01 td{
		padding: 10px 16px;
		line-height: 1.4;
		font-size: 13px;
	}
	.table-01 th{
		color: white;
		text-align: center;
		vertical-align: middle;
		border-right: 1px solid white;
		background-color: #0b3775;
	}
	.table-01 th:last-child{
		border-right: none;
	}
	.table-01 td{
		color: #221814;
		text-align: left;
		vertical-align: top;
		border: 1px solid #0b3775;
	}
	.table-01 tr td.nendo,
	.table-01 tr td.hatu{
		text-align: center;
		white-space: nowrap;
	}

}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	.table-01{
		width: 100%;
	}
	.table-01 th,
	.table-01 td{
		padding: 10px 8px;
		line-height: 1.2;
		display: block;
		font-size: 13px;
	}
	.table-01 th{
		display: none;
	}
	.table-01 td{
		color: #221814;
		text-align: left;
		vertical-align: top;
	}
	.table-01 tr{
		border-bottom: 1px solid #0b3775;
	}
	.table-01 td.nendo{
		color: white;
		background-color: #0b3775;
	}


}	/* スマホ */



/*-----------------------------------------------------
@@ お問い合わせ
------------------------------------------------------*/
@media (min-width: 768px)  {	/* PC */

	table.mailform1{
		width: 100%;
	}
	table.mailform1 th,
	table.mailform1 td{
		padding-bottom: 1em;
		line-height: 1.4;
		font-size: 13px;
		text-align: left;
		vertical-align: top;
	}
	table.mailform1 th{
		white-space: nowrap;
		color: #0b3775;
		padding-right: 1em;
		padding-top: 1em;
		width: 100px;
	}
	table.mailform1 td{
	}

	table.mailform1-kakunin td,
	table.mailform1-kakunin th{
		padding-top: 0;
	}

	.require{color: red;}
	.form-kakunin{
		font-size: 14px;
		padding-bottom: 24px;
		margin-bottom: 24px;
		border-bottom: 1px solid #333;
	}

	textarea.textarea1{
		width: 100%;
		height: 130px;
	}
	input.input_name{
		width: 140px;
	}
	input.input_1{
		width: 100%;
	}
	textarea.textarea1,
	input.input_name,
	input.input_1{
		background-color: #e9f1fa;
		border: 1px solid #aec2d9;
	}
	textarea.textarea1:focus,
	input.input_name:focus,
	input.input_1:focus{
		background-color: #e7e1b2;
	}
	.form-error{
		border: 1px solid red !important;
	}
	.form-chui{
		font-size: 11px;
	}

	p.submit-container{
		text-align: center;
		margin-top: 84px;
	}


	.btn-form-1{
		display: inline-block !important;
		font-size: 13px !important;
		line-height: 1 !important;
		padding: 8px 16px !important;
		text-decoration: none;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif !important;
		border: 1px solid #707070 !important;
		border-radius: 3px;
		color: white;
		background-color: #0b3775 !important;
		vertical-align: baseline;
	}
	.btn-form-1:hover{
		cursor: pointer;
		color: white;
	}

	ul.error-box{
		background-color: #ffdddd;
		padding: 10px 20px 6px;
		margin: 0 0 20px;
		border-radius: 6px;
	}
	ul.error-box li{
		margin: 0 0 4px 1em;
		font-size: 13px;
		color: #ff3333;
	}

	p.p-error1{
		margin: 4px 0 0 0;
		padding: 0;
		color: red;
	}


}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */

	table.mailform1{
		width: 100%;
	}
	table.mailform1 th,
	table.mailform1 td{
		display: block;
		padding-bottom: 1em;
		line-height: 1.4;
		font-size: 13px;
		text-align: left;
		vertical-align: top;
	}
	table.mailform1 th{
		white-space: nowrap;
		color: #0b3775;
		padding-right: 1em;
		padding-top: 1em;
		width: 100px;
	}
	table.mailform1 td{
	}

	table.mailform1-kakunin td,
	table.mailform1-kakunin th{
		padding-top: 0;
	}

	.require{color: red;}
	.form-kakunin{
		font-size: 14px;
		padding-bottom: 24px;
		margin-bottom: 24px;
		border-bottom: 1px solid #333;
	}

	textarea.textarea1{
		width: 100%;
		height: 130px;
	}
	input.input_name{
		width: 90px;
	}
	input.input_1{
		width: 100%;
	}
	textarea.textarea1,
	input.input_name,
	input.input_1{
		background-color: #e9f1fa;
		border: 1px solid #aec2d9;
	}
	textarea.textarea1:focus,
	input.input_name:focus,
	input.input_1:focus{
		background-color: #e7e1b2;
	}
	.form-error{
		border: 1px solid red !important;
	}
	.form-chui{
		font-size: 11px;
	}

	p.submit-container{
		text-align: center;
		margin-top: 40px;
	}


	.btn-form-1{
		display: inline-block !important;
		font-size: 13px !important;
		line-height: 1 !important;
		padding: 8px 16px !important;
		text-decoration: none;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif !important;
		border: 1px solid #707070 !important;
		border-radius: 3px;
		color: white;
		background-color: #0b3775 !important;
		vertical-align: baseline;
	}
	.btn-form-1:hover{
		cursor: pointer;
		color: white;
	}

	ul.error-box{
		background-color: #ffdddd;
		padding: 10px 20px 6px;
		margin: 0 0 20px;
		border-radius: 6px;
	}
	ul.error-box li{
		margin: 0 0 4px 1em;
		font-size: 13px;
		color: #ff3333;
	}

	p.p-error1{
		margin: 4px 0 0 0;
		padding: 0;
		color: red;
	}

}	/* スマホ */

/*-----------------------------------------------------
@@ サンプル
------------------------------------------------------*/

/*-----------------------------------------------------
@@
------------------------------------------------------*/


/*-----------------------------------------------------
@@
------------------------------------------------------*/

/*-----------------------------------------------------
@@ Retina用背景画像
------------------------------------------------------*/
@media 
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {

	div.retinaback {
		background: url(images/aaaaa-2x.jpg);
		background-size: 100px 100px;
	}

}

@media (min-width: 768px)  {	/* PC */
	.sp, .smp{display: none;}
}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */
	.pc{display: none;}
}	/* スマホ */


@media (min-width: 768px)  {	/* PC */
}	/* PC */
@media screen and (max-width: 767px) {	/* スマホ */
}	/* スマホ */
