@charset "utf-8";

/* ------------------------------------------------------------
スタイルリセット
------------------------------------------------------------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
img {
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
li {
	list-style-type: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

/* ------------------------------------------------------------
初期設定
------------------------------------------------------------ */
html, body {
	height: 100%;
}
/* border-box */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clear {
	float: none;
}
/* 画像のレスポンシブ対応 */
img {
	max-width: 100%;
	height: auto;
	width /***/: auto;
}
/* マウスオン画像透過 */
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
a:hover img.none {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}

/* placeholderの文字色 */
/* Chrome, Safari */
::-webkit-input-placeholder{
    color: #CCC;
}
/* Firefox */
::-moz-placeholder{
    color: #CCC;
}
/* Firefox 18以前 */
:-moz-placeholder{
    color: #CCC;
}
/* IE */
:-ms-input-placeholder{
    color: #CCC;
}

/* display none */
@media (min-width: 1140px) {
.pcNone {
	display: none !important;
}
}
@media (max-width: 1139px) {
.spNone {
	display: none !important;
}
}

/* ------------------------------------------------------------
bootstrap用設定
------------------------------------------------------------ */
/* print url */
@media print {
a[href]:after {
	content: "" !important;
}
abbr[title]:after {
	content: "" !important;
}
}
/* pc width */
@media (min-width: 768px) {
.container {
    width: 100%;
}
}
@media (min-width: 1170px) {
.container {
	width: 1170px;
}
}
/* row padding 余白無し */
.rowZero {
	margin: 0;
}
.rowZero .col-xs-1, .rowZero .col-xs-2, .rowZero .col-xs-3, .rowZero .col-xs-4, .rowZero .col-xs-5, .rowZero .col-xs-6, .rowZero .col-xs-7, .rowZero .col-xs-8, .rowZero .col-xs-9, .rowZero .col-xs-10, .rowZero .col-xs-11, .rowZero .col-xs-12, .rowZero .col-sm-1, .rowZero .col-sm-2, .rowZero .col-sm-3, .rowZero .col-sm-4, .rowZero .col-sm-5, .rowZero .col-sm-6, .rowZero .col-sm-7, .rowZero .col-sm-8, .rowZero .col-sm-9, .rowZero .col-sm-10, .rowZero .col-sm-11, .rowZero .col-sm-12, .rowZero .col-md-1, .rowZero .col-md-2, .rowZero .col-md-3, .rowZero .col-md-4, .rowZero .col-md-5, .rowZero .col-md-6, .rowZero .col-md-7, .rowZero .col-md-8, .rowZero .col-md-9, .rowZero .col-md-10, .rowZero .col-md-11, .rowZero .col-md-12, .rowZero .col-lg-1, .rowZero .col-lg-2, .rowZero .col-lg-3, .rowZero .col-lg-4, .rowZero .col-lg-5, .rowZero .col-lg-6, .rowZero .col-lg-7, .rowZero .col-lg-8, .rowZero .col-lg-9, .rowZero .col-lg-10, .rowZero .col-lg-11, .rowZero .col-lg-12 {
	padding: 0;
}



/* ------------------------------------------------------------
基本設定
------------------------------------------------------------ */
body {
	font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 16px;
	color: #333;
	text-align: left;
	line-height: 1.5;
}
p {
	margin: 16px 0;
}
.fcRed {
	color: #C60000;
}
a, a:link, a:visited {
	color: #333;
	text-decoration: none;
}
a:hover, a:active  {
	color: #333;
	text-decoration:underline;
}
.taRight {
	text-align: right;
}
.taLeft {
	text-align: left;
}
.taCneter {
	text-align: center;
}


/* ------------------------------------------------------------
header
------------------------------------------------------------ */
header {
	background:#77aed5;
	border-top:6px solid #12294d;
}
header .logo {
	text-align:left;
}
@media (max-width: 1170px) {
header .logo {
	text-align:center;
}
}

/* 01 index.html
---------------------------------------------------- */
.contentsArea {
  position: relative;
}

.contentsArea img{
  max-width: 100%;
}

/* ------------------------------------------------------------
footer
------------------------------------------------------------ */
footer {
	text-align:center;
	margin-top:60px;
	padding:40px 0;
	background:#77aed5;
	border-top:6px solid #12294d;
}
.footerLink {
	display:flex;
	justify-content:center;
}
.footerLink li a {
	font-size:14px;
	padding:0 10px;
	border-right:1px solid #333;
}
.footerLink li:last-child a {
	border-right:none;
}
footer .logo {
	text-align:center;
}
.footerMap, .footerTime {
	font-size:12px;
	text-align:right;
}
.footerTel {
	font-size:26px;
	text-align:right;
	padding:0 10px;
}
.footerContact {
	font-size:12px;
	text-align:left;
}
.footerContact a {
	display:inline-block;
	padding:25px 60px;
	border:2px solid #12294d;
}
.footerContact a:hover {
	color:#FFF;
	text-decoration:none;
	background:#12294d;
}
.copyright {
	font-size:13px;
	margin-top:20px;
}
@media (max-width: 1170px) {
.footerLink {
	display:block;
}
.footerLink li a {
	display:inline-block;
	text-align:center;
	width:100%;
	padding:10px;
	border-right:none;
	border-top:1px solid #333;
}
.footerLink li:last-child a {
	border-bottom:1px solid #333;
}
.footerLink li a:hover {
	color:#FFF;
	text-decoration:none;
	background:#12294d;
}
.footerMap, .footerTime, .footerTel, .footerContact {
	text-align:center;
}
.footerContact {
	margin-top:20px;
}
}

/* ------------------------------------------------------------
nav
------------------------------------------------------------ */
#navi {
	position: relative;
}
#menu {
	display: block;
	height: auto;
	margin: 30px auto;
	padding: 0;
	width: 100%;
}
#menu li {
	float: left;
	width: calc(100%/6);
	text-align: center;
	position: relative;  /*z-indexの指定や子要素の基準とするために指定*/
	z-index: 1;  /*ドロップダウンしたメニューが隠れないように*/
}
#menu li a {
	display: inline-block;
	font-size:21px;
	font-weight:bold;
	color: #FFF;
	line-height:1;
	width: 100%;
	margin: 0 auto;
	padding: 20px 20px;
	border-top: none;
	border-right: none;
	background: none;
}
#menu li a span {
	display:inline-block;
	font-size:12px;
	width:100%;
	padding:10px 0;
	border-bottom:2px solid #FFF;
}
#menu li a:hover, #menu li a.active {
	color: #12294d;
	text-decoration: none;
}
#menu li a:hover span, #menu li a.active span {
	border-bottom:2px solid #12294d;
}
#menu li ul.sub-menu {
	display: none;  /*サブメニューは最初は非表示にしておく*/
	position: absolute;  /*絶対配置にしておかないとうまくいかない*/
	top: 75px;
	left: 0;
	width: calc(100% - 20px*2);
	margin:0 20px;
	background-color: rgba(255,255,255,0.9);
}
#menu li:hover ul.sub-menu {
	display: block;    /*マウスオーバー時にサブメニューを表示する*/
}
#menu li ul.sub-menu li {
	float: none;  /*サブメニューはフロートさせないので解除*/
	width: 100%;
}
#menu li ul.sub-menu li a {
	font-size:12px;
	color:#12294d;
	text-align:left;
	padding:20px 10px;
}
#menu li ul.sub-menu li a:hover {
	color:#FFF;
	background-color: #12294d !important;
}
/*背景色などのカスタマイズ*/
.slicknav_nav li {
	border-top: 1px solid #77aed5;
}
.slicknav_menu {
	background-color: #77aed5 !important;
}
.slicknav_menu .slicknav_icon-bar {
	background-color: #FFF !important;
}
.slicknav_menu a:hover {
	color: #FFF !important;
	background-color: #12294d !important;
}
.slicknav_btn {
	background-color: #77aed5 !important;
}
.slicknav_nav .slicknav_row:hover {
	background: #77aed5 !important;
}
.slicknav_nav a:hover {
	background: #12294d !important;
}
.slicknav_nav a.slicknav_item:hover {
	background: #12294d !important;
}
i.fa {
	font-size: 18px;
}
i.fa.fa-caret-right {
	display: none;
}
#menu {
	display: none;
}

@media screen and (min-width : 1170px) {
#menu {
	display: block;
}
.slicknav_menu {
	display: none;
}
i.fa.fa-caret-right {
	font-size: 14px;
	display: inline-block;
}
}


/* ------------------------------------------------------------
contents
------------------------------------------------------------ */
/* 汎用設定
------------------------------------------------------------ */
.contentsTitleBox {
	display: flex;
    justify-content: center;
    align-items: center;
	color:#FFF;
	text-align:center;
	line-height:1;
	margin-bottom:60px;
	height:400px;
}
.contentsTitle {
	display:inline-table;
	padding:20px 120px;
}
.contentsTitle div {
	font-size:48px;
	font-weight:bold;
	letter-spacing:3px;
	margin-bottom:15px;
	padding-bottom:5px;
	border-bottom:1px dotted #FFF;
}
.contentsTitle span {
	font-size:18px;
	font-weight:normal;
	color:#EEE;
	letter-spacing:1px;
}
.contentsSubTitle h3 {
	position: relative;
	overflow: hidden;
	font-size:24px;
	margin:60px 0 40px;
	padding-bottom: 5px;
}
.contentsSubTitle h3::before,
.contentsSubTitle h3::after{
	content: "";
	position: absolute;
	bottom: 0;
}
.contentsSubTitle h3:before{
	border-bottom: 3px solid #325A8C;
	width: 100%;
}
.contentsSubTitle h3:after{
	border-bottom: 3px solid #D8D8D8;
	width: 100%;
}
.contentsBox {
	margin-top:40px;
	margin-bottom:40px;
}
@media screen and (max-width : 767px) {
.contentsTitleBox {
	height:auto;
	padding:30px 0;
}
.contentsTitle {
	font-size:32px;
	width:100%;
	padding:0 20px;
}
.contentsTitle div {
	font-size:32px;
	letter-spacing:2px;
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:0;
}
.contentsTitle span {
	display:none;
}
}

/* index.html
------------------------------------------------------------ */
.indexTxt1 {
	font-size:25px;
	text-align:center;
	margin-top:60px;
}
.indexLineBg {
	padding:110px 0 115px;
	background:url(../images/index_line_bg.png) no-repeat scroll 50% 0% / cover;
}
.indexContentsTitle {
	margin:30px 0;
}
.indexVideosTxt {
	color:#FFF;
	text-align:center;
	margin-bottom:20px;
	padding:10px;
	background-color: #12294d;
}
.indexLinkList li {
	margin-bottom:20px;
}
@media screen and (max-width : 767px) {
.indexTxt1 {
	font-size:18px;
}
.indexLineBg img {
	margin-top:10px;
}
}

/* service.html
------------------------------------------------------------ */
.serviceTitleBox {
	background:url(../images/service/title_img.jpg) no-repeat top center;
	background-size:cover;
}
.serviceTxt1 strong {
	display:inline-block;
	font-size:32px;
	color:#12294d;
	text-align:center;
	width:100%;
	margin-bottom:20px;
}
.serviceBg1, .serviceBg2 {
	color:#FFF;
	height:100%;
	padding:30px;
}
.serviceBg1 strong, .serviceBg2 strong {
	display:inline-block;
	font-size:24px;
	width:100%;
	margin-bottom:20px;
	padding:10px 10px 6px;
	background:#12294d;
	border:1px dotted #FFF;
}
.serviceBg1 {
	background:#216595;
}
.serviceBg2 {
	background:#77aed5;
}
@media screen and (max-width : 767px) {
.serviceTitleBox {
	background-size:100% auto;
}
.serviceBg1, .serviceBg2 {
	padding:10px;
}
.serviceBg1 strong, .serviceBg2 strong {
	font-size:21px;
}
}

/* works.html
------------------------------------------------------------ */
.worksTitleBox {
	background:url(../images/works/title_img.jpg) no-repeat top center;
}
.worksList .matchHeight {
	margin-bottom:30px;
}
.listCategoryTitle {
	font-size:32px;
	text-align:center;
	margin-bottom:60px;
	padding-bottom:10px;
	border-bottom:2px dotted #CCC;
}
.listEntryTitle {
	color:#FFF;
	padding:10px;
	background:#12294d;
}
.more a {
	display:inline-block;
	color:#12294d;
	text-align:center;
	width:100%;
	padding:10px;
	border:1px solid #77aed5;
}
.more a:hover {
	color:#FFF;
	text-decoration:none;
	padding:10px;
	background:#77aed5;
}
.paging {
	text-align:center;
	margin:120px 0 0;
}
.paging span a {
	display:inline-block;
    color:#999;
    background-color:#FFF;
    border:solid 1px #999;
    padding: 8px 15px;
    margin:0 2px;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}
.paging span a:hover{
    color:#FFF;
	text-decoration:none;
    background-color:#77aed5;
    border-color:#77aed5;
    }
.paging span.current{
    color:#FFF;
    background-color:#12294d;
    border:solid 1px #12294d;
    padding: 8px 15px;
    margin:0 2px;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}
.worksCategoryWrap {
	margin-top:60px;
	padding:40px 0;
	background:#77aed5;
}
.worksTxt1 {
	font-size:32px;
	font-weight:bold;
	text-align:center;
	margin-bottom:20px;
}
.worksCategory li a {
	float:left;
	display:inline-block;
	color:#FFF;
	text-align:center;
	width:calc(100% / 3);
	margin-bottom:10px;
	padding:20px;
	border-left:1px solid #FFF;
}
.worksCategory li:nth-child(3n) a {
	border-right:1px solid #FFF;
}
.worksCategory li a:hover {
	text-decoration:none;
	background:#12294d;
}
.sp-slide-cap {
	color:#FFF;
	text-align:center;
	margin-bottom:20px;
	padding:10px 20px;
	background:#12294d;
}
.entryImg {
	display:flex;
	justify-content:center;
}
.sp-layer {
	font-size:14px;
}
@media screen and (max-width : 767px) {
.sp-layer {
	font-size:12px;
}
}

@media screen and (max-width : 767px) {
.worksTitleBox {
	background-size:100% auto;
}
.listCategoryTitle {
	font-size:21px;
}
.worksCategory li:first-child a {
	border-top:1px solid #FFF;
}
.worksCategory li a {
	float:none;
	width:100%;
	margin:0;
	border:none;
	border-bottom:1px solid #FFF;
}
.worksCategory li:nth-child(3n) a {
	border-right:none;
}
}
/* entry */
.entryTitle {
	font-size:32px;
	text-align:center;
	margin-bottom:60px;
	padding-bottom:10px;
	border-bottom:2px dotted #77aed5;
}
.entryTxt {
	margin-top:60px;
	padding:40px;
	border:1px solid #CCC;

}
@media screen and (max-width : 767px) {
.entryTitle {
	font-size:21px;
}
.entryTxt {
	padding:10px;

}
}

/* company.html
------------------------------------------------------------ */
.companyTitleBox {
	background:url(../images/company/title_img.jpg) no-repeat top center;
}
.companyTable {
	width:100%;
}
.companyTable th, .companyTable td {
	padding:10px;
	border:2px solid #77aed5;
}
.companyTable th {
	color:#FFF;
	padding:10px;
	background:#77aed5;
	border-bottom:2px solid #FFF;
}
.companyTable tr:last-child th {
	border-bottom:2px solid #77aed5
}
.companyImgTxt {
	color:#FFF;
	margin-bottom:20px;
	padding:10px;
	background:#12294d;
}
@media screen and (max-width : 767px) {
.companyTitleBox {
	background-size:100% auto;
}
.companyTable th, .companyTable td {
	display:block;
	width:100%;
}
.companyTable th {
	border-bottom:none;
}
.companyTable td {
	font-size:14px;
}
}

/* contact.html
------------------------------------------------------------ */
.contactTitleBox {
	background:url(../images/contact/title_img.jpg) no-repeat top center;
}
.contactTel {
	margin-top:40px;
}
.contactTelLeft, .contactTelRight {
	display: flex;
	justify-content: center;
	align-items: center;
	color:#FFF;
	height:100%;
	padding:20px;
}
.contactTelLeft {
	font-size:24px;
	line-height:1.3;
	background:#77aed5;
}
.contactTelRight {
	font-size:32px;
	font-weight:bold;
	line-height:1.2;
	background:#12294d;
}
.contactTelRight div div {
	font-size:18px;
	font-weight:normal;
	margin-left:-0.5em;
}
.contactTelRight a {
	color:#FFF;
}

/* contact table */
.contactTable {
	width: 100%;
	margin: 40px 0 80px;
}
.contactTable th, .contactTable td {
	padding: 20px 10px;
}
.contactTable th {
	color: #333;
	text-align: left;
	vertical-align: top;
	width: 300px;
	background: #F9F9F9;
	border-bottom: 2px solid #FFF;
}
.contactTable th span {
	float: right;
}
span.required {
	color: #FFF;
	padding: 1px 6px;
	background: #c60000;
	border-radius: 5px;
}
span.any {
	color: #FFF;
	padding: 1px 6px;
	background: #00599B;
	border-radius: 5px;
}
.contactTable td {
	border-bottom: 2px solid #EEE;
}
.contactTable td.bd-none {
	border-bottom: none;
}
.contactTable td div {
	display: inline-block;
}
.contactTable label {
	font-weight: normal;
}
.contactTable input[type="text"], .contactTable textarea {
	padding: 6px 10px;
}
.contactTable input[type="radio"] {
	margin:-4px 4px 0 0;
}
.contactForm input[type="submit"] {
	font-size: 18px;
	color: #333;
	margin: 40px 0;
	padding: 10px 40px 6px;
	background: #FFF;
	border: 2px solid #CCC;
	border-radius: 10px;
}
.contactForm input[type="submit"]:hover {
	color: #FFF;
	background: #77aed5;
	border: 2px solid #77aed5;
}
.privacy-chack {
	text-align: center;
	margin: 40px 0;
}
label, input[type='checkbox'] {
	cursor: pointer;
}
.scrollBox {
	width:100%;
	height:300px;
	padding:10px;
	overflow:auto;
	border:1px solid #CCC;
}
.scrollBox strong {
	display:inline-block;
	font-size:16px;
	font-weight:bold;
	margin:40px 0 10px;
}
.scrollBox ul li {
	list-style-type:decimal;
	margin-left:30px;
}
@media (max-width: 767px) {
.contactTitleBox {
	background-size:100% auto;
}
.contact .time {
	font-size:14px;
}
.contactTable th, .contactTable td {
	display:block;
}
.contactTable th {
	width: 100%;
}
.contactTable input[type="text"] {
	width:100%;
}
}


.m0a{ margin:0 auto !important;}

@media (max-width: 767px) {
.mb20-xs10{margin-bottom:10px;}
}
.mb20-xs10{margin-bottom:20px;}





/*item
---------------------*/
.item {
    width: 100%;
    text-align: center;
    display: table;
    table-layout: fixed;
}

.item div {
    display: table-cell;
    width: 100%;
    height: 259px;
    text-align: center;
    vertical-align: middle;
    background: #ededed;
}

.item div img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    display: inline;
}

@media (min-width: 768px) {
    .item div {
        height: 180px;
    }
}

@media (min-width: 992px) {
    .item div {
        height: 270px;
    }
}


/* 20221003 */
.flexBox {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.slicknav_nav a.igIcon:hover {
		background: none!important;
}
.igIcon img {
	width: 40px;
}
.footerIg {
	margin-left: 20px;
}
.pc {display: block!important;}
.sp {display: none!important;}
@media (max-width: 1170px) {
	.flexBox {
		display: flex;
		justify-content: center;
	}
	.flexBox02 {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.navIgText {margin: 0 0 0 5px;}
	.footerIg {
		margin-top: 20px;
	}
	.igIcon img {
		margin-right: 10px;
	}
	.pc {display: none!important;}
	.sp {display: block!important;}
}
@media (max-width: 768px) {
	.footerIg {
		display: block;
		width: 100%;
	}
}
video {
	width: 100%;
}
