/*
Theme Name: swell-child
Version: 2.15.0
Template: swell
*/


/*+++++++++++++++++++++++++++++++++
基本スタイル
++++++++++++++++++++++++++++++++++*/
.red{color:#cf2e2e;}
.blue{color:#225eb2;}
.gray{color:#999999;}
.redkasen{border-bottom:solid 1px #cf2e2e!important;}
.kurokasen{border-bottom:solid 1px #272727!important;}
.yellow{border-bottom:solid 3px #ffd300!important;}


.fsmall{font-size:90%!important;}
.fbig1{font-size:1.2em;}
.fbig2{font-size:1.5em;}
.fbig3{font-size:1.8em!important;}
.fbig4{font-size:2.2em;}
.fbig5{font-size:2.5em;}

.s5{margin-top:5px!important;}
.s10{margin-top:10px!important;}
.s20{margin-top:20px!important;}
.s30{margin-top:30px!important;}
.s40{margin-top:40px!important;}
.s50{margin-top:50px!important;}
.s60{margin-top:60px!important;}

.space0{margin-top:0px!important;}
.space10{margin-top:-10px!important;}
.space20{margin-top:-20px!important;}
.space30{margin-top:-30px!important;}
.space40{margin-top:-40px!important;}
.space50{margin-top:-50px!important;}
.space60{margin-top:-60px!important;}


@media screen and (min-width: 482px) {/*PC*/
.space-top1{margin-top:-32px!important;}
.space-top2{margin-top:-50px!important;}
.space-top3{margin-top:60px!important;}

.padd1{padding-top:px!important;}
}
@media screen and (max-width: 481px)  {/*SP*/
	.fbig1{font-size:1.1em;}
	.fbig2{font-size:1.3em;}
	.fbig3{font-size:2em;}
	.fbig4{font-size:1.6em;}
	.fbig5{font-size:1.2em;}
	.fbig0{font-size:90%;}

	.space_mobi0{margin-top:0px!important;}
	.space_mobi10{margin-top:-10px!important;}
	.space_mobi20{margin-top:-20px!important;}
	.space_mobi30{margin-top:-30px!important;}
	.space_mobi{margin-top:-180px!important;}
	
	.s10{margin-top:10px;}
	.s20{margin-top:20px;}
	.s30{margin-top:20px;}
	.s40{margin-top:20px;}
	.s50{margin-top:20px;}
	.s60{margin-top:20px;}
	
	.space-top-sp1{padding-top:-100px!important;}
	.space-top-sp2{margin-top:-35px!important;}
	.space-top-sp3{padding-top:30px!important;}
	.padd1{padding-top:150px!important;}
	
	/*画像のサイズ調整*/
	.media70 img{width:70%!important;}
	/*文字のサイズ調整*/
	.fsmall-sp{font-size:80%!important;}
}

.m_bottom{padding-bottom:0px!important;}

.stylep p{margin-bottom:1em!important;}

.full-width{
    width: 100vw; /* 画面全体の幅 */
    margin-left: calc(-50vw + 50%); /* コンテンツ枠の左端から全幅に拡張 */
    margin-right: calc(-50vw + 50%);
	border-bottom:solid 1px #EEEEEE;
	padding-bottom:10px;
}

@media screen and (min-width: 482px) {/*PC*/
/*-------------------
headerのキャッチコピー
------------------------*/
/*アイキャッチ画像を全幅*/
#breadcrumb{padding-top:100px!important;}
.page #main_content{margin-top:-130px!important;}/*パンくずとメインコンテンツの余白調整*/
.c-pageTitle{display:none;}/*ページタイトルを消す*/
.fbig_title{/*ページのキャッチフレーズ*/
	font-size:2em;
	padding-right:30px;
	margin-top:-70px!important;
	line-height:140%!important;
}
}
@media screen and (max-width: 481px)  {/*SP*/
/*アイキャッチ画像を全幅*/
#breadcrumb{padding-top:50px!important;}

.catch_title{margin-top:-50px!important;}
.catch_title p{margin-top:-80px!important; padding-right:1.5em;}

/*ボックスの余白調整*/
.padd_box_sp{padding:20px 0px!important;}
}


/*メニューリンクを消す*/
.menu-item-28 > a {
  pointer-events: none;
  cursor: default;
}

/*――――――――――――――――――
フォント調整
―――――――――――――――――――*/
/*明朝体*/
.mincho {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.mincho_bold {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.moji2-1{
	font-size:2.2em!important;
	position: relative;
	padding: 1rem 0rem!important;
	border-bottom: 3px solid #5d5d5d!important;
	margin-top:0px!important;
	margin-bottom:20px!important;
}
.moji2-1:before {
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 20%;
	height: 3px;
	content: '';
	background: #e7211a;
}

.moji2-2 {
background-image: repeating-linear-gradient(
    135deg,
    #ccc 0px,
    #ccc 1px,
    transparent 1px,
    transparent 3px
  );
  background-size: 4px 4px;  /* これを追加すると均一性が出やすい */
  font-size:2.2em!important;
  padding: 10px 10px 15px 10px;
}

.moji2-3 {
  font-size: 2em !important;
  border-top: solid 1px #bdc5b5;
  border-bottom: solid 1px #bdc5b5;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.moji2-5 {
  position: relative;
  font-size: 2em!important; /* 文字サイズを2emに */
  display: inline-block!important; /* テキストと線を一緒に中央配置 */
  text-align: center!important;
  margin: 0 auto!important; /* 親要素がtext-align: centerの場合は不要 */
  padding: 0 1em!important;
}
.moji2-5::before,
.moji2-5::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100px; /* 線の長さ：必要に応じて調整 */
  height: 1px;
  background-color: #333; /* 線の色 */
}

.moji2-5::before {
  right: 100%;
  margin-right: 10px; /* テキストとの間隔 */
}
.moji2-5::after {
  left: 100%;
  margin-left: 10px;
}
@media screen and (min-width: 482px) {/*PC*/
.nonepc{display:none;}
}
@media screen and (max-width: 481px)  {/*SP*/
.nonemobi{display:none;}
.moji2-2{font-size:1.6em!important;}
}


/*メディアとテキストの画像の調整*/
@media screen and (max-width: 481px)  {/*SP*/
.box-style-img80 .smb-media-text__figure{
	width:80%!important;
	margin-left:auto!important;
	margin-right:auto!important;
}
.box-style-img70 .smb-media-text__figure{
	width:70%!important;
	margin-left:auto!important;
	margin-right:auto!important;
}
}

/*――――――――――――――――――
グラデーション調整
―――――――――――――――――――*/
.color_grade1{background: linear-gradient(#f5f5f5, #FFFFFF);}
.color_grade2{background: linear-gradient(#ececec, #FFFFFF);}



/*+++++++++++++++++++++++++++++++++
header
++++++++++++++++++++++++++++++++++*/
#header{
	background:rgba(255, 255, 255, 0.9)!important;
	position:fixed!important;
	top:0!important;
	z-index:1000!important;
}

/*headerを全幅に変更する*/
.l-header__inner {
	width:1920px!important;
    max-width: 100% !important;
    padding-left: 10 !important;
    padding-right: 10 !important;
}

/*+++++++++++++++++++++++++++++++++
footer
++++++++++++++++++++++++++++++++++*/
/*直前フッター横に並べる*/
#custom_html-3{
	width: 100vw; /* 画面全体の幅 */
    margin-left: calc(-50vw + 50%); /* コンテンツ枠の左端から全幅に拡張 */
    margin-right: calc(-50vw + 50%);
	padding-bottom:30px!important;
}
@media screen and (min-width: 482px) {/*PC*/
.banner{
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
.banner a {
  display: inline-block;                 /* transformが効くように */
  transition: opacity 0.6s ease,         /* フェード */
              transform 0.1s ease;       /* 位置の小さなズレ */
}
/* マウスホバー時：少しだけ右下へ & 0.7の透明度へ */
.banner a:hover {
  transform: translate(1px, 1px);
  opacity: 0.7;
}
/* キーボード操作でも同じ効果を（アクセシビリティ） */
.banner a:focus-visible {
  opacity: 0.7;
}
/* 動きを減らしたい利用者設定への配慮（任意） */
@media (prefers-reduced-motion: reduce) {
  .banner a { transition: none; }
}
}
@media screen and (max-width: 481px)  {/*SP*/
.banner{
	width:95%;
	margin-left:auto;
	margin-right:auto;
}
}

.l-footer__inner{margin-top:-50px!important;}


@media screen and (min-width: 482px) {/*PC*/
.foot_link{
	display: flex;
	justify-content: center;
	padding-top:30px!important;
}
.box_foot ul {
	list-style: none;
	margin-bottom:5px!important;
	padding: 0;
}
.box_foot ul ul li {/*2階層目*/
	margin-bottom: 5px;
	margin-left: 1em!important; /* ← これで右にずらす */
}
.foot_link a:hover{text-decoration:underline!important;}

.box_foot:nth-of-type(1){margin-right:200px!important;}
.box_foot:nth-of-type(2){margin-right:100px!important;}
}

@media screen and (max-width: 481px)  {/*SP*/
.box_foot:nth-of-type(1){
	text-align:center!important;
	margin-bottom:20px!important;
	padding-bottom:20px!important;
	border-bottom:solid 1px #FFFFFF;
}
.box_foot ul {
	list-style: none;
	margin-bottom:8px!important;
	padding: 0;
}
.box_foot ul ul li {/*2階層目*/
	margin-bottom: 10px;
	margin-left: 1em!important; /* ← これで右にずらす */
}
}




/*+++++++++++++++++++++++++++++++++
コンタクトバナー設定
++++++++++++++++++++++++++++++++++*/



/*+++++++++++++++++++++++++++++++++
固定ページ
++++++++++++++++++++++++++++++++++*/

/*会社概要*/
@media screen and (min-width: 482px) {/*PC*/
.vertical-text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 2em;
  line-height: 1.8;
}
}
.number {
  text-combine-upright: none;
}

.face-keisen{
	border-bottom:solid 1px #bdc5b5;
	padding-bottom:50px!important;
	margin-bottom:50px!important;
}

.bg-face{
	background-image:url(http://xs060342.xsrv.jp/ebinuma/wp-content/uploads/icon-50_85.gif);
	background-repeat:no-repeat;
	padding-bottom:20px!important;
	margin-bottom:20px!important;
}
@media screen and (max-width: 481px)  {/*SP*/
.vertical-text {
  font-size: 2em;
}
.bg-face{background-size:100% auto;}
}
.bg_2frame h2{
	font-size:2.2em;
	margin-bottom:0px!important;
	font-family: "Zen Old Mincho", serif;
	font-weight: 600;
	font-style: normal;
}
.bg_2frame .smb-section__lede{
	color:#e7211a;
	margin-top:-20px!important;
}

.map{
    width: 100vw; /* 画面全体の幅 */
    margin-left: calc(-50vw + 50%); /* コンテンツ枠の左端から全幅に拡張 */
    margin-right: calc(-50vw + 50%);
}

.companyTB td{/*会社概要の罫線を消す*/
	border-top:none!important;
	border-bottom:none!important;

}




/*採用情報*/
.box-work{
	padding-top:50px!important;
	padding-bottom:80px!important;
}
.work-frame_left{padding-left:100px!important;}
.icon_work img{
	width:200px!important;
	height:auto;	
}

.widset1{
	width:1400px;
	max-width:100%;
	margin-left:auto!important;
	margin-right:auto!important;
}
.widset2{
	width:900px;
	max-width:100%;
	margin-left:auto!important;
	margin-right:auto!important;
}
.box-youkou{padding:50px 40px!important;}

.box_menu .wp-block-group{margin-bottom:50px!important;}

.bg_image2{
	padding-top:80px!important;
	padding-bottom:150px!important;
}

@media screen and (min-width: 482px) {/*PC*/
/*応募ボタン*/
.btm_oubo {
  position: fixed;       /* 画面に固定 */
  top: 0;                /* 上端に配置 */
  right: 0;              /* 右端に配置 */
  z-index: 9999;         /* 他の要素より前に表示（必要に応じて調整） */
  background: #04384c;      /* 背景色（目立たせる例） */
  color: #fff;           /* 文字色 */
  padding: 20px 30px;    /* 余白 */
  border-radius: 0 0 0 10px; /* 左下だけ角丸（任意） */
  font-size:1.4em;
}
}
@media screen and (max-width: 481px)  {/*SP*/
.box-youkou{padding:0px px!important;}

/*応募ボタン*/
.btm_oubo {
  position: fixed;
  top: 0;
  width:100%;
  z-index: 9999;
  background: #04384c;
  color: #fff;
  padding: 5px 10px;
  text-align:right;
  margin-left:-10px!important;
}
}
.btm_oubo a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}


/*事務ソリューション*/
.colum_box p{
	font-size:90%!important;
	margin-top:-10px!important;
	color:#FFFFFF;
}
.colum_box .swell-block-column{
	background-color:#04384c!important;
	padding-bottom:5px!important;
}

/*+++++++++++++++++++++++++++++++++
お問い合わせ
++++++++++++++++++++++++++++++++++*/
/* Snow Monkey Formsに必須マークをつける */
/* 共通: ラベルスペース分の余白を確保 */
.smf-item__label__text {
    position: relative;
    padding-left: 45px; /* 左にラベル分の余白を空ける */
}
/* 必須ラベル */
.smf-item:has([data-validations~="required"]) .smf-item__label__text::before {
  position: absolute;
  top: 0; /* ← 上揃え */
  left: 0px;/* ← ラベルの位置を調整 */
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 4px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background: #ff0000;
}
/* 任意ラベル */
.smf-item:not(:has([data-validations~="required"])) .smf-item__label__text::before {
  position: absolute;
  top: 0; /* ← 上揃え */
  left: 0px;/* ← ラベルの位置を調整 */
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 4px;
  content: "任意";
  font-size: 12px;
  color: #fff;
  background: #888;
}