<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

/*-------------------------------------------------------

基本デザイン・ブロックパーツ定義用スタイルシート

-------------------------------------------------------*/
/*-------------------------------------------------------
reset
-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,textarea,p,blockquote,th,td,figure {
  margin:0; 
  padding:0; 
  line-break: strict;/*IE禁則処理*/ }
table { 
  border-collapse:collapse; 
  border-spacing:0; }
fieldset,img {border:0; }
address,caption,cite,code,dfn,em,th,var,strong { 
  font-style:normal;
  font-weight:normal; }
li { list-style:none; }
caption,th { text-align:left; }
h1,h2,h3,h4,h5,h6 { 
  font-size:100%; 
  font-weight:normal; }
q:before,q:after {content:''; }
abbr,acronym {border:0; }
legend {color: #333; }
input, textarea, button{
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none; }
input, textarea, select{
  margin: 0;
  padding: 0;
  background-color: #fff;
  box-sizing: border-box;
  border: 1px solid #E4E2D6;
  color: inherit;
  font-size: 1em;
  line-height: 1.2; }
input[type="submit"], input[type="reset"]{border: 0; }
img{
  vertical-align: bottom;
  box-sizing: border-box;
  max-width: 100%;
  height: auto; }
@media screen and (min-width:768px){
  a:hover, a:active {outline: none; } }
/*-------------------------------------------------------
ベース（全ページ共通）
-------------------------------------------------------*/
body{
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  text-size-adjust:100%;
  background: #FCFCFC;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;
  font-size: 16px;
  line-height:1.6;
  color:#333;}
  @media screen and (min-width:768px) and (max-width:1102px){
    body{font-size: calc(12px + 4 * (100vw - 768px)/334);} }
.clearfix::after {
   content: "";
   display: block;
   clear: both;}
button, input, select, textarea{
  font-family: inherit;
  font-size: 100%; }
.icon::before {/*fontawesome*/
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased; }

/*
ヘッダー
-------------------------------------------------------*/
.frame-header{
  width: 100%;
  position: fixed;
  z-index: 9999;}
  @media screen and (min-width:768px){
    .frame-header{
      background: #fcfcfc; } }

.frame-header-inside{
  display: grid;
  grid-template-columns:1fr 56px; }
@media screen and (min-width:768px){
  .frame-header-inside{
    max-width: 1238px;
    margin: 0 auto;
    display: block;
    position: relative;
    padding: 0 1vw; } }

.mod-header-siteid{
  z-index: 9999;
  height: 54px;
  position: relative;
  background: #fcfcfc;
  padding-left: 2vw;
  padding-right: 5px;
  display: flex;
  align-items: center;}
  @media screen and (min-width:768px){
    .mod-header-siteid{
      background: none;
      height: 58px;
      line-height: 54px;
      display: inline-block;
      padding-left: 0; } }

.mod-header-siteid img{
  width: max(48vw , 296px);}
  @media screen and (min-width:768px){
    .mod-header-siteid img{
      vertical-align: middle;
      width: min(45vw , 100%);} }

/*メニュー開閉ボタン*/
#nav-main-button{
  grid-column: 2/3;
  height: 54px;
  position:relative;
  z-index: 9999;}
  @media screen and (min-width:768px){
    /*PCのときは非表示*/
    #nav-main-button{display: none; } }

#nav-main-button button{
  display: block;
  width:56px;
  height:100%;
  cursor: pointer;
  transition: all .4s;
  background: #DE4756;
  color:#fff;
  border:0;
  text-align: center;}
#nav-main-button .nav-main-button-icon{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height:100%;
  box-sizing: border-box;
  padding-top:5px;
  font-size:10px;
  letter-spacing: 0.1em;}
#nav-main-button button:before,
#nav-main-button .nav-main-button-icon:before,
#nav-main-button .nav-main-button-icon:after{
  position: absolute;
  left: 50%;
  margin-left: -23%;
  width: 46%;
  height: 3px;
  background-color: #fff;
  transition: all .4s; }

/*メニュー開閉ボタン タップ前*/
#nav-main-button button:before{
  content:"";
  bottom:31px;}
#nav-main-button .nav-main-button-icon:before{
  content:"";
  bottom:22px;}
#nav-main-button .nav-main-button-icon:after{
  content:"";
  top:11px;}
.label-menu{
  display: block;
  margin-top: 31px;}
.label-close{
  display: none;
  margin-top: 31px;}

/*メニュー開閉ボタン タップ後*/
.active{
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}
.active #nav-main-button button:before,
.active #nav-main-button span:before,
.active #nav-main-button span:after{
  background-color: #fff;
  transition: all .3s;}
.active #nav-main-button span:before{
  -webkit-transform: translateY(-9px) rotate(-45deg);
  transform: translateY(-9px) rotate(-45deg); }
.active #nav-main-button button:before{opacity: 0; }
.active #nav-main-button span:after{
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg); }
.active .label-menu{
  display: none;}
.active .label-close{
  display: block;}

/*グローバルメニュー 開閉部分*/
.frame-header-nav{
  grid-column: 1/3;
  width:100%;
  height:100%;
  position: fixed;
  z-index: 9998;
  box-sizing: border-box;
  padding-top:54px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:rgba(0,0,0,.5);}
  @media screen and (min-width:768px){
    .frame-header-nav{
      position: initial;
      padding-top: 0;
      height:auto;
      background: none;
      bottom :auto;} }

/*メニューを表示する*/
.active .nav-main-showhide{
  display: block!important;
  animation: show .3s ease;
  animation-fill-mode: both;}
  @keyframes show {
    0%{opacity: 0;}
    100%{opacity: 1;} }

/*メニューを隠す*/
.inactive .nav-main-showhide{
  pointer-events: none;
  animation: hide .3s ease;
  animation-fill-mode: both;}
  @keyframes hide {
    0%{opacity: 1;}
    100%{opacity: 0;} }
  @media screen and (min-width:768px){
    .inactive .nav-main-showhide{
      pointer-events:auto;} }

.hide .nav-main-showhide{display: none!important;}
  @media screen and (min-width:768px){
    /*PCのときは表示*/
    .hide .nav-main-showhide,.nav-main-showhide{
      display: block!important;
      opacity: 1!important;} }

/*メインメニュー*/
.mod-header-nav{
  height: 100%;
  overflow: auto;}
@media screen and (min-width:768px){
  .mod-header-nav{
    height: auto;
    background: none;
    padding: 0;
    overflow:visible; } }

.nav-main-list{
  background:#fcfcfc;
  padding: 0 5vw;
  position: relative;}
  @media screen and (min-width:768px){
    .nav-main-list{
      display: flex;
      justify-content: space-between;
      background: none;
      padding: 0; } }

.nav-main-list li{
  border-bottom: 2px solid #E9EAF0;}
@media screen and (min-width:768px){
  .nav-main-list li{
    flex:1;
    text-align: center;
    border: none; }
  .nav-main-list li:first-child:before{
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 2px;
    height: 22px;
    background-color: #E9EAF0; } }

.nav-main-list li a{
  padding:0.8em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold; }
  @media screen and (min-width:768px){
    .nav-main-list li a{
      padding: 0;
      height: 38px;
      font-size: min(calc(10px + 6 * (100vw - 768px)/598) , 16px );
      position: relative;/*※表示崩れのため追加*/ }
    .nav-main-list li a:after{
      content: '';
      position: absolute;
      top: 8px;
      right: 0;
      width: 2px;
      height: 22px;
      background-color: #E9EAF0; } }

.nav-sub-list{
  background:#fcfcfc;
  padding: 0.5em 5vw 1.5em 5vw;}
  @media screen and (min-width:768px){
    .nav-sub-list{
      display: flex;
      justify-content: flex-end;
      background: none;
      padding:11px 1vw 0 9px;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      right: 0; } }

.nav-sub-list .nav-sub-item{
  margin-top: 1em;}
  @media screen and (min-width:768px){
    .nav-sub-list .nav-sub-item{margin-top: 0;}
    .nav-sub-list .nav-sub-item:not(:first-child){margin-left: 10px;} }

.nav-sub-item a{
  display: block;
  background: #DE4756;
  border: 2px solid #DE4756;
  text-align: center;
  padding: 0.5em 0;
  font-weight: bold;
  text-decoration: none;
  color: #fff;}
  @media screen and (min-width:768px){
    .nav-sub-list .nav-sub-item a{
      display: flex;
      align-items: center;
      padding: 0 1.5vw 0 1.5vw;
      height: 36px;
      box-sizing: border-box;
      font-size: min(calc(10px + 6 * (100vw - 768px)/598) , 16px ); } }

.nav-sub-list .nav-sub-item a:hover{
  background-color: transparent;}

/*
main
-------------------------------------------------------*/
/* fixedでheaderとmainが重なるため、mainにheader高さ分のpadding-topを追加 */
main{
  padding-top: 54px;
  position: relative;/*※コンテンツ内に全幅要素を配置するために追加*/
  overflow: hidden;/*※コンテンツ内に全幅要素を配置するために追加*/ }
  @media screen and (min-width:768px){
    main{
      padding-top: 100px;} }

/*
フッター
-------------------------------------------------------*/
footer{ 
  background:#fcfcfc;/*格子柄の上書き*/
  padding-top: 2vw;
  box-shadow: 0px -11px 10px -3px rgba(209,209,209,0.2);
  position: relative;/*※シャドウをコンテンツより手前に表示するため変更*/}
.frame-footer{
  margin: 0 auto;
  max-width: 1240px;}
.footer-nav-list,
.mod-footer-banner{
  margin-bottom: 2em;}
.footer-nav-list,
.mod-footer-address{ display:flex;justify-content: center;}
.footer-nav-list{ flex-wrap: wrap;}
.mod-footer-banner{
  display: grid;
  grid-template-columns:repeat(auto-fit, 170px);/*横*/
  justify-content: center;
  gap: 1em;}
.footer-nav-item + .footer-nav-item{ margin-left: 1.35em;}
.mod-footer-siteid{
  margin-bottom: 1.25em;text-align: center;}
.mod-footer-address{margin-bottom: 3em;}
.footer-address{ font-size: 0.9em;}
  .footer-address:first-child{ margin-right: 1em;}
.footer-address-label{ 
  display: inline-block;
  margin-right: 0.5em;
  border:1px solid #696367;
  padding: 0.2em 0.5em;
  text-align: center;
  font-weight: bold;
  color:#696367;}
.copyright{
  background-color: #696367;
  padding: 0.8em 0;
  text-align: center;
  font-size: min(10px, 0.85em);
  color:#fff;}

/*
ナビゲーション 現在位置ボーター表示
-------------------------------------------------------*/
.nav-current a{
  border-width: 5px;
  border-color: #DE4756; }
.nav-main-list li.nav-current a{ border-bottom-style:solid;}
.nav-side-list .nav-current &gt; a{ border-left-style:solid;}
/*
ページタイトル
-------------------------------------------------------*/
.frame-pagetitle{
  margin-bottom: 2vw;
  background: url(../images/headerSP-loop.svg) bottom center/min(246vw,1232px) auto repeat-x;}
  @media screen and (min-width:768px){
    .frame-pagetitle{
      margin-bottom: 1vw;
      background: url(../images/headerPC-loop.svg) bottom center/min(171vw,2968px) auto repeat-x; } }
.pagetitle{
  font-weight: bold;
  text-align: center;
  font-size: min(calc(24px + 6 * (100vw - 320px)/180),1.9em);
  padding: 1.5em 28px min(17.5vw,89px) 28px; }
  @media screen and (min-width:768px){
    .pagetitle{
      font-size: min(calc(31px + 9 * (100vw - 767px)/529),2.5em);
      padding: 1.5em 28px min(10.5vw,182px) 28px;
      max-width: 1240px;
      margin: 0 auto; } }
.pagetitle span{
  text-align: left;
  display: inline-block;}

/*
パンくずリスト
-------------------------------------------------------*/
.breadcrumb,
.breadcrumb a{ color: #999;}
.breadcrumb{
  margin:0 auto 24px;
  padding:0 3vw;
  max-width: 1240px;
  font-size: 0.8em; }
  .breadcrumb a{ 
    position: relative;
    margin-right: 1em;
    text-decoration:underline; }
    .breadcrumb a::after {
      position: absolute;
      margin-left: 0.4em;
      top: 0.3em;
      color: #bbb;
      font: var(--fa-font-light);
      content: "\f054";}
/*-------------------------------------------------------
下層ページテンプレート
-------------------------------------------------------*/
/*
レイアウト設定・全幅レイアウト・2段組レイアウト
-------------------------------------------------------*/
.frame-main{
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1vw;}
.frame-2col{
  display: grid;
  gap: 3.5vw;
  grid-template-columns:2fr 275px;}
.frame-main-full{ 
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;}
.mod-content{
  padding-bottom:40px; }/*※.frame-2colのgapを0にする代わりにコンテンツ末尾に余白追加*/
.frame-2col-side{/*採用情報レイアウトのため追加*/
  grid-column: 2 / 3;
  grid-row: 1 / 2;}

/*
2段組レイアウト - サイドエリア（ローカルナビゲーション）*/
/*レイアウト設定*/
.frame-2col-side &gt; ol { 
  border-top: 4px solid #E7E9F1; }
/*ローカルナビ共通設定*/
.frame-2col-side &gt; ol li {
    background: #FFF; }
.frame-2col-side &gt; ol ol li {
  border-bottom: 2px solid #E7E9F1; }
.frame-2col-side &gt; ol li a, .frame-2col-side &gt; ol li strong {
  position: relative;
  display: grid;
  align-items: center;
  font-weight: bold;
  line-height: 1.2; }
.frame-2col-side &gt; ol ol li,
.frame-2col-side &gt; ol &gt; li a::after {
  font-size: 0.95rem; }
.frame-2col-side &gt; ol li a::after {
  right: 10px;
  color: #DE4756; }
/*2階層目・カテゴリー名*/
.frame-2col-side &gt; ol &gt; li &gt; a,
.frame-2col-side &gt; ol &gt; li &gt; strong {
  padding: 1.2rem 0 1.2rem 1rem;
  font-size: 1.2em; }
/*3階層目以降*/
.frame-2col-side &gt; ol ol &gt; li a,
.frame-2col-side &gt; ol ol &gt; li strong {
  /*ローカルメニュー矢印部分のpadding調整のため変更*/
  padding: 0.75rem 2rem 0.75rem 1rem; }
.frame-2col-side &gt; ol ol &gt; li strong {
  /*現在地border分を右に詰める*/
  padding-left: calc(1rem - 5px); }
/*2階層目と3階層目の間に太い下線*/
.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li:first-child {
  border-top: 4px solid #E7E9F1; }
/*3階層目と4階層目の間に点線*/
.frame-2col-side ol ol ol li:first-child{
  border-top: 2px dotted #E7E9F1; }
/*4階層目同士の間に点線*/
.frame-2col-side &gt; ol ol ol li:not(:last-child){
  border-bottom: 2px dotted #E7E9F1; }
/*4階層目の設定*/
.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li &gt; ol li a,
.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li &gt; ol li strong{
  font-size: 0.9em;
  padding: 0.5rem 3rem 0.5rem 1rem; }
.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li &gt; ol li strong{
  /*現在地border分を右に詰める*/
  padding-left: calc(1rem - 5px); }
.frame-2col-side &gt; ol ol &gt; li:has(ol) &gt; ol{ display: none; }
.frame-2col-side &gt; ol ol &gt; li:has(strong) &gt; ol{ display: block; }
.frame-2col-side &gt; ol ol &gt; li:has(strong) li:last-child{ border-bottom: none; }
/*
矢印アイコン*/
.frame-2col-side &gt; ol li a {
  position: relative;
}
/*右矢印*/
.frame-2col-side &gt; ol li a::after {
  font: var(--fa-font-regular);
  content: "\f061";
}
/*斜線基本設定*/
.frame-2col-side &gt; ol li a:hover {
  background: repeating-linear-gradient(135deg, transparent, transparent 3px, rgba(222, 71, 86, 0.23) 4px, rgba(222, 71, 86, 0.23) 4px, transparent 5px);
}
/*斜線色反転(hover時に白斜線)*/
.link-btn a[href^="http"]:hover {
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, rgba(255, 255, 255, 0.35) 4px, rgba(255, 255, 255, 0.35) 4px, transparent 5px);
}
/*矢印装飾 配置調整*/
.frame-2col-side &gt; ol li a::after {
  position: absolute;
}
/*現在地の装飾strongタグになります*/
.frame-2col-side &gt; ol strong {
  border-width: 5px;
  border-color: #DE4756;
  border-left-style: solid;
}
/*ローカルナビ手動設定用 2階層目装飾設定*/
.frame-2col-side-custom &gt; ol &gt; li &gt; strong{
  border: none;
  font-size: 1.2em;
  font-weight: bold;
}
/*
お知らせ一覧・ブログのローカルナビ表示設定*/
/*お知らせ一覧・ブログ共通*/
.frame-2col-main:has(.news-list) + .frame-2col-side &gt; ol &gt; li &gt; ol &gt; li:not(:has(a[href*="/index.html"])){
  display: none;}/*.newslistのローカルナビは「/index.html」以外のliを非表示にする*/

.frame-2col-main:has(.news-list) + .frame-2col-side &gt; ol &gt; li &gt; ol &gt; li:has(strong){
  display: block !important;}/*.newslistのローカルナビは「/index.html」以外であってもstrongであれば表示する(上書き)*/

/*ブログのみ*/
.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li:has(a[href*="blog/"]){
  display: none;}/*ローカルナビは「blog/」を含むliを非表示にする*/

.frame-2col-side &gt; ol &gt; li &gt; ol &gt; li:has(a[href*="blog/index.html"]){
  display: block;}/*ローカルナビは「blog/」であっても「blog/index.html」であれば表示する(上書き)*/
/*
文字
-------------------------------------------------------*/
/*
太字*/
.mod-content h1,
.mod-content h2,
.mod-content h3,
.mod-content strong,
.frame-top p:not(class) strong{ font-weight: bold;}
.bold{ font-weight: bold; }
/*
文字サイズ*/
.x-large{ font-size: 1.5em; }
.large{ font-size: 1.2em;}
.small{ font-size: 0.8em; }
/*
文字揃え・・・ブロックパーツのラジオボタン選択用にclass名を追加。コーディングに影響あるため元のclass名も残す。*/
.txt-align-l,
.left{ text-align: left; }
.txt-align-c,
.center{ text-align: center; }
.txt-align-r,
.right{ text-align: right; }
/*
option対応 */
.mod-content em{ color: #DE4756;}
/*
Editor対応 */
span[style="color:red"],
span[style="color:#FF0000"]{
  color: #DE4756 !important;}
/*
注意書き系*/
.notice{ color: #DE4756; }
.attention{ background-color: #FEE56D; }
/*
1行テキスト */
.txt-oneline{ font-size: max(16px, 1.2em); }
/*
リードテキスト */
.lead{ 
  border-top: 2px solid #707070;
  border-bottom: 2px solid #707070;
  padding-top: 1em;
  padding-bottom: 1em;
  text-align: center;
}
* + .lead{ margin-top: 2.5em; margin-bottom: 1.5em; }
.lead p:first-child{ font-size: 1.3em;}
  .mod-content .lead p:nth-child(2):not(:empty){ margin-top: 0.5em; }
  /*採用トップ用*/
  .frame-recruit .lead p:first-child{ color: #DE4756;}
/*
Webフォント SST Paneuropean Bold*/
.border-txt-en{font-family: SST-Bold, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;}
/*
Webフォント たづがね角ゴシック Info StdN Heavy*/
.outline-txt-jp{
  font-family: TazuganeInfoStdN-Heavy, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;}
/*
英字フチ文字*/
.border-txt-en{
	font-weight: bold;
  color: transparent;
  margin: 0;
  font-size:3em;
  line-height: 1;}
/*英字フチ文字 ベージュ*/
.border-txt-en-beige{
  -webkit-text-stroke: 1px #e7ded7;
  text-stroke: 1px #e7ded7;}
/*英字フチ文字 グレー*/
.border-txt-en-gray{
  -webkit-text-stroke: 1px #D4D8E3;
  text-stroke: 1px #D4D8E3;}
/*白抜き文字*/
.outline-txt-jp{
  color: #fff;
  font-weight: bold;
  font-size:3em;
  -webkit-text-stroke: min(0.03em, 0.9px) #111;
  text-stroke: min(0.03em, 0.9px) #111;
  letter-spacing: 0.06em;
  line-height: 1.2; }
/*文字調整 縮小*/
.txt-control-reduce{
  font-size: 0.75em; }
/*
文字改行
-------------------------------------------------------*/
/*PCのみ改行*/
.br-pc{ display: inline;}
/*SPのみ改行*/
.br-sp{ display: none;}
/*改行位置制御*/
.txt-nowrap{ display: inline-block;}
/*
見出し
-------------------------------------------------------*/
.frame-top .important h1,
.mod-content h1:not(.recruit-mainvis-title){
  font-size: clamp(18px, 5vw, 28px); }
.mod-content h1:not(.branch-title):not(.recruit-mainvis-title),
.mod-branch-title{
  background: repeating-linear-gradient(-45deg, rgba(248, 247, 245, 1), rgba(248, 247, 245, 1) 3px, rgba(245, 244, 240, 1) 0, rgba(245, 244, 240, 1) 13px);
  margin-bottom: 1em;
  padding: 0.7rem 1rem;}
.mod-content h1:not(.branch-title):not(.recruit-mainvis-title){
  margin-bottom: 1em; }
.mod-content h2,
.frame-top-branch h2{
  margin-bottom: 1em;
  position:relative;
  padding-bottom: 0.1em;
  border-bottom: 4px solid #E7E9F1;
  font-size: clamp(18px, 4vw, 24px);}
  .mod-content h2::before,
  .frame-top-branch h2::before{
    content: '';
    position: absolute;
    bottom: -4px;
    height: 4px;
    background: #DE4756; }
    .mod-content h2::before{ 
      width: 1em; }
    .frame-top-branch h2::before{ 
      width: 2em; }
  .mod-content .mod-branch-detail h2{
    margin-bottom: 0.7em;
    padding-bottom: 0.4em;
    line-height: 1.3;
    font-size: clamp(14px, 3vw, 16px);}
/*文字幅の場合*/
.mod-content .txt-align-c &gt; h2{ 
  display: inline-block;
  margin-bottom: 0.2em; }
.mod-content h3{
  margin-bottom: 1em;
  font-size: clamp(16px, 2.5vw, 20px); }
/*
リンク
-------------------------------------------------------*/
/*
デフォルト設定*/
a,
.mod-content .news-list li a{ 
  color:#333;
  text-decoration: none;}
a img:hover{ opacity: 0.6; }
/*
青色下線付き(本文リンク）*/
.mod-content a{ 
  color:#478DDE;
  text-decoration: underline; }
/*hover時：下線なし*/
.breadcrumb a:hover,
.mod-content a:hover{ 
  text-decoration: none;}
/*hover時：赤色*/
.nav-main-list li a:hover,
.nav-sub-item a:hover,
.nav-side-item a:hover,
.news-list li a:hover,
.news-list li a:hover ~ .news-title a,
.article-pagination-item:not(.article-current) a:hover{ color:#DE4756; }
/*
濃い背景用*/
.bg-dark a,
.bg-dark .news-list li a{
  color: #fff; }
.bg-dark .news-list li a:hover,
.bg-dark .news-list li a:hover ~ .news-title a,
.bg-dark .news-list li a:has(+.news-title a:hover){ color: #fff;text-decoration: underline!important;}
/*
ナビゲーション*/
.footer-nav-item a{ text-decoration: underline;}
.footer-nav-item a:hover{ text-decoration: none; }
.footer-banner-item a:hover{ opacity: 0.5;}
/*
リンクボタン*/
.link-btn a{
  display: inline-block;
  background-color: #DE4756;
  border: 2px solid #DE4756;
  padding: 0.4em 3em;
  text-align: center;
  font-weight: bold;
  color: #fff;
  text-decoration: none;}
.link-btn a:hover,
.link-btn a[href^="http"]{
  background-color:#fff;
  color: #DE4756;}
.link-btn a[href^="http"]:hover{
  background-color: #DE4756;
  color: #fff;
  text-decoration: none; }
/*詳細ボタン リンク装飾*/
.link-btn-detail a{
  display: inline-block;
  padding: 0.4em 3em 0.4em 0;
  text-align: center;
  font-size: 1em;
  font-weight: bold;
  color: #DE4756;
  text-decoration: none; }
.link-btn-detail a:hover{
  text-decoration: underline;}
/*バナースライダー ボタン装飾*/
.top-slider-prev:hover,
.top-slider-next:hover{
  background-color: #fff;
  color: #DE4756; }
/*
FontAwesme 読み込み*/
.icon-arrow-right a,
.link-btn a[href^="http"],
.article-nav-heading{position: relative;}
/*右矢印*/
.icon-arrow-right a::after,
.article-nav-next .article-nav-heading::after{
  font: var(--fa-font-light);
  content: "\f061"; }
/*右上矢印*/
.link-btn a[href^="http"]:after{
  font: var(--fa-font-sharp-light);
  content:"\f08e"; }
/*左矢印*/
.article-nav-prev .article-nav-heading::before{
  font: var(--fa-font-light);
  content: "\f060"; }
/*赤四角矢印*/
.link-btn-detail a::after,
.article-nav-prev .article-nav-heading a::before,
.article-nav-next .article-nav-heading a::after{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2em 0.35em;
  border: 2px solid #DE4756;
  color: #fff;
  background: #DE4756; }
.link-btn-detail a:hover::after{
  color: #DE4756; }
/*エントリー*/
.icon-entry a::before{
  font: var(--fa-font-light);
  content: "\f1d8"; }
/*PDF*/
.icon-pdf a::before{
  font: var(--fa-font-light);
  content: "\f1c1"; }
/*斜線基本設定*/
.link-btn a:hover,
.link-btn-detail a:hover::after,
.nav-sub-item a:hover,
.nav-side-item a:hover,
.nav-main-list li a:hover,
.top-slider-prev:hover,
.top-slider-next:hover{
  background-color: #fff;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, rgba(222,71,86,0.23) 4px, rgba(222,71,86,0.23) 4px, transparent 5px); }
/*斜線色反転(hover時に白斜線)*/
.link-btn a[href^="http"]:hover{
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, rgba(255,255,255,0.35) 4px, rgba(255,255,255,0.35) 4px, transparent 5px);}
/*矢印装飾 配置調整*/
.icon-arrow-right a::after,
.link-btn a[href^="http"]::after{ position: absolute; }
/*リンクボタン 配置調整*/
.link-btn.icon-arrow-right a::after{
  font-size: 1.2em;
  right: 0.5em;
  line-height: 1.2;
  top: calc(50% - 0.6em);}
/*外部リンクボタン 配置調整*/
.link-btn a[href^="http"]::after{
  font-size: 1.2em;
  right: 0.5em;
  line-height: 1.2;
  top: calc(50% - 0.55em);}
/*詳細ボタン 配置調整*/
.link-btn-detail.icon-arrow-right a::after{
  top: 2px;
  font-size: 1.4em;
  right: 0;}
/*ヘッダーボタン 配置調整*/
.nav-sub-item.icon-entry,
.nav-sub-item.icon-pdf{
  position: relative;}
.nav-sub-item.icon-entry a::before,
.nav-sub-item.icon-pdf a::before{
  position: absolute;
  font-size:1.4em;
  margin-right:0.3em;
  left: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);}
  @media screen and (min-width:768px){
    .nav-sub-item.icon-entry a::before,
    .nav-sub-item.icon-pdf a::before{
      position:initial;
      transform: none;
      -webkit-transform: none;
      -ms-transform: none;
    }}

/*表（dlタグ）
-------------------------------------------------------*/
/*
共通設定*/
.table dl{
  display: table;
  table-layout: fixed;
  border-right: 1px solid #E2E4E8;
  width: 100%;
  }@media screen and (max-width:767px){
    .table dl{
      display: block;} }
.table dl:first-child{ border-top: 1px solid #E2E4E8; }
.table dt,
.table dd{ 
  display: table-cell;
  padding: 0.5em 1em;
  box-sizing: border-box; 
  border-bottom: 1px solid #E2E4E8;
  border-left: 1px solid #E2E4E8;
  }.table dt{ 
  background: #F4F5F8;
  width: 16em;
  font-weight: bold;
  }@media screen and (max-width:767px){
    .table dt,
    .table dd{ 
      display: block;
      width: 100%; } }
.table .top{ vertical-align: top; }
.table .middle{ vertical-align: middle; }
.table .bottom{ vertical-align: bottom; }

/*表（tableタグ）
-------------------------------------------------------*/
table{ width: 100%;}
th{ font-weight: bold;background-color: #F4F5F8; border:1px solid #e2e4e8;padding:0.5em;}
td{ border:1px solid #e2e4e8;padding:0.5em;}
table.recruitment_history th,
table.recruitment_history td{
	text-align:center;
	padding:5px 5px; }
table.schoolList th{/*余白recruit_tableとtopのみ統一*/
	padding-top:8px;
	width:78px; }
table.schoolList td{/*採用実績 td左揃え 余白recruit_tableと統一*/
	padding:8px;
	text-align:left; }
.achievement-table { 
  width:100%;
	display: grid;
	margin:0 0 20px 0;
	border-top:1px solid #e2e4e8;
  font-size: 0.9em;
  box-sizing:border-box;
  grid-auto-flow: column; }
.achievement-table th{ 
  display: block;
  width:auto; }
.achievement-table td{ 
  display: block; }
.achievement-table thead{ 
	display: block;
	width:100%;}
.achievement-table tr{
  display:block; }
.achievement-table thead th{
  border-right:none;
  width:auto;
  display: block;
  border-top: 0;
  border-bottom: 1px solid #e2e4e8; }
.achievement-table tbody{ 
	display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  overflow-x:scroll;
	white-space: nowrap;
  width:100%;
  border-radius:0 0 4px 4px;
	border-left:1px solid #e2e4e8;
  position:relative;
  z-index:3; }
.achievement-table tbody tr{ 
	display: block;
	width:auto;
	margin:0; }
.achievement-table tbody tr th,
.achievement-table tbody tr td{
	width:auto;
  border-left:none;
  padding-left:5px;
  padding-right:5px;
  border-bottom: 1px solid #e2e4e8;
  border-top: none; }
table.schoolList th{
  width:100%;
  box-sizing:border-box; }
.achievement-table tbody::-webkit-scrollbar{ /* スクロールバー本体 */
  height: 11px; }
.achievement-table tbody::-webkit-scrollbar-track{ /*スクロールバーのある部分*/
  height: 11px;
  background:#eee;
  border-radius:0 0 4px 4px; }
.achievement-table tbody::-webkit-scrollbar-thumb{ /* スクロールバーの動く部分 */
  background: #666;
  border-radius:5px;
  border:2px solid #eee; }
.achievement-table tbody::-webkit-scrollbar-corner{ /* スクロールバー角 */
  background: transparent; }
/*
table-branch --- 支店ページ用 */
/*標準タイプ*/
.table-branch{
  width:100%;
  line-height: 1.4;
}@media screen and (max-width:1150px){
      .table-branch{
        border-bottom: none; }}
.table-branch th{
  padding: 0.8em 0 0.8em min(0.6vw, 8px);
  width: 5em;
  box-sizing: border-box; }
.table-branch td{
  padding: 0.8em 0.5em 0.8em 0.8em; }
  @media screen and (max-width:1150px){
    .table-branch th{
        padding: 0.5em 0 0.5em min(2vw, 7px);}
    .table-branch td{
        padding: 0.5em 0 0.5em 1em; }}
.table-branch-numbers,
.table-branch-numbers th,
.table-branch-numbers td{
    border:none; }/*.table-branchのスタイルをリセット*/
.table-branch-numbers th,
.table-branch-numbers td{
  padding:0; }/*.table-branchのスタイルをリセット*/
.table-branch .frame-branch-numbers{ padding: 0;}/*.table-branchのスタイルをリセット*/
.table-branch-numbers{ width: 100%;}
.table-branch-numbers th,
.table-branch-numbers td{
  vertical-align: middle; }
.table-branch-numbers tr:not(:last-child) th,
.table-branch-numbers tr:not(:last-child) td{
  border-bottom: 1px solid #E2E4E8; }
.table-branch-numbers th{
  background-color: #F4F5F8;
  padding: 0.8rem 0 0.8rem 0.6rem;
  width: 9em;
  box-sizing: border-box;
  font-size: 0.9em; }
.table-branch-numbers td{
  padding: 0.8em 0.3em 0.8em 1em; }
/*
リスト
-------------------------------------------------------*/
/*説明リスト(dl,dt,dd)*/
.mod-desc{
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 0.5em;
  align-items: baseline;
  margin-bottom: 0.5em; }
.desc-term{
  background-color: #E7E9F1;
  padding: 0.25rem 0;
  font-weight: bold;
  font-size: 0.9em;
  text-align: center; }
.mod-branch-detail .desc-term{padding:0.25rem 1em;}
/* .desc-term span用*/
span.desc-term{
  display: inline-block;
  margin-right: 0.35em;
  width: 3.5em; }
/*箇条書きリスト(ol,ul)*/
.mod-content ol, .mod-content ul:not(.news-list){ margin-bottom: 1em;}
.mod-content ol{ margin-left: 1.2em;}
.mod-content ol li{ list-style-type: inherit; }
.mod-content ul:not(.news-list) li{
  position: relative;
  margin-left: 1.2em;}
.mod-content ul:not(.news-list) li::before{
  content:"";
  display: inline-block;
  margin-left: -0.9em;
  margin-right: 0.4em;
  margin-bottom: 0.3em;
  background: #B5ABB2;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  vertical-align: middle;
}
.mod-content ol li + li,
.mod-content ul:not(.news-list) li + li {
  margin-top: 10px;}
/*
iframe（YouTube, Google map）
-------------------------------------------------------*/
.iframe-wrap{
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden; }
  .iframe-wrap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
.mod-branch-detail .iframe-wrap{
  padding-bottom: 80%; 
}@media screen and (max-width:1150px){
    .mod-branch-detail .iframe-wrap,
    .frame-branch .iframe-wrap{
      padding-bottom: 80%; }}

/*-------------------------------------------------------
ブロックパーツ
-------------------------------------------------------*/
/*
余白設定*/
.mod-content * + h1,
.mod-content * + h2,
.mod-content * + h3{ margin-top: 1.6em; }
.mod-content p + p:not(:empty),
.mod-content p + div,
.mod-content p + ol,
.mod-content p + ul,
.mod-content p + figure{ margin-top: 1em; }
.mod-content div + p,
.mod-content figure + p{ margin-top: 1em; }
.mod-content figure + div{ margin-top: 2em; }
.mod-content div + figure{ margin-top: 2em; }
.mod-content div[class] + div[class]{ margin-top: 1.2em;}
.mod-content div[class] + div[class]:empty{margin-top: 0;/*reset*/}
.mod-content div.card-item + div.card-item{ margin-top: 0;/*reset*/}
.mod-content div[class^="photo"] + .mod-content div[class^="parts"],
.mod-content div[class^="parts"] + .mod-content div[class^="photo"]{ margin-top: 2em;}
.mod-content div[class] + div[class="lead"]{ margin-top: 2.5em;}
.mod-content * + div[class="lead"]{ margin-top: 2.5em;}
.mod-content table:not([class]){ margin-top: 1.2em; margin-bottom: 1.2em; }
.frame-top div[class^="frame"] + p,
.frame-top div + p:not(.link-btn-detail){ 
  margin-top: 1em;
  margin-bottom: 1em; }

/*
文字パーツ */
/*番号*/
.tel::before{
  content: "TEL";
  display: inline-block;
  margin-right: 0.35em;
  background-color: #E7E9F1;
  padding: 0.25rem 0;
  width: 3.5em;
  font-weight: bold;
  font-size: 0.9em;
  text-align: center; }
.mod-branch-detail .tel::before,
.recruit-contact-tel .tel::before{ 
  display: none; }
.fax::before{
  content: "FAX";
  margin-right: 0.35em;
  display: inline-block;
  background-color: #E7E9F1;
  padding: 0.25rem 0;
  width: 3.5em;
  font-weight: bold;
  font-size: 0.9em;
  text-align: center; }
.
/*インデント*/
.indent-1space{ margin-left: 1em; }
.indent-2space{ margin-left: 2em; }
.indent-3space{ margin-left: 3em; }
.txt-indent-one{ margin-left: 1em; text-indent: -1em;}
.txt-indent-two{ margin-left: 2em; text-indent: -2em;}
.txt-indent-three{ margin-left: 3em; text-indent: -3em;}
.indent-1space.txt-indent-one{ margin-left: 2em; text-indent: -1em;}
.indent-1space.txt-indent-two{ margin-left: 3em; text-indent: -2em;}
.indent-1space.txt-indent-three{ margin-left: 4em; text-indent: -3em;}
.indent-2space.txt-indent-one{ margin-left: 3em; text-indent: -1em;}
.indent-2space.txt-indent-two{ margin-left: 4em; text-indent: -2em;}
.indent-2space.txt-indent-three{ margin-left: 5em; text-indent: -3em;}
.indent-3space.txt-indent-one{ margin-left: 4em; text-indent: -1em;}
.indent-3space.txt-indent-two{ margin-left: 5em; text-indent: -2em;}
.indent-3space.txt-indent-three{ margin-left: 6em; text-indent: -3em;}
/*
画像パーツ*/
.img-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
  align-items: center;}
  .mod-related-common .img-wrap{ 
    gap:10px;
    align-items: flex-start;}
.mod-content .img-wrap p:has(img) + p:has(img) { margin-top: 0;}
.photo-center{ text-align: center;}
.photo-caption + .photo-caption{ margin-top: 1.5em;}
.frame-top .photo-center{
  margin-left: auto;
  margin-right: auto;
  padding-left: 4vw;
  padding-right: 4vw;
  max-width: 1240px; }
.frame-top-mainvis + .photo-center,
.frame-top-slider + .photo-center{ 
  margin-top: 2em; }
.frame-top-mainvis .photo-center{
  padding-left: 0;
  padding-right: 0; }
.frame-center + .photo-center{ 
  margin-top: 4em; }
.photo-wide img{ width: 100%; }
/*横並び*/
.photo-2,
.photo-3{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;}
.photo-2{ justify-content: space-between; }
.photo-2 + .photo-2,
.photo-3 + .photo-3{ margin-top: 15px;}
.photo-2 &gt; *{ width: calc(50% - 7.5px);}
.photo-3 &gt; *{ width: calc(100% / 3 - 10px); }
.photo-2 &gt; img,
.photo-3 &gt; img,
.photo-2 &gt; * img,
.photo-3 &gt; * img{ 
  object-fit: cover; }
.photo-2 &gt; * img,
.photo-3 &gt; * img{ 
  height: 100%; }
.photo-caption figcaption{ margin-bottom: 0.3em;}
.photo-caption-bottom{ 
  display: grid;
  place-items: center;
  grid-template-columns: 1fr;}
.photo-caption-bottom figcaption{ margin-top: 0.3em; margin-bottom: 0; order: 2; }
.photo-caption-bottom img{ align-self: center; }
/* .parts-detail
文章と写真の横並び
（SPは写真→文章の縦並びで統一）*/
.parts-detail{
  margin-bottom: 2em;
  display: flex;
  justify-content: flex-start;
  gap: 15px; }
.parts-detail-reverse{
  flex-direction: row-reverse;
  justify-content: flex-end;}
.parts-detail &gt; div + div{
  flex-shrink: 0;
  max-width: calc(50% - 7.5px); }
.parts-detail div p { margin-top: 1em; }
.parts-detail &gt; div &gt; p { margin-top: 0; }

/* .parts-message
背景付き本文*/
.parts-message{
  background-color: #fff;
  box-shadow: 0px 0px 10px 5px rgba(209,209,209,0.2);
  padding: min(5vw, 3em) min(5vw, 5em); }
.parts-message p{ 
  line-height: 2; }
  .parts-message .president-name:not(:empty){ 
    display: inline-block;
    margin-top: 1em;
    line-height: 1.4; }
.parts-message img{ 
  display: inline-block;
  margin-top: 1em;
  margin-left: 1em;
  max-width: 180px;}
.mod-content .parts-message div{ margin-top: 0;}
/* .frame-card
カード型レイアウト */
.frame-card{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;}
.card-item{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  background-color: #fff;
  border: 1px solid #DEDEDE;
  padding: 1em; }
.card-item-thumb{
  grid-template-rows: 1fr auto auto; }
.mod-content .card-item h2{
  /*reset*/
  margin: 0;
  padding: 0;
  border: 0; }
  .mod-content .card-item h2::before{ 
    /*reset*/
    display: none; }
.card-item div{
  margin: 0.3em 0 0.6em;}
.card-item .link-btn{ 
  align-self: flex-end;}
.card-item .link-btn a{ display: block;}
.mod-content .frame-card p + p,
.mod-content .frame-card div + p{
  margin-top: 0; }
.card-item div p:not(:empty) + a &gt; img,
.card-item div p:not(:empty) + img{ 
  display: inline-block;
  margin-top: 0.4em; }
.card-item-thumb img{ 
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: left top; }
.card-item .link-btn:not(:has(a)){
  background: #E7E9F1;
  padding: 0.4em 3em;
  border: 2px solid #E7E9F1;
  text-align: center;
  font-weight: bold; }
/*
動画パーツ*/
.video video,
.video iframe{
  width: 100%;
  line-height:100%;
  display: block; }
.video:has(iframe){
  padding-bottom: 56.25%;
  height: 0;
  position: relative; }
.video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
.video + .video{margin-top:1em;}
/* 
緊急のお知らせパーツ*/
.important{ 
  background: #fff;
  border: 1.5em solid #EAEBF1;
  padding: 1.2em 1.8em;
  box-shadow: 0px 5px 5px 1px rgba(100,100,100,0.3);}
.frame-top .important{ 
  margin: 2.5em 0;}
.frame-top .frame-top-mainvis + .important{ 
  margin: 0;
  position: relative;
  top: -50px;
  box-shadow: none;
}@media screen and (max-width:980px){
    .frame-top .frame-top-mainvis + .important{ 
      top: auto; }}
.important *:not(:empty) + img{ margin: 0.3em 0; }
.frame-top .important h1:not(:empty),
.mod-content .important h1:not(:empty){
  margin: 0 0 0.5em;
  background:none;
  padding: 0;
  line-height: 1.2;}
.frame-top .important h1:empty,
.mod-content .important h1:empty{
  margin: 0;
  padding: 0;}
/* 
コメント付きフォトギャラリー*/
.mod-content .photo-gallery ul{
  display: grid;
  gap: 15px;
  list-style-type: none;
  padding: 0;
  margin: 0;}
.mod-content .photo-gallery ul:has(&gt; :nth-last-child(n+1)),
.mod-content .photo-gallery ul:has(&gt; :nth-last-child(n+1) ~ li){
  grid-template-columns: repeat(2, 1fr);}
.mod-content .photo-gallery ul:has(&gt; :nth-last-child(n+3)),
.mod-content .photo-gallery ul:has(&gt; :nth-last-child(n+3) ~ li){
  grid-template-columns: repeat(3, 1fr);}
.mod-content .photo-gallery ul li::before{
  display: none;}
.mod-content .photo-gallery ul li{
  margin: 0;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  justify-items: center;
  gap: 3px;}
.mod-content .photo-gallery ul li + li{
  margin-top: 0;}
.photo-gallery ul li figure{
  display: block;
  overflow: hidden;}
.photo-gallery ul li figure img{
  object-fit: cover;
  height: 100%;}
.photo-gallery ul li p{
  text-align: left;
  padding: 5px 5px 0;
  margin-top: 0;
  font-size: clamp(12px, 2.5vw, 14px);
  line-height: 1.2;}
/* 
Q&amp;A*/
.qa dl{
  background-color: #fff;
  border: 1px solid #DEDEDE;
  padding: 1.4em 1.3em 1.7em 1em; }
.qa dl:not(:last-child){
  margin-bottom: 1em;}
.qa dt,
.qa dd{
  position: relative;
  padding-left: 50px;}
.qa dt{
  font-size: clamp(18px, 3vw, 22px);
  font-weight: bold;
  margin-bottom: 0.3em;}
.qa dt + dd{
  padding-top: min(1vw, 5px);}
.qa dt::before,
.qa dt + dd::before{
  position: absolute;
  top: min(0.7vw, 0.2em);
  left: 0;
  line-height: 0.7;
  padding-bottom: 0.1em;
  font-family: SST-Bold, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;
  font-weight: bold;
  color: transparent;
  width: 30px;
  padding-right:7px;
  text-align: center;}
.qa dt::before{
  content: "Q";
  -webkit-text-stroke: 1px #DE4756;
  text-stroke: 1px #DE4756;
  border-right: 4px solid #DE4756;
  font-size: clamp(26px, 3vw, 30px);}
.qa dt + dd::before{
  content: "A";
  -webkit-text-stroke: 1px #717275;
  text-stroke: 1px #717275;
  border-right: 4px solid #E7E9F1;
  font-size: clamp(27px, 3vw, 31px);}
.qa dd + dd:not(:empty){margin-top: 1em;}
/* 
支店・営業所パーツ*/
/*余白*/
.mod-content div[class="mod-branch-detail"] + div[class]{ margin-top: 0;/*reset*/}
.mod-content .mod-desc + .mod-department{ margin-top: 1.1em;}
.mod-content div.mod-department + div.mod-department{ margin-top: 1.3em;}
.mod-content p[class="bold"] + .frame-branch-detail{ margin-top: 0.8em; }
/*パーツ*/
.mod-content .info,
.branch-info:not(:empty) {
  background-color: #F4F5F8;
  border: 2px solid #E2E4E8;
  padding: 0.5em 1em; }
.mod-content .notice,
.branch-notice:not(:empty) {
  background-color: #f9eff0;
  border: 2px solid #fdbec5;
  padding: 0.4em 1em; }
.mod-content .branch-info:not(:empty) + .branch-notice:not(:empty) { 
  margin-top: 0.4em; }
.mod-branch-detail  p:not(:empty){ 
  margin-top: 0.5em;
  line-height: 1.3; }


/*-------------------------------------------------------
下層ページ共通スタイル
-------------------------------------------------------*/
/*
背景
-------------------------------------------------------*/
.bg-lattice{
  background-size: 210px 210px;
  background-position: 50% 50%;
  background-image:
    repeating-linear-gradient(
      90deg,
      #F1F2F8 ,
      #F1F2F8 2px,
      transparent 2px,
      transparent 210px
    ),
    repeating-linear-gradient(
      0deg,
      #F1F2F8 ,
      #F1F2F8 2px,
      transparent 2px,
      transparent 210px
    );
}
.bg-lattice.bg-beige{
  background-image:
    repeating-linear-gradient(
      90deg,
      #EFEAE4 ,
      #EFEAE4 2px,
      transparent 2px,
      transparent 210px
    ),
    repeating-linear-gradient(
      0deg,
      #EFEAE4 ,
      #EFEAE4 2px,
      transparent 2px,
      transparent 210px
    );
}
.bg-beige-slash{
  background: repeating-linear-gradient(-45deg, rgba(248, 247, 245, 1), rgba(248, 247, 245, 1) 3px, rgba(245, 244, 240, 1) 0, rgba(245, 244, 240, 1) 13px);
}
.frame-recruit-mainvis::before,
.frame-recruit-mainvis::after{
  background: repeating-linear-gradient(-45deg, rgba(247, 247, 249, 1), rgba(247, 247, 249, 1) 3px, rgba(242, 243, 249, 1) 0, rgba(242, 243, 249, 1) 13px); }
.bg-dark{ background-color:#796E75;color:#fff;}
.bg-white{ background-color: #fff; }
.bg-beige{ background-color: #F5F4F0;}
.bg-border-beige{ border:1.4em solid #E6E4DD;}
.bg-border-gray{ border:1.5em solid #E7E9F1;}
.bg-border-brown{ border: 2px solid #796E75; border-radius: 1px; }
/*横幅*/
.w-1240{
  max-width: 1240px; margin-left:auto; margin-right: auto; }
.w-980{ 
  max-width: 980px; margin-left:auto; margin-right: auto; }
/*配置設定*/
.frame-center{ text-align: center;}
/*要素のインラインブロック化*/
.inlineblk{ display: inline-block; }
/* 背景白+ドロップシャドウ付きモジュール */
.mod-blk-shadow{
  background-color: #fff;
  box-shadow: 0px 0px 10px 5px rgba(209,209,209,0.2); }
/*
テンプレート - トップページ
-------------------------------------------------------*/
.frame-top{ 
  margin-bottom: 5vw; }
.frame-top h1,
.frame-top h2,
.frame-top h3{ font-weight: bold;}
.frame-top-leadtxt{ margin:3vw 1em 4vw; }
.mod-top-leadtxt{ 
   --x-gradient: linear-gradient(90deg, #DE4756 0 40px, transparent 0 calc(100% - 40px), #DE4756 calc(100% - 40px));
    --y-gradient: linear-gradient(#DE4756 0 40px, transparent 0 calc(100% - 40px), #DE4756 calc(100% - 40px));
    padding: 2.75vw 4vw 2.5vw;
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 5px, 5px 100%, 100% 5px, 5px 100%;
    background-position: top, right, bottom, left;}
  .mod-top-leadtxt *{ 
    text-align: center;
    font-weight: bold;}
      .mod-top-leadtxt h1{
        margin-bottom: 0.75em;
        font-size: calc(18px + 8 * (100vw - 320px)/920);
        letter-spacing: 0.05em;}
        .mod-top-leadtxt h1 strong {
          display: inline-block;
          margin-left: 10px;
          margin-right: 10px;
          font-size: 1.2em;
          color: #DE4756;}
.mod-top-company h1{ font-size: clamp(24px, 3vw, 36px);}
.frame-top-news h1{ font-size: clamp(24px, 2vw, 36px);}
.mod-top-branch h2,
.mod-top-companymenu h2{ font-size: clamp(20px, 1.5vw, 24px);}
.mod-top-company h1{ margin-bottom: 0.6em;}
.mod-top-company p{ margin-bottom: 1em;}
.frame-top-company,
.frame-top-branch{
  position: relative;
  color: #594D49; }
  .frame-top-company::before,
  .frame-top-branch::before{
    content:"";
    background: repeating-linear-gradient(-45deg, rgba(248, 247, 245, 1), rgba(248, 247, 245, 1) 3px, rgba(245, 244, 240, 1) 0, rgba(245, 244, 240, 1) 13px);
    position: absolute; }
  .frame-top-company::before{
    bottom: clamp(-175px, calc(-175px + 73 * (100vw - 768px)/492), -102px);
    top: auto;
    width: 60%;
    height: clamp(410px, 25vw, 410px); }
  .frame-top-company .border-txt-en,
  .frame-top-recruit .border-txt-en{
    font-size: min(13.8vw , 10.9em);
    position: absolute;
    left:0;
    white-space: pre;}
  .frame-top-company .border-txt-en{
    bottom: calc(min(calc(241px + 79 * (100vw - 768px)/492), 320px) - 0.5em);
    top:auto;}
  .frame-top-recruit .border-txt-en{
    top:-0.5em;}
  .frame-top-branch::before{
    bottom: 0;
    right: 0;
    width: 420px;
    height: 258px; }
.frame-top-company{
  margin:3vw auto 0;
  max-width: 1240px; }
.mod-top-company{
  position: relative;
  margin:0 5vw;
  margin-bottom: 3vw; }
.top-company-pic{
  position: absolute;
  bottom:0; }
.top-company-pic img{
  width: 100%; }
.frame-top-branch{
  margin: 0 auto 4vw;
  max-width: 1240px;
  padding-right: 5vw;
  padding-left: 5vw;
  padding-bottom: 2vw;}
.mod-top-branch{
  margin: 0 auto 1vw;
  background-color: #fff;
  max-width: 800px;
  position: relative;
  box-sizing: border-box;}
.mod-gridimgblk{
  padding:0 2vw 0 0;
  display: grid;
  grid-template-columns: 261px 1fr;
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 3vw;
  grid-row-gap: 0px;}
.gridimgblk-title{ 
  align-self:flex-end;}
.gridimgblk-pic{ 
  grid-column:1/2;
  grid-row:1/3;}
.gridimgblk-txt-link{ 
  margin-top: 0.5em;
  text-align: right;}
.mod-top-branch + .frame-center{ position: relative;}
.top-branch-pic{
  width: 258px;
  padding-right:3px;
  background-color: #fff;
  background-size: 3px 7px; /* グラデーションの幅・高さを指定 */
  background-image : linear-gradient(to bottom, #D7DBDE, #D7DBDE 3px, transparent 3px, transparent 7px);  /* 幅3の線を作る */
  background-position: right top; /* 背景の開始位置を指定 */
  background-repeat: repeat-y; /* 縦向きにのみ繰り返す */}
.frame-top-companymenu-twogrid,
.frame-top-companymenu-onegrid{
  position: relative;
  max-width:800px;
  margin: 0 auto;}
.frame-top-companymenu-twogrid{
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 1vw;
  grid-row-gap: 0px;
  display: grid;}
.mod-top-companymenu{
  padding:1vw 2vw;
  background:#fff;
  margin-bottom:1vw;
  display: grid;
  grid-template-rows: auto 1fr 3.5em;}
.frame-top-recruit{ 
  margin: 3vw auto 4vw;
  max-width: 1240px;
  position: relative;
  padding-top: 4em;
  padding-bottom: min(4vw,70px); }
.mod-top-recruit{
  text-align: right;
  position: relative;
  padding-left: 4vw;
  padding-right: 4vw; }
  .top-recruit-pic{
    position: absolute;
    top: 8vw;
    right:50%;
    width: min(42vw, 454px);
    height:auto;}
.top-recruit{
  display: inline-block;
  text-align: left;
  padding: clamp(30px, 5vw, 5em) calc(12% + 0.5vw - 3em); }
.top-recruit h1{ 
  color: #91939E;}
.copytxt-recruit{ 
  margin-bottom: clamp(0.5em, 2vw, 1vw);
  line-height: 1.25;
  font-size: min(calc(24px + 8 * (100vw - 768px)/392), 32px);
  font-weight: bold;}
.copytxt-recruit + p{ margin-bottom: 2em;}
.frame-top-news{
  margin-left: 4vw;
  margin-right: 4vw;
  margin-top: 3vw;
  margin-bottom: 4vw;
  padding-bottom: 1.5em;}
.frame-top-news .bg-dark{
  padding-top: 1vw;
  padding-bottom: 2vw;}
.frame-top-news + .frame-center{ margin-top: calc(-2.9em - 4vw);}
.mod-top-news{
  display: flex;
  justify-content: center;
  gap: 3vw;
  flex-wrap: wrap;
  padding: 0 3vw;}
.news-list-top{
  max-width: 785px; }
/*
スライダー*/
/*スライダー共通設定*/
.swiper-slide {
  height: auto;
  background: #fff;
  text-align: center;}
.swiper-slide a {
  transition: .2s; }
  @media screen and (min-width:768px){
    .swiper-slide a:hover {
      opacity: 0.6; } }
.swiper-slide img{
  object-fit: cover;
  height: 100%;
  width: 100%; }
/*
メインビジュアル*/
.frame-top-mainvis{
  padding-top: 1.3rem;
  padding-bottom: 5rem;;
  background-image: url(../images/mainvis-background.svg);
  background-repeat: no-repeat;
  background-position: bottom calc(11rem - 4vw) center;
  overflow: hidden;
  background-size: 100%;
  position: relative;}
  @media screen and (max-width:980px){
    .frame-top-mainvis{
      padding-top: 0;
      padding-bottom: 3rem;
      background-image: none;} }
.frame-top-mainvis::after{
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(11.2rem - 4vw);
  left: 0;
  bottom: 0;
  background: #EAEBF1;}
  @media screen and (max-width:980px){
    .frame-top-mainvis::after{
        display: none;} }
.mod-top-mainvis{
  max-width: 980px;
  box-shadow: 0px 3px 10px -2px rgba(0,0,0,.2);}
.mod-top-mainvis,
.frame-top-mainvis .photo-center,
.frame-top-mainvis .video{
  max-width: 980px;
  box-shadow: 0px 3px 10px -2px rgba(0,0,0,.2);
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  position: relative;}
.frame-top-mainvis .photo-center img{
  width: 100%; }
.frame-top-mainvis .video:has(iframe){
  width: 980px;
  height: 550px;
  padding: 0;
  z-index: 1;}
  @media screen and (max-width:997px){
    .frame-top-mainvis .video:has(iframe){
        width: auto;
        height: 0;
        padding-bottom: 56.25%;}}
.mod-top-mainvis,
.frame-top-mainvis .photo-center{
  height: 480px;
  overflow: hidden;}
  @media screen and (max-width:980px){
    .mod-top-mainvis,
    .frame-top-mainvis .photo-center{
        aspect-ratio:98 / 48;
        height: auto;} }
.mod-top-mainvis img,
.frame-top-mainvis .photo-center img{
  height: 100%;
  object-fit: cover;}
/*メインビジュアル ページ送りボタン*/
.mod-top-mainvis:not(.top-mainvis-swip-option) ~ .top-mainvis-prev,
.mod-top-mainvis:not(.top-mainvis-swip-option) ~ .top-mainvis-next{
  display: none;}
.top-mainvis-prev,
.top-mainvis-next{
  cursor: pointer;
  position: absolute;
  top: calc(50% - 3rem);
  width: 45px;
  height: 45px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: opacity .3s;
  pointer-events: auto;
  opacity: 1; }
  @media screen and (max-width:1200px){
    .top-mainvis-prev,
    .top-mainvis-next{
      pointer-events: none;
      opacity: 0; } }
.top-mainvis-prev{
  right: 50%;
  margin-right: calc(980px / 2 + 30px);
  border-bottom: 2px solid #333;
  border-left: 2px solid #333; }
.top-mainvis-prev:hover{
  border-bottom: 2px solid #DE4756;
  border-left: 2px solid #DE4756; }
.top-mainvis-next{
  left: 50%;
  margin-left: calc(980px / 2 + 30px);
  border-top: 2px solid #333;
  border-right: 2px solid #333; }
.top-mainvis-next:hover{
  border-top: 2px solid #DE4756;
  border-right: 2px solid #DE4756; }
/*メインビジュアル ページネーション*/
.top-mainvis-pagination.swiper-pagination-bullets{
  display: flex;
  background: #EAEBF1;
  padding: 0 1.7rem;
  width: 100% !important;
  box-sizing: border-box;
  justify-content: center;
  position: absolute;
  bottom: 3.8rem;
  z-index: 1; }
  @media screen and (max-width:980px){
    .top-mainvis-pagination.swiper-pagination-bullets{
        bottom: 1.9rem;
        background: none;} }
.top-mainvis-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
  background: #DE4756;
  color: #fff;
  opacity: 1;}
.top-mainvis-pagination .swiper-pagination-bullet {
  border-radius: 0;
  margin: 0 8px!important;
  width: 100%;
  max-width: 90px;
  height: 4px;
  background: #fff;
  opacity: 1;}
  @media screen and (max-width:980px){
    .top-mainvis-pagination .swiper-pagination-bullet {
        background:#EAEBF1;}}
/*
バナースライダー 基本設定*/
.frame-top-mainvis+.frame-top-slider{
  margin-top: -2rem;}
.frame-top-slider{
  position: relative;
  overflow: hidden;}
  @media screen and (max-width:980px){
      .frame-top-mainvis+.frame-top-slider{
        margin-top: 0;} }
.frame-top-mainvis+.frame-top-slider::before{
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: calc(12.2rem - 4vw);
  left: 0;
  top: 0;
  background: #EAEBF1;}
  @media screen and (max-width:980px){
  .frame-top-mainvis+.frame-top-slider::before{
      display: none;} }
.mod-top-slider{
  position: absolute;
  top: 0;
  left: 50%;
  width: 1680px;
  transform: translate(-50%, 0);
  border: 1px solid #efeff1;/*※バナーの存在感を下げる修正*/ }
/*バナースライダー ページ送りボタン*/
.top-slider-prev,
.top-slider-next{
  cursor: pointer;
  position: absolute;
  z-index: 1;
  top: calc(274px / 2 - 23px);
  width: 42px;
  height: 42px;
  border:2px solid #DE4756;
  font-size: 32px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #DE4756; }
.top-slider-prev{
  right: 50%;
  margin-right: calc(280px - 23px); }
.top-slider-next{
  left: 50%;
  margin-left: calc(280px - 23px); }
/*バナースライダー ページネーション*/
.top-slider-pagination.swiper-pagination-bullets{
  display: flex;
  padding: 1.2rem 1.7rem 0;
  margin-top: 274px;
  width: 100%!important;
  box-sizing: border-box;
  justify-content: center; }
  @media screen and (max-width:980px){
      .top-slider-pagination.swiper-pagination-bullets{
        padding: 0.8rem 1.7rem 2rem;
        background: none;} }
.top-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
  background: #DE4756;
  transform: scale(1.4);
  color: #fff;
  opacity: 1;}
.top-slider-pagination .swiper-pagination-bullet {
  border-radius: 0;
  margin: 0 8px!important;
  width: 10px;
  height: 10px;
  background: #EAEBF1;
  opacity: 1;
  transition: transform .4s;}
/*
テンプレート - お知らせ
-------------------------------------------------------*/
/*
お知らせ一覧*/
.news-list li{ padding: 0.5em 0;}
  /*トップ用*/.news-list-top .news-item:first-child{ padding-top: 0;}
.news-list li + li { border-top: 2px solid #D6D6D6;}
  /*トップ用*/.news-list-top .news-item + .news-item{ border-top-color: #8D8080;}
.news-list li{
  display: table;
  width:100%;
  padding: 0.5em 0;}
.news-list li a{
  padding: 0.5em 0;}
.news-list li &gt; a{
  display: table-cell;
  width: 10em;
  font-weight: bold;}
  .mod-content .news-list li &gt; a{color: #999096;}
  /*トップ用*/
  .bg-dark .news-list-top .news-item &gt; a{ color: #E5E5F3; }
.news-title{
  font-weight: bold; }
  /*トップ用*/.news-list-top .news-title{ font-weight: normal; }
.news-title-clamp{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;}
/*
お知らせ記事*/
.news-date{ margin-bottom: 1em; text-align: right; color: #999096; }
.news-nav{ 
  margin: 0 auto;
  border-top: 2px solid #E7E9F1;
  text-align: center; }
article.mod-content div.mod-news-content + div.news-nav{ 
  margin-top:2.4em; }
.news-nav .link-btn{
  display: inline-block; }
.news-nav .link-btn a{
  background: none;
  color: #DE4756;
  border: 0;
  margin-top: 0.8em;
  padding: 0.4em 1.5em;}
.news-nav .link-btn a:hover{
  text-decoration: underline;}
.news-nav .link-btn.icon-arrow-right a::after{
  position: absolute;
  margin-left: 0.4em;
  right: 0;}
.news-nav .link-btn.icon-arrow-right a::after:hover{
  text-decoration: none;}

/*
テンプレート - 採用情報
-------------------------------------------------------*/
/*
採用情報に関するお問い合わせ*/
.frame-2col-main + .frame-recruit-contact{
  margin-top: -3.5vw; }

.frame-recruit-contact{
  grid-column: 1 / 3;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 4em 18vw;
  box-sizing: border-box;
  background-position: 50% -20%; }

.mod-recruit-contact{
  border-width: 0.65em;
  text-align: center;
  padding: 2em 3.8em;
  background-color: #fff;
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  position: relative; }

.recruit-contact-title{
  font-size: 2em;
  margin-bottom: 0.2em; }

.recruit-contact-tel{
  font-size: 2.6em;
  font-weight: 600;
  letter-spacing: 0.03em;
  display: inline-block;
  vertical-align: middle;
  line-height: 1.2;
  padding: 0 0.5rem 0;
  color: #696367; }

.recruit-contact-tel::before{
  font: var(--fa-font-solid);
  content: "\f095";
  font-size: 0.85em;
  margin-right: 0.2em; }

.recruit-contact-detail{
  font-size: 1.4em;
  font-weight: bold;
  display: inline-block;
  line-height: 1.3;
  margin-top: 0.2em;
  vertical-align: middle;
  color: #696367;
  padding: 0 0.5rem 0; }

/*採用に関するお問い合わせ &gt; 採用エントリー .frame-recruit-contact .nav-sub-item*/
.frame-recruit-contact .nav-sub-item{
  margin-top: 0.6em;
  font-size: 1.4em; }
.frame-recruit-contact .nav-sub-item:not(:has(a)){
  margin-top: 0; }
.frame-recruit-contact .nav-sub-item a{
  padding: 0.4em 0 0.28em; }
.recruit-contact-img{
  position: absolute;
  pointer-events: none;
  height: min(calc(220px + 50 * (100vw - 768px)/362) , 270px);
  bottom: -3em; }

.recruit-contact-img-left{
  left: -9em;
  text-align: left; }

.recruit-contact-img-right{
  right: -9.5em;
  text-align: right; }

.recruit-contact-img img{
  max-height: 100%; }

/*
テンプレート - 採用情報トップページ
-------------------------------------------------------*/
.frame-recruit-mainvis{
  position: relative;
  padding: 3.5em min(6vw , 92px) 4.5em; }
* + .frame-recruit-mainvis{
  margin: 2em 0; }
.frame-recruit-mainvis::before,
.frame-recruit-mainvis::after{
  content:"";
  position: absolute;
  height: clamp(400px, 25vw, 400px); }

.frame-recruit-mainvis::before{
  top: 0;
  right: 0;
  width: calc(50% - 9vw);
  height: 40%; }

.frame-recruit-mainvis::after{
  bottom: 0;
  left: 0;
  width: 50%;
  height: 56%; }

.mod-recruit-mainvis{
  position: relative;
  max-width: 700px;
  box-sizing: border-box;
  padding: 2em 1em;
  border-width: 0.65em;
  text-align: center;
  z-index: 1;
  background-color: #fff;
  margin: 0 auto; }

.recruit-mainvis-title{
  font-size: 2.4em;
  padding: 0 0.7em;
  margin-bottom: 0;
  background: none; }
  @media screen and (max-width:1100px){
    .recruit-mainvis-title{
        font-size: max(calc(28px + 9 * (100vw - 980px)/120) , 28px);
        padding: 0 67px; } }

.mod-content .recruit-mainvis-read p,
.mod-content .recruit-mainvis-read p + p{
  font-weight: bold;
  margin-top: 1.3em;
  line-height: 1.8;
  letter-spacing: 0.16em; }
.mod-content .recruit-mainvis-read p:last-child{
  margin-right: 2.6em;
  margin-left: 2.6em; }

/*採用メインビジュアル用画像*/
.recruit-mainvis-img{
  position: absolute;
  width: 11em;
  margin-top: 0; }

/*採用メインビジュアル用画像 上段*/
.recruit-mainvis-img-parts,
.recruit-mainvis-img-sales{
  top: -4em; }

/*採用メインビジュアル用画像 部品*/
.recruit-mainvis-img-parts{
  left: -5em; }

/*採用メインビジュアル用画像 営業*/
.recruit-mainvis-img-sales{
  right: -5em; }

/*採用メインビジュアル用画像 下段*/
.recruit-mainvis-img-service,
.recruit-mainvis-img-office{
  bottom: -4.5em; }

/*採用メインビジュアル用画像 整備*/
.recruit-mainvis-img-service{
  left: -5em; }

/*採用メインビジュアル用画像 事務*/
.recruit-mainvis-img-office{
  right: -5em; }


/*
テンプレート - 支店・営業所
-------------------------------------------------------*/
.frame-branch::before {
  content: "";
  display: block;
  height: 130px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -130px; /* heightと同じ分のネガティブマージン */
  visibility: hidden; 
}@media screen and (max-width:1150px){
  .frame-branch::before {
    content: "";
    display: block;
    height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
    visibility: hidden; } }
.frame-branch:first-child:before {
  content: "";
  display: block;
  height: 130px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -130px; /* heightと同じ分のネガティブマージン */
  visibility: hidden; }
.mod-content div.frame-branch + div.frame-branch { 
  margin-top: 3vw; 
}@media screen and (max-width:1150px){
  .mod-content div.frame-branch + div.frame-branch{
    margin-top: 3em;
    padding-top: 0; }}
.mod-branch-title{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width:1150px){
.mod-branch-title{
  display: block;
  }
}
.branch-services{ 
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
@media screen and (max-width:1150px){
  .branch-services{ 
    margin-top: 0.5em;}}
.branch-services p{
  background-color: #fff;
  padding:0.25em 0.5em;
  border:1px solid #9B9A94;
  border-radius: 3px;
  text-align: center;
  font-weight: bold;
  font-size: 0.85em;
}
div.mod-branch-title .branch-services p{margin-top:0;}
.frame-branch-detail{
  margin-top: 1em;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 1vw;
}@media screen and (max-width:1150px){
  .frame-branch-detail{ 
    grid-template-columns: 1fr;
    gap: 1em; }}
.mod-branch-detail:first-child{ order:2; }
.mod-branch-detail:last-child{ order:1; }
@media screen and (max-width:1150px){
  .mod-branch-detail:first-child{ order:1; }
  .mod-branch-detail:last-child{ order:2; }
  .frame-branch-detail02 .mod-branch-detail:first-child{ order:2;}
  .frame-branch-detail02 .mod-branch-detail:last-child{ order:1;}
}
@media screen and (max-width:1150px){
.mod-branch-detail dl:last-child{
  margin-bottom:0;}
.mod-branch-detail dl:last-child .mod-desc:last-child{
  margin-bottom:0;}}

/*
テンプレート - スキークラブ
-------------------------------------------------------*/
.mod-content div[class] + div.mod-related-common,
.mod-content .mod-related-common{
  margin-top: 2em;
  padding-top: 1em;
  border-top: 2px solid #E7E9F1; }
.mod-content div.news-nav + div.mod-related-common{ 
  margin-top: 0.8em; }
</pre></body></html>