@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
font-family: "Noto Sans JP", sans-serif;
font-family: "Noto Serif JP", serif;
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
  color: #000;
  line-height: 1.8; 
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
a {
  color: #000; 
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clickable a, .clickable a:hover {
  
}
.flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.inrContent {width: 80%; max-width: 1200px; margin:0 auto; position: relative;}
.inrContent-top {width: 90%; max-width: 1400px; margin:0 auto; position: relative;}
img {width: 100%; height: auto;}
.br_spOnly{display:none;}
.br_pcOnly{display:block;}


/*　上に上がる動き　*/
#page-top.UpMove{animation: UpAnime 0.5s forwards; z-index: 99;}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{animation: DownAnime 0.5s forwards; z-index: 99;}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .6 !important; filter: alpha(opacity=60);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .6 !important; filter: alpha(opacity=60);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=60) !important;	opacity: .6 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
	


/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 99; width: 100%; background: rgba(255, 255, 255, 1); min-height: min(6vw, 100px); border-bottom: 1px solid #000; }
#header.fixed {position: fixed; background: rgba(255, 255, 255, 1);}
#header .headerInner{width:95%; margin: 0 auto;}
#hd-logo p{width: min(14vw, 210px); margin: min(2vw, 30px) 0 0 0;}
.hedBtWrap{align-items: center;}
.hedBtWrap ul {padding: 0.3em 1em 0 0;}
.hedBtWrap ul li{position: relative; padding: 0 0.5em;}
.hedBtWrap ul li a{font-weight: 600;}	
}

.headContact a{background: #054994; border-radius: 10px; display: flex; align-items: center; justify-content: center; position: relative; color: white; font-weight: 500; letter-spacing: 0.02em; padding: 0.3em 1.3em 0.3em 3em; margin-left: 1em;}
.headContact a::before{content: ''; position: absolute; width: min( 3.0vw , 45px ); height: min( 2.1vw , 30px ); background: url("../img/common/icon-mail.png") no-repeat 0 0; background-size: cover; top: 50%; left: 0.8em; transform: translateY(-50%);}
.headRecruit a{background: #119d3d; border-radius: 10px; display: flex; align-items: center; justify-content: center; position: relative; color: white; font-weight: 500; letter-spacing: 0.02em; padding: 0.3em 1.3em 0.3em 3em; margin-left: 1em;}
.headRecruit a::before{content: ''; position: absolute; width: min( 3.0vw , 45px ); height: min( 2.1vw , 30px ); background: url("../img/common/icon-recruit.png") no-repeat 0 0; background-size: cover; top: 50%; left: 0.8em; transform: translateY(-50%);}

/* ----------------------------------------------------
TOPページ
---------------------------------------------------- */
/*topメインビジュアル*/
.mainVis{position:relative; justify-content: center; align-items: flex-start; flex-flow: column; background: url("../img/top/mainIllust-back.png") no-repeat 0 0; background-size: cover; margin-top: min(6vw, 100px); min-height: min(46.667vw, 700px); border-bottom: 1px solid #000;}
.mainVis::after{content:""; position:absolute; right:min(5vw,158px); top:min(2.667vw,40px); width:min(35.8vw,537px); height:min(42vw,630px); aspect-ratio:1/1; background:url("../img/top/ship.png") no-repeat center/contain; animation:floatShip 6s ease-in-out infinite; pointer-events:none;}
@keyframes floatShip{0%{transform:translate(0,0) rotate(0deg);}25%{transform:translate(-16px,-10px) rotate(-1deg);}50%{transform:translate(0,-16px) rotate(0.6deg);}75%{transform:translate(16px,-10px) rotate(-0.8deg);}100%{transform:translate(0,0) rotate(0deg);}}
.mainVisInner{width: 95%; margin: 0 auto;}
.mainVisInner h2{background: url("../img/top/mainText-back.svg") no-repeat 0 0 / auto 100%; display: inline-block; padding: min(5.667vw, 85px) 0}
.mainVisInner h2 .em{color:#b3cfed; -webkit-text-stroke:10px #3b71ab; -webkit-text-stroke-linejoin:round; -webkit-text-stroke-linecap:round; paint-order:stroke fill; text-shadow:0 8px 15px rgba(0,0,0,.35); font-size: min( 8.667vw , 13.0rem ); line-height: 0.95; display: inline-block; font-weight: 600; letter-spacing: 0.005em;}
.mainVisInner h2 .em span{display: block; letter-spacing: 0.019em;}
.mainVisInner h2 .jp{font-size: min( 3.2vw , 4.8rem ); margin-top: 0.7em; color: white; background-color: #3b71ab; display: block; text-align: center; font-weight: 900; line-height: 1.4}


/*top下部*/
.topVisualWrap{position:relative; overflow:hidden;}

.diagonal-inner{
	position:absolute;
	top:47%;
	left:50%;
	transform:translate(-50%,-50%) rotate(-15deg);
	transform-origin:center;
	width:200vw;
	height:min(20.667vw,310px);
	background:url("../img/top/slidePhoto.png") repeat-x;
	background-size:auto 100%;
	animation:diagonalBg 60s linear infinite;
	will-change:background-position;
}

@keyframes diagonalBg{
	0%{
		background-position:0 0;
	}
	100%{
		background-position:calc(-100% - 2.5vw) 0;
	}
}



.topVisualWrap .linerPhoto{position:absolute; left:50%; top:25%; transform:translateX(-50%); width:100vw; height:auto; z-index:1; pointer-events:none;}
.topRead,.topPhilosophy{position:relative; z-index:2;}
.topRead{position: relative; padding: min( 8.667vw , 130px ) 0 min(18vw,270px) 0;}
.topRead::before{position: absolute; content: ""; top: 8%; right: -2%; background: url("../img/top/birdIllust.svg") no-repeat 0 0; width:min(40.7vw,610px); height:min(32.8vw,492px);
}
.topRead .inrContent-top div{width: 65%;}
.topRead h2{font-size: min( 3.33vw , 5.0rem ); font-weight: 800; margin-bottom: 0.5em;}
.topRead p{font-size: min( 1.467vw , 2.2rem ); line-height: 2.3;}
.topPhilosophy{margin-top: 25vw; padding-bottom: min( 8.667vw , 130px );}
@media (min-width: 1500px){.topPhilosophy{margin-top: 30vw;}}
.topPhilosophy-img{/*width: 36%;*/width: 46%;}
.topPhilosophy-text{width: 50%; position: relative; flex-flow: column; justify-content: flex-start; background: url("../img/top/philosophy-s.svg") no-repeat center / auto 100%; margin-top: min( -8.667vw , -130px );}
.topPhilosophy-text h2{font-size: min(6vw, 9rem); font-weight: 800; margin-bottom: 0.5em; line-height: 1;}
.topPhilosophy-text h3{font-size: min( 2vw , 3.0rem ); font-weight: 600; border-left: 7px solid black; margin: 0 0 0.4em min( 6.667vw , 100px ); padding-left: min( 1.467vw , 22px ); line-height: 1.4;}
.topPhilosophy-text p{margin-left: min( 6.667vw , 100px );}
.topPhilosophy-text .btn-primary{margin-left: min( 6.667vw , 100px );}

/*top Aboutus*/
.topAboutus{border-top: 1px solid black; padding: min( 8.667vw , 130px ) 0;}
.topAboutus h2{font-size: min(6vw, 9rem); font-weight: 800; line-height: 1; margin-bottom: 0.3em;}
.btn-about-grid{margin-top: min( 3.33vw , 50px );}
.btn-about-grid .row{display:grid; gap:min(3vw,20px); margin-bottom:min(3vw,20px);}
.btn-about-grid .row:last-child{margin-bottom:0;}
.btn-about-grid .row1{grid-template-columns:min(52vw,780px) min(33vw,490px);}
.btn-about-grid .row2{grid-template-columns:min(33vw,490px) min(52vw,780px);}
.about-btn{display:flex; flex-flow:column; justify-content:flex-end; min-height:min(24vw,360px); position:relative; padding:1.5em 1em;}
.about-btn h3,.about-btn h4{margin:min( 0.33vw , 5px ) 0 0 0; position: relative;}
.about-btn h3 span,.about-btn h4 span{display:inline-block; background:#fff; padding:0.1em 0.3em; font-weight: 800; line-height: 1.2; letter-spacing: -0.04em;}
.about-btn h3 span{font-size: min( 1.333vw , 2rem );}
.about-btn h4 span{font-size: min( 1.733vw , 2.6rem ); position: relative;}
.about-btn.bnCont01{background: url("../img/top/about-bn01.jpg") no-repeat 0 0 / cover;}
.about-btn.bnCont02{background: url("../img/top/about-bn02.jpg") no-repeat 0 0 / cover;}
.about-btn.bnCont03{background: url("../img/top/about-bn03.jpg") no-repeat 0 0 / cover;}
.about-btn.bnCont04{background: url("../img/top/about-bn04.jpg") no-repeat 0 0 / cover;}
.about-btn h4 span::before{position: absolute; content: ""; top:50%; right: -2em; background-color: white; width: min(2.33vw,35px); height: min(1.2vw,18px); border-radius: min(0.33vw,5px);}
.about-btn h4 span::after{position:absolute; top:75%; right:-1.8em; width:min(0.667vw,10px); height:min(0.667vw,10px);; border-top:min( 0.2vw , 3px ) solid #000; border-right:min( 0.2vw , 3px ) solid #000; border-radius:2px; transform:translateY(-50%) rotate(45deg); content:"";}

/*top Message*/
.topMessage{border-top: 1px solid black; padding: min( 8.667vw , 130px ) 0; position: relative;}
.topMessage .inrContent-top{align-items: center;}
.topMessage .president{width: 52%; position: relative;}
.topMessage .president::after{position: absolute; content: ""; top: 50%; left: 5%; transform: translateY(-50%); width: min( 53.333vw , 800px ); height: min( 43.8vw , 657px ); background-color: #e0f6ff; z-index: -1;}
.topMessage .topMessage-text{width: 40%; padding-bottom: min(6vw, 90px);}
.topMessage .topMessage-text h2{font-size: min(6vw, 9rem); font-weight: 800; line-height: 1.4;}
.topMessage .topMessage-text h3{font-size: min(2.667vw, 4rem); font-weight: 800; margin-bottom: 0.8em; line-height: 1.4;}
.topMessage .topMessage-text p{/*writing-mode: vertical-rl; */text-orientation: mixed; max-height: min(18vw, 270px); line-height: 2.1;}

/*top Blog*/
.topBlog{border-top: 1px solid black; padding: min( 8.667vw , 130px ) 0; position: relative;}
.topBlog h2{font-size: min( 9.33vw , 6rem ); font-weight: 800; line-height: 1; text-align: center; margin-bottom: 0.5em;}
.topBlog p{text-align: center;}
.topBlog .btn-primary{margin: min(2.33vw,35px) auto min( 3.33vw , 50px ) auto;}

/* ----------------------------------------------------
共通
---------------------------------------------------- */
/*ボタン*/
.btn-primary{border: 1px solid black; border-radius: 10px; width: min( 20vw , 300px ); margin: min( 3.33vw , 50px ) 0; padding: 1em 1em 1em 2em; display: block;}
.btn-primary span{position: relative; display: block;}
.btn-primary span::before{position: absolute; content: ""; top: 50%; right: 0; transform: translateY(-50%); background-color: black; width: min(2.33vw,35px); height: min(1.2vw,18px); border-radius: min(0.33vw,5px);}
.btn-primary span::after{position:absolute; top:50%; right:0.5em; width:min(0.667vw,10px); height:min(0.667vw,10px); border-top:min( 0.2vw , 3px ) solid #fff; border-right:min( 0.2vw , 3px ) solid #fff; border-radius:2px; transform:translateY(-50%) rotate(45deg); content:"";}

/*メインビジュアル*/
.cont-mainVis{justify-content: center; flex-flow: column; margin: min(6vw, 100px) 0 min(3.4vw, 50px) 0; min-height: min( 20vw , 300px ); /*min-height: min(34.667vw, 520px); border-bottom: 1px solid #000; */text-align: center;}
.cont-mainVisInner{width: 95%; margin: 0 auto;}
/*.cont-mainVis h2{color: white; font-size: min(2.333vw, 3.5rem); font-weight: 800; line-height: 1;}
.cont-mainVis h3 span{background-color: white; font-size: min(3.867vw, 5.8rem); font-weight: 800; padding: 0 min( 0.667vw , 10px );}
.cont-mainVis h4 span{background-color: white; font-size: min(1.867vw, 2.8rem); font-weight: 800; line-height: 1.2; padding: 0 min( 0.667vw , 10px );}*/


.cont-mainVis h2{font-size: min(3.867vw, 5.8rem); font-weight: 800; line-height: 1;}
.cont-mainVis h3{margin: 0.4em 0 1em 0;}
.cont-mainVis h3 span{font-size: min(1.867vw, 2.8rem); font-weight: 800; padding: 0 min( 0.667vw , 10px ); border-bottom: 3px solid black;}
.cont-mainVis h4 span{background-color: black; color: white; font-size:min( 1.333vw , 2rem ); font-weight: 800; line-height: 1.2; padding: 0 min( 0.667vw , 10px ); padding: 0.5em 1em;}




/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {position: relative; z-index: 2; margin-top: min(10.667vw, 160px); background-color: #3e3e3e; padding: min( 4.667vw , 70px ) 0 min( 3vw , 20px ) 0;}
.ftInner{width: 90%; max-width: 1400px; margin:0 auto; position: relative;}
.ftLeft{width: 30%; flex-flow: column;}
.ftLeft .ftAddress{color: white; line-height: 1.4;}
.ftRight{width: 50%; padding: min(3.33vw, 50px) 0;}
.ftGlobalNavi {display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(4, auto); column-gap:1em; row-gap:0.8em; grid-auto-flow:column;}
.ftGlobalNavi li a {color: white;}
.ftLinkNavi li:first-child{margin-bottom: min( 3vw , 20px );}
.ftCopyright{width: 90%; max-width: 1400px; margin:0 auto; font-size: min( 1.067vw , 1.6rem ); padding: 0.5em 0; text-align: right; color: white;}
#page-top a{width:min( 4.667vw , 70px ); transition:all 0.3s; z-index: 99;}
/*リンクを右下に固定*/
#page-top {position: fixed; right: 2%; z-index: 99; opacity: 0; transform: translateY(100px); width:min( 4.667vw , 70px );}


/*★★★★★下層ページ★★★★★*/
/* ----------------------------------------------------
経営理念
---------------------------------------------------- */
#philosophy .cont-mainVis{/*background: url("../img/philosophy/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.philosophyRead{/*font-size: min( 1.467vw , 2.2rem ); */line-height: 1.8; /*line-height: 2.3; text-align: center;*/}
.philosophyRead div{width: 51%; line-height: 1.8; letter-spacing: -0.02em;}
.philosophyRead p{/*margin-top: 3em;*/width: 48%;}

/* ----------------------------------------------------
事業内容
---------------------------------------------------- */
#business .cont-mainVis{/*background: url("../img/business/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.busInfo{position: relative;}
.busInfo::after{position: absolute; bottom: -1em; left: 0; content: ""; width: min( 17.667vw , 265px ); height: min( 16.731vw , 251px ); background: url("../img/business/mainIllust.jpg") no-repeat 0 0 / cover; z-index: -1;}
.busInfo-title{position: relative; font-size: min( 3.33vw , 5.0rem ); text-align: center; font-weight: 800; color:#fff; text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000,1px 1px #000,-1px 1px #000,1px -1px #000,-1px -1px #000;}
.busInfo-title::before{position:absolute; content:""; left:50%; bottom:-0.4em; transform:translateX(-100%); width:2.9em; height:8px; background:radial-gradient(circle,#054994 4px,transparent 4px) repeat-x; background-size:16px 8px;}
.busInfo-title::after{position:absolute; content:""; left:50%; bottom:-0.4em; transform:translateX(0); width:3em; height:8px; background:radial-gradient(circle,#0aa04f 4px,transparent 4px) repeat-x; background-size:16px 8px;}
.busInfo-subtitle{text-align: center; font-size: min( 1.6vw , 2.4rem ); font-weight: 800; margin: 4em 0 1em 0;}
.busInfo p{text-align: center; font-size: min( 1.467vw , 2.2rem ); line-height: 2.2;}
.busCaset{margin-top: min( 9.467vw , 142px );}
.busCaset:nth-of-type(odd){flex-direction:row-reverse;}
.busTextbox{width: 50%; text-align: left;}
.busTextbox h5{margin:0 0 0.5em 0; font-size: min( 1.733vw , 2.6rem ); font-weight:700; position: relative; padding-left: min( 2.667vw , 40px );}
.busTextbox h5::before{position: absolute; content: ""; top: 8%; left: 0; width:min( 2.333vw , 35px ); height:min( 2.267vw , 34px ); background: url("../img/common/icon-dot-circle.svg") no-repeat 0 0 / auto 100%;}
.busTextbox h6{font-weight:700; color: #054994; margin-bottom: 1em; line-height: 1.4;}
.busTextbox dl{margin:0; padding:0; line-height: 1.8;}
.busTextbox dl > div{position:relative; padding-left:1.2em; margin-top:0.5em;}
.busTextbox dl > div::before{content:"•"; position:absolute; left:0; top:0;}
.busTextbox dl dt,
.busTextbox dl dd{display:inline; margin:0;}
.busTextbox dl dt{font-weight:700;}
.busTextbox dl dt::after{content:" "; margin-right:0.5em;}

.busTextbox .sceneBox{border-top:1px solid #000; border-bottom:1px solid #000; padding:0.5em 0; margin-top: 1em;}
.sceneBox p{display:flex; margin:0;}
.sceneBox span{flex:0 0 auto; font-weight:700; padding-right:1em; margin-right:1em; border-right:1px solid #000;}
.busTextbox .mgt05{margin-top: 0.5em;}
.busTextbox .numList{margin:0; padding:0; list-style:none;}
.busTextbox .numList li{display:flex; gap:0.6em; margin-top:0.5em;}
.busTextbox .numList span{flex:0 0 auto; font-weight:700; line-height:1.6;}
.busTextbox .numList p{margin:0; line-height:1.6;}
.busTextbox .numList strong{font-weight:700;}
.busImgbox{width: 43%; position: relative;}
.busCaset:nth-of-type(even) .busImgbox{display: flex; flex-flow: column; align-items: flex-end;}
.busImgbox .busP02{width: 60%; margin-top: 1em;}
.busCaset:nth-of-type(even) .busImgbox .busIllust{position: absolute; top: min( 20.667vw , 310px ); right: 56%; width: min( 10.4vw , 156px );}
.busCaset:nth-of-type(odd) .busImgbox .busIllust{position: absolute; top: min( 20.667vw , 310px ); right: -5%; width: min( 19.33vw , 290px );}

.border-box{padding-top: min( 6vw , 90px ); border-top: 1px solid black;}

/* ----------------------------------------------------
会社概要
---------------------------------------------------- */
#company .cont-mainVis{/*background: url("../img/company/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.cpInfo p{width: 37.5%}
.cpInfo table{width: 57%;}
.cpInfo table th{width: 20%; text-align: left; border-bottom: 1px solid #999; padding: 0.3em 0; vertical-align: top;}
.cpInfo table td{width: 80%; text-align: left; border-bottom: 1px solid #999; padding: 0.3em 0; line-height: 1.5;}
.accessMap h5{margin:3em 0 0.5em 0; font-size: min( 1.733vw , 2.6rem ); font-weight:700; position: relative; padding-left: min( 2.667vw , 40px );}
.accessMap h5::before{position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width:min( 2.333vw , 35px ); height:min( 2.267vw , 34px ); background: url("../img/common/icon-dot-circle.svg") no-repeat 0 0 / auto 100%;}
.mapWrap{width:100%; aspect-ratio:16/9; margin-top: 1em;}
.mapWrap iframe{width:100%; height:100%; border:0;}

/* ----------------------------------------------------
メッセージ
---------------------------------------------------- */
#message .cont-mainVis{/*background: url("../img/message/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.presidentBox{position: relative;}
.presidentBox::before{position: absolute; content: ""; bottom: -10%; left: 38%; background: url("../img/message/pd-illust.svg") no-repeat 0 0; width: min( 11.333vw , 170px ); height: min( 9.467vw , 142px );}
.presidentBox p{width: 40%;}
.presidentBox .pdRead{width: 54%; flex-flow: column; padding: 1.5em 0;}
.presidentBox .pdRead .pd-text{font-size: min( 1.8vw , 2.7rem ); font-weight: 600;}
.presidentBox .pdRead .pd-name{font-size: min( 2vw , 3rem ); font-family: "Noto Serif JP", serif; text-align: right;}
.presidentBox .pdRead .pd-name span{font-size: min( 1.467vw , 2.2rem ); display: block;}
.pdComent{padding-top: 2em;}
.pdComent h5{margin:3em 0 0.5em 0; font-size: min( 1.733vw , 2.6rem ); font-weight:700; position: relative; padding-left: min( 2.667vw , 40px );}
.pdComent h5::before{position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width:min( 2.333vw , 35px ); height:min( 2.267vw , 34px ); background: url("../img/common/icon-dot-circle.svg") no-repeat 0 0 / auto 100%;}
.mess-linerPhoto{margin: min( 9.467vw , 142px ) 0;}
.mess-linerPhoto img{display: none;}
.director-box{padding: min( 6vw , 90px ) 0; border-bottom: 1px solid black; border-top: 1px solid black;}
.director-box .direRead{width: 50%;}
.director-box .direRead h6,.gm-minWrap h6{font-size: min( 1.6vw , 2.4rem ); font-weight: 600;}
.director-box .direRead p{margin: 2em 0;}
.gm-minWrap p{margin: 1em 0 2em 0;}
.director-box .direRead span,.gm-minWrap span{font-size: min( 1.6vw , 2.4rem ); /*display: block; */font-family: "Noto Serif JP", serif;}
.director-box img{width: 45%; object-fit: cover;}
.gm-box{padding-top: min( 6vw , 90px );}
.gm-minWrap{width: 47%; display:flex; flex-direction:column;}
.gm-minWrap img{margin-bottom: 2em;}
.gm-minWrap span{margin-top:auto;}

.pd-name{display:flex; justify-content:flex-end; align-items:center; gap:0.5em;}
.pd-name img{width:min( 6.667vw , 100px ); height:auto;}

.gm-name{display:flex; align-items:center; gap:0.5em;}
.gm-name img{width:min( 6.667vw , 100px ); height:auto; margin-bottom: 0!important; margin-left: 1em;}

/* ----------------------------------------------------
業務実績
---------------------------------------------------- */
#works .cont-mainVis{/*background: url("../img/works/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.bannerGrid{display:grid; grid-template-columns:repeat(4,min(18.667vw,280px)); gap:min(1.33vw,20px); row-gap:min(2.33vw,35px); justify-content:center;}
.bannerGrid li{width:min(18.667vw,280px);}
.bannerGrid img{width:100%; aspect-ratio:2/1; object-fit:cover; display:block; border:1px solid #999;}
.bannerGrid li span{display:block; margin-top:0.2em; letter-spacing: -0.04em; line-height: 1.4;}
.worksCols{display:grid; grid-template-columns:repeat(3,1fr); column-gap:3em; margin-top: min( 10vw , 150px );}
.worksList{list-style:none; margin:0; padding:0;}
.worksList li{margin-bottom:3em;}
.worksList h5{margin:0 0 0.5em 0; font-size: min( 1.733vw , 2.6rem ); font-weight:700; border-bottom: 1px solid #999; position: relative; padding-left: min( 2.667vw , 40px );}
.worksList h5::before{position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width:min( 2.333vw , 35px ); height:min( 2.267vw , 34px ); background: url("../img/common/icon-dot-circle.svg") no-repeat 0 0 / auto 100%;}
.worksList p{font-feature-settings:"palt";}
.worksList p span{margin:0; position: relative; padding: 0 0.6em;}
.worksList p span::before{position: absolute; content: "「"; top: -0.15em; left: 0;}
.worksList p span::after{position: absolute; content: "」"; bottom: -0.25em; right: 0;}

/* ----------------------------------------------------
お問い合わせ
---------------------------------------------------- */
#contact .cont-mainVis{/*background: url("../img/contact/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.contactInfo{text-align: center; font-size: min( 1.467vw , 2.2rem ); line-height: 2.2;}
.contact-tel {position: relative; border: 1px solid #ccc; padding: min(3.333vw, 50px) min(3.333vw, 50px) min(2vw, 30px);
 margin: min(4vw, 60px) 0;}
.contact-tel h2 {position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); background: #fff; padding: 0 min(2vw, 20px); font-size: min(1.867vw, 2.8rem); color: #0a4b8c; font-weight: 800;}
.tel-box{display:flex; align-items:center; justify-content:center; gap:min(2vw, 30px); position:relative;}
.tel-number{font-size:min( 2.533vw , 3.8rem ); color:#0a4b8c; font-weight:800; position:relative; padding-left:min( 4.333vw , 65px );}
.tel-number::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-55%); width:min( 3vw , 55px ); height:min( 4vw , 62px ); background:url("../img/contact/icon-phone.svg") no-repeat center / contain;}
.tel-time{font-size:min( 1.467vw , 2.2rem );}

.contact-form .form-group { margin-bottom: min(1.667vw, 25px); }
.contact-form label { display: block; margin-bottom: min(0.533vw, 8px); font-weight: bold; }
.contact-form label span { color: red; margin-left: min(0.267vw, 4px); }
.contact-form input, .contact-form textarea { width: 100%; padding: min(0.933vw, 14px); border: 1px solid #ccc; border-radius: min(0.533vw, 8px); font-size: min(0.933vw, 14px); background-color: #f6f8fa; }
.privacy h3 {margin: min(2.667vw, 40px) 0 min(1vw, 15px); position: relative; padding-left: 1.5em; font-size:min( 1.467vw , 2.2rem );}
.privacy h3::before {position: absolute; top: 50%; left: 0; background: url("../img/contact/icon-priv.svg") no-repeat 0 0; content: ""; width: min(1.6vw, 24px); height: min(1.6vw, 24px); transform:translateY(-50%);}
.privacy-box {border: 1px solid #ccc; height: min(23.333vw, 350px); overflow-y: scroll; padding: min(2vw, 30px); font-size: min(1.2vw, 18px); line-height: 2.1; }
.privacy-box p { margin-bottom: min(1vw, 15px); }
.privacy-box .privacy-date {text-align: right; margin-top: 3em; line-height: 1.6;}
.privacy-box h4 { margin: 2em 0 0 0; font-weight: bold; }
.privacy-box ul {padding-left: 0;}
.privacy-box li {position: relative; padding-left: 1em; }
.privacy-box li::before { content: "・"; position: absolute; left: 0; }
.form-submit {text-align: center; margin-top: min(2.667vw, 40px);}
#contact .btn-primary { margin: min(3.33vw, 50px) auto 0; background-color: white;}
#contact .btn-primary span{text-align: left;}
.character{width: 30%; margin: 3em auto;}

.confirm-wrap{width:80%; margin:0 auto; padding:4em 0;}
.confirm-table{width:100%; border-collapse:collapse; border-top:1px solid #ddd; }
.confirm-table th,.confirm-table td{border-bottom:1px solid #ddd; padding:1em; vertical-align:top;}
.confirm-table th{width:30%; background:#f7f7f7; font-weight:600; text-align:left;}
.confirm-buttons{display:flex; justify-content:center; gap:min(2vw,30px); align-items:center;}

#contact .confirm-buttons .btn-primary {margin: 0!important;}
.btn-return{border:1px solid black; border-radius:10px; width:min(20vw,300px); margin:min(3.33vw,50px) 0; padding:1em 2em 1em 1em; display:block; background:#fff;}
.btn-return span{position:relative; display:block;}
.btn-return span::before{position:absolute; content:""; top:50%; left:0; transform:translateY(-50%); background-color:black; width:min(2.33vw,35px); height:min(1.2vw,18px); border-radius:min(0.33vw,5px);}
.btn-return span::after{position:absolute; top:50%; left:0.5em; width:min(0.667vw,10px); height:min(0.667vw,10px); border-top:min(0.2vw,3px) solid #fff; border-left:min(0.2vw,3px) solid #fff; border-radius:2px; transform:translateY(-50%) rotate(-45deg); content:"";}

#contact button:hover{
  opacity: .6; filter: alpha(opacity=60);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}

.btn-primary.is-disabled{opacity:0.3;}
.btn-primary.is-disabled:hover{opacity:0.3!important; filter: alpha(opacity=100);}


/* ----------------------------------------------------
SUZUMARU BLOG
---------------------------------------------------- */
#blog .cont-mainVis{/*background: url("../img/blog/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.filterList{background-color:#e6ecf4; gap:1em; justify-content:center; margin-bottom:2em; padding:4em;}
.filterList li{
  cursor:pointer;
  padding:0;
  background-color:white;
  color:#054994;
  border-radius:999px;
  position:relative;
}

.filterList li a{
  display:block;
  padding:0 0.6em 0 1.5em;
  color:#054994;
  border-radius:999px;
}

.filterList li.is-active{
  padding:0;
  background:#054994;
  color:#fff;
}

.filterList li.is-active a{
  padding:0 0.6em;
  color:#fff;
}
.filterList li::before{position:absolute; content:"#"; top:0; left:0.6em; z-index:2;pointer-events:none;}
.filterList li.is-active::before{content:"";}
.filterList li a{color:#054994;}
.filterList li.is-active a{color:#fff;}
.postList{display:grid; grid-template-columns:repeat(3,1fr); gap:min(5vw,75px) min(3.33vw,50px); margin:0 auto; padding:0; list-style:none;}
#home .postList{margin:2em auto 0 auto;}
.postItem{position:relative; display:block; opacity:1; transform:translateY(0); transition:opacity .16s ease, transform .16s ease;}

.postThumb{display:flex; flex-direction:column; height:100%; color:#222; text-decoration:none;}

.postThumb:hover{opacity:.75;}

.postItem.is-hide{opacity:0; pointer-events:none;}
.postThumb{position:relative; border:1px solid #222; padding:min(1.33vw,20px) min(1.33vw,20px) min(1.6vw,24px) min(2.67vw,40px); background:#fff;}
.postThumb::before{content:"SUZUMARU BLOG"; position:absolute; left:min(.8vw,12px); top:min(1.33vw,20px); writing-mode:vertical-rl; font-size:min(.67vw,1rem); letter-spacing:.18em; color:#7d8da0;}
.postThumb::after{content:""; position:absolute; left:min(1.4vw,21px); top:38%; width:1px; height:55%; background:#c9c9c9;}
.postThumb img{width:100%; aspect-ratio:210/130; object-fit:cover; display:block; margin-bottom:0.5em;}
.postThumb time{display:block; font-size:min( 1.067vw , 1.6rem ); margin-bottom:.4em;}
.postThumb h2{font-size:min( 1.2vw , 1.8rem ); line-height:1.5; font-weight:700; margin:0 0 .5em; text-align: left;}
.postThumb p{font-size:min(1.067vw , 1.6rem); line-height:1.4; margin:0; text-align: left;}
.postItem .postTags{display:flex; flex-wrap:wrap; gap:1.5em; margin-top:0.5em;}
.postItem .postTags a{color:#054994; font-size:min(.8vw,1.2rem); text-decoration:none;}
/*.archivePager{display:flex; justify-content:center; align-items:center; gap:min(1.6vw,24px); margin:min(8vw,120px) 0 0;}
.archivePager ol{display:flex; gap:min(1vw,15px); margin:0; padding:0; list-style:none;}
.archivePager li a,.archivePager li span{display:flex; justify-content:center; align-items:center; width:min(3.07vw,46px); height:min(3.07vw,46px); border:1px solid #b8c9dc; border-radius:50%; color:#1d5f94; text-decoration:none; font-size:min(.93vw,1.4rem);}
.archivePager li.is-current span{border-color:#054994;}
.archivePager .pagerPrev,.archivePager .pagerNext{display:flex; align-items:center; gap:min(.67vw,10px); color:#1d5f94; font-size:min(1vw,1.5rem); text-decoration:none;}
.archivePager .pagerPrev::before{content:""; width:min(2.333vw,35px); height:min(2.333vw,35px); background:url("../img/blog/prev.svg") no-repeat center center / contain;}
.archivePager .pagerNext::after{content:""; width:min(2.333vw,35px); height:min(2.333vw,35px); background:url("../img/blog/next.svg") no-repeat center center / contain;}*/
/* ----------------------------------------------------
BLOG ページネーション
---------------------------------------------------- */
.archivePager{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:min(1.6vw,24px);
  margin:min(8vw,120px) 0 0;
}

.archivePager .wp-pagenavi{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:min(1vw,15px);
}

/* 「1 / 2」は非表示 */
.archivePager .pages{
  display:none;
}

/* 数字 */
.archivePager .wp-pagenavi .page,
.archivePager .wp-pagenavi .current{
  display:flex;
  justify-content:center;
  align-items:center;
  width:min(3.07vw,46px);
  height:min(3.07vw,46px);
  margin:0;
  padding:0;
  border:1px solid #b8c9dc;
  border-radius:50%;
  background:#fff;
  color:#1d5f94;
  text-decoration:none;
  font-size:min(.93vw,1.4rem);
  line-height:1;
}

/* 現在ページ */
.archivePager .wp-pagenavi .current{
  border-color:#054994;
}

/* PREV / NEXT */
.archivePager .previouspostslink,
.archivePager .nextpostslink{
  display:flex;
  align-items:center;
  gap:min(.67vw,10px);
  margin:0;
  padding:0;
  border:0;
  color:#1d5f94;
  text-decoration:none;
  font-size:0;
  line-height:1;
}

/* PREV文字 */
.archivePager .previouspostslink::after{
  content:"PREV";
  font-size:min(1vw,1.5rem);
}

/* PREVアイコン */
.archivePager .previouspostslink::before{
  content:"";
  width:min(2.333vw,35px);
  height:min(2.333vw,35px);
  background:url("../img/blog/prev.svg") no-repeat center / contain;
}

/* NEXT文字 */
.archivePager .nextpostslink::before{
  content:"NEXT";
  font-size:min(1vw,1.5rem);
}

/* NEXTアイコン */
.archivePager .nextpostslink::after{
  content:"";
  width:min(2.333vw,35px);
  height:min(2.333vw,35px);
  background:url("../img/blog/next.svg") no-repeat center / contain;
}





.postPage{display:flex; justify-content:center; gap:min(5.33vw,80px); max-width:min(92vw,1200px); margin:0 auto; padding:min(5vw,60px) 0 min(7.5vw,90px); color:#222;}
.postPage .postMain{width:min(50vw,750px);}
.postPage .postSide{width:min(20vw,750px); flex-shrink:0;}
.postPage .postMeta{margin-bottom:0.5em; font-size:min( 1.333vw , 2rem );}
.postPage h1{font-size:min( 1.6vw , 2.4rem ); line-height:1.3; font-weight:700; margin-bottom: 0.4em;}
.postPage .postTags{display:flex; gap:1em; margin-bottom:1.5em;}
.postPage .postTitleWrap{display:flex; justify-content:space-between; align-items:flex-start; gap:min(2.67vw,40px);}
.postPage .postTitleBox{flex:1;}
.postPage .postWriter{position:relative; width:min(6vw,90px); padding-top:min(1.2vw,18px); text-align:center; flex-shrink:0;}
.postPage .writerIcon{width:min(6vw,90px); aspect-ratio:1/1; border-radius:50%; overflow:hidden; margin:0 auto; border: 2px solid #707070;}
.postPage .writerName{position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); display:inline-flex; justify-content:center; align-items:center; min-height:min(1.87vw,28px); padding:0 min(.93vw,14px); border-radius:min(.53vw,8px); background:#0068a8; color:#fff; font-size:min(.8vw,1.2rem); font-weight:700; line-height:1.2; white-space:nowrap; z-index:2;}
.postPage .writerIcon img{width:100%; height:100%; object-fit:cover; display:block;}
.postPage .postTags a{color:#0068a8; text-decoration:none; font-size:min( 1.333vw , 2rem );}
.postPage p{font-size:min( 1.2vw , 1.8rem ); margin:0 0 1em;}
.postPage figure{margin:min(2.8vw,42px) 0;}
.postPage figure img{width:100%; height:auto; display:block;}
.postPage section h2{font-size:min( 1.333vw , 2rem ); line-height:1.8; font-weight:700; margin:3em 0 0.5em;}
.postPage .postMain section:first-of-type h2{margin-top:0;}

.postPage .sideBox{margin-bottom:min(4vw,60px);}
.postPage .sideBox h2{position:relative; font-size:min( 1.333vw , 2rem ); letter-spacing:.12em; font-weight:700; padding-left:1.5em; border-bottom:1px solid #333; margin:0 0 min(1.2vw,18px);}
.postPage .sideBox h2::before{content:""; position:absolute; left:0; top:50%; transform: translateY(-50%); width:min(1.467vw,22px); height:min(1.467vw,22px); background: url("../img/blog/icon-blog.svg") no-repeat 0 0 / contain;}
.postPage .sideBox ul{list-style:none; margin:0; padding:min(1.87vw,28px) min(2vw,30px); background:#eaf1f8;}
.postPage .sideBox li{margin-bottom:min(1.2vw,18px);}
.postPage .sideBox li:last-child{margin-bottom:0;}
.postPage .sideBox a{position:relative; display:block; color:#316c9b; font-size:min( 1.2vw , 1.8rem ); text-decoration:none; padding-left:0.8em; line-height:1.3;}
.postPage .sideBox a::before{content:"›"; position:absolute; left:0; top:0;}
.postPage .categoryBox a::before{content:"#";}
.postPage .postPager{display:flex; justify-content:space-between; align-items:center; margin-top:min(12vw,180px);}
.postPage .postPager a{color:#1d5f94; font-size:min(1.2vw,18px); text-decoration:none;}
.postPage .postPager .pagerIndex{text-decoration:underline; text-underline-offset:.2em;}
.postPage .postPager .pagerPrev,
.postPage .postPager .pagerNext{display:flex; align-items:center; gap:min(.67vw,10px);}
.postPage .postPager .pagerPrev::before{content:""; width:min(2.333vw,35px); height:min(2.333vw,35px); background:url("../img/blog/prev.svg") no-repeat center center / contain; flex-shrink:0;}
.postPage .postPager .pagerNext::after{content:""; width:min(2.333vw,35px); height:min(2.333vw,35px); background:url("../img/blog/next.svg") no-repeat center center / contain; flex-shrink:0;}








@media (max-width: 1500px) {
.hedBtWrap ul li{font-size: min( 1.067vw , 1.6rem );}
}
	
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

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

ul{margin-bottom:0!important;}

}

@media (max-width:1024px){
@media (orientation: landscape) {

.mainVisInner h2 .em{font-size: 8.5vw;}
.mainVisInner h2 .jp{font-size: 3.5vw; }	
}
}

@media (max-width: 1024px) and (min-width: 768px) {
@media (orientation: landscape) {

}
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
.inrContent {width: 90%; padding-bottom: 12vw;}
.br_spOnly{display:block;}
.br_pcOnly{display:none;}
.order1{order:1;}
.order2{order:2;}
#wrapper{background-size: 150% auto;}

	
/*ハンバーガー*/
#btnGlobal {position: fixed; right: 3.5%; top: 2.5vw; z-index: 120;display: flex; display: -webkit-flex; flex-wrap: wrap; flex-direction: column; justify-content: center; border: 1px solid #333; border-radius: 2vw; width: 10vw; aspect-ratio: 1/1; background: #fff;}
#btnGlobal .btnWrapGlobal {	position: relative;	width: min(4vw,28px);	height: min(3.2vw,27px); margin: 0 auto min(1vw,10px);}
#btnGlobal .btnLine { height: 1px; background: #333; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {top: 0;}
#btnGlobal .btnLine.btnLineM {top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB {bottom: 0; }
#btnGlobal .btnGlobal__txt {font-size:min(3vw,24px); line-height: 1.2; width: 100%; text-align: center;}

#btnGlobal.active {border-color: #fff; background: #054994; }
#btnGlobal.active .btnGlobal__txt {color: #fff;}
#btnGlobal.active .btnLine {background: #fff;}
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}	
	
#grandMenu {background: #054994; width: 100%; height: 100%; position: fixed; z-index: 100!important;  left: 0; top: 0; display: none; overflow: auto; padding: 20vw 8%;}
#grandMenu a {color: #fff;}
#grandMenu #navGlobal {position: relative; right: inherit; display: block; height: 100%;}
#grandMenu #navGlobal > li {border-bottom: 1px dashed #fff; line-height: 1; margin: 0 auto;}
#grandMenu #navGlobal > li a {display: block; position: relative; margin-right:0; font-size: min(4vw,20px); font-weight: 600; padding: 4.5vw 0 4.5vw 1.5em;}
#grandMenu #navGlobal > li a::before {content: ""; width: 1em; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#header .headInner ul li:last-child a{margin-right:0;}
#grandMenu #navGlobal li a::after {content:""; position: absolute;  top: 50%; border-top:2px solid #fff; border-right: 2px solid #fff; transform:  rotate(45deg) translateX(-50%); transition: all 0.3s  ease; right: 2vw; width: 2vw; height: 2vw;}

/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 100; width: 100%; background: rgba(255, 255, 255, 1); height: 15vw; border-bottom: 1px solid black;}
#header.fixed {position: fixed; background: rgba(255, 255, 255, 1);}
.headerInner{width:93%; margin: 3vw auto; justify-content: flex-start; align-items: center;}
#hd-logo{width: 30%; margin: 0;}
#hd-logo p{width: 100%; margin: 0;}
.headContact a{letter-spacing: 0; padding: 0.5em 1em 0.5em 2.5em; margin-left: 1.3em; font-size: 2.9vw;}
.headContact a::before{width: 7vw; height: 5vw; left: 0.8em;}
.headRecruit a{letter-spacing: 0; padding: 0.5em 1em 0.5em 2.5em; margin-left: 0.3em; font-size: 2.9vw;}
.headRecruit a::before{width: 7vw; height: 5vw; left: 0.8em;}

/* ----------------------------------------------------
トップページ
---------------------------------------------------- */
/*topメインビジュアル*/
.mainVis{background: url("../img/top/mainIllust-back-sp.jpg") no-repeat 0 bottom; background-size: cover; min-height: 80vh; margin-top: 15vw;}
.mainVis::after{right:8vw; top:8vw; width:50vw; height:58vw;}
.mainVisInner h2{text-align: center; background:none; padding: 35vw 0 0 0;}
.mainVisInner h2 .em{font-size: 13.5vw; line-height: 1; }
.mainVisInner h2 .jp{font-size: 5.5vw; display: inline-block; padding: 0 0.5em;}
	
@media (orientation: landscape) {
.mainVis{background: url("../img/top/mainIllust-back.png") no-repeat 0 0; background-size: cover; min-height: min(46.667vw, 700px); }
.mainVis::after{right:min(5vw,158px); top:min(2.667vw,40px); width:min(35.8vw,537px); height:min(42vw,630px);}
.mainVisInner h2{background: url("../img/top/mainText-back.svg") no-repeat 0 0 / auto 100%; padding: min(5.667vw, 85px) 0; text-align: left;}
.mainVisInner h2 .em{font-size: min( 8.667vw , 13.0rem );}
.mainVisInner h2 .jp{font-size: min( 3.2vw , 4.8rem ); display: block;}
	}
	

/*top下部*/
.topVisualWrap .linerPhoto{top:38%;}
.topRead,.topPhilosophy{position:relative; z-index:2;}
.topRead{position: relative; padding: 12vw 0 35.156vw 0;}
.topRead::before{top: inherit; right: inherit; left: -5%; bottom: -3%; width:54vw; height:44vw;}
.topRead .inrContent-top div{width: 100%;}
.topRead h2{font-size: 6.5vw; }
.topRead p{font-size: 3.8vw; line-height: 2;}
.topPhilosophy{margin-top: 23vw; padding-bottom: 12vw;}
.topPhilosophy-img{width: 100%; margin: 5vw auto}
.topPhilosophy-text{width: 100%; margin-top: 0;}
.topPhilosophy-text h2{font-size: 8vw;}
.topPhilosophy-text h3{font-size: 4vw; margin: 0 0 0.4em 0; padding-left: 2.865vw;}
.topPhilosophy-text p{margin-left: 0;}
.topPhilosophy-text .btn-primary{margin-left: 0;}

.diagonal-inner{top:54%;}	
	
/*top Aboutus*/
.topAboutus{padding: 12vw 0;}
.topAboutus h2{font-size: 8vw;}
.btn-about-grid{margin-top: 6.51vw;}
.btn-about-grid .row{grid-template-columns:1fr; gap:6.51vw; margin-bottom:6.51vw;}
.about-btn{min-height:42vw;}
.about-btn h3,.about-btn h4{margin:0.65vw 0 0 0;}
.about-btn h3 span,.about-btn h4 span{padding:0.15em 0.3em; line-height:1.25;}
.about-btn h3 span{font-size:3.509vw;}
.about-btn h4 span{font-size:4.4vw; font-feature-settings:"palt";}
.about-btn h4 span::before{right:-2em; width:5.4vw; height:2.8vw; border-radius:0.78vw; top: inherit; bottom: 0;}
.about-btn h4 span::after{right:-1.8em; width:1.55vw; height:1.55vw; border-top:0.47vw solid #000; border-right:0.47vw solid #000; top: inherit; bottom: -2%;}

/*top Message*/
.topMessage{padding: 12vw 0;}
.topMessage .president{width: 100%;}
.topMessage .president::after{top: 70%; width: 80vw; height: 70vw;}
.topMessage .topMessage-text{width: 100%; padding-bottom: 0; margin-top: 5vw;}
.topMessage .topMessage-text h2{font-size: 8vw;}
.topMessage .topMessage-text h3{font-size: 4.33vw;}
.topMessage .topMessage-text p{writing-mode: initial; max-height: inherit; line-height: 2.1;}

/*top Blog*/
.topBlog{padding: 12vw 0;}
.topBlog h2{font-size: 8vw;}
.topBlog .btn-primary{margin:4.56vw auto 6.51vw auto;}


/* ----------------------------------------------------
共通
---------------------------------------------------- */
/*ボタン*/
.btn-primary{width: 70%; margin: 6.51vw 0 3vw 0; padding: 1em 1em 1em 2em; display: block;}
.btn-primary span{position: relative; display: block;}
.btn-primary span::before{width:5.4vw; height:2.8vw; border-radius:0.78vw;}
.btn-primary span::after{width:1.55vw; height:1.55vw; border-top:0.47vw solid #fff; border-right:0.47vw solid #fff;}
	
/*メインビジュアル*/
.cont-mainVis{margin:13.02vw 0 3vw 0; min-height:50.7vw;/*margin:13.02vw 0; min-height:67.7vw;*/}
.cont-mainVisInner{width:95%;}
.cont-mainVis h2{font-size:5.2vw;}
.cont-mainVis h3 span{font-size:8.2vw;}
.cont-mainVis h4 span{font-size:4vw;}

	
	

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer{margin-top:20.83vw; padding:6.11vw 0 2.6vw 0;}
.ftInner{width:90%;}
.ftLeft{width:100%; margin:6.51vw 0 2vw 0; order: 2;}
.ftLeft .ftLogo{width: 50%; margin-bottom: 1em;}
.syncer-tel a{color: white!important;}
.ftRight{width:100%; padding:6.51vw 0; order: 1;}
.ftGlobalNavi {column-gap:1em; row-gap:0.8em; grid-auto-flow:column;}
.ftLinkNavi{width: 40%; margin-top: 1em;}
.ftLinkNavi li:first-child{margin-bottom: min( 3vw , 20px );}
.ftLinkNavi .headContact a,.ftLinkNavi .headRecruit a{margin-left: 0;}	
.ftCopyright{font-size:3.33vw; text-align:left;}
#page-top{right:4%; width:9.11vw;}
#page-top a{width:9.11vw;}
	
	
	
/*★★★★★下層ページ★★★★★*/
/* ----------------------------------------------------
経営理念
---------------------------------------------------- */
.philosophyRead{font-size: 3.8vw; text-align: center;}
.philosophyRead div{width: 100%;}
.philosophyRead p{width: 100%; margin-top: 3em;}
	
/* ----------------------------------------------------
事業内容
---------------------------------------------------- */
#business .cont-mainVis{/*background: url("../img/business/mainVisual.jpg") no-repeat 70% 0 / cover;*/}
.busInfo{margin-bottom: 46vw}
.busInfo::after{bottom: -38vw; left: 50%; transform: translateX(-50%); width: 34.505vw; height: 32.682vw;}
.busInfo-title{font-size:6.0vw;}
.busInfo-title::before{bottom:-0.35em; transform:translateX(calc(-100% - -1px)); width:3.2em; height:6px; background:radial-gradient(circle,#054994 3px,transparent 3px) repeat-x; background-size:14px 6px;}
.busInfo-title::after{position:absolute; content:""; left:50%; bottom:-0.35em; transform:translateX(-1px); width:3.3em; height:6px; background:radial-gradient(circle,#0aa04f 3px,transparent 3px) repeat-x; background-size:14px 6px;}
.busInfo-subtitle{font-size:4.4vw; margin:2.5em 0 0.8em 0; line-height: 1.4;}
.busInfo p{font-size:3.6vw;}
.busCaset{margin-top: 14vw;}
.busTextbox{width: 100%;}
.busTextbox h5{font-size: 4.2vw; padding-left: 5.2vw;}
.busTextbox h5::before{width:4.56vw; height:4.43vw;}	
.busImgbox{width: 100%; margin-top: 1em;}
.busCaset:nth-of-type(even) .busImgbox .busIllust{top:inherit; bottom: 0; right:60%; width:20.3vw;}
.busCaset:nth-of-type(odd) .busImgbox .busIllust{position:absolute; top:inherit; bottom: 0;  right:0; width:37.8vw;}
	
/* ----------------------------------------------------
会社概要
---------------------------------------------------- */
#company .cont-mainVis{/*background: url("../img/company/mainVisual.jpg") no-repeat 80% 0 / cover;*/}
.cpInfo p{width: 100%; order: 2; margin-top: 2em;}
.cpInfo table{width: 100%; order: 1;}
.cpInfo table th{width: 25%;}
.cpInfo table td{width: 75%;}
.cpInfo table tr:last-child th{border-bottom:none;}
.cpInfo table tr:last-child td{border-bottom:none;}
.accessMap h5{font-size: 4.8vw; padding-left: 5.2vw;}
.accessMap h5::before{width:4.56vw; height:4.43vw;}
.mapWrap{aspect-ratio:4/3;}
	
/* ----------------------------------------------------
メッセージ
---------------------------------------------------- */
#message .cont-mainVis{/*background: url("../img/message/mainVisual.jpg") no-repeat 25% 0 / cover;*/}
.presidentBox::before{bottom: inherit; left: 73%; top: 22%; width:24.5vw; height:20.5vw;}
.presidentBox p{width: 100%; order: 2;}
.presidentBox .pdRead{width: 100%; order: 1; padding: 0;}
.presidentBox .pdRead .pd-text{font-size: 4.6vw; line-height: 1.4;}
.presidentBox .pdRead .pd-name{font-size: 4.4vw; text-align: left; margin: 1em 0; line-height: 1.4; justify-content: flex-start;}
.presidentBox .pdRead .pd-name span{font-size: 3.8vw;}
.pdComent{padding-top: 1em;}
.pdComent h5{margin:2em 0 0.5em 0; font-size: 4.2vw; padding-left: 5.2vw; line-height: 1.2;}
.pdComent h5::before{width:4.56vw; height:4.43vw; top: 25%;}
.mess-linerPhoto{margin: 0 0 10vw 0;}
.director-box{padding-bottom: 10vw;}
.director-box .direRead{width: 100%;}
.director-box .direRead h6,.gm-minWrap h6{font-size: 4.2vw;}
.director-box .direRead p{margin: 1em 0;}
.gm-minWrap p{margin: 1em 0 2em 0;}
.director-box .direRead span,.gm-minWrap span{font-size: 4.2vw;  line-height: 1.4;}
.director-box img{width: 100%; margin-top: 1em;}
.gm-box{padding-top: 0;}
.gm-minWrap{width: 100%; padding: 10vw 0}
.gm-minWrap:first-child{border-bottom: 1px solid black;}
.gm-minWrap img{margin: 1em 0 0 0; order: 2;}
.gm-minWrap span{margin-top:auto;}
	
.pd-name img{width:13vw; margin: 0!important;}
.gm-name img{width:13vw; order:-1; margin-left:0; }
	

	
/* ----------------------------------------------------
業務実績
---------------------------------------------------- */
#works .cont-mainVis{/*background: url("../img/works/mainVisual.jpg") no-repeat 40% 0 / cover;*/}
.bannerGrid{grid-template-columns:repeat(2,1fr); gap:2.6vw; row-gap:4.6vw;}	
.bannerGrid li{width:100%;}
.worksCols{grid-template-columns:1fr; margin-top:18vw;}
.worksList li{margin-bottom:2em;}
.worksList h5{font-size: 4.8vw; padding-left: 5.2vw;}
.worksList h5::before{width:4.56vw; height:4.43vw;}

	
/* ----------------------------------------------------
SUZUMARU BLOG
---------------------------------------------------- */
#blog .cont-mainVis{/*background: url("../img/blog/mainVisual.jpg") no-repeat 0 0 / cover;*/}
.filterList{gap:2vw; justify-content:flex-start; margin-bottom:8vw; padding:6vw 4vw;}
.filterList li{font-size:3.2vw; padding:0 2.5vw 0 5vw;}
.filterList li.is-active{padding:0 2.5vw;}
.filterList li::before{left:2vw;}
.postList{grid-template-columns:1fr; gap:8vw;}
.postThumb{padding:3vw 3vw 4vw 7vw;}
.postThumb::before{left:2vw; top:3vw; font-size:2vw;}
.postThumb::after{left:4vw; top:42%; height:50%;}
.postThumb img{margin-bottom:1.5vw;}
.postThumb time{font-size:2.8vw;}
.postThumb h2{font-size:3.3vw; line-height:1.45;}
.postThumb p{font-size:2.8vw; line-height:1.5;}
.postItem{padding-bottom:6vw;}
.postItem .postTags{gap:2vw; margin-top:1.5vw;}
.postItem .postTags a{font-size:2.7vw;}
.archivePager{
  gap:3vw;
  margin-top:14vw;
}

.archivePager .wp-pagenavi{
  gap:1.5vw;
}

.archivePager .wp-pagenavi .page,
.archivePager .wp-pagenavi .current{
  width:8vw;
  height:8vw;
  font-size:3vw;
}

.archivePager .previouspostslink,
.archivePager .nextpostslink{
  gap:1.5vw;
}

.archivePager .previouspostslink::after,
.archivePager .nextpostslink::before{
  font-size:3vw;
}

.archivePager .previouspostslink::before,
.archivePager .nextpostslink::after{
  width:6vw;
  height:6vw;
}
	
.postPage{display:block; padding:0;}
.postPage .postMain,
.postPage .postSide{width:100%;}
.postPage .postSide{margin-top:24vw;}
.postPage .postTitleWrap{align-items:center; gap:4vw; margin-bottom:2vw;}
.postPage .postTitleBox{flex:1;}
.postPage h1{font-size:4.8vw; line-height:1.45;}
.postPage .postMeta{font-size:3.2vw; margin-bottom:1em;}
.postPage .postWriter{width:18vw;}
.postPage .writerIcon{width:16vw; margin-bottom:0;}
.postPage .writerName{bottom:-2vw; min-height:6vw; padding:0 3vw; font-size:2.7vw; border-radius:1.2vw;}
.postPage .postTags{flex-wrap:wrap; gap:2vw 5vw; margin-bottom:8vw;}
.postPage .postTags a{font-size:3.2vw;}
.postPage p{font-size:3.5vw; line-height:2; margin-bottom:8vw;}
.postPage figure{margin:10vw 0;}
.postPage section h2{font-size:4.3vw; line-height:1.7; margin:14vw 0 2vw;}
.postPage .sideBox{margin-bottom:10vw;}
.postPage .sideBox.categoryBox{margin-bottom:0;}
.postPage .sideBox h2{font-size:3.8vw; padding-left:7vw; padding-bottom:3.5vw; margin-bottom:4vw;}
.postPage .sideBox h2::before{width:5.2vw; height:5.2vw; top: 38%}
.postPage .sideBox ul{padding:6vw;}
.postPage .sideBox li{margin-bottom:4vw;}
.postPage .sideBox a{font-size:3.3vw; padding-left:4vw;}
.postPage .postPager{margin:20vw 0;}
.postPage .postPager a{font-size:3.5vw;}
.postPage .postPager .pagerPrev,
.postPage .postPager .pagerNext{gap:2vw;}
.postPage .postPager .pagerPrev::before,
.postPage .postPager .pagerNext::after{width:6.5vw; height:6.5vw;}
	
	
	
	
/* ----------------------------------------------------
お問い合わせ
---------------------------------------------------- */
#contact .cont-mainVis{/*background: url("../img/contact/mainVisual.jpg") no-repeat 30% 0 / cover;*/}
.contactInfo {font-size: 3.6vw; }
.contact-tel {padding: 8vw 5vw 6vw; margin: 15vw 0;}
.contact-tel h2 {font-size: 4.2vw; padding: 0 4vw; width: 70%; text-align: center;}
.tel-box {flex-direction: column; gap: 3vw; }
.tel-number {font-size: 6vw; padding-left: 10vw; }
.tel-number::before { width: 8vw; height: 9vw; left: 0; }
.tel-time { font-size: 4.2vw; }
.contact-form .form-group { margin-bottom: 6vw; }
.contact-form label {margin-bottom: 2vw; font-size: 4vw; }
.contact-form input,
.contact-form textarea {padding: 4vw; font-size: 4.2vw; border-radius: 2vw; }
.privacy h3 {font-size: 4.2vw; margin: 10vw 0 4vw; }
.privacy h3::before { width: 5vw; height: 5vw; }
.privacy-box { height: 60vw; padding: 6vw; font-size: 3.6vw; }
.form-submit { margin-top: 10vw; }
	
.confirm-wrap{width:100%; padding:2em 0;}
.confirm-table th{width:40%;}
.confirm-buttons{gap:min(2vw,30px); align-items:center;}	
	
	
#contact .confirm-buttons {flex-direction: column; gap: 4vw;}
	

	
	
#contact .confirm-buttons .btn-primary,
#contact .confirm-buttons .btn-return {width: 70%; margin: 6.51vw 0 3vw 0; padding: 1em 1em 1em 2em; display: block;}

.btn-return span::before {width: 5.4vw; height: 2.8vw; border-radius:0.78vw}
.btn-return span::after {width:1.55vw; height:1.55vw; border-top:0.47vw solid #fff; border-left: 0.47vw solid #fff;}	
}


.postPager .is-disabled {
    opacity: 0.5;
    pointer-events: none; /* クリック不可に。リンクではないので実害はないが念のため */
    cursor: default;
	color: #1d5f94;
}