@charset "utf-8";

/* service.css */

.main .contents {
  padding-top: 50px;
}
img {
    max-width: 100%;
    height: auto;
    width: auto;
}

/* mainVisual */

.mainVisual {
  position: relative;
  width: calc(100% - 100px);
  height: 22vw;
  max-height: 244px;
  margin: 0 auto;
}

.mainVisual .ph {
    position: absolute;
    top: 0;
    left: 10%;
    width: 90%;
    height: 100%;
    background-repeat: no-repeat;
    background-image: url(../img/service/service_ph3.jpg);
    background-size: cover;
    z-index: 1;
    background-position: right 30%;
}

.mainVisual .inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 64%;
  max-width: 543px;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}

.mainVisual .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2
}

.mainVisual .bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  height: 100%;
  background: #fff;
}

.mainVisual .bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 80%;
  width: 20%;
  height: 100%;
  background:
      linear-gradient(to top left, rgba(255,255,255,0) 50%, #fff 50.5%) no-repeat top left/100% 100%;
  z-index: 2
}

.mainVisual .content {
  position: absolute;
  padding: 0 3% 0 0;
  z-index: 3;
  height: 100%;
  display: flex;
  align-items: center;
}

.mainVisual .mainTitle {
  color: #00718F;
  margin: 0;
}


@media screen and (max-width: 1330px) {
  .main .contents {
    padding-top: 4vw;
  }
  .mainVisual {
    width: 92%;
  }
}

@media screen and (max-width: 1000px) {
  .mainVisual .mainLead {
    transform: scale(0.9);
    transform-origin: top left;
  }
}

@media screen and (max-width: 900px) {
  .mainVisual .mainLead {
    transform: scale(0.85);
  }
}

@media screen and (max-width: 768px) {
  .main .contents {
    padding-top: 0;
  }
  .mainVisual {
    position: relative;
    width: 100%;
    height: 100vw;
    max-height: 116vw;
  }
  .mainVisual .ph {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left top no-repeat;
    background-image: url(../img/service/mv_bg_sp.jpg);
    background-size: 100% auto;
    z-index: 1;
  }
  .mainVisual .inner {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 90vw;
    z-index: 0;
  }
  .mainVisual .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 90vw;
    z-index: 2
  }
  .mainVisual .bg::before {
    display: none;
  }
  .mainVisual .bg::after {
    display: none;
  }
  .mainVisual .content {
    position: relative;
    padding: 0 1em 1em;
    opacity: 0;
    z-index: 0;
  }
  
  .spMainContent {
    margin-top: -1.5em;
    padding: 0 5% 1em;
  }
  .spMainContent .mainTitle {
    color: #00718F;
    margin: 0;
  }
}

.pageNav .pageBtn {
  background: #EB6D6C;
}
.pageNav .pageBtn:hover {
  border: 1px solid #EB6D6C;
  background: #fff;
}
.pageNav .pageBtn:hover .btnTx,
.pageNav .pageBtn:hover .btnTx::after {
  color: #EB6D6C;
}

@media screen and (max-width: 768px) {

  .pageNav {
    margin-bottom: 15%;
    padding: 5% 0 0 0;
  }

  .pageNav .pageBtnSet {
    width: 100%;
    max-width: none;
  }

  .pageNav .pageBtn .btnTx {
    text-align: left;
    padding: 0 4%;
  }

}

/* common */

.inner {
  max-width: 786px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 768px) {

  .inner {
    width: 88%;
  }

}

.-sect {
  position: relative;
}

.-sect-theme {
  margin: 0 0 -5% -18%;
}

.-sect-ttl {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.15em;
  line-height: 1.3;
}

.-sect-copy {
  line-height: 2em;
}

.-sect-note {
  font-size: 10px;
}

@media screen and (max-width: 1100px) {

  .-sect-theme {
    margin-left: 0;
  }

}

@media screen and (max-width: 768px) {

  .-sect-theme {
    margin-bottom: -8%;
  }
  
  .-sect-ttl {
    font-size: 5.5vw;
    /* font-size: 25px; */
  }
  
  .-sect-copy {
  }
  
  .-sect-note {
    font-size: 10px;
  }

}


/* share */

.share {
  margin: 0 0 200px 0;
}

.share-inner {
  /* margin-top: 14%; */
}
.equipment-inner {
    max-width: 1066px;
    margin: 0 auto;
    width: 90%;
    position: relative;
}

.share-theme {
}

.share-theme-copy {
  width: 73.8%;
}

.share-ttl {
  margin: 0 0 2% 0;
}

@media screen and (max-width: 768px) {

  .share {
    margin: 0 0 15% 0;
  }
  
  .share-theme {
  }
  
  .share-theme-copy {
    width: 92%;
  }
  
  .share-ttl {
    margin: 0 0 6% 0;
  }
  

}

.share-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 8% 0;
}
.other-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 8% 0;
    align-items: stretch;
    justify-content: flex-start;
}
.icon-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.icon-list li {
    width: 13%;
    margin-bottom: 3%;
    margin-right: 1%;
}
.share-list-item {
  width: 48.7%;
  border: 1px solid #00607F;
  margin: 0 0 2.5% 0;
}
.kitchen-list-item {
    width: 32%;
    border: 1px solid #00607F;
    margin: 0 0 2.5% 0;
}
.other-list-item {
    width: 32%;
    border: 1px solid #00607F;
    margin: 0 1.5% 2.5% 0;
}
.other-list-item:nth-child(3n) {
    margin-right: 0px;
}
.col4-item {
    width: 24%;
    border: 1px solid #00607F;
    margin: 0 0 2.5% 0;
}

.share-list-img {
  line-height: 0;
}
.share-list-img figure {
    margin: 0;
    position: relative;
}
.share-list-img figcaption {
    font-size: 0.8rem;
    position: absolute;
    bottom: 16px;
    right: 5px;
    color: #fff;
}

.share-list-ttl {
  background-color: #00607F;
  color: #fff;
  text-align: center;
  font-size: 17px;
  line-height: 1;
  padding: 10px 0;
}
.share-list-ttl span {
    font-size: 0.9rem;
}

.share-list-copy {
  padding: 16px 20px 18px 20px;
}

.share-list-copy-item {
  line-height: 2em;
  margin: 0 0 0.3em 0;
}

.share-list-copy-item:last-child {
  margin: 0;
}

.share-list-copy-note {
  line-height: 2em;
}

@media screen and (max-width: 768px) {

  .share-list {
    margin: 0 0 10% 0;
  }
  
  .share-list-item,
    .kitchen-list-item,
    .col4-item,
    .other-list-item{
    width: 100%;
    margin: 0 0 6% 0;
  }
  
  .share-list-ttl {
    font-size: 15px;
    padding: 4% 0;
  }
  
  .share-list-copy {
    padding: 4% 6%;
  }
    .icon-list li {
    width: 20%;
    margin-bottom: 3%;
    margin-right: 1%;
}
  
}

.share-other {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.share-other-item {
  width: 48.7%;
  border: 1px solid #EB6D6C;
  margin: 0 0 2.5% 0;
}

.share-other-ttl {
  background-color: #EB6D6C;
  color: #fff;
  line-height: 1;
  padding: 10px 0 10px 56px;
  font-size: 17px;
  position: relative;
}

.share-other-ttl .-icon {
  width: 62px;
  position: absolute;
  left: -10px;
  top: -10px;
}

.share-other-copy {
  padding: 24px 24px 24px 24px;
}

.share-other-copy-item {
  line-height: 2em;
  margin: 0 0 0.3em 0;
}

.share-other-copy-item:last-child {
  margin: 0;
}

.share-other-copy-note {
  line-height: 2em;
}

@media screen and (max-width: 768px) {

  .share-other {
    display: block;
  }
  
  .share-other-item {
    width: 100%;
    margin: 0 0 6% 0;
  }
  
  .share-other-ttl {
    padding: 10px 0 10px 50px;
    font-size: 15px;
  }
  
  .share-other-ttl .-icon {
    width: 52px;
    position: absolute;
    left: -10px;
    top: -10px;
  }
  
  .share-other-copy {
    padding: 4% 6%;
  }

}

.share-note {
}

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


/* food */

.food {
  padding: 0 0 130px 0;
  margin: 0 0 178px 0;
  background-color: rgba(235,109,108,0.05);
  position: relative;
}

.food:before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 100%;
  padding: 3% 0 0 0;
  top: 0;
  left: 0;
}

.food-theme {
  top: -14.7%;
}

.food-theme-copy {
  width: 73.8%;
}

.food-ttl {
  margin: 0 0 1% 0;
}

.food-copy {
  margin: 0 0 5.6% 0;
}

@media screen and (max-width: 768px) {

  .food {
    padding: 0 0 5% 0;
    margin: 0 0 15% 0;
  }

  .food:before {
    padding: 5% 0 0 0;
  }
  
  .food-theme {
  }
  
  .food-theme-copy {
    width: 92%;
  }
  
  .food-ttl {
    margin: 0 0 2% 0;
  }
  
  .food-copy {
    margin: 0 0 8% 0;
  }

  .food-copy br {
    display: none;
  }

}

.food-menu {
  margin: 0 0 1.5% 0;
}

.food-menu-ttl {
  font-size: 17px;
  text-align: center;
  margin: 0 0 2% 0;
}

.food-menu-list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.food-service-item {
    position: relative;
    margin-bottom: 10px;
}
.food-service-item .cap {
    position: absolute;
    bottom: 7px;
    font-size: 10px;
    color: #fff;
    right: 5px;
}

.food-menu-list-item {
    width: 49.2%;
    position: relative;
    margin-right: 1.5%;
    margin-bottom: 10px;
}
.food-menu-list-item:nth-child(2n) {
    margin-right: 0px;
}
.food-menu-list-item .cap {
    position: absolute;
    bottom: 7px;
    font-size: 10px;
    color: #fff;
    right: 5px;
}

@media screen and (max-width: 768px) {

  .food-menu {
    margin: 0 0 3% 0;
  }
  
  .food-menu-ttl {
    font-weight: bold;
    font-size: 15px;
    margin: 0 0 4% 0;
  }

}

.food-sidemenu {
  margin: 0 0 3% 0;
  background-color: #fff;
  padding: 14px 22px;
}

.food-sidemenu-ttl {
  font-weight: bold;
  margin: 0 0 1.5% 0;
  padding: 0 0 1.5% 0;
  border-bottom: 1px solid #000;
  letter-spacing: 0.1em;
}

.food-sidemenu-copy {
}

@media screen and (max-width: 768px) {

  .food-sidemenu {
    margin: 0 0 6% 0;
    padding: 4% 5%;
  }
  
  .food-sidemenu-ttl {
    margin: 0 0 3% 0;
    padding: 0 0 3% 0;
  }
  
  .food-sidemenu-copy {
  }

}

.food-time {
  margin: 0 0 7% 0;
}
.food-time-wrap {
  display: flex;
  flex-wrap: wrap;
}
.food-time-ttl {
  font-weight: bold;
  margin: 0 0 1.5% 0;
}
.food-time-tx {
  font-weight: 400;
  margin: 0 0 1.5% 1em;
}

.food-time-col {
  display: flex;
  margin: 0 0 1% 0;
}

.food-time-col-item.-weekday {
  padding: 0 4% 0 0;
  margin: 0 4% 0 0;
  border-right: 1px solid #707070;
}

.food-time-copy {
}

.food-time-note {
}

@media screen and (max-width: 768px) {

  .food-time {
    margin: 0 0 10% 0;
  }
  
  .food-time-ttl {
    margin: 0 0 1% 0;
  }
  
  .food-time-col {
    display: block;
    margin: 0 0 2% 0;
  }
  
  .food-time-col-item.-weekday {
    padding: 0;
    margin: 0;
    border-right: none;
  }
  
  .food-time-copy {
  }
  
  .food-time-note {
  }

}

.food-feature-item {
  margin: 0 0 5% 0;
}

.food-feature-ttl {
  background-color: #EB6D6C;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 17px;
  padding: 6px;
  margin: 0 0 1.6% 0;
}

.food-feature-copy {
  line-height: 2em;
}

.food-feature-copy.-line {
  display: flex;
  align-items: center;
}

.food-feature-copy.-line .-txt {
  width: 6.5em;
  flex-shrink: 0;
}

.food-feature-copy.-line:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #707070;
}

@media screen and (max-width: 768px) {

  .food-feature-item {
    margin: 0 0 10% 0;
  }
  
  .food-feature-ttl {
    font-size: 15px;
    padding: 2%;
    margin: 0 0 3% 0;
  }

}


/* security */

.security {
  margin: 0 0 90px 0;
}

.security-theme {
}

.security-theme-copy {
  width: 89%;
}

.security-ttl {
  margin: 0 0 2% 0;
}

.-security-ttl {
  border-top: 1px solid #007190;
  border-bottom: 1px solid #007190;
  background-color: rgba(0,113,144,0.1);
  color: #007190;
  font-size: 20px;
  text-align: center;
  padding: 3px 0;
  margin: 0 0 3% 0;
  letter-spacing: 0.1em;
}

.-security-catch {
  color: #007190;
  font-weight: 500;
  margin: 0 0 0.6% 0;
}

.-security-copy {
  line-height: 2em;
}

@media screen and (max-width: 768px) {

  .security {
    margin: 0 0 10% 0;
  }
  
  .security-theme {
  }
  
  .security-theme-copy {
    width: 100%;
  }
  
  .security-ttl {
    margin: 0 0 6% 0;
  }
  
  .-security-ttl {
    font-size: 17px;
    padding: 3% 0;
    margin: 0 0 6% 0;
    line-height: 1.4;
  }
  
  .-security-catch {
    margin: 0 0 1% 0;
  }

}

.security-about-copy {
  margin: 0 0 5% 0;
}

.security-about-img {
  width: 61%;
  margin: 0 auto 6% auto;
}

.security-about-auth {
  display: flex;
  width: 61%;
  margin: 0 auto 8% auto;
  justify-content: space-between;
}

.security-about-auth-img {
  position: relative;
  width: 43%;
}
.security-about-auth-img .cap {
  position: absolute;
  bottom: 12px;
  right: 5px;
  color: #fff;
  font-size: 10px;
  line-height: 10px;
  text-shadow: 0 0 3px rgba(0,0,0,.5);
}

.security-about-auth-info {
  width: 51%;
}

.security-about-auth-info-catch {
  line-height: 1.2em;
  margin: 0 0 3% 0;
}

.security-about-auth-info-copy {
  margin: 0 0 0.4em 0;
}

.security-about-auth-info-note {
}

@media screen and (max-width: 768px) {

  .security-about-copy {
    margin: 0 0 10% 0;
  }
  
  .security-about-img {
    width: 90%;
    margin: 0 auto 10% auto;
  }
  
  .security-about-auth {
    width: 100%;
    margin: 0 auto 10% auto;
  }
 
  .security-about-auth-info {
    width: 100%;
  }
  
  .security-about-auth-info-catch {
    margin: 0 0 6% 0;
  }

  .security-about-auth-info-img {
    position: relative;
    width: 70%;
    margin: 0 auto 4% auto;
    line-height: 0;
  }
  .security-about-auth-info-img .cap {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fff;
    font-size: 10px;
    line-height: 10px;
    text-shadow: 0 0 3px rgba(0,0,0,.5);
  }
  
  .security-about-auth-info-copy br {
    display: none;
  }

}

.security-about-key {
  margin: 0 0 10% 0;
}

.security-about-key-catch {
  margin: 0 0 4% 0;
}

.security-about-key-list {
  display: flex;
  justify-content: space-between;
}

.security-about-key-list-item {
  width: 32%;
}

.security-about-key-list-img {
  position: relative;
  line-height: 0;
  margin: 0 0 4% 0;
}
.security-about-key-list-img .cap {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  font-size: 10px;
  line-height: 10px;
  text-shadow: 0 0 3px rgba(0,0,0,.75);
}

.security-about-key-list-col {
  margin: 0 0 2% 0;
  display: flex;
  align-items: center;
}

.security-about-key-list-col .-label {
  display: flex;
  margin: 0 0 0 12px;
}

.security-about-key-list-col .-label-item {
  font-size: 11px;
  color: #fff;
  text-align: center;
  line-height: 1;
  padding: 3px 10px;
  margin: 0 4px 0 0;
}

.security-about-key-list-col .-label-item.-company {
  background-color: #EC6D6D;
}

.security-about-key-list-col .-label-item.-student {
  background-color: #1BB8CE;
}

.security-about-key-list-col .-label-item.-universal {
  background-color: #002F7B;
}

@media screen and (max-width: 768px) {

  .security-about-key {
    margin: 0 0 10% 0;
  }
  
  .security-about-key-catch {
    margin: 0 0 6% 0;
  }
  
  .security-about-key-list {
    display: block;
  }
  
  .security-about-key-list-item {
    width: 100%;
    margin: 0 0 10% 0;
  }
  
  .security-about-key-list-col {
    margin: 0 0 1% 0;
  }

}

.security-management {
  margin: 0 0 10% 0;
}

.security-management-col {
  display: flex;
  justify-content: space-between;
  width: 92%;
  margin: 0 auto;
}

.security-management-support {
  width: 44.5%;
  margin: 0 4% 0 0;
  padding: 0 4% 0 0;
  flex-shrink: 0;
  border-right: 1px solid #707070;
}

.security-management-support-catch {
  margin: 0 0 1% 0;
}

.security-management-support-copy {
  margin: 0 0 0.3em 0;
}

.security-management-alsok {
  display: flex;
  justify-content: space-between;
}

.security-management-alsok-img {
  width: 26%;
  flex-shrink: 0;
  margin: 0 5% 0 0;
}

.security-management-alsok-info-catch {
  margin: 0 0 1% 0;
}

@media screen and (max-width: 768px) {

  .security-management {
    margin: 0 0 10% 0;
  }
  
  .security-management-col {
    display: block;
    width: 100%;
  }
  
  .security-management-support {
    width: 100%;
    margin: 0 0 10% 0;
    padding: 0;
    border-right: none;
  }
  
  .security-management-support-catch {
    margin: 0 0 2% 0;
  }
  
  .security-management-alsok {
    display: block;
  }

  .security-management-alsok-info-img {
    margin: 0 auto;
    width: 177px;
  }

}

.security-prevention-list {
  display: flex;
  justify-content: space-between;
}

.security-prevention-list-item {
  width: 32%;
}

.security-prevention-list-img {
  margin: 0 0 3% 0;
}

.security-prevention-list-item:nth-child(2) .security-prevention-list-img {
  padding: 8% 0 0 0;
}

.security-prevention-list-item:nth-child(3) .security-prevention-list-img {
  padding: 8% 0 0 0;
}

.security-prevention-list-catch {
  line-height: 1.4;
  margin: 0 0 3% 0;
}

@media screen and (max-width: 768px) {

  .security-prevention-list {
    display: block;
  }
  
  .security-prevention-list-item {
    width: 100%;
    margin: 0 0 10% 0;
  }
  
  .security-prevention-list-item:nth-child(2) .security-prevention-list-img,
  .security-prevention-list-item:nth-child(3) .security-prevention-list-img {
    padding: 0;
  }

}

.contactSet .inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
