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

/*==================
ベースのCSSの設定
====================*/

/*ベースの要素の設定をリセット*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
p,article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

/*HTML5の新要素をdisplay:blocにする*/
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display: block;
}

/*サイト全体の基本情報の設定*/
html {
	-webkit-text-size-adjust: 100%; /* Font size adjust for mobile */
	font-size: 62.5%; /* 10px */
	height: 100%;
	box-sizing: border-box;
}
body{
	font-family: 'ヒラギノ角ゴ Pro W3',
				 'Hiragino Kaku Gothic Pro',
				 'メイリオ', Meiryo,
				 'ＭＳ Ｐゴシック',
				 'Roboto',
				 sans-serif;
	font-size: 15px; /* for IE */
	font-size: 1.5rem;
	line-height: 1.6;
	color: #333;
}

/*画像の枠線をクリアして位置の初期値の設定*/
img{
	border: 0;
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}
/*リンクが貼られた画像にマウスオーバーした時の処理*/
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
}
*, *:before, *:after {
	box-sizing: inherit;
}

/*リンク時の枠の点線をなしにする*/
a{
	outline: none;
}

/*リンクの装飾の設定*/
a:link,
a:visited,
a:active{
	color: #333;
	text-decoration: none;
}

a:hover{
	color: #2b6eb8;
	text-decoration: none;
}

/*リスト要素の初期値をリセット*/
ul,ol{
	list-style: none;
}

/*clearfixの設定*/
#header_wrap:after,
#header:after,
#menu_wrap:after,
.clearfix:after,
section:after,
.contents_box:after,
ul.service_box:after {
	content: "."; 
	display: block; 
	height: 0; 
	font-size:0;	
	clear: both; 
	visibility:hidden;
}
.clearfix {
	display: inline-block;
}

* html .clearfix             { zoom: 1; } 
*:first-child+html .clearfix { zoom: 1; }#wrap {
	width: 980px;
	margin: 0 auto;
	padding: 0;
}

.box-sizing {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}





/*////////////////////////////////////////////////*/
/*//////////////////// Header ////////////////////*/
/*////////////////////////////////////////////////*/

#header_wrap {
	background-color: #fff;
	width: 100%;
	height: 60px;
	margin: 0 auto;
	position: absolute;
	z-index: 1001;
}
#header_wrap.stuck {
	position: fixed;
	top: 0;
	box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
	-moz-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
}
#header {
	width: 100%;
	height: auto;
	padding: 0; /* 20px 0 0 0 */
	position: relative;
}
#ci_wrap {
	max-width: 1000px;
	margin: 0 auto;
}
h1 img {
	display: block;
	width: 230px;
	height: auto;
	float: left;
	padding: 0;
	margin: 20px 0 0 10px;
}




/*//////////////////////////////////////////////////*/
/*//////////////// Header Sub Menu /////////////////*/
/*//////////////////////////////////////////////////*/

.header_wrap_sub {
	display: none !important;
}




/*////////////////////////////////////////////////////*/
/*//////////////////// Navigation ////////////////////*/
/*////////////////////////////////////////////////////*/

#menu_wrap {
	letter-spacing: 0.05em;
	width: 100%;
	border-bottom: solid 2px #0a2a4d;
	padding: 60px 0 0 0;
	background-color: #fff;
}
.menubtn {
	display: block !important;
	font-size: 16px;
	font-size: 1.6rem;
	color: #0a2a4d;
	background-color: #fff;
	border: solid 1px #ccc;
	padding: 8px 10px;
	
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	
	position: absolute;
	top: 10px;
	right: 10px;
}

.navi {
	display: none;
	position: absolute;
	z-index: 1002;
	width: 100%;
}
.navi ul {
	width: 100%;
/*	margin: 0 auto;*/
}
.navi ul li {
	font-family: 'Gothic MB101 Regular'; /* FONTPLUS */
	letter-spacing: 0.18em;
	background-color: #0a2a4d;
	text-align: center;
	width: 100%;
	float: left;
	border-top: dashed 1px #fff;
}
.navi ul li:first-child {
	border-top: none;
}
.navi ul li:last-child {
	border-bottom: solid 1px #fff;
}
.navi ul li a {
	color: #fff;
	padding: 10px;
	margin: 0;
	display: block;
}
.navi ul li a:hover {
	color: #fff;
	background-color: #2b6eb8;
}




/*////////////////////////////////////////////////////*/
/*//////////////////// WideSlider ////////////////////*/
/*////////////////////////////////////////////////////*/

.wideslider {
	width: 100%;
	height: 450px;
	text-align: left;
	position: relative;
	overflow: hidden;
/*	border-top: solid 1px #ccc;
	border-bottom:  solid 1px #ccc;*/
}
.wideslider ul,
.wideslider ul li {
	float: left;
	display: inline;
	overflow: hidden;
}
.wideslider ul li img {
	width: 100%;
	display: none;
}
.wideslider_base {
	top: 0;
	position: absolute;
}
.wideslider_wrap {
	top: 0;
	position: absolute;
	overflow: hidden;
}
.slider_prev,
.slider_next {
	top: 0;
	overflow: hidden;
	position: absolute;
	z-index: 100;
	cursor: pointer;
}
.slider_prev {
	background-color: #fff;
	background-image: url(../images/prev.png);
	background-repeat: no-repeat;
	background-position: right+20px center;
}
.slider_next {
	background-color: #fff;
	background-image: url(../images/next.png);
	background-repeat: no-repeat;
	background-position: left+20px center;
}
.pagination {
	display: none !important;
}

/* ClearFixElements */
.wideslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
.wideslider ul {
    display: inline-block;
    overflow: hidden;
}




/*////////////////////////////////////////////////*/
/*//////////////////// Footer ////////////////////*/
/*////////////////////////////////////////////////*/

#footer_wrap {
	width: 100%;
	border-top: solid 1px #ccc;
}
footer {
	font-size: 10px;/*for IE*/
	font-size: 1.0rem;
	text-align: center;
	max-width: 1000px;
	padding: 20px 0;
	margin: 0 auto;
}


/*/// Pagetop Icon ///*/
#pagetop {
	color: #fff;
	font-size: 18px; /* for IE */
	font-size: 1.8rem;
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 90;
	opacity: 1.0;
}
.pagetop_icon1 {
	color: #fff;
}
.pagetop_icon2 {
	font-family: FontAwesome;
	content: "\f04d";
	color: rgba(43, 110, 184, 1);
	opacity: 0.65;
}
a:hover .pagetop_icon2 {
	opacity: 1.0;
}



/*////////////////////////////////////////////////*/
/*/////////////////// Contents ///////////////////*/
/*////////////////////////////////////////////////*/

/*/// title ///*/

.title_bar {
	width: 100%;
	padding: 25px 0;
	background-repeat: no-repeat;
	background-size: cover;
	display: table;
}
.title_bar h2 {
	font-family: 'Gothic MB101 Regular'; /* FONTPLUS */
	letter-spacing: 0.18em;
	font-size: 24px; /*for IE*/
	font-size: 2.4rem;
	line-height: 1.0;
	color: #fff;
	text-align: center;
	height: 50px;
	margin: 0 auto;
	display: table-cell;
	vertical-align: middle;

	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	background-color: rgba(10, 41, 77, 0.85);
}
#title_information {
	background-image: url(../images/bg_info.jpg);
	background-position: center center;
}
#title_service {
	background-image: url(../images/bg_service.jpg);
	background-position: center center;
}
#title_company {
	background-image: url(../images/bg_company.jpg);
	background-position: center center;
}
#title_inquiry {
	background-image: url(../images/bg_inquiry.jpg);
	background-position: center center;
}



/*// contents //*/

.contents_box {
	width: 94%;
	padding: 0;
	margin: 50px auto;
}



/*/// main image ///*/

.main_image {
	width: 100%;
	height: 220px;
	background: url(../images/main_image.jpg) no-repeat center center;
	background-size: cover;
}



/*/// Information ///*/

.information_box {
	text-align: center;
	padding: 0;
	margin: 0 auto;
}
.information_box dl {
	display: inline-block;
}
.information_box dt {
	color: #2b6eb8;
	text-align: left;
	float: left;
	width: 100%;
	margin: 0;
}
.information_box dd {
	text-align: left;
	float: left;
	width: 100%;
	margin: 0 0 20px 0;
}
.information_box dd:last-child {
	text-align: left;
	float: left;
	width: 100%;
	margin: 0;
}



/*/// services ///*/
/*
ul.service_box {
	margin: 30px 0 25px 0;
}*/
ul.service_box li {
	width: 100%;
	margin: 0 0 10px 0;
	border: solid 2px #2b6eb8;
}
ul.service_box li:nth-child(odd),
ul.service_box li:nth-child(even) {
	float: none;
}
ul.service_box li h3  {
	padding: 10px;
	margin: 4px;
	border: solid 1px #2b6eb8;
}
ul.service_box li h3 div {
	width: 100%;
	display: table;
}
ul.service_box li h3 div p {
	font-size: 16px; /*for IE*/
	font-size: 1.6rem;
	line-height: 1.4;
	color: #2b6eb8;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	padding: 0.8em 0;
}
/*
.service_text {
	margin: 0 0 30px 0;
}*/



/*/// company ///*/

.catch_phrase_box {
	max-width: 740px;
	width: 94%;
	margin: 50px auto 30px auto;
}
.company_box {
	max-width: 900px;
	width: 94%;
	padding: 0 0 30px 0;
	margin: 0 auto;
	background: none;
	background-size: contain;
}
h3.catch_phrase {
	position: relative;
	text-align: center;
/*	margin: 35px 0 20px 0;*/
}
h3.catch_phrase span {
	font-family: MatissePro-DB; /* FONTPLUS */
	letter-spacing: 0.18em;
	font-size: 22px; /*for IE*/
	font-size: 2.2rem;
	line-height: 1.3;
	color: #1464b4;
	text-align: center;
	position: relative;
	z-index: 2;
	display: inline-block;
/*	margin: 0 4em;*/
	padding: 0 0.5em;
	background-color: #fff;
	text-align: left;
}
h3.catch_phrase span br {
	display: display!important;
}
h3.catch_phrase:before {
	position: absolute;
	top: 38%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: -webkit-linear-gradient(left, #fff 0%, #1464b4 20%, #1464b4 80%, #fff 100%);
	background: linear-gradient(left, #fff 0%, #1464b4 20%, #1464b4 80%, #fff 100%);
}
/*
.company_bodytext {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
	text-align: center;
	margin: 0 0 50px 0;
}
*/
.company_info {
	width: 100%;
}
.company_info .company_name {
	font-size: 1.2em;
	font-weight: bold;
	color: #2b6eb8;
	margin: 0 0 1.2em 0;
/*	border-bottom: dashed 1px #d47380;*/
}
.company_info dt {
	color: #2b6eb8;
	margin: 0 0 0.2em 0;
}
.company_info dt:before {
	content: "□ ";
}
.company_info dd {
	margin: 0 0 1.2em 0;
}
.company_info dd ul.service_list li {
	padding: 0 0 0 1em;
	margin: 0 0 0.3em 0;
}
.company_info dd ul.service_list li:before {
	margin: 0 0 0 -1em;
	content: "・";
}
.company_info dd .tokyo_office {
	margin: 0.5em 0 0 0;
}



/*/// inquiry ///*/

.inquiry_text {
	text-align: center;
	max-width: 750px;
	padding: 0;
	margin: 30px auto;
}
.inquiry_text p {
	display: inline-block;
	text-align: left;
}
/*
.inquiry_text2 {
	text-align: center;
	margin: 0 0 10px 0;
}
*/
.mail_button {
	color: #fff;
	font-size: 1.1em;
	line-height: 55px;
	text-decoration: none;
	text-align: center;
	height: 55px;
	width: 100%;
	margin: 0 auto;
	background-color: #2b6eb8;
	
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	
	-moz-box-shadow: 1px 1px 3px rgba(000,000,000,0.5);
	-webkit-box-shadow: 1px 1px 3px rgba(000,000,000,0.5);
	box-shadow: 1px 1px 3px rgba(000,000,000,0.5);
}
a:hover .mail_button {
	background-color: #3a87db;
	
	-moz-box-shadow: 0 0 1px rgba(000,000,000,0.75);
	-webkit-box-shadow: 0 0 1px rgba(000,000,000,0.75);
	box-shadow: 0 0 1px rgba(000,000,000,0.75);
}





@media all and (min-width: 480px) {

/*/// title ///*/

.title_bar {
	padding: 45px 0;
}
.title_bar h2 {
	font-size: 28px; /*for IE*/
	font-size: 2.8rem;
	height: 60px;
}



/*/// main image ///*/

.main_image {
	height: 280px;
}



/*/// Information ///*/
/*
.information_box {
	margin: 0 auto;
}*/
.information_box dt {
	width: 110px;
	margin: auto;
}
.information_box dd {
	float: none;
	width: auto;
	margin: 0 0 20px 120px;
}
.information_box dd:last-child {
	float: none;
	width: auto;
	margin: 0 0 0 120px;
}



/*/// service ///*/
/*
h3.catch_phrase span br {
	display: none!important;
}
*/


}






@media all and (min-width: 750px) {

body{
	font-size: 16px; /* for IE */
	font-size: 1.6rem;
	line-height: 1.6;
}




/*////////////////////////////////////////////////*/
/*//////////////////// Header ////////////////////*/
/*////////////////////////////////////////////////*/

#header_wrap {
	height: auto;
	position: static;
}
#header_wrap.stuck {
	position: static;
	top: 0;
	box-shadow: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
}
h1 img {
	width: 450px;
	float: none;
	padding: 50px 0;
	margin: 0 auto;
}
	

/*////////////////////////////////////////////////////*/
/*//////////////////// Navigation ////////////////////*/
/*////////////////////////////////////////////////////*/

#menu_wrap {
	border-bottom: none;
	background-color: #0a294d;
	padding: 0;
}
.menubtn {
	display: none !important;
}
.navi {
	display: block !important;
	position: static;
	max-width: 1000px;
	margin: 0 auto;
}
.navi ul li {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1;
	width: 33.33%;
	height: 100%;
	margin: 0;
	border-top: none;
}
.navi ul li:last-child {
	border-bottom: none;
}
.navi ul li a {
	color: #fff;
	padding: 0;
}
.navi ul li a span {
	display: block;
	background: #0a294d;
	padding: 25px 0;
}
.navi ul li a:hover,
.navi ul li a span:hover {
	display: block;
	background-color: #2b6eb8;
}


	
	
/*//////////////////////////////////////////////////*/
/*//////////////// Header Sub Menu /////////////////*/
/*//////////////////////////////////////////////////*/

.header_wrap_sub {
	display: block !important;
	height: auto;
	width: 100%;
	background-color: #fff;
	border-bottom: solid 3px #0a294d; 
	position: absolute;
	z-index: 1003;
	top: -100px;
}
.header_wrap_sub.stuck {
	position: fixed;
	top: 0;
	box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
	-webkit-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
	-moz-box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .3);
}
.header_sub {
	width: 100%;
	max-width: 1000px;
	padding: 20px 20px 15px 20px;
	margin: 0 auto;
	position: relative;
}
.ci {
	width: 240px;
}
.sub_navi_wrap {
	letter-spacing: 0.1em;
	position: absolute;
	right: 10px;
	top: 10px;
}
.sub_navi_wrap ul li {
	font-family: 'Gothic MB101 Regular'; /* FONTPLUS */
	letter-spacing: 0.18em;
	float: left;
	padding: 5px 0 0 0;
}
.sub_navi_wrap ul li a {
	padding: 0.3em;
	margin: 0 0 0 1.2em;
	display: inline-block;
}
.sub_navi_wrap ul li a:hover {
	color: #2b6eb8;
}




/*////////////////////////////////////////////////*/
/*//////////////////// Footer ////////////////////*/
/*////////////////////////////////////////////////*/

footer {
	font-size: 14px;/*for IE*/
	font-size: 1.4rem;
}




/*////////////////////////////////////////////////*/
/*/////////////////// Contents ///////////////////*/
/*////////////////////////////////////////////////*/


/*/// title ///*/

.title_bar {
	padding: 50px 0;
}
.title_bar h2 {
	font-size: 32px; /*for IE*/
	font-size: 3.2rem;
	height: 90px;
}



/*/// main image ///*/

.main_image {
	height: 380px;
}



/*/// services ///*/
/*
ul.service_box {
	margin: 50px 0 25px 0;
}*/
ul.service_box li {
	width: 48%;
	margin: 0 0 25px 0;
}
ul.service_box li:nth-child(odd) {
	float: left;
}
ul.service_box li:nth-child(even) {
	float: right;
}
ul.service_box li h3 div p {
	font-size: 20px; /*for IE*/
	font-size: 2.0rem;
/*	line-height: 1.4;*/
	padding: 1.2em 0;
}
/*
.service_text {
	margin: 0 0 50px 0;
}
*/





/*/// company ///*/

.catch_phrase_box {
	margin: 50px auto 25px auto;
}
.company_box {
	max-width: 900px;
	width: 100%;
	padding: 45px 0 80px 3%;
	margin: 0 auto;
	background: url(../images/company_bg_image.jpg)  no-repeat;
	background-position: 140% top;
	background-size: 620px auto;
}
/*
h3.catch_phrase {
	margin: 0 0 0 0;
}
*/
h3.catch_phrase span {
	font-size: 32px; /*for IE*/
	font-size: 3.2rem;
	margin: 0 4rem;
	padding: 0 0.5em;
}
h3.catch_phrase:before {
	top: 45%;
}
/*
.company_bodytext {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.8;
	margin: 0 0 75px 0;
}
*/
.company_info .company_name {
	border-bottom: none;
}



/*/// inquiry ///*/

.inquiry_text {
	margin: 50px auto;
}
.mail_button {
	font-size: 1.1em;
	line-height: 55px;
	width: 60%;
	margin: 0 auto;
}

	
}






@media all and (min-width: 850px) {

/*////////////////////////////////////////////////*/
/*/////////////////// Contents ///////////////////*/
/*////////////////////////////////////////////////*/

/*/// title ///*/

.title_bar {
	padding: 70px 0;
}
.title_bar h2 {
	font-size: 40px; /*for IE*/
	font-size: 4.0rem;
	height: 100px;
}



/*/// main image ///*/

.main_image {
	height: 520px;
}


/*// contents //*/

.contents_box {
	max-width: 900px;
	padding: 0;
	margin: 80px auto;
}


/*/// services ///*/

ul.service_box li h3 div p {
	font-size: 24px; /*for IE*/
	font-size: 2.4rem;
/*	line-height: 1.4;*/
	padding: 1.5em 0;
}
/*
.service_text {
	margin: 0 0 50px 0;
}
*/




/*/// company ///*/

.catch_phrase_box {
	margin: 80px auto 35px auto;
}
.company_box {
	max-width: 900px;
	width: 94%;
	padding: 45px 0 80px 0;
	margin: 0 auto;
	background: url(../images/company_bg_image.jpg)  no-repeat;
	background-position: 115% top;
	background-size: 620px auto; /*contain*/
}

	
}
