@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    --base-color: #000;
    --link-color: #666;
    /*org --linkhover-color: #999;*/
    --linkhover-color: #0C0C0C;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: var(--link-color);
    text-decoration-line: none;
}
a:hover { 
    color: var(--linkhover-color);
}
a img {
    margin-bottom: 1rem;
}
a img:hover {
	opacity: 0.8;
}
.underline {
	border-bottom: 3px solid var(--base-color);
	padding-bottom: 0.5rem;
}

div.space 
{
    height:5rem;
}



/*ヘッダー
-------------------------------------*/
.head {
    flex-direction: row;
    padding: 1rem 0 0 0;

}
    .head h1 {
        display: flex;
        padding: 1rem 0;
    }

img.logo {
    width: 68px;
    height: 37px;
    vertical-align: middle;
}

rtelbox {
	margin-left: auto;
	font-size: 3.0rem;
	padding: 1rem 0 0 0;
}
nav ul {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    list-style: none;
    margin-bottom: 1rem;
    padding: 1rem 0 0 0;    
}
nav li {
    display: block;
    /*flex: 1 0 auto;*/
}
nav li a {
    text-decoration: none;
    text-align: start;
}
nav a:hover {
    /*org   background-color: var(--back-color);*/
    text-decoration: underline;
}
nav a {
    padding: 1rem;
}
nav ul li ul {
    display: none; /*★5:非表示にする */
    margin: 0px; /* ★2:サブメニュー外側の余白(ゼロ) */
    padding: 0px; /* ★3:サブメニュー内側の余白(ゼロ) */
    position: absolute; /* ★4:絶対配置にする */
    background-color: rgba( 265, 255, 255,1.0);
    透明色 */ border: solid 2px #727272; /*線*/
    border-radius: 5px; /*角の丸み*/
    line-height: 1rem;
}
    nav ul li ul li {
        margin-left: 1rem;
        margin-right: 1rem;
    }
    /* ---------------------------------- */
    /* ▼サブメニューがある場合に開く処理 */ /* ※サブメニューが1階層しか存在しない場合の記述 */
    /* ---------------------------------- */
    nav ul li:hover ul {
    display: list-item; /*★5:マウスポインタが載っている項目の内部にあるリストを表示する */
   
}
    
@media screen and (min-width: 768px) {
    /* PC時はMENUボタンを非表示 */
    #open,#close {
    display: none !important;
    }
    #navi_mobile {
        display: none !important;
    }
    #navi {
        display: block !important;
    }

}

@media screen and (max-width: 768px){
.head {
	flex-direction: column;
    text-align: left;
    margin-bottom: 20px;
}
.telbox {
	margin-left: 0;
	text-align: center;
}
.head #open,#close  {
    position: absolute;
    top: 28px;
    right: 12px;
    }
nav ul {
	flex-direction: column;
    padding-left: 2rem;
}

nav li {
        padding-top: 0;
        border-bottom: 1px solid var(--border-color);
        margin-bottom: 0;
        padding-left: 4rem;
}

nav .menu_mobile {
        
   padding: 3px 0 3px 1rem;
   background-color:whitesmoke;
   
}


/* スマホ時はMENUボタンを表示 */
#open {
    display: block;
    background: url(../img/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
    


/* スマホ時はメニューを非表示 */
#navi {
    display: none;
}
#navi_mobile {
    display: none;
    margin-bottom:3rem;
}

}

/*メイン画像
-------------------------------------*/
.mainimg {
    width: 100vw;
    text-align: center;
}
.mainimg img {

    width: 95vw;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 3rem 0 3rem 0;
}

/*新着情報
-------------------------------------*/
.news h2 {
    border-bottom: 3px solid var(--base-color);
	padding-bottom: 0.5rem;
}
.news li {
    list-style-type: none;
	border-bottom: 1px solid var(--border-color);
	padding: 0.5rem 0;
}

/*流れる
-------------------------------------*/

.flowing {
    margin: 0 auto 40px;
    width: 100%;
    font-size: 20px;
    text-align: center;
    overflow: hidden;
}

    .flowing p {
        margin: 0;
        display: inline-block;
        padding-left: 100%;
        white-space: nowrap;
        line-height: 1em;
        animation: scrollFlowing 20s linear infinite;
        /*反転
        background-color: #4d9bc1;
        color: #fff;
        padding: 0 0.1em;*/
    }

@keyframes scrollFlowing {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

/*流れる2
-------------------------------------*/
.slide {
    margin: 20px auto;
    width: 100%;
    overflow: hidden;
}

.slide ul {
    display: inline-block;
    margin: 0;
    padding-left: 100%;
    white-space: nowrap;
    animation: Slide 12s linear infinite;
}

    .slide ul li {
        display: inline;
        margin: 0 80px 0 0;
        color: #333;
        font-size: 20px;
        letter-spacing: .12em;
    }

    .slide ul .text-hanten {
        /*反転*/
        background-color: #4d9bc1;
        color: #fff;
        padding: 0 0.1em;
    }

    .slide ul .text-uner {
        /*下線*/
        border-bottom: 5px solid #4d9bc1;
    }

/* スクロールさせるアニメーション */
@keyframes Slide {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

/*文字の修飾
-------------------------------------*/
.kazari-hanten {
    /*反転*/
    background-color: #4d9bc1;
    color: #fff;
    padding: 0 0.1em;
}
.kazari-maru-ue {
    text-emphasis: circle #4d9bc1;
}
.kazari-maru {
    text-emphasis: circle #4d9bc1;
}

.kazari-kasen-tensen {
    border-bottom: 3px dashed #4d9bc1;
}
.kazari-kasen-keikopen {
    background: linear-gradient(transparent 50%, #bde4f7 50%);
    padding: 0 0.1em;
}

/*フッター
-------------------------------------*/
footer {
    background-color: royalblue;
    padding: 1rem 0;
    color: white;
}
footer h5 {
    border-bottom: 3px solid var(--border-color);
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: royalblue;
    color: white;
}
.copyright a {
    color: var(--base-color);
    text-decoration: none;
	display: inline-block;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background-color: var(--base-color);
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background-color: var(--link-color);
}
/*パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0;	
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: var(--link-color);
}

/*　会社の取り組み
-------------------------------*/
div.bisscont {
    margin-bottom:5rem;
}
    div.bisscont h5 {
        text-decoration: underline;
    }
/* 事業内容
-------------------------------*/
dl.sankobox {
    border: solid;
    padding: 0.5rem 1rem 1rem 1rem;
    border-color: royalblue;
    border-radius: 10px;

}




/* 船舶詳細 未使用
------------------------------ */
figcaption.vessel {
    position: absolute;
    bottom: 1rem;
}

figcaption.vessel p {
    text-decoration: underline;
}

table.vdetail {
    margin-left: auto;
    margin-right: auto;
    margin-top:1rem;
}

/*　船舶明細
------------------------------*/
div.vesselrow {
    margin-bottom: 3rem;
}   
div.vessel {
    /*background-color: #F1F1F1;*/
    padding: 1rem 1rem 1rem 1rem;
    margin-bottom: 1rem;
    height: auto;
}
div.vesselname {
    text-decoration: underline;
}
div.vessel img{
    width:100%;
}
table.vesseldetail {
    margin-top:2rem;
    border-width: 1px;
    line-height: 80%;
   
}
    /*　会社概要
--------------------------------*/
table tr td table td {
    padding: 0.5rem 1rem 0px 1rem;
    margin: 0px 1rem 0px 1rem;
    border: none;
}
table tr td  {

    height:fit-content;
}

div.company {
    border-bottom: solid;
    border-width: 1px;
    margin-top: 2rem;
    padding-bottom: 0px;
    border-color: gray;
    padding-left: 1rem;
}
div.compnay_naiyo {
    border-bottom:none;
    text-decoration:underline;
    
}

/*　沿革
-------------------------------*/
table.history th
{
    color:royalblue;
}

/*　業務
-------------------------------*/
.flow_design05 {
    display: flex;
    /*justify-content: center;
    align-items: center;*/
}

.flow05 {
    padding-left: 0;
}

    .flow05 > li {
        list-style-type: none;
        position: relative;
        padding-left: 50px;
    }

        .flow05 > li:not(:last-child) {
            padding-bottom: 10px;
        }

        .flow05 > li .icon05 {
            width: 2em;
            height: 2em;
            line-height: 2em;
            text-align: center;
            border-radius: 100vh;
            display: inline-block;
            background: #4D9BC1;
            color: #fff;
            position: absolute;
            left: 0;
        }

        .flow05 > li:not(:last-child)::before {
            content: '';
            background: #c3c3c3;
            width: 4px;
            height: 100%;
            position: absolute;
            top: calc(50% - -30px);
            left: 19px;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
        }

        .flow05 > li dl dt {
            font-size: 1.3em;
            font-weight: 600;
            color: #4D9BC1;
        }

        .flow05 > li dl dd {
            margin-left: 0;
        }

/*　ビデオ
----------------------*/
.video_wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

    .video_wrapper > video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        min-width: 100%;
        min-height: 100%;
    }

/* 電話FAX 自動リンク無効
------------------------*/
.link-none {
    pointer-events: none;
}