@charset "UTF-8";
/* CSS Document */


/*maintenance*/
.maintenance main .about {
  height: 550px;
  background: #155680;
}
.maintenance main .about .box {
  display: flex;
  align-items: center;
}
.maintenance main .about .box .box_l {
  width: 50%;
  padding-left: 120px;
}
.maintenance main .about .box .box_l h3 {
  margin-bottom: 40px;
}
.maintenance main .about .box .box_l h3 em ,
.maintenance main .about .box .box_l h3 span {
  display: block;
}
.maintenance main .about .box .box_l h3 em {
  font-family: "Marcellus", serif;
  font-size: 3.4rem;
  line-height: 1em;
  color: #3d7faa;
  margin-bottom: .2em;
}
.maintenance main .about .box .box_l h3 span {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  line-height: 1.5;
  letter-spacing: .18em;
  color: #FFF;
}
.maintenance main .about .box .box_l .comment {
  color: #FFF;
  line-height: 2.0;
  max-width: 460px;
  padding-right: 20px;
}
.maintenance main .about .box .img {
  overflow: hidden;
  order: 2;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
  display: flex;
  justify-content: center;
  align-items: center;
}
.maintenance main .about .box .img img {
  max-height: 550px;  /* 高さの上限を指定 */
  width: auto;         /* 幅は自動で縦横比を維持 */
}

.maintenance main .outfitting {
  padding-top: 90px;
  padding-bottom: 150px;
}
.maintenance main .outfitting .box section {
  border-top: solid 1px #d6e1ea;
  padding-top: 40px;
  display: flex;
  align-items: flex-start;
}
.maintenance main .outfitting .box section:not(:last-of-type) {
  padding-bottom: 50px;
}
.maintenance main .outfitting .box section h4 {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  padding-left: 50px;
  width: 640px;
}
.maintenance main .outfitting .box section h4::before {
  position: absolute;
  top: 0;
  left: 20px;
  width: 4px;
  height: 100%;
  background: #307eb1;
  content: '';
}
.maintenance main .outfitting .box section h4 span ,
.maintenance main .outfitting .box section h4 em {
  display: block;
  line-height: 1em;
}
.maintenance main .outfitting .box section h4 span {
  font-size: 2.4rem;
  color: #1b5a82;
  margin-bottom: .6em;
}
.maintenance main .outfitting .box section h4 em {
  font-family: "Marcellus", serif;
  font-size: 2.0rem;
  color: #88a2b3;
}
.maintenance main .outfitting .box section .comment {
  /*width: calc(100% - 140px);*/
  width: 100%;
  line-height: 2.0;
}
.maintenance main .outfitting .box section .comment img {
  float: left;
  width: 50%;
  padding-top: 5px;
  padding-right: 20px;
}

.maintenance main .frp {
  background: #155680;
  padding-top: 120px;
  padding-bottom: 150px;
  color: #FFF;
}
.maintenance main .frp h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 80px;
}
.maintenance main .frp h3 span ,
.maintenance main .frp h3 h4 em {
  display: block;
  line-height: 1em;
}
.maintenance main .frp h3 span {
  font-size: 2.0rem;
  margin-bottom: .4em;
}
.maintenance main .frp h3 em {
  font-family: "Marcellus", serif;
  font-size: 4.6rem;
}
.maintenance main .frp .img {
  position: relative;
  margin-bottom: 80px;
}
.maintenance main .frp .img img {
  opacity: .9;
}
.maintenance main .frp .img h4 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  background: rgba(6, 54, 85, .8);
  font-size: 2.4rem;
  padding: 1em;
}
.maintenance main .frp .box section {
  display: flex;
  align-items: flex-start;
}
.maintenance main .frp .box section:not(:last-of-type) {
  margin-bottom: 60px;
}
.maintenance main .frp .box section h5 {
  position: relative;
  padding: .3em 0;
  padding-left: 45px;
  width: 510px;
  font-size: 2.0rem;
}
.maintenance main .frp .box section h5::before {
  position: absolute;
  top: 0;
  left: 20px;
  width: 4px;
  height: 100%;
  background: #307eb1;
  content: '';
}
.maintenance main .frp .box section .comment {
  width: calc(100% - 640px);
  line-height: 2.0;
}
.maintenance main .shipbuilding-about {
  height: 660px;
}
.maintenance main .shipbuilding-about .box {
  display: flex;
  align-items: center;
}
.maintenance main .shipbuilding-about .box .box_l {
  width: 50%;
  padding-left: 60px;
}
.maintenance main .shipbuilding-about .box .box_l h3 {
  margin-bottom: 40px;
}
.maintenance main .shipbuilding-about .box .box_l h3 em ,
.maintenance main .shipbuilding-about .box .box_l h3 span {
  display: block;
}
.maintenance main .shipbuilding-about .box .box_l h3 span {
  font-size: 2.4rem;
  margin-bottom: .4em;
  color: #1b5a82;
}
.maintenance main .shipbuilding-about .box .box_l h3 em {
  font-family: "Marcellus", serif;
  font-size: 2.0rem;
  line-height: 1em;
  color: #8ba0ae;
}
.maintenance main .shipbuilding-about .box .box_l .comment {
  max-width: 580px;
  line-height: 2.0;
  padding-right: 20px;
  margin-bottom: 40px;
}
.maintenance main .shipbuilding-about .box .box_l .info {
  position: relative;
  padding: 10px 0;
  padding-left: 25px;
  line-height: 2.0;
}
.maintenance main .shipbuilding-about .box .box_l .info::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #3982b1;
  content: '';
}
.maintenance main .shipbuilding-about .box .img {
  flex: 1;
  height: 660px;
  overflow: hidden;
  order: 2;
  margin-left: auto;
  margin-right: calc(50% - 50vw);
}
.maintenance main .shipbuilding-about .box .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.maintenance main .shipbuilding-img {
  position: relative;
  padding-top: 120px;
  padding-bottom: 130px;
}
.maintenance main .shipbuilding-img::before ,
.maintenance main .shipbuilding-img::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  content: '';
}
.maintenance main .shipbuilding-img::before {
  z-index: -2;
  background: #0a525b repeat center center;
}
.maintenance main .shipbuilding-img::after {
  z-index: -1;
  background: url(../img/maintenance/shipbuilding-img_bg.jpg) no-repeat center center;
  background-size: cover;
  opacity: .2;
}
.maintenance main .shipbuilding-img .box h3 {
  position: relative;
  font-size: 2.4rem;
  color: #FFF;
  margin-bottom: 80px;
}
.maintenance main .shipbuilding-img .box h3::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  white-space: nowrap;
  font-family: "Marcellus", serif;
  font-size: 6.0rem;
  line-height: 1em;
  color: #2d6970;
  content: 'Shipbuilding';
}
.maintenance main .shipbuilding-img .box .img ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
.maintenance main .shipbuilding-img .box .img ul li {
  width: calc((100% - (14px * 3)) / 4);
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 4px;
}
.maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(4n)) {
  margin-right: 14px;
}
.maintenance main .frp-pier {
  padding-top: 120px;
  padding-bottom: 120px;
}
.maintenance main .frp-pier .box h3 {
  display: flex;
  flex-direction: column;
  margin-bottom: 50px;
}
.maintenance main .frp-pier .box h3 span ,
.maintenance main .frp-pier .box h3 em {
  display: block;
  line-height: 1em;
}
.maintenance main .frp-pier .box h3 span {
  font-size: 2.4rem;
  color: #1b5a82;
  margin-bottom: .6em;
}
.maintenance main .frp-pier .box h3 em {
  font-family: "Marcellus", serif;
  font-size: 2.0rem;
  color: #88a2b3;
}
.maintenance main .frp-pier .box .img_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
.maintenance main .frp-pier .box .img_box section {
  width: calc((100% - (14px * 3)) / 4);
  margin-bottom: 20px;
}
.maintenance main .frp-pier .box .img_box section:not(:nth-of-type(4n)) {
  margin-right: 14px;
}
.maintenance main .frp-pier .box .img_box section > p {
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 15px;
}
.maintenance main .frp-pier .box .img_box section .comment {
  line-height: 2.0;
}

@media screen and (max-width: 1440px) {
  .maintenance main .about .box .box_l {
    padding-left: 0;
  }
  .maintenance main .outfitting .box section h4 {
    width: 400px;
  }
  .maintenance main .outfitting .box section .comment {
    width: calc(100% - 400px);
  }
  .maintenance main .frp .box section h5 {
    width: 400px;
  }
  .maintenance main .frp .box section .comment {
    width: calc(100% - 400px);
  }
  .maintenance main .shipbuilding-about .box .box_l {
    padding-left: 0;
    padding-right: 20px;
  }
}

@media screen and (max-width: 940px) {
  .maintenance main .outfitting .box section .comment img {
    width: 100%;
	padding-right: 0px;
	padding-bottom: 10px;
  }
  .maintenance main .shipbuilding-img .box .img ul li {
    width: calc((100% - (14px * 2)) / 3);
  }
  .maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(4n)) {
    margin-right: 0;
  }
  .maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(3n)) {
    margin-right: 14px;
  }
  .maintenance main .frp-pier .box .img_box section {
    width: calc((100% - (14px * 1)) / 2);
  }
  .maintenance main .frp-pier .box .img_box section:not(:nth-of-type(4n)) {
    margin-right: 0;
  }
  .maintenance main .frp-pier .box .img_box section:not(:nth-of-type(2n)) {
    margin-right: 14px;
  }
}

@media screen and (max-width: 767px) {
  .maintenance main .about {
    height: auto;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .about .box {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .maintenance main .about .box .box_l {
    display: contents;
  }
  .maintenance main .about .box .box_l h3 {
    order: -99;
    margin-bottom: 5vw;
  }
  .maintenance main .about .box .box_l h3 em {
    font-size: 1.8rem;
  }
  .maintenance main .about .box .box_l h3 span {
    font-size: 2.4rem;
  }
  .maintenance main .about .box .box_l .comment {
    order: 99;
    max-width: inherit;
    width: 100%;
    padding-right: 0;
  }
  .maintenance main .about .box .img {
    flex: inherit;
    height: inherit;
    overflow: inherit;
    order: inherit;
    margin-left: inherit;
    margin-right: inherit;
    margin-bottom: 5vw;
  }
  .maintenance main .about .box .img img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .maintenance main .outfitting {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .outfitting .box section {
    padding-top: 6vw;
    flex-direction: column;
  }
  .maintenance main .outfitting .box section:not(:last-of-type) {
    padding-bottom: 6vw;
  }
  .maintenance main .outfitting .box section h4 {
    padding: 2vw 0;
    padding-left: 6vw;
    margin-bottom: 4vw;
    width: 100%;
  }
  .maintenance main .outfitting .box section h4::before {
    left: 2vw;
  }
  .maintenance main .outfitting .box section h4 span {
    font-size: 1.6rem;
  }
  .maintenance main .outfitting .box section h4 em {
    font-size: 2.0rem;
  }
  .maintenance main .outfitting .box section .comment {
    width: 100%;
  }
  .maintenance main .outfitting .box section .comment img {
    float: none;
	width: 100%;
	padding-top: 10px;
  }
  .maintenance main .frp {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .frp h3 {
    margin-bottom: 5vw;
  }
  .maintenance main .frp h3 span {
    font-size: 1.8rem;
  }
  .maintenance main .frp h3 em {
    font-size: 2.4rem;
  }
  .maintenance main .frp .img {
    margin-bottom: 5vw;
  }
  .maintenance main .frp .img h4 {
    position: relative;
    bottom: inherit;
    left: inherit;
    width: 100%;
    text-align: left;
    background: none;
    font-size: 1.6rem;
    padding: 0;
    padding-top: .3em;
  }
  .maintenance main .frp .box section {
    flex-direction: column;
  }
  .maintenance main .frp .box section:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  .maintenance main .frp .box section h5 {
    padding: 1vw 0;
    padding-left: 6vw;
    margin-bottom: 4vw;
    width: 100%;
  }
  .maintenance main .frp .box section h5::before {
    left: 2vw;
  }
  .maintenance main .frp .box section .comment {
    width: 100%;
  }
  .maintenance main .shipbuilding-about {
    height: auto;
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .shipbuilding-about .box {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .maintenance main .shipbuilding-about .box .box_l {
    display: contents;
  }
  .maintenance main .shipbuilding-about .box .box_l h3 {
    order: -99;
    margin-bottom: 5vw;
  }
  .maintenance main .shipbuilding-about .box .box_l h3 span {
    font-size: 1.8rem;
  }
  .maintenance main .shipbuilding-about .box .box_l h3 em {
    font-size: 2.0rem;
  }
  .maintenance main .shipbuilding-about .box .box_l .comment {
    order: 99;
    max-width: inherit;
    width: 100%;
    padding-right: 0;
    margin-bottom: 5vw;
  }
  .maintenance main .shipbuilding-about .box .box_l .info {
    order: 99;
    padding: 2vw 0;
    padding-left: 6vw;
  }
  .maintenance main .shipbuilding-about .box .img {
    flex: inherit;
    height: inherit;
    overflow: inherit;
    order: inherit;
    margin-left: inherit;
    margin-right: inherit;
    margin-bottom: 5vw;
  }
  .maintenance main .shipbuilding-about .box .img img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .maintenance main .shipbuilding-img {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .shipbuilding-img .box h3 {
    font-size: 2.0rem;
    margin-bottom: 5vw;
  }
  .maintenance main .shipbuilding-img .box h3::after {
    position: absolute;
    top: -10vw;
    transform: inherit;
    font-size: 3.0rem;
  }
  .maintenance main .shipbuilding-img .box .img ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -5vw;
  }
  .maintenance main .shipbuilding-img .box .img ul li {
    width: calc((100% - (5vw * 1)) / 2);
    margin-bottom: 5vw;
  }
  .maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(4n)) {
    margin-right: 0;
  }
  .maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .maintenance main .shipbuilding-img .box .img ul li:not(:nth-of-type(2n)) {
    margin-right: 5vw;
  }
  .maintenance main .frp-pier {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .maintenance main .frp-pier .box h3 {
    margin-bottom: 5vw;
  }
  .maintenance main .frp-pier .box h3 span {
    font-size: 1.8rem;
  }
  .maintenance main .frp-pier .box h3 em {
    font-size: 2.0rem;
  }
  .maintenance main .frp-pier .box .img_box {
    margin-bottom: -5vw;
  }
  .maintenance main .frp-pier .box .img_box section {
    width: calc((100% - (5vw * 1)) / 2);
    margin-bottom: 5vw;
  }
  .maintenance main .frp-pier .box .img_box section:not(:nth-of-type(4n)) {
    margin-right: 0;
  }
  .maintenance main .frp-pier .box .img_box section:not(:nth-of-type(2n)) {
    margin-right: 5vw;
  }
  .maintenance main .frp-pier .box .img_box section > p {
    margin-bottom: 3vw;
  }
  .maintenance main .frp-pier .box .img_box section .comment {
    line-height: 2.0;
  }
}