/*////////// 基本設定 //////////*/
img{vertical-align: bottom !important;}

#main h1{font-size: 1.25em !important;}
#main h3{
    font-size: 1.1em !important;
    font-weight: bold;
}
#main h3:not(:first-child){
  margin-top: 1.5em !important;
}
#main p{text-indent: 1em;}

/*サイド受付削除*/
.sideBorderBox{
  display:none;
}

/*画像配置*/
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
figure.img_l,figure.img_r {
    margin-bottom: .5em !important;
    text-align: center;
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */
@media screen and (min-width: 731px){/* ■■■■ PC ■■■■ */
figure.img_l {
    float: left;
    margin: 0 1em 1em 0 !important;
}
figure.img_r {
    float: right;
    margin: 0 0 1em 1em !important;
}
}/* ■■■■ PC(min-width: 731px) ■■■■ */

/* インラインフレーム */
iframe#main_if,
iframe.main_if{
  width:100%;
}
.if_box{
	line-height: 0;
	clear:both;
}
@media screen and (max-width: 899px){/* 899px以下 */
	.if_box{
		margin:0 -2.5% !important;
	}
}
/*インラインフレームページ*/
#gaiyou .pointTit,
#staff .pointTit,
#news .pointTit,
#access .pointTit{
    display: none;
}

/*汎用ボタン*/
.btn a {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto !important;
  max-width: 12em;
  padding: .75em 1.5em !important;
  color: #fff !important;
  font-size: 1.2em;
  font-weight: bold;
  text-decoration: none;
  transition: .3s ease-in-out;
  box-shadow: 0px .15em .2em 0 rgb(0 0 0 / 40%);
  border-radius: 3em;
}
body:not(#bengoshi):not(#zeirishi):not(#sharoushi):not(#keiei):not(#design):not(#hoken):not(#souzoku) .btn a{background: #09f;}
.btn a:after {
  content: "\f138";
  font-family:"Font Awesome 5 Free";/*基本Freeブランドロゴ系はBrands*/
  font-size: 1em;
  font-weight: 900;/*400 or 900(400無効の場合あり)*/
  speak: none;
  position: absolute;
  right: 1em;
  transition: .3s ease-in-out;
}
.btn a:hover {
  color: #fff;
  transform: translateY(-.1em);
  box-shadow: 0 .5em .75em .25em rgb(0 0 0 / 20%);
}

#main .btn{margin-bottom: 4em;}


/*////////// ヘッダー //////////*/
#header .siteName {
  display: none;
}
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
.customHeader {
  padding: 4.25vw 2.5vw 2.5vw 2.5vw !important;
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */
@media screen and (min-width: 731px){/* ■■■■ PC ■■■■ */
#header .wrap {
  justify-content: space-between;
}
#headerContactInfo{
  display: none;
}
}/* ■■■■ PC(min-width: 731px) ■■■■ */


/*////////// ベースカラー //////////*/
:root{
  --bengoshi: #03944e;
  --zeirishi: #ff4f97;/*#ff3883#ff1d72*/
  --sharoushi: #5A5A5A;
  --keiei: #0085ee;
  --design: #81c400;
  --hoken: #ee7b00;
  --souzoku: #9922ca;
}


/*////////// 企業背景テストVer0402 //////////*/
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):before,
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):after  {
    content: "";
    display: block;
    width: 100%;
    height: 160vh;
    position: absolute;
    z-index: -1;
    top: 0;
}
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):before {
    --base-pos: 230px;
    --slope: 7vw;
    filter: opacity(0.15);
    clip-path: polygon(0 0,100vw 0, 100vw calc(var(--base-pos) + var(--slope)), 0 calc(var(--base-pos) - var(--slope)));
    mix-blend-mode: hard-light;
}
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):after {
    --base-pos: -220px;
    --slope: -90vw;
    filter: opacity(0.2);
    clip-path: polygon(0 0,100vw 0, 100vw calc(var(--base-pos) + var(--slope)), 0 calc(var(--base-pos) - var(--slope)));
    mix-blend-mode: hard-light;
}
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):before {
    --base-pos: 50vw;
    --slope: 17.5vw;
}
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku):after {
    --base-pos: -10vw;
    --slope: -120vw;
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */

#bengoshi:before,#bengoshi:after,#bengoshi .btn a{background: var(--bengoshi);}
#zeirishi:before,#zeirishi:after,#zeirishi .btn a{background: var(--zeirishi);}
#sharoushi:before,#sharoushi:after,#sharoushi .btn a{background: var(--sharoushi);}
#keiei:before,#keiei:after,#keiei .btn a{background: var(--keiei);}
#design:before,#design:after,#design .btn a{background: var(--design);}
#hoken:before,#hoken:after,#hoken .btn a{background: var(--hoken);}
#souzoku:before,#souzoku:after,#souzoku .btn a{background: var(--souzoku);}


/*////////// 見出し //////////*/
#main h1{
  position: relative;
  overflow: hidden;
  padding-left: .75em;
  background: #09f !important;
  border-radius: 0;
}
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
#main h1 {
  width: calc(100% + .75em);
  transform: translateX(-.75em);
  clip-path: polygon(0% 0%,100% 0%, 95% 100%, 0% 100%);
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */
@media screen and (min-width: 731px){/* ■■■■ PC ■■■■ */
#main h1 {
  clip-path: polygon(0% 0%,100% 0%, 97.5% 100%, 0% 100%);
}
}/* ■■■■ PC(min-width: 731px) ■■■■ */
#bengoshi h1,.acc_btn.bengoshi h2,#bengoshi .job h3:after{background: var(--bengoshi) !important;}
#zeirishi h1,.acc_btn.zeirishi h2,#zeirishi .job h3:after{background: var(--zeirishi) !important;}
#sharoushi h1,.acc_btn.sharoushi h2,#sharoushi .job h3:after{background: var(--sharoushi) !important;}
#keiei h1,.acc_btn.keiei h2,#keiei .job h3:after{background: var(--keiei) !important;}
#design h1,.acc_btn.design h2,#design .job h3:after{background: var(--design) !important;}
#hoken h1,.acc_btn.hoken h2,#hoken .job h3:after{background: var(--hoken) !important;}
#souzoku h1,.acc_btn.souzoku h2,#souzoku .job h3:after{background: var(--souzoku) !important;}
h1:not(.headerText):before,.acc_btn h2:before,.btn a:before{
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(-70deg, rgb(250 255 210 / 40%), transparent 35%, transparent 65%, rgb(35 40 50 / 75%));
  mix-blend-mode: overlay;
}
#bengoshi #main h3,#bengoshi dt{color: var(--bengoshi) !important;}
#zeirishi #main h3,#zeirishi dt{color: var(--zeirishi) !important;}
#sharoushi #main h3,#sharoushi dt{color: var(--sharoushi) !important;}
#keiei #main h3,#keiei dt{color: var(--keiei) !important;}
#design #main h3,#design dt{color: var(--design) !important;}
#hoken #main h3,#hoken dt{color: var(--hoken) !important;}
#souzoku #main h3,#souzoku dt{color: var(--souzoku) !important;}


/*////////// 企業ページ //////////*/
/*　目次下調整　*/
:is(#bengoshi,#zeirishi,#sharoushi,#keiei,#design,#hoken,#souzoku) .contentsList .titList{
  margin-bottom: 3em;
}

/*////////// 共通 //////////*/
.rec_bnr_ul{
  margin: .5em .5em 0 !important;
}
.rec_bnr_ul{
  display: flex;
  flex-wrap: wrap;
  row-gap: .75em;
}
.rec_bnr_ul li a{
  display: block;
}
.rec_bnr_ul li a img{
  vertical-align: top !important;
}
@media screen and (min-width: 731px){/*PC*/
.rec_bnr_ul{
  justify-content: center;
  column-gap: 2%;
}
.rec_bnr_ul li{
  width: 49%;
}
}

/*////////// トップコンテンツ //////////*/
.top_cont{
  overflow: hidden;
}
.top_cont .catcopy p{
  /*text-indent: 0 !important;*/
}
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
.top_cont figure {
  margin-right: 3vw!important;
  float: left;
  width: 40vw;
  height: 56vw;
}
.top_cont img {
  width: 100%;
  object-fit: cover;
  height: 100%;
  opacity: .2;
}
#keiei .top_cont img {
  object-position: 100% 0%;
  animation: slide-k .75s forwards;
}
@keyframes slide-k {
  100% { object-position: 50% 0%; opacity: 1; }
}
#zeirishi .top_cont img {
  object-position: 100% 0%;
  animation: slide-zrs .75s forwards;
}
@keyframes slide-zrs {
  100% { object-position: 39% 0%; opacity: 1; }
}
#sharoushi .top_cont img {
  object-position: 100% 0%;
  animation: slide-srs .75s forwards;
}
@keyframes slide-srs {
  100% { object-position: 15% 0%; opacity: 1; }
}
#design .top_cont img {
  object-position: 100% 0%;
  animation: slide-dsgn .75s forwards;
}
@keyframes slide-dsgn {
  100% { object-position: 9% 0%; opacity: 1; }
}
#hoken .top_cont img {
  object-position: 0% 0%;
  animation: slide-hkn .75s forwards;
}
@keyframes slide-hkn {
  100% { object-position: 88% 0%; opacity: 1; }
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */
@media screen and (min-width: 731px){/* ■■■■ PC ■■■■ */
.top_cont {
}
.top_cont figure {
  margin-right: 1em!important;
  float: left;
  width: 320px;
}
.top_cont .catcopy {
  font-size: 1.2em;
}
}/* ■■■■ PC(min-width: 731px) ■■■■ */


/*////////// 仕事内容 //////////*/
.job h3:not(:first-child) {
    margin-top: 2em !important;
}
.job h3 {
    display: flex;
    align-items: center;
    gap: .5em;
    margin-bottom: .5em !important;
}
.job h3:after {
    content: "";
    flex-grow: 1;
    max-width: 100%;
    height: 1px;
    background: red;
}
.job_cont ul {
    padding-left: .25em !important;
}
.job_cont ul li~li{
  margin-top: .25em !important;
}
.job_cont ul li:before {
    content: "■";
    margin-right: .25em;
}
#bengoshi .job_cont ul li:before{color: var(--bengoshi);}
#zeirishi .job_cont ul li:before{color: var(--zeirishi);}
#sharoushi .job_cont ul li:before{color: var(--sharoushi);}
#keiei .job_cont ul li:before{color: var(--keiei);}
#design .job_cont ul li:before{color: var(--design);}
#hoken .job_cont ul li:before{color: var(--hoken);}
#souzoku .job_cont ul li:before{color: var(--souzoku);}
@media screen and (max-width: 730px){/* ■■■■ SP ■■■■ */
.job_cont figure {
  margin-top: .5em !important;
}
}/* ■■■■ SP(max-width: 730px) ■■■■ */
@media screen and (min-width: 731px){/* ■■■■ PC ■■■■ */
.job_cont {
    display: flex;
    justify-content: space-between;
    gap: 1em;
}
.job_cont figure {
    flex-shrink: 0;
    width: 360px;
}
}/* ■■■■ PC(min-width: 731px) ■■■■ */


/*////////// 魅力/教育制度 //////////*/


/*////////// インタビュー //////////*/
.interview h3 {
    margin-bottom: .5em !important;
    padding: .5em .5em .4em !important;
    border-width: 2px 0;
    border-style: solid;
}
.interview dt{
  font-size: 1.1em !important;
  font-weight: bold;
}
.interview dt~dt{
  margin-top: 1em !important;
}