@charset "utf-8";

/* このcssのみスマホ優先記述 全部そうした方が良いけど一旦ここだけ*/



/* nav */
.LOGO { width:calc(95% - 65px); display:block; margin:16px 0 10px 3.5%; }
.LOGO__LC { display:block; float:left; width:170px; text-align:right;  }
.LOGO__JP { display:block; margin:0; font-size:11px; line-height:1.2; }
.LOGO img { display:block; width:100%; }
.LOGO__RECRUIT { margin:0 0 0 1%; font-weight:normal; text-align:right; font-weight:bold; font-size:11px; line-height:1.2; color: #fff;}
.MB { display:block; width:45px; height:70px; padding:11px 0 10px 0; float:right; position:fixed; z-index:10; right:2.5%; top:0; cursor:pointer; }
.MB span { display:block; width:30px; height:2px; margin:30px 0 0 10px; background:#fff; overflow:visible; position:relative; transition:0.4s; }
.MB span:before,.MB span:after { content:""; display:block; width:30px; height:2px; background:#fff; position:absolute; transition:0.4s; }
.MB span:before { margin:-13px 0 0 0; }
.MB span:after { margin:13px 0 0 0; }
.MB__OPEN span{ background:transparent; }
.MB__OPEN span:before { top:5px; right:6px; transform:rotate(-45deg) translateY(8px); background:#000; }
.MB__OPEN span:after { top:-11px; left:6px; bottom:auto; transform: rotate(-135deg) translateX(8px); background:#000; }
.MENUBOX { width:100%; }
.MENU	{ width:100%; height:100%; opacity:0; transition:0.4s; margin:0 0 0 -100%; padding:70px 0 0 0; background:rgba(255,255,255,0.9); position:fixed; top:0; left:0; overflow-y:scroll; z-index:5; }
.MENU__OPEN	{ opacity:1; transition:0.4s; margin:0; }
.MENU li { width:100%; border-top:1px solid #ccc; overflow:hidden; margin-left: 0; margin-bottom: 0;}
.MENU li a { display:block; width:100%; padding:15px 5%; font-size:14px; line-height:1.2em; position:relative; color:#000; box-sizing:border-box; }
.MENU li a span	{ margin:0 0 0 2.5%; font-size:13px; }
.MENU li i { font-size:12px; position:absolute; right:5%; top:50%; margin:-6px 0 0 0; }
.MENU li a.MENU__ENTRY { background:#e60011; color:#fff; }
.MENU li a.MENU__ENTRY i { color:#fff; }
.MENU ul.snsBox { width: 250px; margin: 0 auto;}

.is-fixed-b {width: 100%; height: auto; position: relative; position: fixed; background: none;}
.is-fixed-b::before {content: '';
position: absolute;
top: 0;
left: 0;
width: 120%;
height: 100%;
margin-top: -60px;
background: #e60011;
transform-origin: left center;
transform: skewY(0deg);/* 2023.04.24ヘッダー斜めを削除するための書き換え */
z-index: -1;
min-height: 140px;}

/* header_PC */
@media screen and (min-width: 768px) and (max-width: 1140px){
  .PC {display: block;}
  .SP {display: none;}

  /* .midashi{ width: 1080px; margin: 0 auto;}
  .midashi p{ font-size: 24px; float: left; margin-bottom: 0px; margin-top: 60px; padding-bottom: 8px;}
  p.komidashi{ font-size: 12px; color: #DA2819; float: left; padding-left:40px; padding-top: 2px;} */


  header { height:85px; }
  .LOGO { margin:10px 0 10px 8.5%; }
  .LOGO { width:auto; display:flex; }
  .LOGO__LC { width:250px; }
  .LOGO__JP { font-size:14px; }
  .LOGO__RECRUIT { margin:0; font-size:16px; }


  .is-fixed-b::before {margin-top: -4vh; }
  .head_title {margin-top: 7.5%}
  .midashi p {font-size: 34px;}

  .btn_zone {
  position: absolute;
  top: 20px;
  right: 80px;
  display: flex;
  align-items: center;
}
}

@media screen and (min-width: 1140px){
  .LOGO__LC { width:auto; display: flex; margin-left: 4vw;}
  .LOGO__LC img {width: 240px; height: 100%;}
  .LOGO__RECRUIT { margin:20px 0 0 10px; color: #fff; text-align: left; font-size: 11px;}


  .is-fixed-b {width: 100%; height: auto; position: relative; position: fixed; background: none;}
  /* .is-fixed-b::before { margin-top: -1vh;} */

  .btn_zone {
  position: absolute;
  top: 20px;
  right: 80px;
  display: flex;
  align-items: center;
  }
}

.effect-fade { opacity:0; transform:translate(0, 30px); transition:all 500ms; }
.effect-fade.effect-scroll { opacity:1; transform:translate(0, 0); }

.is-fixed { background:rgba(0,0,0,0.4); transition:0.4s; }
.is-fixed .LOGO { color:#fff; }
.is-fixed .LOGO img.LOGO_W { display:block; }
.is-fixed .LOGO img.LOGO_B { display:none; }
.is-fixed .MB span { background:#fff; }
.is-fixed .MB span:before,.is-fixed .MB span:after { background:#fff; }
.is-fixed .MB__OPEN span{ background:transparent; }
.is-fixed .MB__OPEN span:before { background:#000; }
.is-fixed .MB__OPEN span:after { background:#000; }




/************ footer ************/
footer { padding:20px 0; background:#074855; color:#fff; text-align:center; font-size:13px; position:relative; }
.FLOGO { width:280px; display:block; margin:0 auto; text-align:center; color:#fff; }
.FLOGO img { display:block; width:210px; margin:0 auto; }
.FCORP { display:block; margin:0 auto 10px auto; color:#fff; }
.FCORP:hover { text-decoration:underline; }
.FMENU { display:none; }
.FPP { margin:0 auto; color:#fff; }
.FPP:hover { text-decoration:underline; }
.FCOPYRIGHT { display:block; width:100%; margin:0 auto; color:#fff; }

/* footer_タブレット */
@media screen and (min-width: 768px){
  .FCORP { position:absolute; top:20px; right:2.5%; }
  .FMENU { display:flex; justify-content:center; margin:20px auto; text-align:center; }
  .FMENU li { padding:0 10px; border-right:1px solid #fff; line-height:1.2; }
  .FMENU li:first-child  { border-left:1px solid #fff; }
  .FMENU li a { color:#fff; line-height:1.2; }
  .FMENU li a:hover { text-decoration:underline; }
}

@media screen and (max-width: 350px){
  .LOGO__LC { width: 40vw; text-align: left;}
  /* .LOGO__LC img { width: 100%;} */
.LOGO__RECRUIT { font-size: 3vw; float: right;}
.LOGO__RECRUIT span { }
.LOGO__RECRUIT br { display: block;}
}
/* footer_PC */
@media screen and (min-width: 1140px){
}