﻿/*
Theme Name: daiichikw2026_tpl
Theme URI: https://www.daiichikaiun.co.jp/
Author: REGAXIA
Author URI: https://www.daiichikaiun.co.jp/
Description: 第一海運株式会社
Version: 1.0
*/

html{
	scroll-padding-top: 120px;
}

body {
	margin:0;
	padding:0;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	text-autospace: normal;
	position:relative;
	height:100%;
	font-size: 1.0rem;
	line-height: 150%;
}

body.is-map-popup-open{
  overflow: hidden;
  touch-action: none; /* iOS対策 */
}

@media only screen and (max-width:600px){
	body{
		background-size: auto 400px;
	}
}

@media only screen and (max-width:470px){
	body{
		font-size:1.0rem;
	}
}

input,
option,
textarea{
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-size: 1.0rem;
}

a{
	color:#1572B5;
	word-break: break-all;
	opacity: 1;
	transition: opacity 0.7s ease;
}

a img{
	opacity: 1;
	transition: opacity 0.7s ease;
}

a:hover,
a:hover img{
	opacity:0.7;
	transition: opacity 0.7s ease;
}

img{
	border:none;
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}

.cntr img{
	margin:3px;
}

i{
	margin:0 3px;
}

p{
	margin:10px 10px 20px;
}

.min{
	font-family: "Times New Roman", "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight: 700;
}

.gmap{
	margin:10px 0 60px;
	padding:0;
	height:400px;
}

.gmap iframe{
	width:100%;
	height:100%;
	vertical-align: bottom;
}

main{
	display:block;
	position: relative;
	padding:0 0 50px;
}

main#topmain{
	padding:0;
}

h1{
	margin:0;
	padding:0;
}

h2{
    line-height: 3rem;
	font-size:2.5rem;
	padding:0;
	margin:0;
    display:block;
	font-family: "Times New Roman", "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color:#04486F;
}

#topcont3 h2,
#topcont5 h2{
	color:#0080C9;
}

.h2_cap{
	font-weight: 900;
	font-size:1.2rem;
	margin:0 0 60px;
	font-family: "Times New Roman", "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color:#04486F;
}

h2#subheader{
    margin:0;
	padding:130px 0 50px;
	background: #002C67 url(img/h2bg.webp) right center no-repeat;
	background-size:auto 100%;
	color:#FFF;
	text-align: center;
}

h3,
h1.editor-post-title__input{
	width:auto;
	text-align: left;
    font-weight: 900;
    margin:0 0 20px;
	padding:30px 10px 10px;
	font-size:1.8rem;
	line-height: 2.3rem;
    border-bottom: #6998C7 solid 3px;
	position: relative;
	background:#FFF;
}

h1.editor-post-title__input{
	background:#ededed;
	border:none;
}

h4{
	font-size:1.8rem;
	line-height: 2.3rem;
	color:#2666A5;
	position: relative;
	margin:30px 0 10px;
	padding:0 0 0 25px;
}

h4:before{
	content:'';
	display:block;
	width:10px;
	height:100%;
	background:#DFEEF7;
	position: absolute;
	left:0;
}

h5{
	margin:20px 0 10px;
	padding:20px 20px 10px;
	font-size:1.2rem;
	line-height: 1.7rem;
	font-weight: 900;
    background: #EFF5FA;
}

h6{
	margin:10px;
	padding:15px 15px 8px;
	font-size:1.2rem;
	line-height: 1.7rem;
	font-weight: 900;
	border:#1572B5 solid 1px;
	border-radius:10px;
	background:#FFF;
}


/* Loading Block */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.spinner_wrap{
    position:relative;
    width: 100vw;
	height: 100vh;
}

.spinner {
    width: 20vw;
    height: auto;
    margin: 0 auto;
    animation: sk-scaleout 3.0s;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

@media only screen and (max-width:600px){
	.spinner {
		width:70vw;
	}
}

/* Loading Animation */
@keyframes sk-scaleout {
    0% {
        opacity:0;
    }
    100%{
        opacity:1;
    }
}

/* Hide Loading Block */
.loaded {
  opacity: 0;
  visibility: hidden;
}

header{
    margin:0;
    padding:0;
	position: relative;
	overflow: hidden;
}

#headm{
	display:flex;
	justify-content: space-between;
	padding:0;
	align-items: center;
	position: fixed;
	top:0;
    width: 100%;
	z-index: 500;
	background: linear-gradient(0deg,rgba(36, 63, 89, 0) 0%, rgba(36, 63, 89, 1) 100%);
}

.head_l{
	max-width: 280px;
	margin:10px;
}

.head_r{
	text-align: center;
	width:calc(100% - 320px);
	display:flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 900;
	margin:10px;
}

.navbg{
	width:calc(100% - 210px);
}

.navbg ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.navbg > ul > li{
  position: relative;
	padding:10px 0;
	flex: 1 1 0;
}

.navbg > ul > li > a > span{
	display:block;
}

.navbg ul li a{
	color:#FFF;
	text-decoration: none;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.navbg > ul > li > ul{
  width: 220px;
  background: #00456C;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  margin: 0;
  padding: 0;
  list-style: none;
  border: #ABB4C0 solid 1px;
}

/* ▼ hoverで表示 */
.navbg > ul > li:hover > ul{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ▼ 子メニューのli/a */
.navbg > ul > li > ul > li{
  display: block;
  margin: 0;
  padding: 0;
}

.navbg > ul > li > ul > li + li{
  border-top: #ABB4C0 solid 1px;
}

.navbg > ul > li > ul > li > a{
  display: block;
  padding: 10px 14px;
  color: #FFF;
  text-decoration: none;
  white-space: nowrap;
}

.navbg > ul > li > ul > li > a:hover{
  background: rgba(255,255,255,.12);
}

.navbg li:before{
	display:none;
}

.pc0,
.navbg li.pc0{
    display:none;
}

a#head_contact{
	display:block;
	width:200px;
	margin:0;
	padding:5px 0;
	background:#FFF;
	color:#05416B;
	font-weight: 900;
	text-decoration: none;
	border-radius: 20px;
	font-size:0.8rem;
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.3);
}

a#head_contact i{
	color:#A6CEEA;
	margin:0 10px 0 0;
	font-size: 1.2rem;
	vertical-align: middle;
}

#ticker{
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  z-index: 20;

  width: min(1000px, calc(100% - 40px));
  display: flex;
  gap: 14px;
  padding: 0;
  background: rgba(0,0,0,.6);
  border:#ABB4C0 solid 1px;
	box-sizing: border-box;
}

#ticker_tit{
  font-weight: 700;
  white-space: nowrap;
	width:180px;
	background:#00456C;
	color:#FFF;
	border-right:#ABB4C0 solid 1px;
	padding: 0;
	text-align: center;
	display:flex;
	justify-content: center;
	align-items: center;
}

#ticker_news{
  position: relative;
  overflow: visible;
  padding: 6px 10px;
  flex: 1;
  box-sizing: border-box;
}

#ticker_news ul.ls_news{
	margin:0;
}

#ticker_news li{
  position: static;
  display: none;
  align-items: flex-start;
  gap: 12px;
	padding:0;

  opacity: 0;
  transform: translateY(12px);
}

#ticker_news li.is-active{
  display: flex;
  animation: tickerStep 4.5s ease-in-out both;
}

#ticker_news li > div:first-child{
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  flex: 0 0 auto;
}

#ticker_news li > div:last-child{
  flex: 1 1 auto;
  min-width: 0;
}

#ticker_news a{
  display: block;
  white-space: normal;
  line-height: 1.4;
  color:#FFF;
  text-decoration: none;
}

#ticker_news .ls_news div:nth-child(1){
	color:#FFF;
}

#ticker_news .ls_news li+li{
	border:none;
}

@keyframes tickerStep{
  0%{
    opacity: 0;
    transform: translateY(16px);
  }
  18%{
    opacity: 1;
    transform: translateY(0);
  }
  72%{
    opacity: 1;
    transform: translateY(0);
  }
  100%{
    opacity: 0;
    transform: translateY(-16px);
  }
}

@media (max-width: 730px){
  #ticker{
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    width: calc(100% - 24px);

    flex-direction: column;
    align-items: stretch;
    gap: 0;

    overflow:auto;
  }

  #ticker_tit{
    width: 100%;
    padding:0;
    border-right: none;
    border-bottom: #ABB4C0 solid 1px;
  }

  #ticker_news{
	  padding: 3px;
	}

  #ticker_news li{ flex-wrap: wrap; }
}

@media (max-width: 480px){
  #ticker{
    position:static;
	  transform: none;
	  background:#000;
	  border:none;
	  width:100%;
  }
	
	#ticker_news li.is-active{
		display:block;
	}
}

#movie{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
  z-index: 1;
}

#movie iframe.yt-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}



@media only screen and (max-width:1280px){
	.navbg{
		font-size:0.8rem;
	}
}

@media only screen and (max-width:1077px){
	body.no-nav-anim .navbg,
	body.no-nav-anim #nav-toggle span {
		transition: none !important;
	}
	
	html{
		scroll-padding-top: 100px;
	}
	
	.head_r{
		width:auto;
	}
	
	h1{
		width:260px;
	}
	
	.navbg{
		display:none;
	}
		
    .navbg {
		display:block;
		opacity:0;
        padding:60px 10px 100px;
        position: fixed;
        right: -250px;
        top: 0;
        height: calc(100% - 100px);
        width: 230px;
        float:none;
        background:#000;
        text-align: center;
        z-index: 300;
        transition: .35s ease-in-out;
        overflow: auto;
    }
	
	.navbg ul{
		display:block;
	}
	
	.navbg > ul > li > a > span{
		display:inline;
	}
	
	.navbg > ul > li > a > span:before{
		content:'・';
	}
    
    .navbg ul li {
        display:block;
        text-align: left;
        width:auto;
		cursor:pointer;
		color:#FFF;
		position:relative;
		padding:3px 0;
    }
	
	.navbg li a{
		color:#FFF;
		text-decoration: none;
		padding:5px;
	}
	
	.navbg li a span{
		display:inline;
	}
	
	.navbg > ul > li > ul{
	  width: auto;
	  background:#000;
	  position: static;
	  opacity: 100;
	  visibility:visible;
	  pointer-events:auto;
	  margin: 0 0 0 20px;
	  padding: 0;
	  list-style: none;
	  border:none;
		transform: none;
	}
	
	.navbg > ul > li > ul > li + li{
		border:none;
	}
	
	.navbg > ul > li > ul > li > a{
		padding:3px 0;
	}
	
	.navbg > ul > li > ul > li > a:hover{
		background:#000;
	}
	
	a#head_contact{
		display:none;
	}

    /* nav-toggle */
    #nav-toggle {
        display: block;
        position: fixed;
        top: 17px;
        right: 10px;
        height: 32px;
        padding: 10px 10px 0;
        background: #000;
        border:#FFF solid 2px;
        cursor: pointer;
        box-shadow: 0px 3px 5px -2px rgb(0 0 0 / 30%);
		z-index: 900;
    }

    #nav-toggle > div {
        position: relative;
        width: 20px;
    }

    #nav-toggle span {
        width: 100%;
        height: 2px;
        left: 0;
        display: block;
        background: #FFF;
        position: absolute;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    #overlay {
        display: none;
        position: fixed;
        background: rgba(0,0,0,0.6);
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events:none;
        z-index: 250;
    }

    #nav-toggle span:nth-child(1) {
        top: 0;
    }
    #nav-toggle span:nth-child(2) {
        top: 9px;
    }
    #nav-toggle span:nth-child(3) {
        top: 19px;
    }

    /* nav open */
    .open {
        overflow: hidden;
    }
    .open #overlay {
        display: block;
    }
	.open .navbg{
		opacity:1;
        transform: translate3d(-230px,0,0);
    }

    /* #nav-toggle close */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        transform: rotate(45deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        transform: rotate(-45deg);
    }
    
    .pc0,
    .navbg li.pc0{
        display:block;
    }
}

@media only screen and (max-width:700px){
	#nav-toggle {
		top:10px;
	}
}


@media only screen and (max-width:420px){
	html{
		scroll-padding-top: 90px;
	}
	
	h1{
		width:70%;
	}
}

@media (max-width:1078px){
	.navbg{
		font-size:0.8rem;
	}
	
	.navbg li a:after{
		display:none;
	}
}

#topcont1{
	/*background-image:url("img/topcont1_img.webp"), url("img/topcont1_bg.webp");
	background-size:50% auto, 100% auto;
	background-position: right bottom, bottom center;*/
	background-image:url("img/topcont1_bg.webp");
	background-size:100% auto;
	background-position:bottom center;
	background-repeat: no-repeat;
	margin:0;
	padding:120px 0 0;
	position: relative;
}

#topcont1_wrap{
	width:600px;
	height:400px;
	margin:0 0 0 20%;
	padding:0;
}

#topcont1_inner{
	z-index: 100;
	position: relative;
}

#topcont1_r{
	height:130%;
	aspect-ratio: 498 / 630;
	background-image: url(img/globe.webp);
	background-size:cover;
	position: absolute;
	right:0;
	bottom:0;
}

#topcont1_r span{
	width:25px;
	height:25px;
	display:block;
	position: absolute;
	animation: pinBlink 1.2s infinite;
}

@keyframes pinBlink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

span.topcont1_p_oka{
	left: 26%;
	top: 90%;
}

span.topcont1_p_koj{
	left: 32%;
	top: 69%;
}

span.topcont1_p_sbs{
	left: 36%;
	top: 71%;
}

span.topcont1_p_mki{
	left: 37%;
	top: 68%;
}

span.topcont1_p_osa{
	left: 57%;
	top: 59%;
}

span.topcont1_p_tyo{
	left: 79%;
	top: 56%;
}

@media only screen and (max-width:1300px){
	#topcont1_wrap{
		margin:0 0 0 10%;
	}
}

@media only screen and (max-width:1110px){
	#topcont1_wrap{
		width:auto;
		height:auto;
		/*min-height: 400px;*/
		margin:0 10px;
		padding:60px 0 80px;
	}
	
	#topcont1{
		/*background-size:auto 100%, 100% auto;*/
		padding:0;
	}
	
	#topcont1_tit{
		padding:0;
	}
	
	#topcont1_inner{
		width:600px;
	}
	
	#topcont1_r{
		height:110%;
	}
}

/*@media only screen and (max-width:800px){
	#topcont1{
		background-size:auto 80%, 100% auto;
	}
}*/

@media only screen and (max-width:800px){
	#topcont1_inner{
		margin:0 auto;
	}
	
	#topcont1_r{
		height:80%;
	}
}

@media only screen and (max-width:630px){
	#topcont1{
		/*background-size: auto 50%, 100% auto;*/
		padding: 30px 0 150px;
	}
	
	#topcont1_wrap{
		padding:0;
	}
	
	#topcont1_inner{
		width:auto;
		margin:10px;
	}
}

@media only screen and (max-width:370px){
	#topcont1_r{
		width:100%;
		height:auto;
	}
}

#topcont2{
	background:url("img/topcont2_bg.webp") center center;
	background-size: auto 100%;
	margin:0;
	padding:120px 0;
}

#topcont2_cont{
	display:flex;
	justify-content: center;
	gap:20px;
}

#topcont2_cont div{
	width:350px;
}

#topcont2_cont img{
	border-radius: 15px;
}

.topcont2_tit{
	font-weight: 900;
	margin:10px 0;
}

a.topcont2_tit{
	display:block;
	text-decoration: none;
	position:relative;
	font-size:1.2rem;
	color:#000;
	margin:10px 0 20px;
}

a.topcont2_tit:after{
	content: "\f061";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position:absolute;
	top: 50%;
    right: 13px;
    transform: translateY(-50%);
}

@media only screen and (max-width:1110px){
	#topcont2_cont > div{
		width:calc((100% - 40px) / 3);
	}
	
	#topcont2_cont > div > div{
		width:auto;
	}
}

@media only screen and (max-width:1000px){
	#topcont2{
		padding:60px 10px;
	}
	
	.h2_cap{
		margin:0 0 20px;
	}
}

@media only screen and (max-width:730px){
	#topcont2_cont{
		display:block;
	}
	
	#topcont2_cont > div{
		display:flex;
		align-items: center;
		justify-content:space-between;
		width:auto;
	}
	
	.topcont2_img{
		width:40%;
	}
	
	#topcont2_cont > div > div{
		width:58%;
	}
	
	#topcont2_cont > div:nth-child(2){
		flex-direction: row-reverse;
	}
}

@media only screen and (max-width:500px){
	#topcont2_cont > div{
		display:block;
	}
	
	.topcont2_img,
	#topcont2_cont > div > div{
		width:auto;
	}
}

#topcont3{
	background:url("img/topcont3_bg.webp") center center;
	background-size: auto 100%;
	margin:0;
	padding:0 0 200px;
}

#topcont3 .w1{
	width:90%;
	display:flex;
	justify-content: space-between;
	align-items: center;
}

#topcont3_l{
	width:460px;
}

#topcont3_l ul{
	margin:0;
	padding:0;
	list-style: none;
}

#topcont3_l ul ul{
	margin:0 0 0 20px;
	display: none;
}

#topcont3_l ul li{
	background:#FFF;
	border:#2A84B7 solid 1px;
	border-radius: 15px;
	margin:0 0 10px;
	padding:10px;
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.3);
}

#topcont3_l ul li:before{
	display:none;
}

#topcont3_l ul li.is_active{
	background:#EAF7FF;
}

#topcont3_l ul li.is_active ul{
	display: block;
}

#topcont3_l ul li li{
	background:none;
	border:none;
	box-shadow: none;
	padding:5px 0;
	margin:0;
}

#topcont3_l ul li a{
	display:block;
	margin:0;
	padding:0 0 0 20px;
	position: relative;
	color:#000;
	text-decoration:none;
}

#topcont3_l ul li li a{
	color:#A3A3A3;
}

#topcont3_l ul li li a:hover,
#topcont3_l ul li li a.is_active{
	color:#000;
}

#topcont3_l ul li a:before{
	content: "\f055";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position:absolute;
	top: 50%;
    left: 0;
    transform: translateY(-50%);
	color:#2A84B7;
}

#topcont3_l ul li.is_active a:before{
	content: "\f056";
	color:#A4CAE0;
}

#topcont3_l ul li li a:before,
#topcont3_l ul li.is_active li a:before{
	content: "\f0a9";
	color:#2A84B7;
}

#topcont3_r{
	width:calc(100% - 500px);
	position: relative;
}

#topcont3_r img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: auto;
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease;
}

#topcont3_r img.is_active{
	opacity: 1;
	pointer-events: auto;
	position: relative;
}

@media only screen and (max-width:1000px){
	#topcont3_l{
		width:40%;
	}
	
	#topcont3_r{
		width:58%;
	}
}

@media only screen and (max-width:730px){
	#topcont3{
		padding:0 0 50px;
	}
	
	#topcont3_l{
		width:100%;
		margin:0 auto;
	}
	
	#topcont3_r{
		display:none;
	}
}

#map_popup{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  background: rgba(0,0,0,.8);
}

#map_popup.is-open{
  display: block;
}

#map_popup_inner{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 900px);
  max-height: 86vh;
}

#map_popup_img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

@media only screen and (max-height:650px),
only screen and (min-width:660px){
#map_popup_img{
  width: auto;
  height: 90vh;
	margin:0 auto;
}
}

@media only screen and (max-width:659px){
#map_popup_img{
  width: 100%;
  height: auto;
}
}

#map_popup_close{
  position: absolute;
  top: -14px;
  right: -14px;
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  cursor: pointer;
}

#map_popup_close::before{
  content: "\f057";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 40px;
  line-height: 1;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}

#topcont4,
#topcont_sns{
	background-image:url("img/topcont4_bg_r.webp"), url("img/topcont4_bg_l.webp");
	background-position:bottom right, bottom left;
	background-repeat: no-repeat;
	background-size:60% auto, 50% auto;
	margin:0;
	padding:100px 0;
}

#topcont_sns{
	background-image:url("img/topsns_bg_r.webp"), url("img/topsns_bg_l.webp");
	background-position:top right, top left;
}

#topcont4{
	display:flex;
	justify-content: center;
	gap:20px;
}

.topcont4_inner{
	width:40%;
}

@media only screen and (max-width:1200px){
	#topcont4{
		padding:100px 10px;
	}
	
	.topcont4_inner{
		width:calc((100% - 20px) / 2);
	}
}

@media only screen and (max-width:900px){
	#topcont4{
		display:block;
	}
	
	.topcont4_inner{
		width:auto;
		max-width: 600px;
		margin:10px auto;
	}
}

@media only screen and (max-width:700px){
	#topcont4,
	#topcont_sns{
		padding:30px 0;
	}
}

@media only screen and (max-width:600px){
	.topcont4_inner{
		margin:10px;
	}
}

#topcont5{
	background:url("img/topcont5_bg.webp") left center no-repeat;
	background-size:cover;
	margin:0;
	padding:100px 0;
}

#topcont5_inner{
	width:540px;
	margin:0 auto;
	padding:100px;
	background:rgba(255, 255, 255, 0.7);
}

@media only screen and (max-width:750px){
	#topcont5{
		padding:50px 0;
	}
	
	#topcont5_inner{
		width:auto;
		margin:10px;
		padding:10px;
	}
	
	#topcont5 a.btn_more2{
		margin:0;
		font-size:0.8rem;
		width:auto;
	}
}

#topcont6{
	background:#E4EAF0;
	margin:0;
	padding:0;
	text-align: center;
}

#topcont6 a{
position: relative;
display: inline-block;
width: 300px;
max-width: calc(100% - 40px);
margin: 0 auto;
padding: 60px 0;
font-size: 1.5rem;
color: #000;
text-decoration: none;
z-index: 1;
	font-weight: normal;
}

#topcont6 a::before{
content: "";
position: absolute;
inset: 0;
transform: skewX(-35deg);
z-index: -1;
}

#topcont6 a:nth-child(2)::before{
background: #D4D9DE;
}

#topcont6 a i{
display: block;
font-size: 2.3rem;
color: #3F7AA8;
margin: 0 auto 10px;
}

@media only screen and (max-width:1060px){
	#topcont6 a{
		width:30%;
		padding:20px 0;
		font-size:1rem;
	}
	
	#topcont6 a::before{
		transform: skewX(-15deg);
	}
}

@media only screen and (max-width:550px){
	#topcont6 a{
		font-size:0.7rem;
	}
}

@media only screen and (max-width:400px){
	#topcont6 a{
		display:block;
		width:auto;
		max-width: none;
		padding:5px 0;
	}
	
	#topcont6 a i{
		display:inline-block;
		font-size:1.2rem;
		vertical-align: middle;
		margin:0 10px 0 0;
	}
	
	#topcont6 a::before{
		transform: none;
	}
}

#topcont7{
	background-color:#155281;
	background-image:url(img/footer_contact_bg.webp);
	background-position: calc(100% + 100px) center;
	background-repeat: no-repeat;
	background-size: auto 160%;
	margin:0;
	padding:40px 0;
	color:#FFF;
	text-align: center;
}

#topcont7 h2,
#topcont7 .h2_cap{
	color:#FFF;
	margin:0;
}

#topcont7 .w1{
	display:flex;
	align-items: center;
	justify-content: center;
}

#topcont7_tit{
	width:200px;
	border-right:#FFF solid 1px;
	margin:0;
	padding:30px;
	display: flex;
	flex-direction: column;
}

#topcont7_cont{
	width:540px;
	margin:0;
	padding:30px;
}

#topcont7_cont h2,
#topcont7_cont div{
	display:inline-block;
	margin:0 5px;
	vertical-align: middle;
}

#topcont7_cont a{
	display:block;
	background:rgba(24, 87, 137, 0.5);
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.8);
	border-radius: 20px;
	margin:10px 0 0;
	padding:20px 0;
	text-align: center;
	text-decoration: none;
	font-size:1.5rem;
	color:#FFF;
}

#topcont7_cont a i{
	color:#3F7AA8;
	margin:0 10px 0 0;
}

@media only screen and (max-width:660px){
	#topcont7{
		padding:20px 10px;
	}
	
	#topcont7 .w1{
		display:block;
	}
	
	#topcont7_tit{
		width:auto;
		border:none;
		padding:0;
	}
	
	#topcont7_tit:after{
		content:"";
		width:100px;
		margin:10px auto;
		border-bottom:#FFF solid 1px;
	}
	
	#topcont7_cont{
		width:auto;
		padding:0;
	}
	
	#topcont7_cont h2,
	#topcont7_cont div{
		display:block;
	}
	
	#topcont7_cont a{
		font-size:1rem;
	}
	
	#topcont7_cont a i{
		font-size:1.3rem;
	}
}

.ls_news,
.ls_news_thumb{
	margin:0 0 20px;
	padding:0;
	list-style: none;
}

.ls_news li{
	display:flex;
	margin:0;
	padding:30px 0;
	width:auto;
}

.ls_news li+li{
	border-top:#D0D0D0 solid 1px;
}

.ls_news li:before{
	display:none;
}

.ls_news li a{
	color:#000;
}

#topcont2 .ls_news div,
.ls_news div{
	display:inline-block;
	vertical-align: top;
}

.ls_news div:nth-child(1){
	width:100px;
	color:#848484;
}

.ls_news div:nth-child(2){
	width:calc(100% - 125px);
}

.catlist span{
	display:inline-block;
	margin:0 3px;
	padding:2px 10px;
	background:#F7F7F7;
	font-size:0.7rem;
	font-weight: 900;
}

.ls_news_thumb{
	display:flex;
	flex-wrap: wrap;
	gap:10px;
}

.ls_news_thumb li{
	width:calc((100% - 20px) / 3);
	margin:0;
	padding:0;
}

.ls_news_thumb li:before{
	display:none;
}

a.blog_thumb{
	display:block;
  width: calc(100% - 10px);
  aspect-ratio: 1 / 1;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
	margin:0 0 10px;
	padding:0;
	border:#FFF solid 2px;
	border-radius: 12px;
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.3);
}

.ls_news_thumb a{
	color:#000;
}

@media only screen and (max-width:700px){
	.ls_news li{
		display:block;
		padding:10px 0;
	}
	
	.ls_news div:nth-child(1),
	.ls_news div:nth-child(2){
		width:auto;
		display: block;
    }
}

@media only screen and (max-width:500px){
	.ls_news_thumb li{
		width:calc((100% - 10px) / 2);
	}
}

.pagetop{
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 999;
	font-size:2rem;
}

.pagetop a {
    display: flex;
	justify-content: center;
	align-items: center;
    width:50px;
	height:50px;
	background:#000;
	border:#FFF solid 1px;
	color:#FFF;
	text-decoration: none;
}

.cont{
	padding:0 20px 60px;
}

#pmap{
	font-size:70%;
	color:#8A8A7B;
	margin:10px auto;
	padding:0 ;
	text-align:left;
    width:1200px;
}

#pmap a{
	color:#8A8A7B;
}

@media only screen and (max-width:1280px){
	#pmap{
		margin:10px 20px;
		width:calc(100% - 40px);
	}
}

#voice_header{
	height:440px;
	margin:0 0 30px;
	padding:0;
	background:url("img/voice_bg.webp") bottom center no-repeat;
	background-size:contain;
	position: relative;
}

#voice_header_inner{
	width:50%;
	z-index: 50;
	position: absolute;
	left:10%;
	top:50%;
	transform: translateY(-50%);
}

#voice_header_copy{
	font-size:2rem;
	line-height: 2.5rem;
	font-family: "Times New Roman", "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	margin:0 0 30px;
	text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}

#voice_header_prof{
	background:rgb(33 45 118 / 0.8);
	margin:0;
	padding:30px;
	color:#FFF;
	font-weight: bold;
}

#voice_header img{
	width:40%;
	height:auto;
	position: absolute;
	right:10%;
	top:50%;
	transform: translateY(-50%);
	z-index: 10;
}

.voice_img{
	width:80%;
	margin:30px auto;
}

@media only screen and (max-width:850px){
	#voice_header_inner{
		left:0;
		width:60%;
	}
	
	#voice_header_copy{
		font-size:1.7rem;
		line-height: 2.2rem;
	}
	
	#voice_header img{
		right:0;
		width:50%;
	}
}

@media only screen and (max-width:650px){
	#voice_header{
		height:340px;
	}
	
	#voice_header_copy{
		font-size:1.5rem;
		line-height: 2rem;
	}
}

@media only screen and (max-width:500px){
	#voice_header{
		background-position: top center;
		height: 280px;
	}
	
	#voice_header img{
		top:0;
		transform: none;
	}
	
	#voice_header_inner{
		width:85%;
		padding:10px;
		background:rgb(255 255 255 / 0.6);
		bottom: 0;
		top: unset;
		transform: none;
	}
	
	#voice_header_copy{
		font-size:1.0rem;
		line-height: 1.5rem;
		margin: 0 0 10px;
	}
	
	#voice_header_prof{
		padding: 10px;
	}
}

.recruit_voice_list{
	margin:0;
	padding:0;
	list-style: none;
	text-align: center;
}

.recruit_voice_list li{
	display:inline-block;
	width:23%;
	margin:0;
	padding:5px;
}

.recruit_voice_list li:before{
	display:none;
}

@media only screen and (max-width:850px){
	.recruit_voice_list li{
		width:250px;
	}
}

.slick-slide{
	margin:10px;
}

.recruit_voice_list .slick-prev,
.recruit_voice_list .slick-next {
	z-index: 10;
	width: 30px;
	height: 30px;
}

.recruit_voice_list .slick-prev {
	left: 10px;
}

.recruit_voice_list .slick-next {
	right: 10px;
}

.slick-next:before, .slick-prev:before{
	font-size:2rem;
}

footer{
	margin:0;
	padding:30px;
	background:#033D69;
	color:#FFF;
	display:flex;
	justify-content: space-between;
}

#foot_info{
	width:300px;
}

#foot_info img{
	margin:0 0 30px;
}

footer nav{
	width:calc(100% - 320px);
	margin:0;
	padding:0;
	display:flex;
	font-size:0.9rem;
	text-align: left;
	justify-content: flex-end;
}

footer nav ul{
	margin:10px;
	padding:0;
	list-style: none;
}

footer nav ul ul{
	margin:0;
}

footer nav li{
	margin:0;
	padding:5px 5px 5px 20px;
}

footer nav li li{
	padding:5px 0;
}

footer nav ul li:before{
	color:#FFF;
	top:6px;
}

footer nav ul ul li:before{
	display:none;
}

footer nav li a{
	display:block;
	padding:0;
	color:#FFF;
	text-decoration: none;
	font-weight: bold;
}

footer nav li li a{
	font-weight: normal;
}

footer nav ul ul{
	display:block;
	font-weight: normal;
	margin:10px 0 0 10px;
}

footer nav li li{
	width:auto;
	display:block;
	margin:0;
	padding:0 0 10px;
	line-height: 110%;
}

footer nav li li a{
	margin:0;
}

#copyr{
    font-size:0.8rem;
    margin:10px 0 0;
    padding:0;
	display: inline-block;
}

@media only screen and (max-width:920px){
	footer{
		justify-content: center;
		text-align: center;
	}
	
	footer nav{
		display:none;
	}
}

@media only screen and (max-width:800px){
	footer{
		padding:50px 20px 20px;
	}
}

.recaptcha_policy {
  padding: 0;
  margin: 0;
  font-size: 60% !important;
  color: #444 !important;
}

.recaptcha_policy a {
  font-size: 60% !important;
  color: #111 !important;
}

.grecaptcha-badge { visibility: hidden; }

#pagination {
clear:both;
padding:20px 0;
text-align: center;
font-size: 80%;
}

#pagination span, #pagination a {
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#fff;
background:#000;
}

#pagination a:hover{
background:#999;
}

#pagination .current{
padding:6px 9px 5px 9px;
background:#999;
}

label.disp_iblk{
	display:inline-block;
}

fieldset{
	border:none;
}

.wp-block-embed__wrapper{
	width: 100%;
	aspect-ratio: 16 / 9;
}

.wp-block-embed__wrapper iframe{
	width:100%;
	height:100%;
}

.wp-block-buttons{
	padding:10px 0;
}

.wp-element-caption{
	text-align: center;
}

.box1{
	background:#FFF4CE;
	margin:10px;
	padding:20px;
	border-radius: 10px;
}

.nav_acd {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav_acd li {
  padding:0;
}

.nav_acd li:before {
	display:none;
}

.nav_acd .acd_title {
  cursor: pointer;
  padding: 20px;
  font-weight: bold;
  position: relative;
	background:#F7F7F7;
	border:#D9D9D9 solid 1px;
	font-size:1.2rem;
	border-radius: 12px;
}

.nav_acd .acd_body {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 20px;
  transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    padding 0.3s ease;
}

.nav_acd li.is_open .acd_body {
  opacity: 1;
  padding: 20px;
}

.nav_acd .acd_title::after {
content: "+";
position: absolute;
right: 12px;
transition: transform 0.3s ease;
}


.nav_acd li.is_open .acd_title::after {
content: "−";
}

/* 選考の流れ */
#recruit_flow {
  max-width: 900px;
  margin: 0 auto 70px;
  padding: 0 20px;
  position: relative;
}

/* 縦ライン */
#recruit_flow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 28px;
  width: 2px;
  height: 100%;
  background: #d6dde3;
}

/* 各ステップ */
#recruit_flow .recruit_flow_cont {
  position: relative;
  padding-left: 80px;
  margin-bottom: 40px;
}

/* 丸アイコン */
#recruit_flow .recruit_flow_cont::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 18px;
  width: 22px;
  height: 22px;
  background: #0b4c7a; /* 海運っぽい落ち着いたブルー */
  border-radius: 50%;
  z-index: 2;
}

/* タイトル */
.recruit_flow_tit {
  font-size: 1.1rem;
  font-weight: bold;
  color: #0b4c7a;
  margin-bottom: 8px;
}

/* 説明文 */
.recruit_flow_cont > .recruit_flow_cont {
  background: #f7f9fb;
  padding: 16px 20px;
  border-radius: 8px;
  line-height: 1.7;
  color: #333;
}

/* 最後の余白調整 */
#recruit_flow .recruit_flow_cont:last-child {
  margin-bottom: 0;
}

/* SP対応 */
@media (max-width: 600px) {
  #recruit_flow {
    padding: 30px 10px;
  }

  #recruit_flow::before {
    left: 20px;
  }

  #recruit_flow .recruit_flow_cont {
    padding-left: 60px;
  }

  #recruit_flow .recruit_flow_cont::before {
    left: 11px;
  }
}

/*--- list -------*/
ul{
	margin:0 20px 50px;
	padding:0;
	list-style: none;
}

ul ul{
	margin-left:30px;
}

ul li{
	margin:0;
	padding:10px 10px 10px 30px;
	position: relative;
}

ul li:before{
	content: "\f138";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    color:#1572B5;
    margin:0;
	position:absolute;
	top:11px;
	left:0;
}

.ls_check li:before{
	content:"\f058";
	color:#6F9D34;
}

ul.ls_col3{
	display:flex;
	flex-wrap: wrap;
	gap:20px;
}

ul.ls_col3 li{
	width:calc((100% - 160px) / 3);
	padding:0 0 0 25px;
}

ul.ls_col3 li:before{
	top:0;
}

@media only screen and (max-width:630px){
	ul.ls_col3 li{
		width:calc((100% - 70px) / 2);
	}
}

@media only screen and (max-width:450px){
	ul.ls_col3{
		display:block;
	}
	
	ul.ls_col3 li{
		width:auto;
	}
}

ul.ls_icon{
	margin:0;
	padding:20px;
	list-style: none;
	display:flex;
	flex-wrap: wrap;
	gap:10px;
	text-align: center;
	justify-content: center;
}

ul.ls_icon li{
	width:200px;
	margin:0;
	padding:20px 0;
	background:#F0F8FF;
	border-radius: 20px;
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.3);
}

ul.ls_icon li:nth-child(odd){
	background:#F7FBFF;
}

ul.ls_icon li i{
	font-size:2.3rem;
	display:block;
	margin:0 auto 10px;
	color:#2666A5;
}

ul.ls_icon li:nth-child(odd) i{
	color:#3890E6;
}

ul.ls_icon li:before{
	display:none;
}

ul.ls_icon li span{
	display:block;
	font-size:0.8rem;
}

ol li{
	margin:0 0 10px;
}

/*--- table -------*/
table,
.wp-block-table table{
    width:100%;
    margin:0 auto 40px;
    padding:0;
	border-collapse: separate;
	border-spacing:20px 0;
}

th p,
td p{
	padding:0;
	margin:0;
}

th,
td,
.wp-block-table td{
	border:none;
    border-top:#B4C9D5 dashed 1px;
	padding:20px;
}

th,
tr > td:first-child{
	border-top:#E9F1F5 solid 3px;
	min-width: 250px;
}

.wp-block-column tr > td:first-child{
	min-width: auto;
}

legend.none,
label.none{
	display:none;
}

.tbl1 table{
	margin:0;
	padding:0;
	border-collapse: collapse;
}

.tbl1 th,
.tbl1 td{
	padding:5px;
	border:none;
}

.tbl1 tr:first-child{
	border-top:#CCC solid 1px;
}

.tbl1 tr{
	border-bottom:#CCC solid 1px;
}

.tbl1 tr > td:first-child{
	border:none;
}

@media only screen and (max-width:630px){
	th,
	td{
		display:block;
		padding:5px;
		text-align: left;
	}
}

/*--- common -------*/
.w1{
	width:80%;
	max-width: 1200px;
	margin:0 auto;
}

.w2{
	width:700px;
	margin:0 auto;
}

@media only screen and (max-width:1000px){
	.w1{
		width:auto;
		margin:10px;
	}
}

@media only screen and (max-width:700px){
	.w2{
		width:auto;
		margin:10px;
	}
}

.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0;
	clear: both;
}

.clearfix {
	zoom: 1;
}

.btn_more a,
a.btn_more,
a .btn_more,
div.btn_more,
a.btn_submit,
.btn_more2 a,
a.btn_more2,
.btn_more3 a,
a.btn_more3,
a .btn_more3,
.btn_more_l a,
a.btn_more_l{
	display:inline-block;
	margin:3px;
	padding:10px 30px 10px 20px;
	text-decoration: none;
	font-weight: 500;
	background:#FFF;
	border-radius: 30px;
	color:#000;
	position:relative;
	box-shadow: 0px 7px 7px -6px rgba(0, 0, 0, 0.3);
	width:200px;
}

a.btn_submit{
	background:#000000;
	color:#FFF;
}

.btn_more a:after,
a.btn_more:after,
a .btn_more:after,
div.btn_more:after,
.btn_more2 a:after,
a.btn_more2:after,
.btn_more3 a:after,
a.btn_more3:after,
a .btn_more3:after,
.btn_more_l a:after,
a.btn_more_l:after{
	content: "\f061";
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position:absolute;
	top: 50%;
    right: 13px;
    transform: translateY(-50%);
}

.btn_more2 a,
a.btn_more2{
	background:#0180C9;
	color:#FFF;
}

.btn_more3 a,
a.btn_more3,
a .btn_more3{
	width:calc(100% - 50px);
}

a.btn_more_l,
.btn_more_l a{
	background:#002C67;
	color:#FFF;
	font-size: 1.2rem;
	width:auto;
	min-width: 200px;
	padding: 20px 50px 20px;
}

.tr{
text-align:right;
}

.cntr,
.tr > .cntr,
.cntr2,
.tbl1 th.cntr,
.tbl1 td.cntr{
text-align:center;
}

label.i_block{
	display:inline-block;
}

input,
select,
textarea{
	border: solid 1px #CCC;
	border-radius:8px;
}

input[type="text"],
input[type="email"],
input[type="tel"]{
width:calc(100% - 20px);
padding:10px;
}

select{
	width:100%;
	padding:10px;
}

input[type="number"]{
padding:10px 0;
width:50px;
}

textarea{
width:calc(100% - 20px);
height:150px;
padding:10px;
}

input[type="submit"],
input[type="button"]{
	margin:0 auto;
	padding:13px 30px;
	background:#000;
	color:#FFFFFF;
	border:none;
	border-bottom:#D0D0D0 solid 3px;
	cursor: pointer;
	border-radius: 30px;
}

input[type="submit"]:disabled,
input[type="button"]:disabled{
	background:#CCCCCC;
}

.strg{
    font-weight: 700;
}

.required{
	display: inline-block;
	background:#B22C00;
	color:#FFF;
	font-size:0.8rem;
	padding:2px 8px;
	border-radius: 15px;
	margin:0 0 0 10px;
}

.red,
.red a,
a.red{
	color:#B22C00;
	font-weight:bold;
}

.gry{
	color:#8B8B8B;
	font-weight: bold;
}

.mb80{
	margin-bottom:80px;
}

.pc0{
display:none;
}

.cntr100{
text-align:center;
margin:100px 0;
padding:0;
}

.wpcf7-spinner{
	display:block;
}

@media only screen and (max-width:1000px){
    .w1{
        width:auto;
    }
}

@media only screen and (max-width:950px){
    .fs18rem{
        font-size:1.2rem;
    }
}

@media only screen and (max-width:700px){
    .cont{
        padding:0 0 60px;
    }
}

@media only screen and (max-width:630px){
	h2,
	h3,
	.h2_cap{
		font-size:1.2rem;
		line-height: 1.8rem;
	}
	
	h4{
		font-size:1.2rem;
		margin:30px 5px 5px;
	}
	
    p{
        margin:10px;
    }
	
	.fs18rem,
	.fs16rem,
	.fs13rem{
		font-size:1.0rem;
	}
	
	h2#subheader{
		padding:80px 0 20px;
	}
	
	h3{
		padding:10px;
		margin:30px 0 10px;
	}

	h1.editor-post-title__input{
		padding:10px;
	}
	
	h5,
	h6,
	.cat_tit{
		padding:10px;
	}
}

@media only screen and (max-width:500px){
    th{
        text-align: left;
    }
}

@media only screen and (max-width:330px){
	body{
		font-size:1.0rem;
	}
}