.top-head-wrapper{
  position: relative;
  height:300px;
  background: #3C689B;
}

.top-head-container{
  position: relative;
  padding:17px 50px 0 50px;
  margin-left:auto;
  margin-right:auto;
  max-width:1200px;
  height:283px;
}

.top-head-img-0{
  position: absolute;
  top:0;
  right:120px;
  height:300px;
  width:336px;
  background-image: url("../images/07bicycle.png");
  background-size:336px 480px;
  background-position: 0px 36%;
  background-repeat: no-repeat;
  opacity: 0.3;
}

.top-head-text{
  position: absolute;
  top:calc(50% - 31px);
  left:0px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  font-size: 35px;
  line-height:62px;
  color:#FFF;
}

.top-head-img{
  position: absolute;
  top:33px;
  right:0px;
  width:213px;
}

.top-head-img img{
  width:100%;
}

@media screen and (max-width: 767px){
  .top-head-wrapper{
    height:61px;
  }

  .top-head-container{
    position: relative;
    padding:17px 50px 0 50px;
    margin-left:auto;
    margin-right:auto;
    max-width:1200px;
    height:61px;
  }

  .top-head-img-0{
    position: absolute;
    top:0;
    right:30px;
    width:95px;
    height:61px;
    background-image: url("../images/07bicycle.png");
    background-size:67px 95px;
    background-position: 0px 36%;
    background-repeat: no-repeat;
    opacity: 0.3;
  }

  .top-head-text{
    position: absolute;
    top:calc(50% - 11px);
    left:30px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    font-size: 14px;
    line-height:6px;
    color:#FFF;
  }

  .top-head-img{
    position: absolute;
    top:9px;
    right:30px;
    width:46px;
  }

  .top-head-img img{
    width:100%;
  }
}

.cp-wrapper{
  display: flex;
  flex-wrap: wrap;
  margin-top:132px;
  margin-left:auto;
  margin-right:auto;
  padding:0 0 155px 0;
  max-width:1200px;
}

.cp-container{
  position: relative;
  margin-right:70px;
  width:350px;
  
}

.cp-container:nth-child(3n){
  margin-right:0;
}

.cp-container:nth-child(n+4){
  margin-top:70px;
}

.cp-img{
  width:350px;
  height:229px;
  overflow:hidden;
  border: 1px solid #DBDBDB;
  border-radius: 30px;
  cursor: pointer;
}

.cp-img img{
  display: block;
  height: 229px;
  object-fit: cover;
  width: 100%;
}

.cp-name{
  margin-top:8px;
  width:100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  line-height:25px;
  text-align: center;
  cursor: pointer;
}

.cp-address{
  margin-top:2px;
  width:100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height:25px;
  text-align: center;
  cursor: pointer;
}

.cp-desc{
  display: none;
}

.cp-comment{
  display: none;
}

@media screen and (max-width: 1199px){
  .cp-wrapper{
    justify-content: center;
    width:calc(100% - 60px);
  }
  .cp-container:nth-child(n+3){
    margin-top:70px;
  }
  .cp-container:nth-child(odd){
    margin-left:0;
    margin-right:calc((100% - 702px) / 2);
  }
  .cp-container:nth-child(even){
    margin-left:0;
    margin-right:0;
  }
}

@media screen and (max-width: 779px){
  .cp-wrapper{
    display: block;
    margin-top:30px;
    margin-left:auto;
    margin-right:auto;
    padding:0 30px 53px 30px;
    max-width:350px;
  }

  .cp-container{
    position: relative;
    margin-top:30px;
    margin-right:0px;
    max-width:350px;
    width: calc(100% - 4px);
  }

  .cp-container:nth-child(n+4){
    margin-top:30px;
  }

  .cp-img{
    width:100%;
    max-width:350px;
    height:229px;
    overflow:hidden;
    border: 1px solid #DBDBDB;
    border-radius: 30px;
  }

  .cp-img img{
    display: block;
    height: 229px;
    object-fit: cover;
    width: 100%;
  }

  .cp-name{
    margin-top:8px;
    width:100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    line-height:25px;
    text-align: center;
  }

  .cp-address{
    margin-top:2px;
    width:100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height:25px;
    text-align: center;
  }
}

.modal-wrap {
    display: inline-block;
}

.modal-wrap input {
    display: none;
}

.modal-open-label,
.modal-close-label {
    cursor: pointer;
}

.modal-open-label {
    color: #4f96f6;
    font-size: .95em;
}

.modal-open-label:hover {
    text-decoration: underline;
    cursor: pointer;
    color: #c7511f;
}

.modal-001 {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
}

.modal-open-input:checked + label + input + .modal-001 {
    display: block;
    animation: modal-001-animation .3s;
}

.modal-content-wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 600px;
    background-color: #FFF;
    z-index: 2;
    border-radius: 30px;
}

.modal-close-label {
    width: 32px;
    height: 32px;
    line-height: 1.5;
    text-align: center;
    display: table-cell;
    position: fixed;
    top: 45px;
    right: 30px;
    z-index: 99999;
    font-size: 1.4em;
}

.modal-close-label span,
.modal-close-label span:before,
.modal-close-label span:after {
  position: absolute;
  content: '';
  display: block;
  height: 2px;
  width: 32px;
  border-radius: 3px;
}

.modal-close-label span:before {
  bottom: 9px;
  background-color: #000;
}

.modal-close-label span:after {
  top: 9px;
  background-color: #000;
}

.modal-close-label span:before {
  bottom: 0;
  transform: rotate(45deg);
}

.modal-close-label span:after {
  top: 0;
  transform: rotate(-45deg);
}
.modal-close-label span {
  background-color: rgba(255, 255, 255, 0);
}

.modal-content-name{
  margin-top:30px;
  margin-left:30px;
  width:calc(100% - 97px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 20px;
  line-height:25px;
  color:#3E3E3E;
}

.modal-content-address{
  margin-top:3px;
  margin-left:30px;
  width:calc(100% - 97px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 12px;
  line-height:25px;
  text-decoration: underline;
  cursor: pointer;
}

.modal-content-address:hover{
  color:#008BE7;
}

.modal-content {
  margin-top:11px;
  margin-left:30px;
  padding-bottom:30px;
  max-height: 70vh;
  overflow-y: auto;
  width:calc(100% - 65px);
}

.modal-content-img {
  width:100%;
}

.modal-content-img img{
  width:100%;
}

.modal-content-text {
  margin-top:15px;
  padding-bottom:15px;
  margin-left:auto;
  margin-right:auto;
  padding-right:5px;
  width:calc(100% - 20px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height:24px;
  color:#3E3E3E;
  border-bottom:1px solid #E9E9E9;
  word-break: break-all;
}

.modal-content-comment {
  margin-top:15px;
  margin-left:auto;
  margin-right:auto;
  padding-right:5px;
  width:calc(100% - 20px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  line-height:25px;
  color:#3E3E3E;
  word-break: break-all;
}

.modal-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .85);
    z-index: 1;
}

@keyframes modal-001-animation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@media only screen and (max-width: 767px) {
    .modal-open-label {
        max-width: 90%;
        padding: .94em 2.1em .94em 2.6em;
    }

    .modal-close-label {
        top: 32px;
        right: 20px;
    }

    .modal-content-wrap {
        width: 90vw;
    }

    .modal-content-name{
      margin-top:20px;
      margin-left:20px;
      width:calc(100% - 77px);
      font-size: 16px;
      line-height:25px;
    }

    .modal-content-address{
      margin-left:20px;
      width:calc(100% - 77px);
    }

    .modal-content {
      margin-left:20px;
      width:calc(100% - 40px);
    }
}
