/****************************************************************
* フォント用
****************************************************************/

.antonio-<uniquifier> {
  font-family: "Antonio", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/****************************************************************
* メンテナンス画面
****************************************************************/

.coming-soon-sec{
	height:70vh;
	padding:0;
}

.coming-soon-sec h2 {
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	font-size:72px;
	line-height:1em;
	position:relative;
}

.coming-soon-sec h2::after {
  content: "";
  display: block;
  width: 150px;
  height: 2px;
  background-color: #232323;
  margin-top: 26px;
	margin-left:auto;
margin-right:auto;
}
@media screen and (max-width: 781px) {
.coming-soon-illust{
	width:50%!important;
	margin-top:10vh!important;
}
}

/****************************************************************
* 書体指定
****************************************************************/
.page-header-h2,
.midashi01-h2,
.service-h4 .num,
.contact-tel-box .tel,
.strength-column h4{
  font-family: "Antonio", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600!important;
  font-style: normal;
}

p,
.blead,
.arrow-btn01 .smb-btn,
.arrow-btn02 .smb-btn,
.page-header-h3,
.midashi01-h3,
.midashi-blue-h2,
.service-h4 h4,
.c-drawer__menu,
.p-footer-sub-nav,
.p-global-nav{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
p,
.blead,
.arrow-btn01 .smb-btn,
.arrow-btn02 .smb-btn,
.p-footer-sub-nav{
  font-weight: 400;
}
.page-header-h3,
.midashi01-h3,
.c-drawer__menu{
  font-weight: 500;
}
.p-global-nav{
  font-weight: 700;
}
.midashi-blue-h2,
.service-h4 h4{
  font-weight: 900;
}

/****************************************************************
* 全体
****************************************************************/
.wp-block-group{
	padding-left:10px;
	padding-right:10px;
}

p{
	font-size:18px;
	line-height:2em;
}

@media screen and (max-width: 480px) {
p{
	font-size:16px;
}
}
/****************************************************************
* ボタン
****************************************************************/
.arrow-btn01 .smb-btn,
.arrow-btn02 .smb-btn{
	min-width:250px;
	border-radius:0;
	position: relative;
	font-size:20px;
	font-weight:500!important;
}
.arrow-btn01 .smb-btn{
	background-color:#262626;
}
.arrow-btn02 .smb-btn{
	background-color:transparent;
	border:1px solid #fff;
}

/* 横線 */
.arrow-btn01 .smb-btn::after,
.arrow-btn02 .smb-btn::after{
  content: "";
  position: absolute;
  right: 20px;
  top: 55%;
  width: 32px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: transform .3s ease;
}

/* 斜め線 */
.arrow-btn01 .smb-btn::before,
.arrow-btn02 .smb-btn::before{
  content: "";
  position: absolute;
  right: 20px;
  top: 55%;
  width: 14px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
  transition: transform .3s ease;
}

/* hoverで右へ */
.arrow-btn01 .smb-btn:hover::after,
.arrow-btn02 .smb-btn:hover::after{
  transform: translate(6px,-50%);
}

.arrow-btn01 .smb-btn:hover::before,
.arrow-btn02 .smb-btn:hover::before{
  transform: translate(6px,-50%) rotate(45deg);
}
/****************************************************************
* パンクズリスト
****************************************************************/
.blead{
	margin-top:0!important;
}
/****************************************************************
* ページヘッダー
****************************************************************/
/* スクロール前 */
html[data-scrolled="false"] .c-site-branding__title a img {
  content: url(/wp-content/uploads/2026/02/souken-logo-white.png);
}

/* スクロール後 */
html[data-scrolled="true"] .c-site-branding__title a img {
  content: url(/wp-content/uploads/2026/02/souken-logo.png);
}

.page-header{
	height:445px;
	background-image:url(/wp-content/uploads/2026/03/page-header-pc.jpg);
	background-repeat:no-repeat;
	background-position:top left;
	background-size:auto 445px;
	color:#fff;
}
.page-header-title{
	margin-bottom:50px!important;
}
.page-header-h2{
	font-size:80px;
	line-height:1em;
}
.page-header-h3{
	font-size:20px;
	line-height:1em;
	margin-top:20px;
}
.page-header-h3 strong{
	color:#b60005;
}

@media screen and (min-width: 1360px) {
.page-header{
	height:32.8vw;
	background-repeat:no-repeat;
	background-size: auto 100%;
}
.page-header-title{
	margin-bottom:5vw!important;
}
.page-header-h2{
	font-size:6vw;
	line-height:1em;
}
}
.page-header-h3{
	font-size:20px;
	line-height:1em;
	margin-top:20px;
}
.page-header-h3 strong{
	color:#b60005;
}
@media screen and (max-width: 991px) {
.page-header{
	height:445px;
	background-image:url(/wp-content/uploads/2026/03/page-header-tab.jpg);
	background-size:auto 445px;
}
.page-header-h2{
	font-size:80px;
}
}
@media screen and (max-width: 781px) {
.page-header{
	height:400px;
	background-size:auto 400px;
}
}
@media screen and (max-width: 480px) {
.page-header{
	height:300px;
	background-image:url(/wp-content/uploads/2026/03/page-header-sp.jpg);
	background-position:top left;
	background-size:100% 300px;
}
.page-header-title{
	margin-bottom:-5vw!important;
}
.page-header-h2{
	font-size:15vw;
}
.page-header-h3{
	font-size:5vw;
	margin-top:4vw;
}
}
/****************************************************************
* 見出し
****************************************************************/
.midashi01-h2{
	font-size:95px!important;
	line-height:1em!important;
	display:block!important;
}
.midashi01-h3{
	font-size:20px!important;
	line-height:1em!important;
	margin-top:20px!important;
	display:block!important;
}
.midashi01-h3 strong{
	color:#b60005;
}
.midashi-blue-h2{
	font-size:30px;
	color:#002c61;
	margin-bottom:40px!important;
}

@media screen and (max-width: 991px) {
.midashi01-h2{
	font-size:75px;
	}
.midashi01-h3{
	font-size:20px!important;
	margin-top:15px!important;
}
.midashi-blue-h2{
	font-size:25px;
}
}
@media screen and (max-width: 480px) {
.midashi01-h2{
	font-size:16vw!important;
}
.midashi01-h2-long{
	font-size:14vw!important;
	}
.midashi01-h3{
	font-size:5vw!important;
	margin-top:4vw!important;
}
	
.midashi-blue-h2{
	font-size:20px;
	margin-bottom:6vw!important;
}
	
/* 会社案内ページのみ */
.page-id-51 .midashi-blue-h2{
	text-align:left!important;
}
.page-id-51 .midashi-blue-h2 br.vk_responsive-br{
	display:none!important;
}
}

/****************************************************************
 *モバイルドロワー
****************************************************************/
.c-drawer {
  background-color:#262626;
}
/****************************************************************
 *TOPページ
****************************************************************/
.top-slider-group{
	padding:0;
	position:relative;
}

.top-slider-group,
.top-slider,
.top-slider .swiper-wrapper{
	height:60vw!important;
}

.top-slider{
	position:absolute;
}
.top-slider::after {
 content: "";
 position: absolute;
top:0;
inset: 0;                     /* 四方に広げる */
 background-image: linear-gradient(0deg, rgba(255, 255, 255, 0)80%, rgba(0, 0, 0, 0.5));
z-index:3;
pointer-events: none;         /* クリック邪魔しない */
}

.top-slider-bottom{
	position:absolute;
	bottom:0!important;
	margin-bottom:-1px;
	z-index:2;
	width:100vw;
}	

.top-slider-title{
	position:absolute;
	z-index:2;
	width:40vw!important;
	max-width:650px;
	height:auto;
  left: 5%;
  top: 38%;
  transform: translateY(-50%);
}

@media screen and (max-width: 991px) {
.top-slider-group,
.top-slider,
.top-slider .swiper-wrapper{
	height:70vw!important;
}
.top-slider-title{
	width:50vw!important;
	left: 3%;
	top: 40%;
}
}
@media screen and (max-width: 781px) {
}
@media screen and (max-width: 480px) {
.top-slider-group,
.top-slider,
.top-slider .swiper-wrapper{
	height:100vw!important;
}
.top-slider-title{
	width:65vw!important;
	left: 3%;
	top: 45%;
}
}

/* TOP 創建について */
.top-about-column{
	position:relative;
}
@media screen and (min-width: 781px) {
.top-about-column .sou-img{
	position:absolute;
	top:130px;
	z-index:-1;
	margin-left:-100px!important;
}
}
@media screen and (max-width: 781px) {
.top-about-column .sou-img{
	position:absolute;
	bottom:0;
	z-index:-1;
	margin-left:0!important;
}
}
/* TOP 鳶職とは */
.tobi-cover{
	min-height:auto;
	height:100%;
}
.tobi-shoku-column{
	padding:45px;
}
.tobi-text-column h3{
	font-size:26px;
	line-height:1.25em;
	padding:7px;
}
.tobi-text-column p{
	font-size:16px;
	line-height:1.75em;
	margin-top:15px;
}
@media screen and (max-width: 781px) {
.tobi-cover{
aspect-ratio: 16 / 9;
}
.top-about-tobi-group{
background-size:contain!important;
background-position:50% 90%!important;
background-repeat:no-repeat!important;
}
}
@media screen and (max-width: 575px) {
.top-about-tobi-group{
background-position:50% 80%!important;
}
}
@media screen and (max-width: 480px) {
.tobi-text-column h3{
	font-size:5vw;
}
.tobi-shoku-column{
	padding:30px;
}
.top-about-tobi-group{
background-position:50% 82.5%!important;
}
}
/* TOP 途中のスライダー */
.vk_slider.slider01{
	margin-left:-10px!important;
	margin-right:-10px!important;
}
.vk_slider.slider01 .swiper-wrapper {/* スライダースムーズに動くための調整 */
  transition-timing-function:linear;
}

/* TOP サービス */
.top-service-column{
	position:relative;
	border-bottom:8px solid #b60005;
}
.top-service-h4{
font-size:min(3vw,25px)!important;
	position:absolute;
	bottom:5px;
	left:10px;
}
@media screen and (max-width: 991px) {
.top-service-h4{
font-size:2.3vw!important;
}
}
@media screen and (max-width: 781px) {
.top-service-h4{
font-size:4vw!important;
}
.top-service-column .wp-block-image{
	margin-top:0;
}
}

/****************************************************************
 *会社概要
****************************************************************/
.map,
.map div,
.map iframe{
	padding:0;
	max-width:100vw;
	width:100vw;
	height:600px;
}

/****************************************************************
 *採用情報
****************************************************************/
.table01 p{
	font-size:16px!important;
}
.table01 div{
	border-left:none!important;
	border-right:none!important;
}

@media screen and (max-width: 480px) {
.table01 p,
.table01 .smb-information__item__label{
	font-size:15px!important;
}
.table01 .smb-information__item__body,
.table01 .smb-information__item__label{
	padding:5px 10px!important;
}	
}
/****************************************************************
 *事業案内サービス
****************************************************************/
.strength-columns{
	margin-top:20px!important;
}
.strength-column h4{
	font-size:35px;
	line-height:1em;
	padding:12px 10px 17px 10px;
}
.strength-column p{
	font-size:40px;
	font-weight:900;
	line-height:1.5em;
	padding:30px 10px 40px 10px;
}	
.service-h4{
	margin-top:-100px;
	margin-left:0!important;
	background-color:#fff;
	max-width:600px;
	clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
	padding:25px 10px;
}
.service-h4 .num{
	font-size:60px;
	color:#b60005;
	line-height:1em;
	padding-bottom:0.2em;
	padding-right:20px;
	border-right:1px solid #000;
}
.service-h4 h4{
	font-size:40px;
	line-height:1em;
	padding-bottom:0.2em;
}

.service-group h5{
	margin-bottom:0!important;
	margin-top:10px;
}
@media screen and (max-width: 991px) {
.service-h4 .num{
	font-size:7vw;
	padding-right:3vw;
}
.service-h4 h4{
	font-size:6vw;
}
.service-h4{
	width:80vw;
	margin-top:-9vw;
	padding:3vw 2vw;
	margin-left:-2vw!important;
}
.service-h4{
	column-gap:3vw;
}
}
@media screen and (max-width: 781px) {
/* 781pxまでの幅の場合に適用される */
}
@media screen and (max-width: 480px) {
.strength-column h4{
	font-size:7vw;
}
.strength-column p{
	font-size:8vw;
}	
}

/****************************************************************
 *お問い合わせ
****************************************************************/
.contact-tel-box{
	max-width:750px;
	padding:40px 50px;
}
.contact-tel-box .tel{
	border-bottom:1px solid #fff;
	padding-bottom:50px;
}
.contact-tel-box .tel strong{
	 font-style: normal!important;
	font-size:60px;
	line-height:1em;
	vertical-align: middle;
	margin-right:15px;
}
.contact-tel-box .tel em{
	font-size:95px;
	line-height:1em;
	vertical-align: middle;
	 font-style: normal!important;
}
.contact-tel-box .time{
	font-size:25px;
	line-height:1em;
	font-weight:700;
}
.snow-monkey-form{
	max-width:900px!important;
}

@media screen and (max-width: 781px) {
.contact-tel-box{
	padding:5vw;
	margin-top:0!important;
}
.contact-tel-box .tel{
	padding-bottom:5vw;
}
.contact-tel-box .tel strong{
	 font-style: normal!important;
	font-size:7vw;
	margin-right:2vw;
}
.contact-tel-box .tel em{
	font-size:11vw;
}
.contact-tel-box .time{
	font-size:4.5vw;
	margin-top:3vw;
}
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適用される */
}

/****************************************************************
 *フッター
****************************************************************/
.l-footer .c-fluid-container{
	padding:0;
}
.fotter-company-contact{
	border-bottom:1px solid #fff;
}
.l-footer-widget-area{
	padding-top:0!important;
	padding-bottom:0!important;
}
.fotter-company-contact{
	margin-bottom:1px!important;
}
.fotter-company-column,
.fotter-contact-column{
	display:flex;
}
.fotter-company-group,
.fotter-contact-group{
	flex: 1;
	padding-bottom:40px;
}
.fotter-company-image{
	max-width:320px;
	margin-top:40px;
	margin-bottom:30px;
}
body .fotter-company-contact .midashi01-h2{
	font-size:80px!important;
}

.fotter-contact-column .tel,
.fotter-contact-column .fax{
	line-height:1em;
	font-weight:700;
}

.fotter-contact-column .tel{
	font-size:44px;
	margin-top:20px;
}
.fotter-contact-column .fax{
	font-size:26px;
	margin-top:10px;
}
.fotter-company-contact .arrow-btn02 .smb-btn{
	font-size:18px!important;
	min-width:220px!important;
}
.fotter-company-contact .arrow-btn02 .smb-btn::after{
  right: 15px;
  top: 55%;
  width: 25px;
}

.fotter-company-contact .arrow-btn02 .smb-btn::before{
  content: "";
  position: absolute;
  right: 15px;
  top: 55%;
  width: 14px;
}
.l-footer-widget-area__item{
	margin-bottom:0!important;
}

.l-footer-widget-area .add{
	font-size:15px;
	line-height:1.75em;
}
.c-sub-nav{
	padding-top:60px;
	background-color:#262626;
	color:#fff;
	text-align:center;
	font-size:15px;
}
.c-sub-nav .c-navbar {
justify-content: center;
}
.c-copyright{
	background-color:#262626;
	padding:10px 10px;
}
@media screen and (max-width: 1023px) {
.c-sub-nav{
	padding-top:40px;
}
}

@media screen and (max-width: 480px) {
body .fotter-company-contact .midashi01-h2{
	font-size:16vw!important;
	margin-top:3vw;
}
.fotter-company-image{
	margin-left:5%!important;
	margin-right:5%!important;
}
.fotter-contact-column .tel{
	font-size:8.5vw;
}
.fotter-contact-column .fax{
	font-size:5.5vw;
}
.c-sub-nav,
.l-footer-widget-area .add,
.c-copyright{
	font-size:14px;
}
.c-sub-nav ul{
	flex-direction:column;
	line-height:2em;
}
}

/****************************************************************
 *お問い合わせフォーム
****************************************************************/
.snow-monkey-form{
	max-width:730px;
	margin-left:auto;
	margin-right:auto;
}
.smf-form--simple-table .wp-block-snow-monkey-forms-item:not(:last-child) .smf-item__col:first-child{
	display: flex!important;
	align-items: center;
	justify-content: start;
}
.wp-block-snow-monkey-forms-item{
	font-size:14px;
	color:#232323;
	padding:4px 0!important;
	margin-bottom:2px!important;
}
.smf-form .smf-text-control__control{
	padding:18px;
}
.smf-item__col{
	padding-right:10px!important;
}
.smf-action .smf-button-control__control {
	font-size:14px;
    background-color: #232323;
    background-image: none;
    border-radius: 0;
    color: #fff;
	transition: 0.3s;
}
.smf-action .smf-button-control__control:hover {
    background-color: #b60005;
	transition: 0.3s;
}

/* Snow Monkey Formsに必須マークをつける */
.smf-item__label__text {
    position: relative;
}
.smf-item__controls p{
	margin-top:5px;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 0px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background:#b60005;
}

@media screen and (max-width: 639px) {
.smf-item__col{
	padding-top:10px;
	padding-bottom:0!important;
}
}