@charset "UTF-8";
/* CSS Document */
/*ベース*/
:root {
  --bk: #333;
  --dgy: #5D545D;
  --gy: #999;
  --lgy: #ccc;
  --w: #fff;
  --pl: #9C5BCD;
  --iv: #efefef;
  --fuji:#9F95C3;
  --be:#E8DFD9;
  --p:#C9B5C3;
  --red:#c85554;
}
body{
font-size: 14px;
font-family: "Noto Sans JP", sans-serif;
color: var(--bk);
}

.bg-dgy{
background-color: var(--dgy);
padding: 40px;
color: var(--w);
}
.bg-iv{
background-color: var(--iv);
padding: 40px;
}
.bg-be{
background-color: var(--be);
padding: 40px;
}
.bg-fuji{
background-color: var(--fuji);
padding: 40px;
}
.bg-fuji{
background-color: var(--red);
padding: 40px;
}
img{
max-width: 100%;
}
a:hover img{
opacity: 0.6;
filter: alpha(opacity=60);
-moz-opacity:0.6;
border: 0;
}
h2{
text-align: center;
font-size: 32px;
}
h2 span{
display: block;
font-size: 14px;
}
/*ヘッダー*/
header{
z-index: 999;
position: fixed;
top: 0;
right: 0;
left: 0;
height: 60px;
}
.header-box{
position: fixed;
top: 0;
display: flex;
justify-content: space-between;
width: 100%;
margin: 0 auto;
padding:5px 20px 10px;
align-items: center;
background-color: var(--w);
width: 100%;
}
.logo{
width: 300px;
}
.contact-btn{
margin: 5px 0 0 40px;
}
.contact-btn a{
background-color: var(--w);
border: 1px solid var(--bk);
padding: 5px 20px;
color: var(--bk);
vertical-align: middle;
}
.contact-btn a::before{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e158';
font-size: 24px;
font-weight: 200;
}

.contact-btn :hover{
border: 1px solid var(--fuji);
background-color: var(--fuji);
color: var(--w);
}
/*フッター*/
footer{
display: block;
background-color: var(--bk);
color: var(--w);
padding: 20px;
}
.footer-box{
display: flex;
justify-content: center;
gap:20px;
align-items: center;
}
img.f-logo{
width: 180px;
margin: 0;
}
address{
font-style: normal;
text-align: left;
display: inline-block;
}
.address{
margin: 20px 0;
padding: 20px;
border: 1px solid #ccc;
text-align: left;
display: inline-block;
}
.address h2{
font-size: 18px;
text-align: left;
margin: 0 0 10px;
}
.footer-box ul{
display: flex;
list-style: none;
}
.footer-box ul li a{
padding: 0 10px;
color: var(--w);
}
p.copy{
text-align: center;
font-family: 12px;
}
/*メイン*/
main{
position: relative;
margin-top: 60px;
}
.contents{
padding: 50px 0;
}
.center{
text-align: center;
}
.center p{
display: inline-block;
text-align:left;
font-size: 16px;
}
section{
display: block;
width: 100%;
}
.top-slide{
position: relative;
}

.top-slide-t{
position: absolute;
top: 25%;
left: 3%;
transform: translateY(-40%);
display: flex;
flex-direction: column;
justify-content: center;
/*width: 42%;
height: 90%;*/
width: auto;
height: 60%;
color: var(--w);
z-index: 2;
padding: 40px 40px;
text-align: center;
}
.top-t{
position: relative;
}

.top-t h2{
font-size: 60px;
margin: 0;
text-shadow:  2px  2px 10px rgba(0, 0, 0, 0.3) ,
-2px  2px 10px rgba(0, 0, 0, 0.3) ,
2px -2px 10px rgba(0, 0, 0, 0.3) ,
-2px -2px 10px rgba(0, 0, 0, 0.3);
}
.top-t h3{
font-size: 28px;
margin:0;
text-shadow:  2px  2px 10px rgba(0, 0, 0, 0.3) ,
-2px  2px 10px rgba(0, 0, 0, 0.3) ,
2px -2px 10px rgba(0, 0, 0, 0.3) ,
-2px -2px 10px rgba(0, 0, 0, 0.3);
}
.about{
text-align: center;
padding: 60px 40px;
background: 
linear-gradient(to bottom right, rgb(65,105,225) 15%, transparent 15%), /* 左上 */
linear-gradient(to top left, rgb(65,105,225) 15%, transparent 15%); /* 右下 */
}
.about h2{
font-size: 32px;
margin: 0;
}
.about p{
font-size: 18px;
line-height: 180%;
}
.more{
margin: 40px 0;
}
.more a{
border: 1px solid var(--bk);
padding: 5px 30px;
color: var(--bk);
vertical-align: middle;
font-size: 18px;
border-radius: 20px;
}
.more a::after{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e5d3';
font-size: 21px;
}
.more :hover{
border: 1px solid var(--bk);
color: var(--w);
background-color: var(--bk);
}
/*topnews*/
.news {
  display: flex;
  justify-content: center;
  column-gap: 20px;
}

.news-t {
margin-top: 15px;
  width: 80px;
  height: 80px;
  position: relative;
  border: 1px solid var(--dgy);
  display: flex;
  justify-content: center;
  align-items: center; /* 内部の要素を中央揃え */
}

.news h2 {
  font-size: 18px;
  white-space: nowrap;
  color: var(--dgy);
}
.news-li{
padding: 0;
display: flex;
flex-wrap: wrap;
gap:0;
margin: 0 10px 10px;
}
.news-li dt{
padding: 5px 10px;
font-weight: 600;
}
.news-li dd{
padding: 2px 10px;
text-align: left;
margin-left: 0;
}
.news-li dd h3{
margin: 0 0 5px;
font-weight: 600;
}
.news_more{
margin-top: 10px;
}
.news_more a{
color: var(--dgy);
}
.news_more :hover{
color: var(--pl);
}
.news_more a::after{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e731';
font-weight: 200;
}
.more-w{
margin: 30px auto;
}
.more-w a{
border: 1px solid var(--w);
padding: 5px 20px;
color: var(--w);
vertical-align: middle;
font-size: 14px;
border-radius: 20px;
}
.more-w a::after{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e5d3';
font-size: 21px;
}
.more-w :hover{
border: 1px solid var(--w);
color: var(--dgy);
background-color: var(--w);
}
.imabari {
cursor: pointer;
max-height: 400px;
overflow: hidden;
position: relative;
width: 100%;
}
.imabari img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 50%; /* 高さの中央を基準に配置 */
transition: transform .6s ease;
}
.imabari:hover img {
transform: scale(1.1); /* 拡大 */
}
.imabari-t {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.imabari-t p{
font-size: 16px;
color: var(--w);
text-shadow: 1px 1px 2px var(--gy);
letter-spacing: 10px;
margin: 0;
}
.imabari-t h2{
font-size: 50px;
color: var(--w);
letter-spacing: 10px;
margin: 0;
text-shadow: 1px 1px 2px var(--gy);
}
/* マスク */
.imabari::before {
background: rgba(0, 0, 0, .5); /* マスクの色(黒の50%) */
bottom: 0;
content: '';
height: auto;
left: 0;
opacity: 0; /* 最初は透明（非表示） */
position: absolute;
right: 0;
top: 0;
transition: opacity .6s ease; /* ゆっくりopacityのみへ変化させる */
width: 100%;
z-index: 1;
}
.imabari:hover::before {
opacity: 1;
}
.company{
position: relative;
display: flex;
}
.japanmap{
background-image: url("../parts/japanmap.png");
background-size:contain;
background-position: center;
background-repeat: no-repeat;
}
.ships{
display: flex;
}
.ships img{
width: 50%;
}
.ships-t{
text-align: center;
padding: 40px;
display:flex;
justify-content: center;
flex-direction: column;
}
.ships-t h2{
font-size: 40px;
text-align: center;
margin: 0 0 40px;
}
.ships-t P{
text-align: left;
width: 85%;
margin: 0 auto;
font-size: 16px;
line-height: 180%;
}
.btn-w{
margin: 40px 0 0;
vertical-align: middle;
}
.btn-w a{
border: 1px solid var(--dgy);
color: var(--dgy);
padding: 10px 20px;
vertical-align: middle;
font-size: 16px;
letter-spacing: 2px;
}
.btn-w a::after{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e5cc';
font-size: 18px;
}
.btn-w :hover{
color: var(--w);
background-color: var(--dgy);
}

.kotobuki{
background-color: var(--red);
padding: 40px 40px 80px;
color: var(--w);
}
.kotobuki h2{
font-size: 40px;
text-align: center;
}
.top-box{
display: flex;
gap:40px;
}
.top-3{
width: calc((100% - 80px) / 3);
border: 1px solid var(--w);
padding: 20px;
text-align: center;
border-radius: 5px;
}
.top-3 img{
margin: 0 auto;
width: 200px;
}
.top-3 h3{
letter-spacing: 5px;
font-size: 24px;
}
.top-3 h3 span{
display: block;
font-size: 14px;
}
.top-3 p{
width: 80%;
margin: auto;
text-align: left;
}
.contact-top{
background-image: url("../parts/kaizu.png");
background-position: bottom;
background-size: cover;
background-color: var(--lgy);
padding: 40px;
display: flex;
align-items: center;
gap:40px;
justify-content: center;
min-height: 400px;
}
.contact-top h2{
font-size: 34px;
display: inline-block;
letter-spacing: 2px;
margin: 0;
line-height: 100%;
padding: 10px 20px;
border-top: 2px solid var(--dgy);
border-bottom: 2px solid var(--dgy);
}
.contact-top span{
margin: 0;
padding: 0;
}
.contact-top p{
font-size: 32px;
font-weight: 600;
vertical-align: middle;
letter-spacing: 2px;
}
.contact-top p::before{
margin-right: 10px;
font-family: "Material Symbols Outlined";
content: '\e0b0';
font-weight: 400;
}
.btn-bk{
margin: 0;
}
.btn-bk a{
background-color: var(--dgy);
color: var(--w);
padding: 7px 20px;
vertical-align: middle;
font-size: 14px;
}
.btn-bk a::after{
margin-left: 10px;
font-family: "Material Symbols Outlined";
content: '\e5cc';
font-size: 16px;
letter-spacing: 2px;
}
.btn-bk :hover{
color: var(--dgy);
background-color: var(--w);
}
.recruit-top{
background-image: url("../parts/recruit-bg.jpg");
background-position: center center;
background-size: cover;
display: flex;
justify-content:flex-start;
align-items: center;
}
.recruit-t{
width: 46%;
margin: 2%;
padding: 40px;
text-align: center;
background-color: rgba(255,255,255,0.80);
}
.recruit-t h2{
font-size: 40px;
text-align: center;
margin: 0 0 20px;
}
.recruit-t P{
text-align: left;
margin: 0 auto;
font-size: 16px;
line-height: 180%;
display: inline-block;
}
.recruit-t ul{
margin: 20px 0;
padding: 0;
list-style: none;
display: flex;
justify-content: center;
}
.recruit-t li{
border: 1px solid var(--bk);
width: 100px;
height: 100px;
border-radius: 50%;
position: relative;
margin: 10px;
}
.recruit-t li p{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
font-size: 14px;
margin: 0;
line-height: 100%;
}
.t-right{
text-align: right;
margin: 30px 0;
}
.sp{
display: none;
}
.pc{
display: block;
}
.p-top{
position: relative;
width: 100%;
  height: 100%;
}
.p-top:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-image: radial-gradient(#333 20%, transparent 20%),
    radial-gradient(#333 20%, transparent 20%);
  background-size: 3px 3px;
  background-position: 0 0, 3px 3px;
}
.p-top h1{
position: absolute;
bottom:0px;
left: 0%;
text-align: center;
font-size: 24px;
margin-bottom: 80px;
background-color:#000;
color: #fff;
padding: 20px;
line-height: 100%;
width: 30%;
clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%);
letter-spacing: 5px;
z-index: 10;
}
.p-top h1 {
    display: flex;
    align-items: center;
}

.p-top h1:before,
.p-top h1:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

.p-top h1:before {
    margin-right: 2rem;
}

.p-top h1:after {
    margin-left: 2rem;
}
.nami{
position: absolute;
bottom: 0;
left: 0;
z-index: 10;
width: 100%;
}
.nami img{
vertical-align: bottom;
}
h1 span{
display: block;
font-size: 12px;
font-weight: 400;
letter-spacing: 3px;
padding-left: 5px;
line-height: 100%;
}
.company-box{
width: 90%;
margin: 0 auto;
padding: 20px;
}
.company-box h2{
text-align: center;
font-size: 38px;
margin-bottom: 40px;
}
.greeting{
display: flex;
flex-wrap: wrap;
gap:20px;
justify-content: center;
align-items: center;
}
.greeting-img{
width: 40%;
}
.greeting-t{
width: calc(60% - 20px);
font-size: 16px;
}
.greeting-t h3{
text-align: center;
font-size: 32px;
margin-bottom: 40px;
}
.company-box{
width: 100%;
margin: 0 auto;
padding: 20px;
}
.bsp{
background: #020024;
background: linear-gradient(355deg,rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 35%, rgba(135, 219, 250, 1) 100%);
padding: 60px;
text-align: center;
color: #fff;
font-size: 16px;
margin: 40px 0;
}
.bsp h2 {
    display: flex;
    align-items: center;
	margin: 40px auto;
	width: 600px;
}

.bsp h2:before,
.bsp h2:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

.bsp h2:before {
    margin-right: 2rem;
}

.bsp h2:after {
    margin-left: 2rem;
}
.bsp p{
font-size: 21px;
}
.outline{
padding: 40px;
}
.history{
padding: 40px;
}
table{
margin: 0 auto 50px;
max-width: 1200px;
font-size: 16px;
}
th{
width: 25%;
padding: 20px;
border: 1px solid #ccc;
background-color: #FAFAFA;
}
td{
padding: 20px;
border: 1px solid #ccc;
}
.access{
padding-bottom: 60px;
padding: 40px 0 60px;
background: #99a39a;
background: linear-gradient(158deg,rgba(153, 163, 154, 1) 0%, rgba(123, 138, 123, 1) 100%);
}
.g-map{
max-width: 1200px;
margin:0 auto;
position: relative;
filter: grayscale(100%);
padding: 40px 0;
}
.g-map-t{
position: absolute;
top:120px;
left: 10px;
width: 280px;
height: 23px;
background-color: #fff;
z-index: 100000;
}
div.review-box{
display: none;
height: 0;
}
.about_us{
padding: 40px 20px;
text-align: center;
margin-bottom: 60px;
}
.about_us p{
display: inline-block;
text-align: left;
font-size: 16px;
}
.business-li ul{
margin: 50px;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
gap:20px;
}
.business-li li{
width: calc((100% - 40px) / 3);
margin: 0 0 20px;
padding: 10px 0;
border: 1px solid #ccc;
border-radius: 10px;
font-size: 21px;
letter-spacing: 2px;
}
.routmap_lading{
background-color:#B0D4DA;
padding: 60px 20px;
text-align: center;
}
.routmap_lading p{
display: inline-block;
text-align: left;
font-size: 16px;
}
.routemap{
position: relative;
display: flex;
align-items:center;
flex-wrap: wrap;
padding: 60px 0;
}
.routemap h3{
font-size: 21px;
}
.r-map{
width: 45%;
}
.lading{
width: 55%;
}
.lading h3{
border-top: 1px dotted #999;
padding-top: 16px;
border-bottom: 1px dotted #999;
padding-bottom: 16px;
letter-spacing: 5px;
}
.lading ul{
margin: 40px 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
gap:20px;
}
.lading li{
width: calc((100% - 40px) / 3);
margin: 0;
text-align: center;
font-size: 18px;
font-weight: 600;
}
.lading li p{
display: block;
text-align: center;
}
.safety{
margin-bottom: 40px;
}
.maintenance-li{
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
max-width: 96%;
margin: 40px auto 60px;
gap:20px;
border: 1px solid #ccc;
padding: 20px;
}
.maintenance-t{
flex: 1;
margin: 0 20px;
}
.maintenance-t h3{
background-color: #000;
color: #fff;
padding: 10px;
letter-spacing: 5px;
}
.maintenance-li img{
width: 30%;
}
p.bg-lgy{
background-color: #E0E0E0;
padding: 20px;
margin-bottom: 20px;
}
.vessels-content{
max-width: 1400px;
margin: auto;
}
.vessels-content h3{
text-align: center;
}
ul.vessels-li{
margin: 40px 0;
padding: 0;
list-style: none;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
ul.vessels-li li{
margin: 0 0 20px;
width: 50%;
padding: 2%;
position: relative;
}
.nmb{
position: absolute;
top:-40px;
right: 40px;
font-size: 100px;
font-weight: 800;
color: #9C5BCD;
}
.vessels-li li table{
position: relative;
margin: 20px 0;
width: 100%;
}
.vessels-li li table th{
width: 35%;
padding: 10px 20px;
}
.vessels-li li table td{
padding: 10px 20px;
}
.contact{
max-width: 1200px;
margin: 0 auto;
padding: 20px;
font-size: 16px;
}
.pp{
margin: 50px 0; 
font-size: 16px;
line-height: 150%;
}
.privacy{
margin: 50px 0;
padding: 40px;
border: 1px solid #ccc;
font-size: 14px;
max-height: 400px;
overflow-y: scroll;
}
.privacy h3{
margin: 20px 0;
}
@media screen and (max-width:1300px){
.logo{
width: 280px;
margin-bottom: 0;
margin-left: 0;
}
.contact-btn{
margin: 5px 0 0 20px;
}
.contact-btn a{
background-color: var(--w);
border: 1px solid var(--bk);
padding: 5px 10px;
color: var(--bk);
vertical-align: middle;
}
}
@media screen and (max-width:1080px){
header{
z-index: 999;
position: fixed;
top: 0;
right: 0;
left: 0;
background-color: var(--w);
height: auto;
text-align: left;
}
.logo{
width: 260px;
margin-bottom: 10px;
margin-left: 30px;
}
.header-box{
position: fixed;
top: 0;
display: block;
max-width: 100%;
margin: 0 auto;
padding:20px 0 10px;
}
.contact-btn{
margin: 40px 0;
}
.contact-btn a{
background-color: var(--w);
border: 1px solid var(--bk);
padding: 10px 30px;
color: var(--bk);
vertical-align: middle;
}
.top-slide-t{
position: absolute;
top: 65%;
left: 0;
display: flex;
flex-direction: column;
justify-content: center;
width: 100%;
height: 100%;
color: var(--w);
z-index: 2;
padding: 20px 20px;
text-align: center;
}
.top-slide-t img{
width: 120px;
margin: 0 auto 10px;
}
.top-slide-t h2{
font-size: 28px;
margin: 0 0 10px 0;
}
.top-slide-t h3{
font-size: 16px;
margin: 0;
}
/*.top-slide-t h4{
font-size: 18px;
margin: 0;
}
.top-slide-t p{
text-align: left;
line-height: 150%;
font-size: 14px;
}*/
.history{
padding: 20px;
}
.about{
text-align: center;
padding: 60px 0px 20px;
background: 
linear-gradient(to bottom right, rgb(32,79,184) 12%, transparent 12%), /* 左上 */
linear-gradient(to top left, rgb(32,79,184) 12%, transparent 12%); /* 右下 */
}
.about h2{
font-size: 24px;
margin: 0;
}
.about p{
text-align: left;
font-size: 14px;
display: inline-block;
line-height: 150%;
}
.more{
margin: 20px 0;
}
.more a{
border: 1px solid var(--bk);
padding: 5px 30px;
color: var(--bk);
vertical-align: middle;
font-size: 16px;
border-radius: 20px;
}
.more-w{
margin: 20px auto;
}
.footer-box{
display: block;
justify-content: center;
gap:20px;
text-align: center;
}
img.f-logo{
width: 200px;
margin: 0 0 10px;
}
.imabari-t h2{
font-size: 30px;
color: var(--w);
letter-spacing: 10px;
margin: 0;
text-shadow: 1px 1px 2px var(--gy);
}
.news {
  display: block;
  justify-content: center;
  column-gap: 20px;
  text-align: center;
}
.news-t {
margin-top: 15px;
margin: auto;
  width: 100%;
  height: 40px;
  position: relative;
  border: 1px solid var(--dgy);
  display: flex;
  justify-content: center;
  align-items: center; /* 内部の要素を中央揃え */
}
.kotobuki h2{
font-size: 30px;
text-align: center;
}
.top-box{
display: block;
gap:40px;
}
.top-3{
width: 96%;
border: 1px solid var(--w);
padding: 20px;
text-align: center;
border-radius: 5px;
margin: 0 auto 40px
}
.top-3 img{
margin: 0 auto;
width: 160px;
}
.top-3 h3{
letter-spacing: 5px;
font-size: 24px;
}
.top-3 h3 span{
display: block;
font-size: 12px;
}
.top-3 p{
width: 100%;
margin: auto;
text-align: left;
}
.ships{
display: block;
}
.ships img{
width: 100%;
}
.ships-t h2{
font-size: 30px;
text-align: center;
margin: 0 0 40px;
}
.ships-t P{
text-align: left;
width: 100%;
margin: 0 auto;
font-size: 14px;
line-height: 150%;
}
.btn-w a{
border: 1px solid var(--dgy);
color: var(--dgy);
padding: 7px 20px;
vertical-align: middle;
font-size: 14px;
}
.contact-top{
background-image: url("../parts/kaizu.png");
background-position: bottom;
background-size: cover;
background-color: var(--lgy);
padding: 40px 0;
display: block;
text-align: center;
min-height: 300px;
}
.contact-top h2{
font-size: 34px;
display: inline-block;
letter-spacing: 2px;
margin: 0;
line-height: 100%;
padding: 10px 20px;
border-top: 2px solid var(--dgy);
border-bottom: 2px solid var(--dgy);
}
.contact-top span{
margin: 0;
padding: 0;
}
.contact-top p{
font-size: 32px;
font-weight: 600;
vertical-align: middle;
letter-spacing: 2px;
}
.p-top h1{
position: absolute;
bottom:26px;
left: 0%;
text-align: center;
font-size: 18px;
margin-bottom: 0px;
background-color: #000;
color: #fff;
padding: 15px;
line-height: 100%;
width: 100%;
clip-path: none;
letter-spacing: 5px;
}
.btn-bk a{
background-color: var(--dgy);
color: var(--w);
padding: 7px 20px;
vertical-align: middle;
font-size: 14px;
}
.recruit-top{
background-image: url("../parts/recruit-sp-bg.jpg");
background-position: center bottom;
background-size: cover;
display: block;
justify-content: flex-end;
align-items: flex-start;
min-height:800px;
}
.recruit-t{
width: 100%;
margin: 0%;
padding: 40px 20px;
text-align: center;
background-color: rgba(255,255,255,0.80);
}
.recruit-t h2{
font-size: 30px;
text-align: center;
margin: 0 0 20px;
}
.sp{
display: block;
}
.pc{
display: none;
}
.contents{
padding: 20px 0;
}
.outline{
padding: 20px;
}
.bsp{
padding: 20px;
}
.bsp{
background: #020024;
background: linear-gradient(355deg,rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 35%, rgba(135, 219, 250, 1) 100%);
padding: 20px;
text-align: center;
color: #fff;
font-size: 16px;
margin: 40px 0;
}
.bsp h2 {
    display: flex;
    align-items: center;
	margin: 40px auto;
	width: 90%;
}

.bsp h2:before,
.bsp h2:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

.bsp h2:before {
    margin-right: 2rem;
}

.bsp h2:after {
    margin-left: 2rem;
}
.bsp p{
font-size: 21px;
}
.business-li ul{
margin: 20px 0;
padding: 0;
list-style: none;
display: block;
flex-wrap: wrap;
gap:0;
}
.business-li li{
width: 100%;
margin: 0 0 20px;
padding: 10px 0;
border: 1px solid #ccc;
border-radius: 10px;
font-size: 21px;
}
.greeting{
display: flex;
gap:20px;
justify-content: center;
align-items: center;
}
.greeting-img{
width: 100%;
}
.greeting-t{
width: 100%;
font-size: 16px;
}
.maintenance{
padding: 20px;
}
.maintenance-li{
display: block;
max-width: 1200px;
margin: 20px 0 20px;
gap:20px;
}
.maintenance-t{
flex: 1;
margin: 20px;
}
.maintenance-li img{
width: 100%;
margin-bottom: 20px;
}
.routemap{
position: relative;
display: flex;
align-items:center;
flex-wrap: wrap;
padding: 20px 0;
}
.routemap h3{
font-size: 21px;
}
.r-map{
width: 100%;
}
.lading{
width: 100%;
}
.lading ul{
margin: 20px 0;
}
.lading li{
width: calc((100% - 20px) / 2);
}
.safety{
padding: 20px;
margin-bottom: 0px;
}
}

@media screen and (max-width:768px){
.g-map{
padding:20px;
}
.g-map-t{
position: absolute;
top:100px;
left: 30px;
width: 180px;
height: 23px;
background-color: #fff;
z-index: 100000;
}
h2{
text-align: center;
font-size: 24px;
}
ul.vessels-li li{
margin: 0 0 20px;
width: 100%;
padding: 2%;
position: relative;
}
.nmb{
position: absolute;
top:-40px;
right: 40px;
font-size: 80px;
font-weight: 800;
color: #9C5BCD;
}
}

@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
/*contact*/
#formWrap {
	max-width:1200px;
	margin:50px auto;
	color:#555;
	line-height:120%;
	font-size:90%;
}
table.formTable{
	width:100%;
	margin:0 auto 100px;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#efefef;
	text-align:left;
}
/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
#formWrap {
	width:95%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:80%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
}