/* Common */
html, body {
  overflow-x: hidden;
  /*font-size: 62.5%;*/
  color: #221815;
  font-family: 'メイリオ', Meiryo, Osaka, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic',"Helvetica Neue", Helvetica, sans-serif;
	line-height: 1.6;
}
.kozuka {
  font-family: '小塚明朝 Pr6N', 'Kozuka Mincho Pr6N', "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  line-height: 1.6;
  font-weight: 700;
}
img {
  max-width: 100%;
  height: auto;
}
.sp {
  display: inline-block !important;
}
.visible-inline-block {
    display: inline-block;
}
#main {
  background: #fff;
  padding-bottom: 60px;
}

/* リンク設定 */
a.trans {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

a.trans:hover {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
}

a.trans img {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

a.trans:hover img {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
}


input[type="submit"],
button[type="submit"] {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=50)"; /* IE 8 */
	cursor: pointer;
}

/* flex */
.flex { display: flex;}
.flex-s-s { display: flex; align-items: flex-start; justify-content: flex-start;}
.flex-s-c { display: flex; align-items: flex-start; justify-content: center;}
.flex-s-e { display: flex; align-items: flex-start; justify-content: flex-end;}
.flex-s-sa { display: flex; align-items: flex-start; justify-content: space-around;}
.flex-st-sb { display: flex; align-items: stretch; justify-content: space-between;}
.flex-s-sb { display: flex; align-items: flex-start; justify-content: space-between;}
.flex-c-s { display: flex; align-items: center; justify-content: flex-start;}
.flex-c-c { display: flex; align-items: center; justify-content: center;}
.flex-c-e { display: flex; align-items: center; justify-content: flex-end;}
.flex-c-sa { display: flex; align-items: center; justify-content: space-around;}
.flex-c-sb { display: flex; align-items: center; justify-content: space-between;}
.flex-e-s { display: flex; align-items: flex-end; justify-content: flex-start;}
.flex-e-c { display: flex; align-items: flex-end; justify-content: center;}
.flex-e-e { display: flex; align-items: flex-end; justify-content: flex-end;}
.flex-e-sa { display: flex; align-items: flex-end; justify-content: space-around;}
.flex-e-sb { display: flex; align-items: flex-end; justify-content: space-between;}
.flex-col { flex-direction: column;}
.flex-wrap { flex-wrap: wrap;}
.flex-col-wrap { flex-flow: column wrap;}

/* text */
h2.kozuka, h3.kozuka {
  color: #052A78;
}
.jumbotron .kozuka {
  border-bottom: 2px solid #052A78;
  line-height: 1.2;
  padding: 0 0 10px;
}
.strong {
  color: #052A78;
  font-weight: bold;
}
.lead small {
  font-size: 0.9em;
  color: #221815;
  font-weight: 700;
}
h2.kozuka small {
  color: #999;
}
#main h2.kozuka small, #main h3.kozuka small {
  margin-left: 10px;
  font-size: 0.8em;
}
#main h1 {
  font-size: 1.8rem;
  font-weight: 700;
}
#main h2 {
  font-size: 1.8rem;
  line-height: 1;
}
#main h3 {
  font-size: 1.6rem;
}
#main p {
  font-size: 1.4rem;
}
#main .jumbotron p {
  font-size: 1.4rem;
}



/* title */
#company h2, #contact h2, #contact02 h2 {
  background: url(../images/bg_title.png) left bottom no-repeat;
  padding: 15px 0 0 15px;
  margin-top: 0;
  margin-bottom: 20px;
}



/* Navber */
.navbar-default .navbar-toggle .icon-bar {
  background-color: #fff;
  margin-right: auto;
  margin-left: auto;
}
.navbar {
  position: fixed;
  width: 100%;
  z-index: 1002;
  min-height: 90px;
  background-color: #fff;
  font-size: 1.4rem;
  border: none;
   -webkit-box-shadow: 0px 1px 5px #ccc;
  box-shadow: 0px 1px 5px #ccc;
}
.navbar-header {
  width: 100px;
}
#sidebar-wrapper .nav > .active > a, #sidebar-wrapper .nav a:hover, #sidebar-wrapper .nav a:focus {
  color: #fff;
  background-color: #052A78;
}
#sidebar-wrapper .nav > .active > a {
  padding: 15px 40px;
}
.navbar-default .navbar-nav > .active > a > span, #sidebar-wrapper .nav a:hover > span, #sidebar-wrapper .nav a:focus > span {
  color: #00aae7;
}
.navbar-default .navbar-nav > li > a > span {
  display: block;
}
#sidebar-wrapper .nav > li > a, 
#sidebar-wrapper .nav a {
  color: #052A78;
  padding: 15px 30px;
  font-weight: bold;
}



/* ハンバーガーメニュー　ここから */
.navbar-toggle .icon-bar {
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
}
.navbar-toggle:not(.collapsed) .icon-bar:nth-child(2) {
   -webkit-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
      position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.navbar-toggle:not(.collapsed) .icon-bar:nth-child(3) {
  display: none;
}
.navbar-toggle:not(.collapsed) .icon-bar:nth-child(4) {
   -webkit-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
      position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

/* sp_Menu */
.bar {
    position: absolute;
    right: 4px;
    top: 14px;
  }
  .bar, .bar:before, .bar:after {
      -webkit-transition: all .25s;
      transition: all .25s;
      content: "";
      position: absolute;
      right: 0;
      height: 3px;
      width: 28px;
      background-color: #fff;
  }
  .bar span{
      position: absolute;
      bottom: -19px;
      font-size: 11px;
  }
  .bar {
    position: absolute;
    right: 4px;
    top: 14px;
  }
  .bar:before {
    top: -8px;
  }
  .navbar-toggle:not(.collapsed) .bar:before {
    top: 0;
  }
  .bar:after {
    top: 8px;
  }
  .navbar-toggle:not(.collapsed) .bar:before, .navbar-toggle:not(.collapsed) .bar:after {
    -webkit-transition: all .25s;
    transition: all .25s;
    top: -0px;
  }
  #menu-toggle .menu-collapsed {
      -webkit-transition: all .25s;
      transition: all .25s;
      /*position: absolute;*/
      /*top: -40px;*/
      /*bottom: 0;*/
      margin: auto;
      right: 0;
      height: 24px;
      width: 100%;
      z-index: 1;
      cursor: pointer;
  }
  #menu-toggle .bar {
    background-color: #fff;
    -webkit-transition: all .25s;
    transition: all .25s;
    top: 23px;
    right: 0;
    left: 0;
    margin: auto;
  }
  #menu-toggle.navbar-toggle:not(.collapsed) .bar:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #menu-toggle.navbar-toggle:not(.collapsed) .bar:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #menu-toggle.navbar-toggle:not(.collapsed) .bar span:nth-of-type(1) {
    -webkit-transform: translateY(16px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }
  #menu-toggle.navbar-toggle:not(.collapsed) .bar {
    background-color: transparent;
  }
  #menu-toggle.navbar-toggle:not(.collapsed) .bar span:nth-of-type(3) {
    -webkit-transform: translateY(-16px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
  }


/* Side Menu */
#sidebar-wrapper {
  z-index: 1000;
  position: fixed;
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  margin-right: -250px;
  overflow-y: auto;
  background: #222;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}
.sidebar-nav {
  position: absolute;
  top: 90px;
  width: 250px;
  margin: 0;
  padding: 0 15px;
  list-style: none;
  overflow-x: hidden;
  border: none;
}
.sidebar-nav li {
  /*text-indent: 20px;*/
  line-height: 40px;
  font-size: 12px;
}
.sidebar-nav li a {
  display: block;
  text-decoration: none;
  color: #999;
}
.sidebar-nav li a:hover {
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,0.2);
}
.sidebar-nav li a:active, .sidebar-nav li a:focus {
  text-decoration: none;
}
.sidebar-nav > .sidebar-brand {
  height: 55px;
  font-size: 18px;
  line-height: 55px;
}
.sidebar-nav > .sidebar-brand a {
  color: #999;
}
.sidebar-nav > .sidebar-brand a:hover {
  color: #fff;
  background: none;
}
#menu-toggle {
  z-index: 1001;
  position: fixed;
  top: 0;
  right: 0;
  background: #052A78;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  border: none;
  margin-top: 20px;
}
#sidebar-wrapper {
  background: #fff;
}
#sidebar-wrapper.active {
  right: 250px;
  width: 250px;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
  -webkit-box-shadow: 2px 0px 15px #333;
  box-shadow: 2px 0px 15px #333;
}
#sidebar-wrapper.active ul.nav {
  float: none !important;
  margin: 0;
}
.toggle {
  margin: 5px 5px 0 0;
}



/* header */
header {
    margin-top: 90px;
}
.mainVisual {
  min-height: 200px;
  padding-top: 100px;
  padding-bottom: 100px;
  background: url(../images/main.jpg) 50% 50% no-repeat;
  background-size: cover;
  margin-top: 90px;
  margin-bottom: 0;
}



/* #business */
.flex-item {
  margin-bottom: 20px;
}

/* about */
#about {
    /*padding-top: 90px;
    margin-top: -90px;*/
}



/* partners */
#partners {
  /*padding-top: 90px;
  margin-top: -90px;*/
}
#partners > .container {
  background: url(../images/bg_partners.png);
  border: 1px solid #ddd;
  padding: 15px;
}
#partners h2.kozuka {
  border-bottom: 2px solid #052A78;
  padding: 0 0 10px;
  position: relative;
  margin-bottom: 20px;
}
#partners h2.kozuka::after {
  content: "";
  display: inline-block;
  max-width: 250px;
  height: 2px;
  background: #00aae7;
  position: absolute;
  bottom: -2px;
  right: 0;
  left: 0;
  margin: auto;
}
#partners h2 + p.lead {
  margin-bottom: 40px;
}
#partners .flex-item .link {
  font-size: 2em;
  margin: 5px 0 0;
}


/* #company */
#company {
  /*padding-top: 90px;
  margin-top: -90px;*/
}
#company > .container {
  -webkit-box-shadow: 0 0 5px #ccc;
  box-shadow: 0 0 5px #ccc;
  margin-top: 30px;
  padding: 15px 30px;
}
#company .table {
  margin-bottom: 0;
}
#company .table th,
#company .table td {
  border-top: 1px dotted #ddd;
  font-size: 2em;
  padding: 20px;
}
#company .table tr:first-child th,
#company .table tr:first-child td {
  border-top: none;
}
#company .table th {
  width: 7em;
  white-space: nowrap;
  font-weight: normal;
  text-align: center;
}





/* contact */
#contact {
  /*padding-top: 90px;
  margin-top: -90px;*/
}
#contact > .container,
#contact02 > .container {
  -webkit-box-shadow: 0 0 5px #ccc;
  box-shadow: 0 0 5px #ccc;
  margin-top: 20px;
  padding: 15px 30px;
}


#contact h3.kozuka {
  font-size: 1.4rem;
  border-bottom: 2px solid #052A78;
  line-height: 1.2;
  padding: 0 0 10px;
  position: relative;
  margin-bottom: 20px;
}
#contact h3.kozuka::after {
  content: "";
  display: inline-block;
  width: 160px;
  height: 2px;
  background: #00aae7;
  position: absolute;
  bottom: -2px;
  left: 0;
}
.bnr_contact {
  display: inline-block;
  margin: 10px 0 20px;
}

/* Form */
#contact label {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 2em;
}
#contact .form-group {
  margin-bottom: 20px;
}
#contact .list-inline {
    margin-top: 10px;
}
#contact .list-inline li {
  font-size: 2em;
  margin: 0 0 5px;
}
#contact .list-inline li input {
  margin: 0 5px 0 0;
}
#contact .list-inline li label {
  font-size: 14px;
	margin: 0 0 0 0;
}

span.required {
  background: #d70000;
  padding: 5px;
  color: #fff;
  border-radius: 3px;
  margin-right: 5px;
  font-weight: normal;
}
#feedbackSubmit {
  padding: 0;
  background: none;
  border: none;
  margin: auto;
  display: table;
}
.form-wrap {
  padding: 0 0 15px;
}
.coution {
  border-top: 1px dotted #ccc;
  font-size: 2em;
  padding-top: 30px;
  margin-top: 30px;
}
.coution ul {
  padding-left: 30px;
}
.coution ul li {
  margin-bottom: 10px;
}
.policy-wrap {
  font-size: 2em;
  height: 200px;
  overflow-y: scroll;
  border: 1px solid  #ccc;
  padding: 15px;
}
.policy-wrap h4 {
  font-weight: bold;
}
.policy-wrap section {
  border-bottom: 1px dotted #ccc;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

/* FOOTER */
footer {
  background: #052A78;
  padding: 30px 0 10px;
}
footer p {
  color: #fff;
  font-weight: normal;
  font-size: 2em;
}
#pagetop {
  display: block;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
}

/*-------------------------------------------------------------------------

お問い合わせ完了画面

--------------------------------------------------------------------------*/
.thanks-page {
	display: flex;
	align-items: center;
	min-height: 100vh;
	flex-direction: column;
}

.thanks-page #main {
	margin-top: 120px;
	flex-grow: 1;
}

.thanks-page #main #contact {
	
}

.thanks-page footer {
	display: flex;
	justify-content: space-around;
	width: 100%;
}

/* close css */
.close #main {
	padding-bottom: 0;
	background-color: #FFFFFF;
}
.close #main .container {
	width: 100%;
	height: 100vh;
}
.close #main .container .close-message {
	text-align: center;
	padding: 20px;
}
.close #main .container .close-message h1 {
	margin-bottom: 26px;
}
.close #main .container .close-message dt {
	font-size: 110%;
}
.close #main .container .close-message dd {
	font-size: 95%;
}

/*-------------------------------------------------------------------------

モバイル用css

--------------------------------------------------------------------------*/
@media (max-width:767px) {
.md {
  display: none !important;
}
.navbar-brand {
  /*padding: 10px;*/
  display: block;
  max-width: 100%;
  margin-top: 5px;
}
#sidebar-wrapper .nav > li > a,
#sidebar-wrapper .nav a {
  border-bottom: 1px solid #052A78;
}
#sidebar-wrapper .nav > li:first-child > a {
  border-top: 1px solid #052A78;
}
#company > .container,
#contact > .container,
#contact02 > .container {
  width: 90%;
  padding: 15px;
}
#company .col-sm-6 + .col-sm-6 .table tr:first-child th, 
#company .col-sm-6 + .col-sm-6 .table tr:first-child td {
    border-top: 1px dotted #ccc;
}
  

  
  
}/* End */


/*-------------------------------------------------------------------------

デスクトップ用css

--------------------------------------------------------------------------*/
@media (min-width:768px) {
.sp {
  display: none !important;
}
h2 {
  font-size: 3rem;
}
.sidebar-nav {
  position: absolute;
  top: 0;
}
.navbar {
  position: fixed;
  min-height: 90px;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  width: 100%;
  background: #fff;
}
.navbar-nav > li > a {
  line-height: 1.4;
}
#sidebar-wrapper {
  position: static;
  margin-right: 0;
  width: calc(100% - 108px);
  float: right;
}
#bs-example-navbar-collapse-1 {
  position: static;
  width: 100%;
  margin: 15px 0;
  padding: 0;
}
  
  
  
  
/* HEADER */
/* mainVisual */
.mainVisual {
  min-height: 500px;
  padding-top: 100px;
  margin-top: 0;
  padding-bottom: 100px;
  background: url(../images/main.jpg) 50% 50% no-repeat;
}
  
  
  
/* #business */
.flex-item {
  margin-bottom: 20px;
}
  
  
  
/* partners */


/* #company */


/* contact */
.form-group {
  display: flex;
}
.form-group label {
  min-width: 13em;
}
}/* End */



@media (min-width:768px) {
  
  .navbar-default .navbar-nav > li {
  border-right: 1px solid #052A78;
}
.navbar-default .navbar-nav > li:first-child {
  border-left: 1px solid #052A78;
}
#main h1 {
		font-size: 3rem;
		line-height: 1.3;
		font-weight: 700;
		margin-bottom: 45px;
    letter-spacing: 0.1em
}
  #main h2 {
      font-size: 2rem;
      line-height: 1;
}
  #main h3 {
      font-size: 2.4rem;
}
  #main p.kozuka.lead {
      font-size: 3.4em;
      font-weight: 700;
      margin: 10px 0 45px;
}
  #contact h3.kozuka {
    font-size: 1.8rem;
}
}/* End */

/* タブレット用 テキスト修正 */
@media (min-width:768px) and (max-width: 1200px) {
	 #main #about p.kozuka.lead {
     font-size: 3em;
		 padding-right: 0;
		 padding-left: 0;
	}
}
/* ipad 用テキスト修正 */
@media (min-width:767px) and (max-width:768px) {
   #main #about p.kozuka.lead {
     font-size: 2.2em;
		 padding-right: 0;
		 padding-left: 0;
	}
	#main #about h3 {
  	font-size: 1.8rem;
	}
	#main #about p {
  	/*font-size: 1.4rem;*/
	}
	#main #about h1 {
		font-size: 2.8rem;
	}
	br.tab {
		display: none;
	}
}

@media (max-width:991px) {
#sidebar-wrapper .nav > li > a, 
#sidebar-wrapper .nav a {
  padding: 15px;
}
#sidebar-wrapper .nav > .active > a {
    padding: 15px;
}
  
}/* End */

@media (max-width:767px) {
  .navbar-header {
    /*width: 96px;*/
  }
  
  body.open {
      overflow: hidden;
  }
  /*
  body.open::before {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      background: rgba(0,0,0,0.5);
      position: fixed;
      z-index: 999;
  }
  */
  body.open nav.navbar::before {
      content: "";
      width: 100%;
      height: 90px;
      display: block;
      background: rgba(0,0,0,0.5);
      position: fixed;
      z-index: 999;
  }
  body.open .navbar {
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  
  
  
  body.open #fadeLayer {
  position:fixed;
  top:0px;
  left:0px;
  width:100%;
  height:100%;
  background-color:#000000;
  opacity:0.5;
  /*visibility:hidden;*/
  z-index:1;
}

}/* End */