@charset "utf-8";

body{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

h2 {
  font-size: 150%;
  font-weight: 700;
  margin-bottom: 40px;
}

h3 {
  font-size: 140%;
  font-weight: 700;
}

.label {
  padding-top: .3em;
}

a {
  color: #333;
}

a:hover {
  opacity: 0.6;
  text-decoration: none;
}

.breadcrumb {
  background: #f0f0f0;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 30px;
}

header.row {
  background: #fff;
  padding: 15px;
}

.navbar {
  margin-bottom: 0;
}
.navbar p {
  margin-bottom: 0;
}
.navbar-default {
  background-color: inherit;
  border: none;
}

.logo img {
  height: 50px;
}

.navbar-brand {
  padding: 0;
  margin-right: 15px;
}

.navbar-brand p {
  font-size: 12px;
  text-align: center;
  color: #5a3108;
  margin: -18px 0 0 0;
}

.navbar-default .navbar-nav > li > a {
  color: #444;
}

.navbar-default .navbar-nav > li.regist > a {
  background-color: #267fd9;
  border-color: #267fd9;
  color: #fff;
  padding: 7px 18px;
  border-radius: 30px;
}

.navbar-default .navbar-nav > li.regist > a:focus,
.navbar-default .navbar-nav > li.regist > a:hover {
  background-color: #267fd9;
  color: #fff;
}

.navbar-default .navbar-nav > li.login {
  margin-left: 15px;
}

.navbar-default .navbar-nav > li.login > a {
  background-color: #f66f3a;
  border-color: #f66f3a;
  color: #fff;
  padding: 7px 18px;
  border-radius: 30px;
}

.navbar-default .navbar-nav > li.login > a:focus,
.navbar-default .navbar-nav > li.login > a:hover {
  background-color: #f66f3a;
  color: #fff;
}

.navbar-collapse {
  margin-top: 7px;
}

.modal.large .modal-dialog {
  width: 800px;
}

.blur {
  filter: blur(6px);
}

.contents {
  background: #f0f0f0;
}

.main {
  padding-top: 40px;
  padding-bottom: 100px;
  margin: 0px auto 0px auto;
}

.main .nav {
  margin-bottom: 30px;
}

footer {
  background: #fff;
  text-align: center;
  padding: 30px 10px 0 10px;
  border-top: 1px solid #ddd;
}

footer .list-inline {
  font-size: 90%;
  margin-top: 10px;
  margin-bottom: 30px;
}

.form-group.submit-button {
  margin-top: 40px;
}

.form-control.input-conf {
  margin-top: 5px;
}

input[type="file"] {
  display: inline;
  margin-top: 7px;
  margin-bottom: 7px;
}

.upload .clearfix {
  margin-top: 5px;
}

.upload .clearfix .pull-left {
  width: 48%;
  height: 200px;
  margin-right: 5px;
  margin-bottom: 5px;
  background: #eee;
  position: relative;
}

.upload .clearfix .pull-left .glyphicon-remove-sign {
  position: absolute;
  top: 0;
  right: 0;
}

.upload .clearfix .pull-left .glyphicon-remove-sign:hover {
  font-size: 120%;
}

.upload img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.label-cols-2 label {
  width: 48%;
}

.label-cols-3 label {
  width: 32%;
}

.label-cols-4 label {
  width: 23%;
}

.label-cols-5 label {
  width: 19%;
}

.mt0 {
  margin-top: 0px;
}
.mb0 {
  margin-bottom: 0px;
}
.ml0 {
  margin-left: 0px;
}
.mr0 {
  margin-right: 0px;
}
.mt5 {
  margin-top: 5px;
}
.mb5 {
  margin-bottom: 5px;
}
.ml5 {
  margin-left: 5px;
}
.mr5 {
  margin-right: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mb10 {
  margin-bottom: 10px;
}
.ml10 {
  margin-left: 10px;
}
.mr10 {
  margin-right: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mb20 {
  margin-bottom: 20px;
}
.ml20 {
  margin-left: 20px;
}
.mr20 {
  margin-right: 20px;
}

.preview_nolink {
	pointer-events:none;
}

.box {
  background-color: #fff;
  box-shadow: 0 3px 5px 0 #c1c1c1;
  padding: 0 10px;
}

.box > h2 {
  color: #125ca2;
  padding: 20px 20px 15px 20px;
  border-bottom: 2px solid #125ca2;
  margin-top: 0px;
  margin-bottom: 20px;
}

.box-body {
  overflow: hidden;
  padding: 20px;
  color: #5a3108;
}

.ebox {
  margin-bottom: 20px;
}
.ebox img {
  display: block;
  max-width: 100%;
  height: auto;  
}

.main.top {
  padding-top: 0px;
  padding-bottom: 0px;
  width: 100%;
  margin: 0;
}

.main.top h2 {
  color: #125ca2;
  background: #fff;
  font-size: 16px;
  padding: 10px;
  border-bottom: 2px solid #125ca2;
  margin-top: 0px;
  margin-bottom: 20px;
}

#topCarousel .item img {
  width: 100%;
}

#topCarousel p{
  text-align: left;
  font-size: 20px;
  margin-bottom: 0;
}

#topCarousel p span{
  font-weight: bold;
}

#topCarousel .carousel-caption {
  width: 100%;
  height: 55%;
  padding: 20px 70px;
  left: 0;
  top: 45%;
  background-color: #575450;
  opacity: 0.7;
}

#topCarousel .carousel-indicators {
  display: none;
}

#topCarousel .carousel-control{
  top: 50%;
  width: 5%;
}

#topCarousel .carousel-control .glyphicon-chevron-right,
#topCarousel .carousel-control .glyphicon-chevron-left {
  font-size: 18px;
}

.mv {
  position: relative;
  margin-bottom: 20px;
}

.search {
  position: absolute;
  padding: 20px;
  background: #fff;
  border: 1px solid #ccc;
  margin-bottom: 30px;
  bottom: -5px;
  left: calc(50% - 350px);
  width: 700px;
  border-radius: 10px;
}

.search .form-group {
  padding-left: 15px;
  padding-right: 15px;
}

.search .checkbox {
  padding-left: 10px;
  padding-bottom: 10px;
}

.search label a {
  font-weight: 700;
}

.search .row:last-child .form-group {
  margin-bottom: 0px;
}

.search input[name=keyword] {
  width: calc(100% - 80px);
  margin-right: 20px;
}

.search .btn-primary {
  background-color: #f66f3a;
  border-color: #f66f3a;
  padding: 7px 14px;
  border-radius: 30px;
}

.pickup-contents {
  margin-right: 0;
  background-color: #fff;
  box-shadow: 0 3px 5px 0 #c1c1c1;
  padding: 0 10px;
  margin: 0 0 20px;
}

.pickup-contents .item-list .item {
  padding-right: 5px;
  padding-left: 5px;
}

.pickup-contents .item-list .thumbnail {
  border-bottom: unset;
  padding: 0;
  margin-bottom: 5px;
}

.pickup-contents .thumbnail .caption {
  padding-left: 0;
  padding-right: 0;
}

.pickup-contents .item-list .thumbnail .image {
  height: 150px;
}

.new-contents {
  margin-right: 0;
  background-color: #fff;
  box-shadow: 0 3px 5px 0 #c1c1c1;
  padding: 0 10px;
  margin: 0 0 20px;
}

.new-contents .item-list .item {
  padding-right: 5px;
  padding-left: 5px;
}

.new-contents .item-list .thumbnail {
  border-bottom: unset;
  padding: 0;
  margin-bottom: 5px;
}

.new-contents .thumbnail .caption {
  padding: 5px 0;
}

.new-contents .item-list .thumbnail .caption ul {
  margin-bottom: 5px;
}

.new-contents .item-list .thumbnail .caption .label {
  font-size: 10px;
}

.new-contents .item-list .thumbnail .caption h3 {
  margin: 4px 0;
  font-size: 14px;
  min-height: 14px;
  font-weight: normal;
}
.new-contents .item-list .thumbnail .caption .company {
  font-size: 12px;
}

.new-contents .item-list .thumbnail .image {
  height: 100px;
}

.information {
  margin-top: 0;
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 3px 5px 0 #c1c1c1;
}

.information-body {
  padding: 0 10px 10px 10px;
}

.information p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.article-body img {
  max-width: 100%;
  height: auto;
}

.list {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

.list .left .form-group .checkbox:first-child{
  margin-top: 0px;
}

.list .save-condition {
  padding-top: 20px;
}

.list .saved-condition {
  margin-bottom: 20px;
}

.list .right {
  padding-left: 20px;
}

.list p.total {
  margin-bottom: 20px;
}

.list p.total span {
  font-size: 120%;
  font-weight: 700;
}

.list .right .item-list {
  border-top: 2px solid #125ca2;
}

.item-list {
  margin-left: 0;
  margin-right: 0;
}

.item-list .item {
  padding-right: 0;
  padding-left: 0;
}

.item-list .thumbnail {
  margin-bottom: 0;
  border-top: unset;
  border-left: unset;
  border-right: unset;
  border-bottom: 1px dotted;
  padding: 10px 0;
}
.item-list a:last-child .thumbnail {
  border:none;
}

.item-list .thumbnail .image {
  height: 250px;
  padding: 0;
}

.item-list .thumbnail .image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item-list .thumbnail .caption h3 {
  font-size: 120%;
  margin-top: 10px;
}

.item-list .thumbnail .caption h3 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 18px;
}

.item-list .thumbnail .caption .intro {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
  margin-bottom: 5px;
}

.item-list .thumbnail .caption .label {
  font-size: 90%;
}

.item-list .thumbnail .caption .company {
  color: #a15205;
  margin: 0;
}

.item-list .thumbnail .caption > .row {
  margin: 0;
}

.item-list .thumbnail .caption dl {
  padding:0;
  margin-bottom: 10px;
}

.item-list .thumbnail .caption dt,
.item-list .thumbnail .caption dd {
  border-bottom: 1px solid #ddd;
  height: 35px;
  line-height: 35px;
  padding: 0;
}

.item-list .thumbnail .caption dt {
  font-weight: normal;
}

.item-list .thumbnail .caption dt::before {
  content: "●";
  color: #4f7bbf;
  padding: 0 5px 0 0;
  border: medium none;
}

.item-list .thumbnail .caption dd p {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 18px;
}

.main.detail {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

.main.detail .left .box-body {
  padding: 50px 40px;
}

.main.detail .company > span {
  padding: 5px;
  border: 1px solid #ddd;
  margin-left: 10px;
}

.main.detail h2 {
  font-size: 160%;
  color: #125ca2;
  padding: 0 0 8px 4px;
  margin-bottom: 20px;
  border-bottom: 2px solid #125ca2;
}

.main.detail .list-unstyled .label{
  font-size: 100%;
}

.main.detail .feature {
  margin-bottom: 40px;
}

.main.detail .message {
  font-size: 110%;
  margin-bottom: 30px;
}

.main.detail table th,
.main.detail table td {
  padding: 10px;
  border-top: unset;
  border-bottom: 1px solid #ddd;
}

.main.detail table th::before {
  content: "●";
  color: #4F7BBF;
  padding: 0px 5px;
  border: none;
}

.image-viewer {
  margin-bottom: 40px;
}

.image-viewer .full{
  width: calc(100% - 130px);
}

.image-viewer .full img {
  margin: auto;
  border: 1px solid #fff;
}

.image-viewer .thumb {
  width: 100px;
}

.image-viewer .thumb li {
  cursor: pointer;
  margin-bottom: 5px;
  border: 1px solid #fff;
  height: 80px;
}

.image-viewer .thumb li:hover {
  opacity: 0.6;
}

.image-viewer .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.my_page_menu {
  padding: 5px 10px;
}

.my_page_menu span {
  font-size: 40px;
  margin-top: 10px;
  margin-bottom: 20px;
}

.my_page_menu .panel,
.my_page_menu .panel > .panel-heading {
  border: unset;
  color: #fff;
  background: #267fd9;
  border-color: #267fd9;
}

.my_page_menu .panel > .panel-body {
  color: #fff;
}

.my_page_menu.customer .panel,
.my_page_menu.customer .panel > .panel-heading {
  background: #eb6e6e;
  border-color: #eb6e6e;
}

.my-contents-draft {
  margin-top: -20px;
  margin-bottom: 20px;
}

.my-contents.item-list > .row {
  margin-bottom: 15px;
}

.my-contents.item-list .item{
  padding-left: 15px;
  padding-right: 15px;
}

.my-contents.item-list .status {
  padding: 8px 12px;
  background: #f0f0f0;
  border-radius: 4px;
}
.my-contents.item-list .status label {
  font-size: 100%;
  margin: 0;
}
.my-contents.item-list .status p {
  margin: 0 0 0 10px;
}
.my-contents.item-list .status .btn {
  margin-left: 5px;
}

.my_message h3 {
  font-size: 12pt;
}

.sub-title {
  padding: 20px;
  border: solid #446799;
  margin-bottom: 20px;
}

.message-thread .panel {
  max-width: 90%;
  position: relative;
}

.message-thread .panel-heading .pull-left {
  margin-right: 10px;
}

.message-thread .panel::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  bottom: 10px;
}

.message-thread .panel::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  bottom: 10px;
}

.message-thread .panel.pull-left::before {
  left: -15px;
  border-right: 15px solid #ddd;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.message-thread .panel.pull-left:after {
  left: -12px;
  border-right: 15px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.message-thread .panel.pull-right::before {
  right: -15px;
  border-left: 15px solid #ddd;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.message-thread .panel.pull-right:after {
  right: -12px;
  border-left: 15px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.message-thread .panel.panel-info.pull-left::before,
.message-thread .panel.panel-info.pull-right::before {
  border-left-color: #bce8f1;
  border-right-color: #bce8f1;
}

.message-thread .panel.panel-success.pull-left::before,
.message-thread .panel.panel-success.pull-right::before {
  border-left-color: #d6e9c6;
  border-right-color: #d6e9c6;
}

.message-thread .panel.panel-warning.pull-left::before,
.message-thread .panel.panel-warning.pull-right::before {
  border-left-color: #faebcc;
  border-right-color: #faebcc;
}

.message-thread .panel.panel-danger.pull-left::before,
.message-thread .panel.panel-danger.pull-right::before {
  border-left-color: #ebccd1;
  border-right-color: #ebccd1;
}

.main h2:nth-of-type(n+2) {
  margin-top: 60px;
}

.contractor-top .btn {
  border-radius: 30px;
  background-color: #267fd9;
}

.contractor-top .mv {
  height: 30vw;
  max-height: 500px;
  background: url(../img/contractor_mv.jpg) 0 / cover;
  margin-bottom: 0;
}

.contractor-top .mv .box {
  width: 700px;
  margin: auto;
  position: relative;
  top: 28%;
  padding: 20px;
  text-align: center;
  box-shadow: 0 3px 5px 0 #888;
}

.contractor-top .obi {
  padding: 50px 0;
  color: #5a3108;
}

.contractor-top .obi:nth-of-type(odd) {
  background: #fff;
}

.contractor-top .obi-body {
  margin-bottom: 50px;
}

.contractor-top h1 {
  font-size: 2em;
  margin-bottom: 50px;
  margin-top: 0;
}

.contractor-top .box-body .icon {
  text-align: center;
  background-color: #267fd9;
  color: #fff;
  width: 100px;
  height: 100px;
  border-radius: 100px;
  font-size: 60px;
  margin: 0px auto 30px;
}

.contractor-top .box-body .icon > span {
  vertical-align: middle;
}

.contractor-top .box-body p {
  font-size: 110%;
}

.qa {
  border-bottom: 1px solid #ddd;  
}

.qa > a {
  display: block;
  padding: 20px;
  color: #5a3108;
  cursor: pointer;
  font-size: 120%;
}

.qa > p {
  display: none;
  padding: 10px 10px 10px 30px;
}

.resume .item-list .thumbnail .image {
  height: auto;
  padding-top: 40px;
}
.resume .item-list .thumbnail .image span {
  font-size: 100px;
}

@media (min-width: 993px) and (max-width: 1200px) { 
}

@media (min-width: 768px) and (max-width: 992px) { 
}

@media (max-width: 767px) {

  .label-cols-2 label {
    width: 100%;
  }

  .form-inline .input-sm-3 {
    display: inline-block;
    width: 25%;
    vertical-align: middle;
  }
  .form-inline .input-sm-2 {
    display: inline-block;
    width: 36%;
    vertical-align: middle;
  }
  
  .btn-sm-1 .btn {
    width: 80%;
    margin-bottom: 5px;
  }

  header.row {
    padding: 0px;
  }

  .modal.large .modal-dialog {
    width: auto;
  }
  
  .form-horizontal .form-group > .control-label > .label-danger.pull-left {
    margin-top: 2px;
    margin-right: 2px;
  }
  
  .contents {
    padding-bottom: 20px;
  }
  
  .main {
    padding: 15px;
    width: 100%;
  }
  
  .breadcrumb {
    margin-bottom: 10px;
  }
  
  .breadcrumb > li {
    display: inline;
  }
  
  .box-body {
    padding: 0 0 10px 0;
  }
  
  .main.top {
    padding-left: 0px;
    padding-right: 0px;
  }
  
  #topCarousel .carousel-caption {
    padding: 10px 20px;  
  }
  
  #topCarousel p{
    font-size: 100%;
  }

  .search {
    position: relative;
    top: 0;
    left: 0;
    margin: 15px;
    width: auto;
    padding: 10px;
    border-radius: 5px;
  }
  
  .label-cols-5 label {
    width: 32%;
  }
  
  .search .checkbox {
    padding: 0px;
  }
  
  .new-contents {
    margin-top: 0px;
  }
  
  .main.top h2 {
    margin-bottom: 10px;
  }
  
  .item-list .thumbnail .image {
    height: 60vw;
  }
  
  .information {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  .information dl {
    margin: 10px;
  }
  
  .open-search {
    margin-top: -20px;
    margin-bottom: 10px;
  }
  
  .list .left {
    display: none;
    border: unset;
    padding: 0 0 20px 0;
  }
  
  .list .right {
    padding-left: 0px;
    padding-right: 0px;
  }
  
  .list .right .image {
    width: 100%;
  }
  
  .list p.total {
    margin-bottom: 10px;
  }
  
  .main.detail {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  .main.detail .left {
    padding-left: 0px;
    padding-right: 0px;
    border-right: unset;
    margin-bottom: 20px;
  }
  
  .main.detail .box-body,
  .main.detail .left .box-body {
    padding: 10px 0;
  }
  
  .main.detail h2 {
    font-size: 130%;
  }
  
  .main.detail .feature {
    font-size: inherit;
    margin-bottom: 10px;
  }
  
  .main.detail .message {
    margin-bottom: 10px;
  }
  
  .main.detail table th,
  .main.detail table td {
    padding: 4px;
  }
  
  .main.detail table th::before {
    padding: 0px 4px 0px 0px;
  }

  .main.detail .right {
    padding-left: 15px;
  }
  
  .message-thread-bottom {
    margin-bottom: 10px;
  }
  
  .contents-status label.col-xs-6 {
    text-align: right;
    padding-top: 7px;
  }
  
  .image-viewer {
    margin-bottom: 0px;
  }
  
  .image-viewer .full {
    width: 100%;
  }
  
  .image-viewer .thumb {
    width: 100%;
  }
  
  .image-viewer .thumb {
    font-size: 0;
  }
  
  .image-viewer .thumb li {
    width: 60px;
    height: 40px;
    display: inline-block;
  }
  
  .main.preview {
    width: 100%;
  }
  
  footer {
    height: 18vw;
  }
  
  .contractor-top .mv {
    height: auto;
    max-height: unset;
    padding: 30px;
  }
  
  .contractor-top .mv .box {
    width: auto;
  }
  
  .contractor-top h1 {
    font-size: 1.5em;
    margin-bottom: 20px;
  }
  
  .my-contents.item-list .status {
    padding: 8px 20px;
  }
  
  .navbar-default .navbar-nav > li {
    margin-right: 5px;
  }
  .navbar-default .navbar-nav > li.regist {
    margin-bottom: 5px;
  }
}
