@charset "UTF-8";

br.spon{
	display: none;
}
br.pcon{
	display: inline;
}

.detail_content {
  margin-bottom:50px;
  font-size:16px;
}
.detail_content .inner {
  padding:0 40px;
  box-sizing:border-box;
  margin:0 auto;
}
.detail_img {
    position: relative;
    width: 100%;
    height: 320px;
    display: inline-block;
    overflow: hidden;
}
.detail_img.img_dot:after {
  content:"";
  width:100%;
  display:block;
  background:url(../../images/kv_dot.png) ;
  height:320px;
  position:absolute;
  top: 0;
  z-index:1;
  background-color: rgba(000,000,000,0.4);
}
.detail_img img {
    max-width: 100%;
    width: 100%;
    height: 320px;
    position: absolute;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
.detail_img .detail_txt {
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  text-align:center;
  z-index:2;
  width:100%;
}
.detail_txt .ttl {
     font-size: 70px;
     margin-bottom:10px;
    color:#fff;
    font-style: italic;
    word-break: break-word;
}
.detail_txt .txt {
    color:#fff;
    font-size:18px;
}
.breadcrumb_wrap {
  background:none;
  border-bottom:1px solid #C1C1C1;
  margin-bottom:50px;
}
.breadcrumb_wrap .breadcrumb {
  margin-bottom:0;
}
.breadcrumb > li + li:before {
  content: "＞";
  color:#333;
}

.bnlist > div {
  display:table;

}
.bnlist > div > p {
  display:table-cell;
  vertical-align:middle;
  border:1px solid #ccc;
  font-size:18px;
}
.bnlist > div > p.img {
  width:40%;
}
.bnlist > div > p.img img {
  width:100%;
}
.bnlist > div > p.txt {
  width:60%;
  text-align:left ;
  padding:0 15px;
}

.head .ttl {
  font-size: 50px;
  font-weight:500;
  margin-bottom:5px;
  word-break: break-word;
}
.head .ttl.eng {
  font-size: 72px;
  font-weight:normal;
  margin-bottom:5px;
  line-height: 1;
  word-break: break-word; 
}
.head .leed {
  margin-top: 1.6rem;
  font-size: 18px;
  font-weight:bold;
}
.head .ttl_02 {
  font-size: 32px;
  font-weight:bold;
}
.head .ttl_03 {
  font-size: 28px;
  font-weight:bold;
}
.head .ttl_04 {
  font-size: 20px;
}
.head .ttl_05 {
  font-size: 40px;
	font-weight: bold;
}
.img_layout_01 {
  position:relative;
}
.img_layout_01 img {
  width:100%;
}
.img_layout_02 img {
  width:100%;
}
.img_layout_01 .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    text-align: center;
}
.img_layout_01 .txt .ttl {
  font-size:70px;
}
.img_layout_01 .txt .reed {
  font-size:20px;
}
.layout_01 .row .col-xs-3 .img {
  margin-bottom:10px;
}
.layout_01 .row .col-xs-3 .img img {
  width:100%;
}
.layout_01 .row .col-xs-3 .txt {
  font-size:14px;
  padding:0 10px;
  margin-bottom:5px;
}
.layout_01 .row .col-xs-3 .txt_name {
  font-size:18px;
  padding:0 10px;
  font-weight:bold;
}
.layout_02 {
  padding:0 20px;
}
.layout_02 .row .col-xs-4,
.layout_02 .row .col-xs-6 {
  padding:0 15px;
}
.layout_02 .row .col-xs-4 .img,
.layout_02 .row .col-xs-6 .img {
  margin-bottom:10px;
}
.layout_02 .row .col-xs-4 .img img,
.layout_02 .row .col-xs-6 .img img {
  width:100%;
}
.layout_02 .row .col-xs-4 .txt,
.layout_02 .row .col-xs-6 .txt {
  font-size:24px;
  font-weight:bold;
  margin-bottom:15px;
}
.layout_02 .row .col-xs-4 .txt_name,
.layout_02 .row .col-xs-6 .txt_name {
  font-size:14px;
  margin-bottom:20px;
}
.detail_content .table_01 {
  width:100%;
}
.detail_content .table_01 th {
  background:#e9ecef;
  font-weight:bold;
  padding:15px 20px;
  width:20%;
  border-bottom: 1px solid #ddd;
}
.detail_content .table_01 td {
  padding:15px 20px;
  width:80%;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.detail_content .table_02 {
  width:100%;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;

}
.detail_content .table_02 th {
  background:#e9ecef;
  font-weight:bold;
  padding:15px 20px;
  width:50%;
  border-right:solid #ddd 1px;
}
.detail_content .table_02 td {
  padding:15px 20px;
  width:50%;
  border-right:solid #ddd 1px;
}
.detail_content .table_02 .table_bg th,
.detail_content .table_02 .table_bg td {
background:#c9edff;
}
.qa_box {
  font-size:16px;
}
.qa_box dt {
  margin-bottom:5px;
  position:relative;
  padding-left:25px;
}
.qa_box dt:after {
  content:"Q.";
  display:block;
  position:absolute;
  left:0;
  top:-4px;
  font-size:20px;
}
.qa_box dd {
  margin-bottom:20px;
  text-indent:1rem;
  padding-left:25px;
  position:relative;
}
.qa_box dd:after {
  content:"A.";
  display:block;
  position:absolute;
  left:0;
  top:-4px;
  font-size:20px;
}

.detail_content .table_03 {
  font-size: 14px;	
  width:100%;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
.detail_content .table_03 th {
  background:#e9ecef;
  padding:15px 20px;
  width:20%;
  border-right:solid #ddd 1px;
}
.detail_content .table_03 td {
  padding:15px 20px;
  width:80%;
  border-right:solid #ddd 1px;
}
.detail_content .table_03 .table_bg th,
.detail_content .table_03 .table_bg td {
  background:#c9edff;
}
.detail_content .address{
  padding:0 100px;
}
.detail_content .address .img > img{
  width:100%;
}
.detail_content .traffic_guide li{
  list-style-type: disc;
  list-style-position: inside;
}
.detail_content .layout_03 {
  position:relative;
  margin:0;
}
.detail_content .layout_03 .right_img {
  position:absolute;
  right:0;
  padding:0;
}
.detail_content .layout_03 .left_img {
  position:absolute;
  left:0;
  padding:0;
}
.detail_content .layout_03 .txt_box {
  padding:0 40px;
}
.detail_content .layout_03 .left_img +.txt_box {
  float:right;
}
.detail_content .layout_03 .head{
	margin-bottom: 10px;
}
.detail_content .layout_03 p.img img{
  width: 100%;

}

#security .inner_02 .layout_03 {
  margin-top: 32px;
}

.box_bg {
  background:#f2f2f3;
  padding:60px 15px;
}
.box_bg_none {
  background: #fff;
  padding: 60px 0;
}
.txt_c {
  width:720px;
  margin:0 auto;
}
.box_opacity {
background: rgba(255,255,255,0.6);
color:#000;
padding:20px 40px;
}
#about .box_opacity {
    margin-left: -140px;
    margin-top: 60px;
    line-height:2em;
    font-weight:bold;
}
#about .box_opacity .name {
  text-align:right ;
  margin-top:50px;
}
#about .img_layout_03 {
  display:flex;
    overflow:hidden;
}
#about .img_layout_03 > div{
  width:45%;
}
#about .img_layout_03 > .img{
  width:55%;
}
#about .img_layout_03 .txt {
  position:relative;
  background:#fff;
  z-index:1;
  display: flex;
    justify-content: center;
    align-items: center;
}
#about .img_layout_03 .txt .name_01 {
  font-size:28px;
  line-height: 1em;
  letter-spacing:2px;
}
#about .img_layout_03 .txt .name_01 span  {
  font-size:16px;
  letter-spacing:1px;
}
/*#about .img_layout_03 .txt.left:before {
    position: absolute;
    content: "";
    display: block;
    width: 100px;
    height: 105%;
  background:#fff;
    transform: skew(-13deg, 2deg);
    left: -55px;
    top: 1px;
    z-index: -1;
}

#about .img_layout_03 .txt.right:before {
    position: absolute;
    content: "";
    display: block;
    width: 150px;
    height: 105%;
  background:#fff;
    transform: skew(13deg, 1deg);
    right: -87px;
    top: -2px;
    z-index: -1;
}*/
#about .img_layout_03 .txt .btn_radius {
  margin-left:50px;
  margin-top:20px;
}
#about .txt_c.principles{
  padding-left: 4rem;
	line-height: 1.5em;
}
#about .txt_c.principles > p{
  position: relative;
	margin-bottom: 0.5em;
}
#about .txt_c.principles > p::after{
  position: absolute;
  content: "１．";
  top: 0;
  left: -30px;
  font-size: 1em;
}
#about #officer {
  background:#f2f2f3;
}
.detail_content .inner_02 {
  width:1080px;
  margin:0 auto;
  padding:0 20px;
  line-height:2;
}

.diagonally_left{
	clip-path :polygon(0 0, 100% 0%, 92% 100%, 0% 100%);
}
.diagonally_right{
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 8% 100%);
}


@media screen and (max-width: 767px) {
br.spon{
	display: inline;
}
br.pcon{
	display: none;
}

.detail_content .inner {
  width:100%;
  padding:0 15px;
  box-sizing:border-box;
}
.detail_content .inner_02 {
  width:100%;
  margin:0 auto;
  padding:0 15px;
  box-sizing:border-box;
}
.detail_content .table_01 th {
  display:block;
  width:100%;
}
.detail_content .table_01 td {
  display:block;
  width:100%;
}
.detail_img {
  margin-bottom:40px;
}
.detail_content .detail_txt .ttl {
  font-size:10vw;

}

.bnlist > div {
  margin-bottom:20px;
  width:100%;
}
.detail_txt .ttl {
  font-size:9vw;
}
.head .ttl {
  font-size: 8vw;
  margin-bottom:5px;
    word-break: break-word;
}
.head .ttl.eng {
  font-size: 10vw;
  margin-bottom:5px;
    word-break: break-word;
}
.head .ttl_02 {
  font-size: 6vw;
    word-break: break-word;
}
.head .ttl_03 {
  font-size: 4.5vw;
}
.head .ttl_05 {
  font-size: 8vw;
}
.img_layout_01 .txt .ttl {
  font-size:7vw;
    word-break: break-word;
}
.img_layout_01 .txt .txt {
  font-size:4vw;
    word-break: break-word;
}
.layout_01 .row {
  padding:0 5px;
}
.layout_01 .row .col-xs-3 {
  width:50%;
  margin-bottom:20px;
  padding:0 10px;
}
.layout_02 {
  padding:0 15px;
}
.layout_02 .row .col-xs-4,
.layout_02 .row .col-xs-6 {
  width:100%;
  display:block;
  margin-bottom:30px;
  padding:0;
}
.layout_02 .row .col-xs-4 .img,
.layout_02 .row .col-xs-6 .img {
  width:100%;
  margin-bottom:0;
}
.messe_box > div{
  width:100%;
  margin-bottom:20px;
}
.detail_content .table_03 th {
  width: 35%;
}
.detail_content .table_03 td {
  width: 65%;
}
.detail_content .address{
  padding:0;
}
.detail_content .address > div:nth-child(2){
  padding-left:0;
}
.detail_content .layout_03 p.txt{
  margin-bottom: 20px;
}
.detail_content .layout_03 {
  height:auto !important;
}
.detail_content .layout_03 .txt_box {
  padding:0 20px;
  width:100%;
}
.detail_content .layout_03 .right_img {
  position:inherit;
  width:100%;
  padding:0 20px;
}
.detail_content .layout_03 .left_img {
  position:inherit;
  width:100%;
  padding:0 20px;
  margin-bottom:20px;
}
.detail_content .layout_03 .left_img +.txt_box {
  float:none;
}
#about .img_layout_03 .txt {
  flex-flow: column;
  padding:4vw 0;
  text-align:center;
}
#about .box_opacity {
  margin:0;
}
#about .img_layout_03 .txt .name_01 {
  font-size:5vw;
  margin-bottom:10px;


}
#about .img_layout_03 .txt .name_01 span {
  font-size:2.7vw;
}
#about .img_layout_03 .txt .btn_radius {
  margin-top:10px;
  margin-left:0;
}
.box_opacity {
  padding:10px;
  background:none;
}
#about .img_layout_03 > .img img {
  width:115%;
}
#about .img_layout_03.left > .img img {
      position: relative;
    left: -30px;
}
#about .img_layout_03 .txt.left:before {
  left:-20px;
}
#about .img_layout_03 .txt.right:before {
  right:-40px;
}
#about .img_layout_03 > .img {
  width:70%;
}

#about #officer .head {
  padding: 0 15px;
}

#about .txt_c.principles{
  padding-left: 2rem;
}

#security .isms{
	text-align: center;
}
.txt_c {
  width:100%;
}

.breadcrumb_wrap {
display:none;

}
/*リンクなしの役員紹介のマージン調整用*/
.mb-25{
margin-bottom: 25px !important;	
	}

}

.detail_content .table_01 .officer-name {
  margin-left: 1.5px;
  padding: 10px;
  display: block;
  width: 120px;
  background-color: #fff; 
  border: none;
  border-bottom: dashed 1px #959595;
}

@media (max-width: 767px) {
  .detail_content .table_01 .officer-name {
    width: 100px;
  }
}

.detail_content .table_01 .officer-role {
  margin-left: 1.5px;
  padding: 10px;
  display: block;
  width: calc(100% - 103px);
  border: none;
  border-bottom: dashed 1px #959595;
}

@media (max-width: 767px) {
  .detail_content .table_01 .officer-role {
    width: calc(100% -102px);
  }
}

#officer .table_01 tr {
  display: flex;
}

@media (max-width: 767px) {
  #officer .table_01 tr {
    flex-wrap: wrap;
  }
  #officer .table_01 th {
    width: 100%;
  }
}